版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)說(shuō)明書(shū)</b></p><p> ?。?012 /2013學(xué)年第 二 學(xué)期)</p><p> 課程名稱(chēng) : 單片機(jī)應(yīng)用 </p><p> 題 目 : 簡(jiǎn)易數(shù)字鐘 </p><p> 專(zhuān)業(yè)班級(jí) : <
2、;/p><p> 學(xué)生姓名 : </p><p> 學(xué) 號(hào): </p><p> 指導(dǎo)教師 : </p><p> 設(shè)計(jì)周數(shù) : </p><p> 設(shè)計(jì)成績(jī) :
3、 </p><p> 2013年 6 月 26 日</p><p><b> 目錄</b></p><p> 第一章 課程設(shè)計(jì)目的***********************************3</p><p> 第二章 課程設(shè)計(jì)任務(wù)*******************
4、****************3</p><p> 2.1設(shè)計(jì)題目***************************************3</p><p> 2.2原始數(shù)據(jù)及主要任務(wù)******************************3</p><p> 2.3技術(shù)要求*************************************
5、**3</p><p> 第三章 課程設(shè)計(jì)內(nèi)容***********************************3</p><p> 3.1方案設(shè)計(jì)***************************************4</p><p> 3.2 CD4511芯片功能和使用方法************************4</p>
6、<p> 3.3 MCS-51單片機(jī)定時(shí)器/計(jì)數(shù)器介*******************5</p><p> 3.4 綜合電路設(shè)計(jì)***********************************6</p><p> 3.5單元電路設(shè)計(jì)*************************************7</p><p> 3.5.
7、1鍵盤(pán)單元*************************************7</p><p> 3.5.2數(shù)碼管顯示***********************************8</p><p> 3.5.3時(shí)鐘產(chǎn)生單元**********************************8</p><p> 3.5.4蜂鳴器電路單元****
8、****************************8 第四章 原理和仿真************************************9</p><p> 3.6 原理圖和仿真圖*********************************9</p><p> 3.7系統(tǒng)調(diào)試**************************************10</p
9、><p> 3.8 實(shí)習(xí)心得體會(huì)**********************************11</p><p> 參考文獻(xiàn)*****************************************13</p><p> 附錄(c語(yǔ)言程序)*******************************14</p><p>&
10、lt;b> 一、課程設(shè)計(jì)目的:</b></p><p> 1.1綜合利用所學(xué)單片機(jī)知識(shí)完成一個(gè)單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)并在實(shí)驗(yàn)室實(shí)現(xiàn),從而加深對(duì)單片機(jī)軟硬知識(shí)的理解,獲得初步的應(yīng)用經(jīng)驗(yàn)。</p><p> 1.2學(xué)習(xí)AT89C51定時(shí)/計(jì)數(shù)器的原理及基本應(yīng)用,掌握多位數(shù)碼管動(dòng)態(tài)顯示方法以及芯片CD4511等的特點(diǎn)。</p><p> 1.3掌握K
11、eil uVision2 的使用方法和PROTEUS軟件使用過(guò)程。</p><p><b> 二、課程設(shè)計(jì)任務(wù)</b></p><p> 2.1設(shè)計(jì)題目:簡(jiǎn)易數(shù)字鐘設(shè)計(jì)</p><p> 2.2原始數(shù)據(jù)及任務(wù):采用AT89S51作為控制單元,實(shí)現(xiàn)簡(jiǎn)易數(shù)字鐘設(shè)計(jì)。1、確定總體設(shè)計(jì)方案;2、設(shè)計(jì)鍵盤(pán)輸入電路;3、設(shè)計(jì)顯示電路;4、合理分配地址
12、,編寫(xiě)系統(tǒng)程序;5、利用Protel設(shè)計(jì)硬件電路原理圖和PCB圖;6、軟硬件聯(lián)機(jī)調(diào)試。</p><p><b> 2.3技術(shù)要求</b></p><p> 設(shè)計(jì)一臺(tái)以MCS-51為核心的簡(jiǎn)易數(shù)字鐘。四位數(shù)碼管顯示小時(shí)和分鐘,中間的那個(gè)點(diǎn)來(lái)區(qū)分小時(shí)和分鐘;每秒用LED閃爍一下;用了4個(gè)按鍵,一個(gè)是選擇鍵,一個(gè)是加鍵,一個(gè)確認(rèn)鍵。時(shí)間要精確,整點(diǎn)報(bào)時(shí),聲音間隔為一秒,
13、并且可以調(diào)整時(shí)間調(diào)整位閃爍提示。</p><p><b> 三、課程設(shè)計(jì)內(nèi)容</b></p><p> 3.1:方案設(shè)計(jì)過(guò)程如下</p><p> (1)根據(jù)題目要求利用protel設(shè)計(jì)原理圖,請(qǐng)老師檢查是否有錯(cuò)誤。</p><p> ?。?)利用仿真軟件protus鋪設(shè)電路,進(jìn)行合理安排布局。</p>
14、<p> ?。?)學(xué)習(xí)keil編程軟件,按照功能要求進(jìn)行編程。</p><p> ?。?)在確認(rèn)無(wú)誤后,將程序加載到protus進(jìn)行仿真。</p><p> ?。?)根據(jù)原理圖進(jìn)行硬件焊接電路板和檢測(cè)。</p><p> 單元器件選擇主要器件如下:</p><p> STC90C52AD+單片機(jī)(DIP40);4位共陰數(shù)碼顯
15、示管,4個(gè)</p><p> 470歐電阻,1個(gè); 300歐電阻,7個(gè); NPN三極管4個(gè)</p><p> 1k歐電阻,4個(gè); 晶振:12MHz,1個(gè);</p><p> 10K電阻,4個(gè); 按鍵開(kāi)關(guān):4個(gè);</p><p> LED二極管1個(gè); 蜂鳴器1個(gè); PNP三極管1個(gè)。</p>
16、<p> 3.2CD4511簡(jiǎn)介說(shuō)明和使用方法</p><p> 簡(jiǎn)介:CD4511 是一片 CMOS BCD—鎖存/7 段譯碼/驅(qū)動(dòng)器,用于驅(qū)動(dòng)共陰極 LED (數(shù)碼管)顯示器的 BCD 碼—七段碼譯碼器。具有BCD轉(zhuǎn)換、消隱和鎖存控制、七段譯碼及驅(qū)動(dòng)功能的CMOS電路能提供較大的拉電流。可直接驅(qū)動(dòng)共陰LED數(shù)碼管。 </p
17、><p> 使用方法:其中a b c d 為 BCD 碼輸入,a為最低位。LT為燈測(cè)試端,加高電平時(shí),顯示器正常顯示,加低電平時(shí),顯示器一直顯示數(shù)碼“8”,各筆段都被點(diǎn)亮,以檢查顯示器是否有故障。BI為消隱功能端,低電平時(shí)使所有筆段均消隱,正常顯示時(shí), B1端應(yīng)加高電平。另外 CD4511有拒絕偽碼的特點(diǎn),當(dāng)輸入數(shù)據(jù)越過(guò)十進(jìn)制數(shù)9(1001)時(shí),顯示字形也自行消隱。LE是鎖存控制端,高電平時(shí)鎖存,低電平時(shí)傳輸數(shù)據(jù)。
18、a~g是 7 段輸出,可驅(qū)動(dòng)共陰LED數(shù)碼管。另外,CD4511顯示數(shù)“6”時(shí),a段消隱;顯示數(shù)“9”時(shí),d 段消隱,所以顯示 6、9 這兩個(gè)數(shù)時(shí),字形不太美觀,若要多位計(jì)數(shù),只需將計(jì)數(shù)器級(jí)聯(lián),每級(jí)輸出接一只 CD4511 和 LED 數(shù)碼管即可。所謂共陰 LED 數(shù)碼管是指 7 段 LED 的陰極是連在一起的,在應(yīng)用中應(yīng)接地。限流電阻要根據(jù)電源電壓來(lái)選取,電源電壓5V時(shí)可使用300Ω的限流電阻。其真值表如下圖所示:</p>
19、<p> 3.3 MCS-51單片機(jī)內(nèi)部定時(shí)器/計(jì)數(shù)器中斷系統(tǒng)簡(jiǎn)介 </p><p> 用定時(shí)/計(jì)數(shù)器T0,工作于定時(shí),采用方式1,對(duì)6MHZ的系統(tǒng)時(shí)鐘進(jìn)行定時(shí)計(jì)數(shù),形成定時(shí)時(shí)間50ms。計(jì)1200次分計(jì)數(shù)器自增1,時(shí)計(jì)數(shù)器加到24則時(shí)計(jì)數(shù)器清0。然后把分、時(shí)計(jì)數(shù)器分成十位和個(gè)位放到4個(gè)數(shù)碼管的顯示緩沖區(qū),通過(guò)數(shù)碼管顯示出來(lái)。在處理過(guò)程中加上了按鍵判斷程序,能對(duì)按鍵處理。</p>
20、<p><b> 3.4綜合電路設(shè)計(jì)</b></p><p> 本系統(tǒng)共有兩部分構(gòu)成,即硬件部分與軟件部分。其中硬件部分由電源輸入部分、鍵盤(pán)輸入部分、復(fù)位部分、晶振部分、顯示部分、報(bào)警部分部分組成,軟件部分對(duì)應(yīng)的由主程序、初始化程序、LED顯示程序、鍵盤(pán)掃描程序、啟動(dòng)程序、關(guān)閉程序、按鍵功能程序、EEPROM讀寫(xiě)程序和延時(shí)程序等組成。其原理框圖如下圖</p>&l
21、t;p><b> 3.4.1鍵盤(pán)單元</b></p><p> 鍵盤(pán)設(shè)計(jì)如下圖所示(P0口需要通過(guò)上拉電阻接到+5V電源,這點(diǎn)需注意,上拉電阻接法如下)</p><p> 其中12個(gè)鍵的功能分配如下</p><p> S1: 選擇鍵 S2:加鍵 S3:減鍵 S4:確認(rèn)鍵 </p><p>
22、 采用掃描控制端口P0的值來(lái)確定有沒(méi)有鍵按下,按下的是那個(gè)鍵。</p><p> 3.4.2數(shù)碼管顯示</p><p> 我們采用共陰數(shù)碼管顯示共4個(gè),段選端接P2口,位選段接P1口,具體接法如下:</p><p> 數(shù)碼管位選端由P1口高四位的4個(gè)端口控制,分別通過(guò)NPN接到數(shù)碼管的公共端,其接法如上圖:</p><p> 數(shù)碼管
23、顯示是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,</p><p> 共陰極數(shù)碼管0到9十個(gè)數(shù)的代碼如下:</p><p> {0x3f,0x06,0x5b,0x4f,0x66</p><p> ,0x6d,0x7d,0x07,0x7f,0x6f};</p><p> 3.4.3時(shí)鐘產(chǎn)生單元</p><p> 5
24、1單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。 在引腳XTAL1和XTAL2外接晶體振蕩器(簡(jiǎn)稱(chēng)晶振)或陶瓷諧振器,就構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。內(nèi)部振蕩方式的外部電路如下圖所示。 </p><p> 圖中,電容器C起穩(wěn)定振蕩頻率、快速起振的作用,其電容值一般在5-30pF。晶振頻率的
25、典型值為12MH2,采用6MHz的情況也比較多。內(nèi)部振蕩方式所得的時(shí)鐘情號(hào)比較穩(wěn)定,實(shí)用電路中使用較多。外部振蕩方式是把外部已有 的時(shí)鐘信號(hào)引入單片機(jī)內(nèi)。這種方式適用來(lái)使單片機(jī)的時(shí)鐘與外部信號(hào)保持同步。 </p><p> 3.4.4 蜂鳴器電路單元:如圖下所示 </p><p><b> 第四章
26、原理和仿真</b></p><p> 3.5 protel系統(tǒng)原理圖如下:</p><p> Protus仿真圖如下:</p><p><b> 3.6系統(tǒng)調(diào)試</b></p><p> 硬件調(diào)試時(shí)可先檢查面包板及焊接的質(zhì)量情況,在檢查無(wú)誤后可通電檢查L(zhǎng)ED顯示器的點(diǎn)亮狀況。若亮度不理想,可以調(diào)整P3
27、口的電阻大小,一般情況下取200Ω電阻即可獲得滿(mǎn)意的亮度效果。 </p><p> 硬件調(diào)試:硬件調(diào)試是利用基本測(cè)試儀器(萬(wàn)用表等),檢查用戶(hù)系統(tǒng)硬件中存在的故障。硬件調(diào)試可分為靜態(tài)調(diào)試與動(dòng)態(tài)調(diào)試兩步進(jìn)行。</p><p> 靜態(tài)調(diào)試:是在用戶(hù)系統(tǒng)未工作時(shí)的一種硬件檢測(cè)。</p><p> 第一步:目測(cè)。檢查外部的各種元件或者是電路是否
28、有斷點(diǎn)。</p><p> 第二步:用萬(wàn)用表測(cè)試。先用萬(wàn)用表復(fù)核目測(cè)中有疑問(wèn)的連接點(diǎn),再檢測(cè)各種電源線與地線之間是否有短路現(xiàn)象。</p><p> 第三步:加電檢測(cè)。給板加電,檢測(cè)所有插座或是器件的電源端是否符合要求的值 </p><p> 第四步:聯(lián)機(jī)檢查。因?yàn)橹挥杏脝纹瑱C(jī)開(kāi)發(fā)系統(tǒng)才能完成對(duì)用戶(hù)系統(tǒng)的調(diào)試。 </p><p> 動(dòng)態(tài)
29、調(diào)試:是在用戶(hù)系統(tǒng)工作的情況下發(fā)現(xiàn)和排除用戶(hù)系統(tǒng)硬件中存在的器件內(nèi)部故障、器件連接邏輯錯(cuò)誤等的一種硬件檢查。動(dòng)態(tài)調(diào)試的一般方法是由近及遠(yuǎn)、由分到合。由分到合是指首先按邏輯功能將用戶(hù)系統(tǒng)硬件電路分為若干塊,當(dāng)調(diào)試電路時(shí),與該元件無(wú)關(guān)的 器件全部從用戶(hù)系統(tǒng)中去掉,這樣可以將故障范圍限定在某個(gè)局部的電路上。當(dāng)各塊電路無(wú)故障后,將各電路逐塊加入系統(tǒng)中,在對(duì)各塊電路功能及各電路間可能存在的相互聯(lián)系進(jìn)行調(diào)試。由分到合的調(diào)試既告完成。由近及遠(yuǎn)是將信號(hào)
30、流經(jīng)的各器件按照距離單片機(jī)的邏輯距離進(jìn)行由近及遠(yuǎn)的分層,然后分層調(diào)試。調(diào)試時(shí),仍采用去掉無(wú)關(guān)元件的方法,逐層調(diào)試下去,就會(huì)定位故障元件了。</p><p> 軟件調(diào)試:軟件調(diào)試是通過(guò)對(duì)程序的匯編、連接、執(zhí)行來(lái)發(fā)現(xiàn)程序中存在的語(yǔ)法錯(cuò)誤與邏輯錯(cuò)誤并加以排除糾正的過(guò)程。</p><p> 可以利用仿真器加以調(diào)試,對(duì)系統(tǒng)單個(gè)單元進(jìn)行調(diào)試,當(dāng)單元電路成功后,在對(duì)整個(gè)程序調(diào)試,最后在用CPU芯片調(diào)
31、試。</p><p> 通過(guò)軟硬結(jié)合的方式對(duì)電路板進(jìn)行硬件調(diào)試,硬件沒(méi)錯(cuò)誤之后,開(kāi)始進(jìn)行軟件編程,直到整個(gè)功能實(shí)現(xiàn),并進(jìn)行優(yōu)化。</p><p> 3.7 課程設(shè)計(jì)心得體會(huì)和收獲:</p><p> 我經(jīng)過(guò)這兩個(gè)星期單片機(jī)課程設(shè)計(jì)的學(xué)習(xí),我們組從畫(huà)原理圖。到的protus仿真圖修改,再到程序的編寫(xiě)和電路板的焊接都主要是我自己解決的,,錯(cuò)了向老師和同學(xué)們請(qǐng)教然后
32、再次去修改。在這個(gè)過(guò)程中我不僅加深了對(duì)單片機(jī)理論的理解,懂得了更多理論的知識(shí),而且我還學(xué)會(huì)了將理論知識(shí)更好的運(yùn)用到實(shí)際當(dāng)中去。課程設(shè)計(jì)是對(duì)我們能力的訓(xùn)練,隨著科學(xué)技術(shù)的不斷發(fā)展,單片機(jī)已運(yùn)用廣泛。在生活當(dāng)中可謂是無(wú)所不在,小到遙控器、手機(jī),大到電腦等家用電器,可以說(shuō)跟我們的生活息息相關(guān)。因此作為二十一世紀(jì)的大學(xué)生來(lái)說(shuō)掌握單片機(jī)的開(kāi)發(fā)及時(shí)是十分重要的。</p><p> 回想兩個(gè)星期的課程設(shè)計(jì),真的是感慨頗多,從
33、剛剛開(kāi)始的容易上手到后面的摸不著方向,通過(guò)查詢(xún)資料請(qǐng)教老師解決了所有的問(wèn)題。通過(guò)這次的課程設(shè)計(jì),讓我懂得了理論與實(shí)際的結(jié)合時(shí)非常重要的,只有結(jié)合起來(lái)才能得出想要的結(jié)論,從理論當(dāng)中得出結(jié)論,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考能力。在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)自己的不足之處,對(duì)以前所學(xué)的知識(shí)理解的不夠深刻,掌握的不夠不夠牢固,比如對(duì)單片機(jī)的匯編語(yǔ)言不能理解,不懂得一些元件的運(yùn)用等等。課程設(shè)計(jì)結(jié)束后,一定要把自己以前沒(méi)學(xué)有車(chē)的重新溫過(guò)一次。在設(shè)計(jì)中遇
34、到的許多的問(wèn)題,都在老師的幫助下和同學(xué)的指導(dǎo)下完成了,讓我體會(huì)到了團(tuán)隊(duì)合作的重要性,同時(shí)也感謝同學(xué)和老師對(duì)我的指導(dǎo)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]《電力電子技術(shù)基礎(chǔ)》(第五版)康華光主編 高等教育出版社。</p><p> [2]《單片機(jī)原理及應(yīng)用 》張毅剛 主編 高等教育出版社。<
35、/p><p> [3]《電路設(shè)計(jì)與制版Protel 99入門(mén)與提高》 老虎工作室編制。</p><p> [4]《PROTEUS入門(mén)實(shí)用教程》第2版 周潤(rùn)景蔡雨恬編著機(jī) 械 工 業(yè) 出 版。</p><p> [5]《單片機(jī)10天征服你》郭天祥 哈爾濱工程大學(xué)錄制。</p><p> 附錄: C語(yǔ)言實(shí)驗(yàn)程序如下</p>
36、<p> #include <reg52.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> uchar code table[]={0x10,0x20,0x30,0x40,0x50,0x60,0x70,0x80,0x90
37、}; </p><p> uchar t0,t1,min,hour,function,a0,a1,a2,a3;</p><p><b> bit shan;</b></p><p> void delay(uint count) ;</p><p> uchar keychuli();</p>
38、<p> uchar key();</p><p> void display(uchar,uchar,uchar,uchar);</p><p> void send();</p><p> void ini();</p><p> void chuli();</p><p> //******
39、*********主函數(shù)***************************</p><p> void main()</p><p><b> {</b></p><p><b> ini();</b></p><p><b> while(1)</b></p
40、><p> {display(16,16,16,17); </p><p> if(key()==1) //當(dāng)k1按下后則定時(shí)器驅(qū)動(dòng)時(shí)鐘開(kāi)始走</p><p> {TR0=1;function=1;shan=0;</p><p><b> while(1)</b></p><p>
41、{send();// 送數(shù)</p><p> display(a0, a1, a2, a3); // 顯示</p><p> chuli(); //處理</p><p><b> }}}}</b></p><p> //*************初始化程序************************
42、**</p><p> voidini()</p><p><b> {</b></p><p> TMOD=0x01,TH0=0x3c,TL0=0xb0;TH1=0x3c,TL1=0xb0; // 定時(shí)50ms中斷一次</p><p> EA=1,ET0=1,TR0=0;ET1=1;TR1=0;</p
43、><p><b> }</b></p><p> //**************鍵值處理程序*************************</p><p> void chuli()</p><p> {switch(key())</p><p> {case 0:break;&l
44、t;/p><p> case 1:// 當(dāng)按鍵k1按下后</p><p> {function++;// 判斷按下的次數(shù)</p><p> switch(function)</p><p> {case 1:TR0=1;TR1=0;shan=0;break;//一次條秒同時(shí)閃爍</p><p> case
45、2: //兩次調(diào)分同時(shí)閃爍</p><p> case 3://三次調(diào)分同時(shí)閃爍</p><p> case 4:TR0=0;TR1=1;shan=1;break;//四次跳出調(diào)整狀態(tài)時(shí)鐘繼續(xù)走時(shí)</p><p> case 5:function=1;TR0=1;TR1=0;shan=0;break;//輪流循環(huán)</p>
46、<p><b> }}</b></p><p><b> break;</b></p><p> case 2://k2鍵上調(diào)</p><p> {switch(function) </p><p> {case 1:break;</p>
47、<p> case 2:min++;if(min==60)min=0;break;</p><p> case 3:hour++;if(hour==24) hour=0;break;</p><p><b> }}</b></p><p><b> break; </b></p>
48、;<p> case 4: //k3鍵下調(diào)</p><p> {switch(function)</p><p> {case 1:break;</p><p> case 2:min--;if(min==255) min=59;break;</p><p> case 3:hour--
49、;if(hour==255) hour=23;break;</p><p><b> }}</b></p><p><b> break;</b></p><p><b> }}</b></p><p> //*************定時(shí)器0的中斷服務(wù)程序*****
50、************</p><p> void timer0() interrupt 1 using 3</p><p><b> {</b></p><p> TH0=0x3c,TL0=0xb0;</p><p><b> t0++;</b></p><p>
51、 if(t0==1200)</p><p><b> {</b></p><p><b> t0=0;</b></p><p><b> min++;</b></p><p> if(min==60)</p><p><b> {&
52、lt;/b></p><p><b> min=0;</b></p><p><b> hour++;</b></p><p> {if(hour==24)</p><p> hour=0;}}}}</p><p> //*************定時(shí)器
53、1的中數(shù)服務(wù)程序,對(duì)shan取反,以使燈閃爍***************</p><p> void timer1() interrupt 3 using 2</p><p><b> {</b></p><p> TH0=0x3c,TL0=0xb0;</p><p><b> t1++;</b
54、></p><p> if(t1==40)</p><p><b> {</b></p><p><b> t1=0;</b></p><p> shan=~shan;</p><p><b> }}</b></p>&l
55、t;p> uchar keychuli()</p><p> { uchar k; </p><p> k=P1; //P1口內(nèi)容送K</p><p> k=~k; //取反</p>
56、<p> k=(k&0xff); //屏蔽高4位,如果掃描8鍵,屏蔽該句。</p><p> return(k); //返回鍵值</p><p><b> }</b></p><p> //***函數(shù)原型:key();功能:鍵盤(pán)掃描函數(shù),函數(shù)返回值即鍵值。</p&g
57、t;<p> uchar key()</p><p><b> {</b></p><p> uchar keyzhi,keyzhii; //電子鐘鍵盤(pán)按鍵鍵值臨時(shí)存放</p><p> keyzhi=keychuli(); //調(diào)P1口處理函數(shù)</p><p> if(
58、keyzhi!=0) //有鍵動(dòng)作延時(shí)去抖動(dòng),否則函數(shù)返回</p><p><b> {</b></p><p><b> send();</b></p><p> display(a0, a1, a2, a3);</p><p> display(a0, a1, a2, a3);&
59、lt;/p><p> keyzhi=keychuli(); //再次調(diào)P1口處理函數(shù)</p><p> if(keyzhi!=0) //真正有鍵按下,取鍵值并暫存</p><p><b> {</b></p><p> keyzhii=keyzhi;</p><p>
60、 while(keyzhi!=0) //判按鍵是否釋放,沒(méi)有釋放延時(shí)去抖動(dòng)等待釋放</p><p><b> {</b></p><p><b> send();</b></p><p> display(a0, a1, a2, a3);</p><p> display(a0, a1,
61、 a2, a3);</p><p> keyzhi=keychuli();</p><p><b> }</b></p><p> keyzhi=keyzhii; //按鍵釋放后恢復(fù)按鍵鍵值</p><p><b> } } </b></p><p>
62、 return(keyzhi); //返回按鍵鍵值</p><p><b> }</b></p><p> //***************顯示子程序****************************</p><p> void display(uchar a3,uchar a2,uchar a1,uchar a
63、0)</p><p> {P2=table[a3];P1=0x10;delay(1);P2=table[a2];</p><p> P1=0x20;delay(1);P2=table[a1];P1=0x40;</p><p> delay(1);P2=table[a0];P1=0x80;delay(1);</p><p>&l
64、t;b> }</b></p><p> //******************將數(shù)送至緩沖單元,當(dāng)shan的標(biāo)志位為1時(shí),再根據(jù)此時(shí)的此時(shí)的功能標(biāo)示,對(duì)該位熄滅******</p><p> void send()</p><p><b> {</b></p><p> a0=min%10
65、;</p><p> a1=min/10;</p><p> a2=hour%10;</p><p> a3=hour/10;</p><p> if(shan==1)</p><p> {switch(function)</p><p><b> {</b>
66、</p><p> case 2:a0=16,a1=16;break;</p><p> case 3:a2=16,a3=16;break;</p><p><b> }}}</b></p><p> //***********延時(shí)子程序基數(shù)為1毫秒*******************</p>
67、<p> void delay(uint count) </p><p><b> {</b></p><p><b> uint j;</b></p><p> while(count--!=0)</p><p><b> {</b></
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡(jiǎn)易數(shù)字鐘的單片機(jī)課程設(shè)計(jì)
- 簡(jiǎn)易數(shù)字鐘的單片機(jī)課程設(shè)計(jì)1
- 單片機(jī)數(shù)字鐘課程設(shè)計(jì)
- 單片機(jī)數(shù)字鐘課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---數(shù)字鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)數(shù)字鐘
- 單片機(jī)課程設(shè)計(jì)--數(shù)字鐘電子鐘
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)數(shù)字鐘的設(shè)計(jì)
- 基于單片機(jī)的數(shù)字鐘課程設(shè)計(jì)
- 基于單片機(jī)的數(shù)字鐘課程設(shè)計(jì)
- 課程設(shè)計(jì)--單片機(jī)控制的數(shù)字鐘
- 單片機(jī)課程設(shè)計(jì)數(shù)字鐘報(bào)告
- 單片機(jī)課程設(shè)計(jì)報(bào)告-數(shù)字鐘的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--智能電子數(shù)字鐘設(shè)計(jì)
- 課程設(shè)計(jì)---基于單片機(jī)的數(shù)字鐘的設(shè)計(jì)
- 單片機(jī)數(shù)字鐘畢業(yè)設(shè)計(jì)---單片機(jī)設(shè)計(jì)數(shù)字鐘
- 單片機(jī)多功能電子數(shù)字鐘課程設(shè)計(jì)報(bào)告
- 單片機(jī)課程設(shè)計(jì)報(bào)告-數(shù)字鐘的設(shè)計(jì)與實(shí)現(xiàn)
- 單片機(jī)的數(shù)字鐘設(shè)計(jì)
- 江蘇大學(xué)單片機(jī)課程設(shè)計(jì)-多功能數(shù)字鐘的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論