📄 main1.c
字号:
/******************************************************************
数码管显示另外一种写法;这种写法比上一种复杂,占用空间要多一些.但是使
用方便,可以在此基础上方便的加上比如显示小数点,指定某位数码管闪烁等.
******************************************************************/
#include <AT89X51.H>
unsigned char datebit[]={0xfe,0xfd,0xfb,0xf7};//存储数码管的位选值(P1口状态值)
unsigned char tvdate[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,};
unsigned int disdata; //定义要显示的数据
unsigned char disdat[4]; //存储要显示的四位数据
void delay(time)
{
unsigned char i,j;
for(j=0;j<time;j++)
for(i=0;i<250;i++);
}
display(void)
{
unsigned char k;
disdata=5201;//显示1234
disdat[0]=disdata/1000; //取出千位
disdat[1]=disdata%1000/100; //取出百位
disdat[2]=disdata%100/10; //取出十位
disdat[3]=disdata%10; //取出个位
for(k=0;k<4;k++) //显示四位数据
{
P0=tvdate[disdat[k]]; //送出要显示数据的段码
P1=datebit[k]; //P2位选
delay(10); //延时
}
}
main()
{
while(1)
{
display();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -