|
課上所做的利用多位數(shù)碼管動(dòng)態(tài)顯示年-月-日
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
單片機(jī)源程序如下:
- #include<reg51.h>
- #include<intrins.h>
- #define uint unsigned int
- #define uchar unsigned char
- uint nian=2015;
- uchar yue=4,ri=14;
- uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
- void delay(uint);
- void display();
- main()
- {
- while(1) display();
- }
- void display()
- {
- P2=0xfe;
- P0=table[nian/1000];
- delay(1);
- P0=0x00;
- P2=_crol_(P2,1);
- P0=table[nian%1000/100];
- delay(1);
- P0=0x00;
- P2=_crol_(P2,1);
- P0=table[nian%1000%100/10];
- delay(1);
- P0=0x00;
- P2=_crol_(P2,1);
- P0=table[nian%1000%100%10];
- delay(1);
- P0=0x00;
- P2=_crol_(P2,1);
- P0=0x40;
- delay(1);
- P0=0x00;
- P2=_crol_(P2,1);
- P0=table[yue/10];
- delay(1);
- P0=0x00;
- P2=_crol_(P2,1);
- P0=table[yue%10];
- delay(1);
- P0=0x00;
- P2=_crol_(P2,1);
- P0=0x40;
- delay(1);
- P2=0xff;
- P3=0xfe;
- P0=table[ri/10];
- delay(1);
- P0=0x00;
- P3=0xfd;
- P0=table[ri%10];
- delay(1);
- P3=0xff;
- }
- void delay(uint x)
- {
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
數(shù)碼管顯示日歷.zip
(59.07 KB, 下載次數(shù): 33)
2018-2-13 13:50 上傳
點(diǎn)擊文件名下載附件
日歷
|
|