?? 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 + -