|
區(qū)別每個數(shù)碼管子函數(shù)(*7)和整體數(shù)碼管并一類子函數(shù)(*1)之間的區(qū)別;我們可以看其中數(shù)碼管顯示的停滯與正常之間的差距(proteus的原理圖相同,只是稍微了改了下C語言程序)
74hc573-74ls273和單片機(jī)數(shù)碼管的仿真圖:
單片機(jī)源程序:
- #include<reg52.h>
- #include<intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
- uchar code select[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
- sbit dula=P3^6;
- sbit clk=P3^7;
- uchar miao,fen,shi,adval,a,shih,shil,fenh,fenl,miaoh,miaol;
- void delayms(uint xms)
- {
- uint i,j;
- for(i=xms;i>0;i--)
- for(j=110;j>0;j--);
- }
- void display_shih(uchar shih)
- {
- P0=select[0];
- clk=1;
- clk=0;
- dula=1;
- P0=table[shih];
- dula=0;
- delayms(3);
- }
- void display_shil(uchar shil)
- {
- P0=select[1];
- clk=1;
- clk=0;
- dula=1;
- P0=table[shil];
- dula=0;
- delayms(3);
- }
- void display_fenh(uchar fenh)
- {
- P0=select[3];
- clk=1;
- clk=0;
- dula=1;
- P0=table[fenh];
- dula=0;
- delayms(3);
- }
- void display_fenl(uchar fenl)
- {
- P0=select[4];
- clk=1;
- clk=0;
- dula=1;
- P0=table[fenl];
- dula=0;
- delayms(3);
- }
- void display_miaoh(uchar miaoh)
- {
- P0=select[6];
- clk=1;
- clk=0;
- dula=1;
- P0=table[miaoh];
- dula=0;
- delayms(3);
- }
- void display_miaol(uchar miaol)
- {
- P0=select[7];
- clk=1;
- clk=0;
- dula=1;
- P0=table[miaol];
- dula=0;
- delayms(3);
- }
- void t0() interrupt 1
- {
- TH0=(65536-50000)/256;
- TL0=(65536-50000)%256;
- adval++;
- }
- void main()
- {
- TMOD=0x01;
- TH0=(65536-50000)/256;
- TL0=(65536-50000)%256;
- EA=1;
- ET0=1;
- TR0=1;
- while(1)
- {
- if(adval==20)
- {
- adval=0;
- miao++;
- if(miao==60)
- {
- miao=0;
- fen++;
- if(fen==60)
- {
- fen=0;
- shi++;
- if(shi==24)
- {
- shi=0;
- }
- }
- }
- miaoh=miao/10;
- miaol=miao%10;
- fenh=fen/10;
- fenl=fen%10;
- shih=shi/10;
- shil=shi%10;
- }
- display_shih(shih);
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
下載:
573-273時鐘-停滯未優(yōu)化.zip
(46.77 KB, 下載次數(shù): 13)
2017-5-10 08:53 上傳
點(diǎn)擊文件名下載附件
*1
573-273時鐘-優(yōu)化后.zip
(49.09 KB, 下載次數(shù): 23)
2017-5-10 08:53 上傳
點(diǎn)擊文件名下載附件
*7
|
|