這是對(duì)于單片機(jī)的簡(jiǎn)單應(yīng)用
仿真結(jié)果圖:
0.png (118.81 KB, 下載次數(shù): 83)
下載附件
2017-5-10 15:54 上傳
0.png (141.95 KB, 下載次數(shù): 73)
下載附件
2017-5-10 15:54 上傳
51單片機(jī)定時(shí)器的應(yīng)用proteus仿真 本人喜好單片機(jī)設(shè)計(jì),精通單片機(jī)編程和硬件電路設(shè)計(jì),在空余之際編一些小程序與大家分享,有哪位路過(guò),請(qǐng)多多指教,希望大家在一起能互相學(xué)習(xí),互相進(jìn)步。這里的程序已經(jīng)測(cè)試通過(guò)。發(fā)表出來(lái),一來(lái)可以幫助同樣愛(ài)好單片機(jī)的朋友們,二來(lái),希望能結(jié)交一些同道中人,共同學(xué)習(xí)。 實(shí)例原理:用定時(shí)器設(shè)計(jì)一個(gè)秒表,其中設(shè)有一個(gè)按鍵,定時(shí)器 T0工作在方式1。當(dāng)?shù)谝?/font> 次按下按鍵時(shí),定時(shí)器開(kāi)始計(jì)時(shí)。第二次按下按鍵時(shí),停止計(jì)時(shí)并計(jì)算第一次按下鍵盤(pán)與第二次按下鍵盤(pán)的時(shí)間,送人P0口和P2口并將時(shí)間顯示出來(lái),P0口顯示十位,P2口顯示各位。第三次按下鍵盤(pán)時(shí)使定時(shí)器清零,等待下一次按鍵。 源程序: #include<reg51.h> #defineuchar unsigned char sbitkey=P3^0; sbitge=P2^7; sbitshi=P2^6; uchartime=0,count=0; ucharcode dis[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; ucharcode dis_dot[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; voiddelay(uchar N) { uchar i,j; for(i=0;i<N;i++) for(j=0;j<125;j++); } voiddisplay(void) { P0=dis[time%10]; ge=0; delay(3); ge=1; P0=dis_dot[time/10]; shi=0; delay(3); shi=1; } voidmain() { TMOD=0x01;TH0=0x3c;TL0=0xb0;IE=0x82;//定時(shí)器T0工作在方式1 while(1) { while(key==1) display(); TR0=1; EA=1; while(key==0) display(); while(key==1) display(); EA=0; while(key==0); display(); while(key==1) display(); time=0; while(key==0) display(); } } voidT0_time()interrupt 1 { count++; if(count==2) { time++; count=0; if(time==99) time=0; } TH0=0x3c;TL0=0xb0; }
如果您想做項(xiàng)目開(kāi)發(fā),或者是做課題,或者您只是有一個(gè)想法,親聯(lián)系我們,我們會(huì)盡最大努力幫您完成,您的需要就是我們奮斗的方向!
|