📄 shu_ma_guan.c
字号:
/*********************************************
实验任务:学习数码管的动态显示
实验功能:数码管显示1028四个数字
*********************************************/
#include<AT89X52.h>
code unsigned char seg7code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
0x82,0xf8,0x80,0x90,0xff}; //共阳数码管段码
//***********************************************************
// 延时子程序
//************************************************************
void delay1ms()
{
unsigned char i;
for(i=124;i>0;i--); //延时124*8+10=1002us
}
//***********************************************************
//显示函数,显示四位的date数据
//P2口接段码,P1.0-P1.3接位选
//************************************************************
void LED_display(int date) //显示4位数
{
P1=0xfe; //P1.0=0,选通第一位
P2=seg7code[date/1000]; //取出千位,查表,输出
delay1ms();
P2=0xff; //消隐
P1=0xfd; //P1.1=0,选通第二位
P2=seg7code[date%1000/100];
delay1ms();
P2=0xff; //消隐
P1=0xfb; //P1.3=0,选通第三位
P2=seg7code[date%100/10];
delay1ms();
P2=0xff; //消隐
P1=0xf7; //P1.3=0,选通第四位
P2=seg7code[date%10];
delay1ms();
P2=0xff; //消隐
}
main()
{
int display_date=1028; //显示"1028"四个数字
while(1)
{
LED_display(display_date);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -