freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計論文_基于at89c51單片機數(shù)字時鐘設(shè)計(編輯修改稿)

2024-12-22 18:26 本頁面
 

【文章內(nèi)容簡介】 開始 啟動定時器 按鍵檢測 時間顯示 18 圖 42 按鍵處理流程圖 N Y N Y N Y hour 加 1 顯示時間 結(jié)束 開始 sceond 按鍵按下? sceond 加 1 minute 按鍵按下? minute 加 1 hour 按鍵按下? 19 定時器中斷時是先檢測 1秒是否到, 1 秒如果到,秒單元就加 1;如果沒到,就檢測 1 分鐘是否到, 1分鐘如果到,分單元就加 1;如果沒到,就檢測 1 小時是否到, 1小時如果到,時單元就加 1,如果沒到,就顯示時間。 圖 43 定時器中斷流程圖 N 24 小時到? 分單元清零,時單元加 1 N N N Y Y 時單元清零 時間顯示 中斷返回 開始 一秒時間到? 60 秒時間到? 60 分鐘到? 秒單元加 1 秒單元清零,分單元加 1 Y Y 20 時間顯示是先 秒個位計算顯示,然后是秒十位計算顯示,再是分個位計算顯示,再然后是分十位顯示,再就是時個位計算顯示,最后是時十位顯示。 圖 44 時間顯示流程圖 時十位計算顯示 結(jié)束 開始 秒個位計算顯示 秒十位計算顯示 分個位計算顯示 分十位計算顯示 時個位計算顯示 21 數(shù)字鐘的原理圖 用 PROTUES 軟件,根據(jù)要求畫出數(shù)字電子鐘的原理圖如下所示。 圖 45 數(shù)字鐘的原理圖 在此有必要介紹一下數(shù)字電子鐘的工作原理。 工作原理 : 數(shù)字電子鐘是一個將“ 時”,“分”,“秒”顯示于人的視覺器官的計 時裝置。它的計時周期為 24 小時,顯示滿刻度為 23 時 59分 59秒,另外還有校時功能。因此,一個基本的數(shù)字鐘電路主要由顯示器“時”,“分”,“秒”和單片機,還有校時電路組成。 8個數(shù)碼管的段選接到單片機的 P0口,位選接到單片機的 P2 口。數(shù)碼管按照數(shù)碼管動態(tài)顯示的工作原理工作,將標(biāo)準(zhǔn)秒信號送入“秒單元”,“秒單元”采用 60 進制計數(shù)器,每累計 60 秒發(fā)出一個“分脈沖”信號,該信號將作為“分單元”的時鐘脈沖?!胺謫卧币膊捎?60 進制計數(shù)器,每累計 60 分鐘,發(fā)出一個“時脈沖”信號,該信號將被送到“時單元”。“時單元”采用 24 進制計時器,可實現(xiàn)對一天 24 小時的累計。顯示電路將“時”、“分”、“秒”通過七段顯示器顯示出來。校時電路時用來對“時”、“分”、“秒”顯示數(shù)字進行校對調(diào)整,校時電路時用來對“時”、“分”、“秒”顯示數(shù)字進行校對調(diào)整,按一下 second, 22 秒單元就加 1 ,按一下 minute,分就加 1,按一下 hour,時就加 1。 中斷 子程序 timer0 (void) interrupt 1 using 1 { u++。 TH0=(6553650000)/256。 TL0=(6553650000)%256。 } 延時 程序 void delay() { unsigned int time,p。 for(time=30。time0。time) for(p=0。p10。p++)。 } 主程序 和 定時器 中斷 子程序 include char mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 char sceond,minute,hour,i,k,l,j,x,y。 int u。 sbit P1_0=P1^0。 sbit P1_1=P1^1。 sbit P1_2=P1^2。 void main() { TMOD=0x01。 TH0=(6553650000)/256。 TL0=(6553650000)%256。 EA=1。 ET0=1。 TR0=1。 do { kongzhi()。 xianshi()。 } while(1)。 } 23 在這里,我們有必要介紹一下單片機的中斷系統(tǒng),以利于我們的學(xué)習(xí)。 中斷技術(shù)在單片系統(tǒng)中有著十分重要的作用,它不僅可以提高單片機 CPU的效率,也可以對突發(fā)事件處理。所謂中斷就是當(dāng) CPU 正在執(zhí)行程序 A 時,發(fā)生了另一個急需處理的事件 B,這是 CPU 暫停當(dāng)前執(zhí)行的程序 A,立即轉(zhuǎn)去執(zhí)行處理事件 B 的程序,處理完事件 B后,再返回到程序 A 繼續(xù)執(zhí)行,這個過程被叫做中斷。關(guān)于中斷的概念有下列幾個名詞:( 1)程序 A稱為主程序,( 2)處理事件 B 的程序稱為中斷服務(wù)程序,( 3)主程序中轉(zhuǎn)向中斷服務(wù)程序的地方稱為斷點,( 4)引起中斷的原因即事件 B稱為中斷源,( 5)轉(zhuǎn)去執(zhí)行中斷服務(wù)程序稱為中斷響應(yīng)。關(guān)于中斷的概念可以打個如下的比喻。領(lǐng)導(dǎo)( CPU)在自己的房間辦公(執(zhí)行主 程序),下屬(外設(shè))有問題打電話來請示(中斷源),領(lǐng)導(dǎo)停下正在進行的工作,通過電話給下屬做指示(執(zhí)行中斷服務(wù)程序),指示完后,領(lǐng)導(dǎo)掛斷電話,繼續(xù)做自己的工作(返回主程序繼續(xù)執(zhí)行)。 中斷是一個過程,當(dāng)中央處理器 CPU 在處理某件事情時,外部又發(fā)生了另一緊急事件,請求 CPU 暫停當(dāng)前的工作而去迅速處理該緊急事件。處理結(jié)束后,再回到原來被中斷的地方,繼續(xù)原來的工作。引起中斷的原因或發(fā)出中斷請求的來源,稱為中斷源。 單片機一般允許有多個中斷源,當(dāng)幾個中斷源同時向 CPU 請求中斷時,就存在CPU 優(yōu)先響應(yīng)哪一個中斷請求源的 問題(優(yōu)先級問題),一般根據(jù)中斷源的輕重緩急排隊,優(yōu)先處理最緊急事件的中斷請求,于是便規(guī)定每一個中斷源都有一個中斷優(yōu)先級別,并且 CPU 總是響應(yīng)級別最高的中斷請求。 當(dāng) CPU 正在處理一個中斷源請求的時候,又發(fā)生了另一個優(yōu)先級比它高的中斷源請求,如果 CPU 能夠暫時中止對原來中斷處理程序的執(zhí)行,轉(zhuǎn)而去處理優(yōu)先級更高的中斷源請求,待處理完以后,再繼續(xù)執(zhí)行原來的低級中斷處理程序,這樣的過程稱為中斷嵌套 。 LED 顯示子程序 void xianshi() { if(u==20) { u=0。 sceond++。 while(sceond==60) { sceond=0。 minute++。 if(minute==60) { 24 minute=0。 hour++ 。 if(hour==24) { hour=0。 } } } } x=hour%10。 y=hour/10。 l=minute%10。 j=minute/10。 i=sceond%10。 k=sceond/10。 P2=0x7f。 P0=mod[i]。 delay()。 P2=0xbf。 P0=mod[k]。 delay()。 P2=0xdf。 P0=0x40。 delay()。 P2=0xef。 P0=mod[l]。 delay()。 P2=0xf7。 P0=mod[j]。 delay()。 P2=0xfb。 P0=0x40。 delay()。 P2=0xfd。 P0=mod[x]。 delay()。 P2=0xfe。 P0=mod[y]。 25 delay()。 } 按鍵控制子程序 void kongzhi() { if(P1_0==0) { TR0=0。 while(P1_0==0)。 while(1) { if(P1_1==0) { sceond++。 if(sceond==60) { sceond=0。 } } while(P1_1==0)。 if(P1_2==0) { sceond。 if(sceond0) { sceond=0。 } } while(P1_2==0)。 i=sceond%10。 k=sceond/10。 P2=0x7f。 P0=mod[i]。 delay()。 P2=0xbf。 26 P0=mod[k]。 delay()。 if(P1_0==0) { while(P1_0==0)。 while(1) { if(P1_1==0) { minute++。 while(minute==60) { minute=0。 } } while(P1_1==0)。 if(P1_2==0) { minute。 if(minute0) { minute=0。 } } while(P1_2==0)。 l=minute%10。 j=minute/10。 P2=0xef。 P0=mod[l]。 delay()。 P2=0xf7。 P0=mod[j]。 delay()。 if( P1_0==0) { while(P1_0==0)。 while(1) { 27 if(P1_1==0) { hour++。 while(hour==24) { hour=0。 } } while(P1_1==0)。 if(P1_2==0) { hour。 if(hour0) { hour=0。 } } while(P1_2==0)。 x=hour%10。 y=hour/10。 P2=0xfd。 P0=mod[x]。 delay()。 P2=0xfe。 P0=mod[y]。 delay()。 if(P1_0==0) { while(P1_0==0)。 TR0=1。 return。 } } } } } } } 28 } 第五章 系統(tǒng)仿真 PROTUES 軟件介紹 Proteus 軟件是 Labcenter Electronics 公司的一款電路設(shè)計與仿真軟件,它包括 ISIS、 ARES 等軟件模塊, ARES 模塊主要用來完成 PCB 的設(shè)計,而 ISIS模塊用來完成電路原理圖的布圖與仿真。 Proteus 的軟件仿真基于 VSM 技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢就在于它能仿真大量的單片機 芯片,比如MCS51 系列、 PIC 系列等等,以及單片機外圍電路,比如鍵盤、 LED、 LCD 等等。通過 Proteus 軟件的使用我們能夠輕易地獲得一個功能齊全、實用方便的單片機實驗室。 電子鐘系統(tǒng) PROTUES 仿真 用 PROTUES 軟件,根據(jù)數(shù)字電子鐘的原理圖,畫出仿真圖,得到的圖如下所示。 圖 51 數(shù)字電子時鐘的 PROTES仿真 29 第 六 章 調(diào)試與功能說明 單片機應(yīng)用系統(tǒng)的調(diào)試包括硬件和軟件兩部分,但是他們并不能完全分開。一般的方法是排除明顯的硬件故障,再進行綜合調(diào)試,排除可能的軟 /硬件故障。 系統(tǒng)性能測試與功能說明 走時:默認為走時狀態(tài),按 24 小時制分別顯示 “ 時時 分分 秒秒
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1