📄 led8.c
字号:
/*01数码管的显示,显示定义好的段值数据*/
#include <reg51.h>
#include <intrins.h>
void displaystr(unsigned char *lp,unsigned char lc);//字符的显示函数,同上
void delay();//延时子函数,5个空指令
code unsigned char l_24C02[5]={0x5b,0x66,0x39,0x3f,0x5b};//定义数组常量,此数值为定义好的数码管段值显示24C02
//前面加"code"表示常量在程序代码中存放,不占用RAM
void main(void)
{
unsigned char i=0;
while(1){
displaystr(l_24C02,5); //调用个函数显示设定好的5个字符
}
}
void displaystr(unsigned char *lp,unsigned char lc)//显示
{
unsigned char i; //定义变量
P2=0; //端口2为输出
P1=P1&0xF8; //将P1口的前3位输出0,对应138译门输入脚,全0为第一位数码管
for(i=0;i<lc;i++){ //循环显示
P2=lp[i]; //直接输出显示已设定好的数码段值
delay(); //延时,使用数码亮度提高
if(i==7) //检测显示完8位否,完成直接退出,不让P1口再加1,否则进位影响到第四位数据
break;
P2=0; //清0端口,准备显示下位
P1++; //下一位数码管
}
}
void delay(void) //空5个指令
{
_nop_();_nop_();_nop_();_nop_();_nop_();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -