單片機(jī)應(yīng)用技術(shù)-基于STC15系列單片機(jī) 課件 4.2 簡易數(shù)字鐘_第1頁
單片機(jī)應(yīng)用技術(shù)-基于STC15系列單片機(jī) 課件 4.2 簡易數(shù)字鐘_第2頁
單片機(jī)應(yīng)用技術(shù)-基于STC15系列單片機(jī) 課件 4.2 簡易數(shù)字鐘_第3頁
單片機(jī)應(yīng)用技術(shù)-基于STC15系列單片機(jī) 課件 4.2 簡易數(shù)字鐘_第4頁
單片機(jī)應(yīng)用技術(shù)-基于STC15系列單片機(jī) 課件 4.2 簡易數(shù)字鐘_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

任務(wù)

簡易電子鐘的實(shí)現(xiàn)——任務(wù)介紹&數(shù)碼管動(dòng)態(tài)顯示簡易電子鐘的實(shí)現(xiàn)完成電子鐘24小時(shí)制時(shí)、分、秒的走時(shí);在8位數(shù)碼管上的顯示,顯示格式為:時(shí)-分-秒;任務(wù)介紹簡易電子鐘整體設(shè)計(jì)單片機(jī)模塊8位數(shù)碼管模塊簡易電子鐘的實(shí)現(xiàn)示例:

數(shù)碼管動(dòng)態(tài)顯示指定信息。在8位數(shù)碼管上顯示數(shù)字0-7。簡易電子鐘的實(shí)現(xiàn)靜態(tài)顯示方式中,數(shù)碼管的段控端需要單獨(dú)連接到一組并行口。

優(yōu)點(diǎn):顯示穩(wěn)定、無閃爍、占用CPU時(shí)間少;缺點(diǎn):但所需的硬件資源較多。如果有8位數(shù)碼管,將占用56條口線,所以靜態(tài)顯示方式僅適用于位數(shù)較少的應(yīng)用場(chǎng)合。數(shù)碼管的靜態(tài)顯示簡易電子鐘的實(shí)現(xiàn)數(shù)碼管動(dòng)態(tài)顯示動(dòng)態(tài)顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時(shí)都在顯示。優(yōu)點(diǎn):是占用的單片機(jī)IO口較少;缺點(diǎn):編程復(fù)雜,亮度會(huì)受到驅(qū)動(dòng)程序的設(shè)計(jì)的影響。簡易電子鐘的實(shí)現(xiàn)數(shù)碼管動(dòng)態(tài)顯示電路設(shè)計(jì)數(shù)碼管動(dòng)態(tài)顯示電路圖科普:視覺暫留(Persistenceofvision)

現(xiàn)象是光對(duì)視網(wǎng)膜所產(chǎn)生的視覺在光停止作用后,仍保留一段時(shí)間的現(xiàn)象,其具體應(yīng)用是電影的拍攝和放映。人眼的視覺暫留時(shí)間是0.05秒,因此,當(dāng)連續(xù)的圖象變化超過每秒24幀畫面的時(shí)候,人眼便無法分辨每幅單獨(dú)的靜態(tài)畫面。abcdfgdp12345678910eeabcdfgdpCOMCOM簡易電子鐘的實(shí)現(xiàn)數(shù)碼管動(dòng)態(tài)顯示電路設(shè)計(jì)序號(hào)名稱Proteus中元件名參數(shù)數(shù)量1單片機(jī)STC15W4K32S412LED數(shù)碼管7SEG-MPX8-CA-BLUE共陽極13排阻RX847014鎖存器74HC373174HC373鎖存器,當(dāng)OE端送低電平,LE端送高電平,74HC373工作在直通模式。簡易電子鐘的實(shí)現(xiàn)數(shù)碼管動(dòng)態(tài)顯示程序設(shè)計(jì)示例:

數(shù)碼管動(dòng)態(tài)顯示指定信息。在8位數(shù)碼管上顯示數(shù)字0-7。送位碼送段碼熄滅數(shù)碼管保持1ms是否完成8位顯示?YN1000000000000011unsignedcharcodeled_disp_code_gongyang[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};main(){ unsignedcharaa;unsignedintj; while(1) { aa=0x01; for(j=0;j<8;j++) {

P2=aa;

P0=led_disp_code_gongyang[j];

delay_ms(1);//延時(shí)1ms

P2=0x00;

aa=aa<<1;}}}簡易電子鐘的實(shí)現(xiàn)數(shù)碼管動(dòng)態(tài)顯示程序設(shè)計(jì)示例:

數(shù)碼管動(dòng)態(tài)顯示指定信息。在8位數(shù)碼管上顯示數(shù)字0-7。P0=0xff;1000000000000011簡易電子鐘的實(shí)現(xiàn)示例:數(shù)碼管動(dòng)態(tài)顯示秒。在8位數(shù)碼管的7、8位實(shí)現(xiàn)電子秒表中秒的動(dòng)態(tài)顯示。主函數(shù)

main()

顯示子函數(shù):xianshi()定時(shí)器T0中斷服務(wù)函數(shù):

delay_1s()interrupt1using1簡易電子鐘的實(shí)現(xiàn)示例:數(shù)碼管動(dòng)態(tài)顯示秒。在8位數(shù)碼管的7、8位實(shí)現(xiàn)電子秒表中秒的動(dòng)態(tài)顯示。voidmain(){ TMOD=0X00; TH0=(65536-MAIN_Fosc/1000)/256;//T0不分頻,定時(shí)1ms TL0=(65536-MAIN_Fosc/1000)%256; AUXR=AUXR|0X80;

ET0=1;//允許定時(shí)器中斷0發(fā)生

EA=1;//允許總中斷發(fā)生 TR0=1; while(1) { xianshi(); }}開始初始化顯示簡易電子鐘的實(shí)現(xiàn)示例:數(shù)碼管動(dòng)態(tài)顯示秒。在8位數(shù)碼管的7、8位實(shí)現(xiàn)電子秒表中秒的動(dòng)態(tài)顯示。voidxianshi(){

P2=0x40;//第7位數(shù)碼管工作

P0=led_disp_code_gongyang[miao/10];//顯示秒的十位

delay_ms(1);//延時(shí)1ms P2=0x00;

P2=0x80;//第8位數(shù)碼管工作

P0=led_disp_code_gongyang[miao%10];//顯示秒的個(gè)位

delay_ms(1);//延時(shí)1ms P2=0x00;}顯示子函數(shù)入口顯示秒的十位子函數(shù)返回顯示秒的個(gè)位送位碼送段碼熄滅數(shù)碼管保持1ms任務(wù)

電子秒表軟件設(shè)計(jì)定時(shí)器T0中斷服務(wù)函數(shù)1s是否到?秒+160s是否到?秒清零中斷函數(shù)返回定時(shí)器T0中斷服務(wù)函數(shù)流程圖delay_1s()interrupt1using1//定時(shí)器0中斷服務(wù)函數(shù){ unsignedinti;//用于1ms定時(shí)次數(shù)的統(tǒng)計(jì) i++; if(i==1000)

{

i=0;

miao++;//1s鐘時(shí)間到,miao加1

if(miao==60)

miao=0;

}}YYNN示例:數(shù)碼管動(dòng)態(tài)顯示秒。在8位數(shù)碼管的7、8位實(shí)現(xiàn)電子秒表中秒的動(dòng)態(tài)顯示。任務(wù)

簡易電子鐘的實(shí)現(xiàn)——硬件電路設(shè)計(jì)完成電子鐘24小時(shí)制時(shí)、分、秒的走時(shí);在8位數(shù)碼管上的顯示,顯示格式為:時(shí)-分-秒;任務(wù)介紹任務(wù)

簡易電子鐘的實(shí)現(xiàn)任務(wù)介紹示例軟件設(shè)計(jì)完成電子鐘時(shí)、分、秒的走時(shí);在8位數(shù)碼管上的顯示,顯示格式為:時(shí)-分-秒;main():系統(tǒng)初始化、調(diào)用走時(shí)等子函數(shù);delay_1s():用定時(shí)器中斷完成1s定時(shí);zoushi():電子鐘時(shí)、分、秒的走時(shí);chaifen():時(shí)、分、秒的拆分;xianshi():時(shí)鐘信息的顯示。任務(wù)

簡易電子鐘的實(shí)現(xiàn)示例程序編寫開始系統(tǒng)初始化調(diào)用拆分子函數(shù)調(diào)用走時(shí)子函數(shù)調(diào)用顯示子函數(shù)簡易電子鐘主函數(shù)流程圖voidmain(){ TMOD=0X00; TH0=(65536-MAIN_Fosc/1000)/256;//T0不分頻,定時(shí)1ms TL0=(65536-MAIN_Fosc/1000)%256; AUXR=AUXR|0X80;

ET0=1;//允許定時(shí)器中斷0發(fā)生

EA=1;//允許總中斷發(fā)生 TR0=1; while(1) { zoushi(); //調(diào)用走時(shí)子函數(shù) chaifen(); //調(diào)用拆分子函數(shù) xianshi(); //調(diào)用顯示子函數(shù) }}任務(wù)

簡易電子鐘的實(shí)現(xiàn)示例程序編寫中斷函數(shù)入口統(tǒng)計(jì)1ms定時(shí)次數(shù)設(shè)置1s鐘標(biāo)志位為1delay_1s()interrupt1using1//定時(shí)器T0中斷服務(wù)函數(shù){ unsignedintn;//用于1ms定時(shí)次數(shù)的統(tǒng)計(jì) n++; if(n==1000) { flag_1s=1; n=0; }}1s鐘時(shí)間到?中斷函數(shù)返回YN定時(shí)器T0中斷服務(wù)函數(shù)任務(wù)

簡易電子鐘的實(shí)現(xiàn)示例程序編寫YSecond=0NFlag_1s=1?YN++minute=60?++second=60?YFlag_1s=0minute=0N++hour=24?hour=0NY走時(shí)子函數(shù)入口子函數(shù)返回voidzoushi(){ if(flag_1s)

{

flag_1s=0;

miao++;

if(miao==60)

{

miao=0;

fen++;

if(fen==60)

{

fen=0;

shi++;

if(shi==24)

{

shi=0;}

}

}

}}任務(wù)

簡易電子鐘的實(shí)現(xiàn)示例程序編寫led_disp_code_gongyang[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};voidchaifen(){ dis[0]=shi/10; dis[1]=shi%10; dis[2]=10; dis[3]=fen/10; dis[4]=fen%10; dis[5]=10; dis[6]=miao/10; dis[7]=miao%10;}拆分子函數(shù)入口拆分時(shí)的十位橫線拆分時(shí)的個(gè)位拆分分的十位橫線拆分分的個(gè)位拆分秒的十位拆分秒的個(gè)位子函數(shù)返回led_disp_code_gongyang[10]任務(wù)

簡易電子鐘的實(shí)現(xiàn)示例程序編寫voidxianshi(){ unsignedcharaa; unsignedinti; aa=0x01; for(i=0;i<8;i++) { P2=aa; P0=led_disp_code_gongyang[dis[i]]; delay_ms(1);//

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論