2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  單片機(jī)原理課程設(shè)計(jì)任務(wù)書(shū)</p><p><b>  電子秒表的設(shè)計(jì)</b></p><p><b>  一、設(shè)計(jì)要求</b></p><p>  設(shè)計(jì)一個(gè)電子秒表,與通用秒表功能類(lèi)似,有啟動(dòng),暫停、復(fù)位等鍵。計(jì)時(shí)長(zhǎng)長(zhǎng)度為300秒,需顯示百分秒。</p><p><b&g

2、t;  設(shè)計(jì)方案分析</b></p><p><b>  1.方案設(shè)計(jì)</b></p><p>  數(shù)字電子秒表具有顯示直觀、讀取方便、精度高等優(yōu)點(diǎn),在計(jì)時(shí)中廣泛使用。本設(shè)計(jì)用單片機(jī)組成數(shù)字電子秒表,力求結(jié)構(gòu)簡(jiǎn)單、精度高為目標(biāo)。</p><p>  本系統(tǒng)采用C51系列單片機(jī)為中心器件,利用其定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合硬件

3、電路如電源電路,晶振電路,復(fù)位電路,顯示電路,以及一些按鍵電路等來(lái)設(shè)計(jì)計(jì)時(shí)器,將軟、硬件有機(jī)地結(jié)合起來(lái)。其中軟件系統(tǒng)采用匯編語(yǔ)言編寫(xiě)程序,硬件系統(tǒng)利用PROTEUS強(qiáng)大的功能來(lái)實(shí)現(xiàn),簡(jiǎn)單切易于觀察,在仿真中就可以觀察到實(shí)際的工作狀態(tài)。</p><p>  本設(shè)計(jì)利用STC89C52單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和計(jì)數(shù)的原理,使其能精確計(jì)時(shí)。利用中斷系統(tǒng)使其能實(shí)現(xiàn)開(kāi)始暫停的功能。根據(jù)要求知道秒表設(shè)計(jì)主要實(shí)現(xiàn)的功能是計(jì)時(shí)

4、和顯示。因此設(shè)置了兩個(gè)按鍵和LCD顯示時(shí)間,兩個(gè)按鍵分別是開(kāi)始、停止和復(fù)位按鍵。利用這兩個(gè)建來(lái)實(shí)現(xiàn)秒表的全部功能,而LCD則能顯示最多4.59.99秒的計(jì)時(shí)。電路原理圖設(shè)計(jì)最基本的要求是正確性,其次是布局合理,最后在正確性和布局合理的前提下力求美觀。硬件電路圖按照?qǐng)D1.1進(jìn)行設(shè)計(jì)。</p><p>  圖1.1 數(shù)字秒表硬件電路基本原理圖</p><p>  本設(shè)計(jì)中,數(shù)碼管顯示的數(shù)據(jù)存放

5、在內(nèi)存單元31H-33H中。其中31H存放分鐘變量,32H存放秒鐘變量,33H存放10ms計(jì)數(shù)值,即存放毫秒位數(shù)據(jù),每一地址單元內(nèi)均為十進(jìn)制BCD碼。由于采用軟件動(dòng)態(tài)掃描實(shí)現(xiàn)數(shù)據(jù)顯示功能,顯示用十進(jìn)制BCD碼數(shù)據(jù)的對(duì)應(yīng)段碼存放在ROM表中。顯示時(shí),先取出31H-33H某一地址中的數(shù)據(jù),然后查得對(duì)應(yīng)的顯示位,并從P1口輸出,就能顯示該地址單元的數(shù)據(jù)值。</p><p>  計(jì)時(shí)通過(guò)中斷完成,定時(shí)溢出中斷周期為1ms

6、,當(dāng)一處中斷后向CPU發(fā)出溢出中斷請(qǐng)求,每發(fā)出一次中斷請(qǐng)求就對(duì)毫秒計(jì)數(shù)單元進(jìn)行加一,達(dá)到10次就對(duì)十毫秒位進(jìn)行加一,依次類(lèi)推,直到4.59.99秒重新復(fù)位。 </p><p>  再看按鍵的處理。這兩個(gè)鍵可以采用中斷的方法,也可以采用掃描的方法來(lái)識(shí)別。復(fù)位鍵主要功能在于數(shù)值復(fù)位,對(duì)于時(shí)間的要求不是很?chē)?yán)格。而開(kāi)始和停止鍵則是用于對(duì)時(shí)間的鎖定,需要比較準(zhǔn)確的控制。因此可以對(duì)復(fù)位按鍵采取掃描的方式。而對(duì)開(kāi)始和停止鍵采用

7、外部中斷的方式。</p><p>  設(shè)計(jì)中包括硬件電路的設(shè)計(jì)和系統(tǒng)程序的設(shè)計(jì)。其硬件電路主要有主控制器,顯示電路和回零、啟動(dòng)、查看、停表電路等。主控制器采用單片機(jī)STC89C52,顯示電路采用LCD顯示計(jì)時(shí)時(shí)間,兩個(gè)按鍵均采用觸點(diǎn)式按鍵。 </p><p><b>  2.背景知識(shí)介紹</b></p><p>  2.1 單片機(jī)相關(guān)知識(shí)<

8、;/p><p>  本課題在選取單片機(jī)時(shí),充分借鑒了許多成形產(chǎn)品使用單片機(jī)的經(jīng)驗(yàn),并根據(jù)自己的實(shí)際情況,  選擇了STC89S51。</p><p>  STC89C52單片機(jī)采用40引腳的雙列直插封裝方式。圖1.2為引腳排列圖, 40條引腳說(shuō)明如下:</p><p>  主電源引腳Vss和Vcc</p><p><b>  

9、① Vss接地</b></p><p>  ② Vcc正常操作時(shí)為+5伏電源</p><p>  外接晶振引腳XTAL1和XTAL2</p><p> ?、?XTAL1內(nèi)部振蕩電路反相放大器的輸入端,是外接晶體的一個(gè)引腳。當(dāng)采用外部振蕩器時(shí),此引腳接地。 </p><p> ?、?XTAL2內(nèi)部振蕩電路反相放大器的輸

10、出端。是外接晶體的另一端。當(dāng)采用外部振蕩器時(shí),此引腳接外部振蕩源。</p><p>  圖1.2 STC89C52單片機(jī)引腳圖</p><p>  控制或與其它電源復(fù)用引腳RST/VPD,ALE/,和/Vpp</p><p> ?、?RST/VPD 當(dāng)振蕩器運(yùn)行時(shí),在此引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平(由低到高跳變),將使單片機(jī)復(fù)位在Vcc掉電期間,此引腳可

11、接上備用電源,由VPD向內(nèi)部提供備用電源,以保持內(nèi)部RAM中的數(shù)據(jù)。</p><p> ?、?ALE/正常操作時(shí)為ALE功能(允許地址鎖存)提供把地址的低字節(jié)鎖存到外部鎖存器,ALE 引腳以不變的頻率(振蕩器頻率的1/6)周期性地發(fā)出正脈沖信號(hào)。因此,它可用作對(duì)外輸出的時(shí)鐘,或用于定時(shí)目的。但要注意,每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖,ALE 端可以驅(qū)動(dòng)(吸收或輸出電流)八個(gè)LSTTL電路。對(duì)于EP

12、ROM型單片機(jī),在EPROM編程期間,此引腳接收編程脈沖(功能)</p><p>  ③ 外部程序存儲(chǔ)器讀選通信號(hào)輸出端,在從外部程序存儲(chǔ)取指令(或數(shù)據(jù))期間,在每個(gè)機(jī)器周期內(nèi)兩次有效。同樣可以驅(qū)動(dòng)八LSTTL輸入。</p><p> ?、?/Vpp、/Vpp為內(nèi)部程序存儲(chǔ)器和外部程序存儲(chǔ)器選擇端。當(dāng)/Vpp為高電平時(shí),訪問(wèn)內(nèi)部程序存儲(chǔ)器,當(dāng)/Vpp為低電平時(shí),則訪問(wèn)外部程序存儲(chǔ)器。對(duì)

13、于EPROM型單片機(jī),在EPROM編程期間,此引腳上加21伏EPROM編程電源(Vpp)。</p><p>  輸入/輸出引腳P0.0 - P0.7,P1.0 - P1.7,P2.0 - P2.7,P3.0 - P3.7。</p><p> ?、?P0口(P0.0 - P0.7)是一個(gè)8位漏極開(kāi)路型雙向I/O口,在訪問(wèn)外部存儲(chǔ)器時(shí),它是分時(shí)傳送的低字節(jié)地址和數(shù)據(jù)總線(xiàn),P0口能以吸收電流的

14、方式驅(qū)動(dòng)八個(gè)LSTTL負(fù)載。</p><p> ?、?P1口(P1.0 - P1.7)是一個(gè)帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。能驅(qū)動(dòng)(吸收或輸出電流)四個(gè)LSTTL負(fù)載。</p><p> ?、?P2口(P2.0 - P2.7)是一個(gè)帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口,在訪問(wèn)外部存儲(chǔ)器時(shí),它輸出高8位地址。P2口可以驅(qū)動(dòng)(吸收或輸出電流)四個(gè)LSTTL負(fù)載。</p>

15、<p>  ④ P3口(P3.0 - P3.7)是一個(gè)帶有內(nèi)部提升電阻的8位準(zhǔn)雙向I/O口。能驅(qū)動(dòng)(吸收或輸出電流)四個(gè)LSTTL負(fù)載。</p><p>  AT89C52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O口線(xiàn),看門(mén)狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89C52可降至0Hz 靜態(tài)邏輯

16、操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。CPU是單片機(jī)的核心部件。它由運(yùn)算器和控制器等部件組成。</p><p><b>  (1) 運(yùn)算器</b></p><p>  運(yùn)算器的功能是進(jìn)行算術(shù)運(yùn)算和邏輯

17、運(yùn)算。可以對(duì)半字節(jié)(4位)、單字節(jié)等數(shù)據(jù)進(jìn)行操作。例如能完成加、減、乘、除、加1、減1、BCD碼十進(jìn)制調(diào)整、比較等算術(shù)運(yùn)算和與、或、異或、求補(bǔ)、循環(huán)等邏輯操作,操作結(jié)果的狀態(tài)信息送至狀態(tài)寄存器。</p><p>  89C52運(yùn)算器還包含有一個(gè)布爾處理器,用來(lái)處理位操作。它是以進(jìn)位標(biāo)志位C為累加器的,可執(zhí)行置位、復(fù)位、取反、等于1轉(zhuǎn)移、等于0轉(zhuǎn)移、等于1轉(zhuǎn)移且清0以及進(jìn)位標(biāo)志位與其他可尋址的位之間進(jìn)行數(shù)據(jù)傳送等位

18、操作,也能使進(jìn)位標(biāo)志位與其他可移位尋址的位之間進(jìn)行邏輯與、或操作。</p><p> ?。?) 程序計(jì)數(shù)器PC</p><p>  程序計(jì)數(shù)器PC用來(lái)存放即將要執(zhí)行的指令地址,共16位,可對(duì)64K程序存儲(chǔ)器直接尋址。執(zhí)行指令時(shí),PC內(nèi)容的低8位經(jīng)P0口輸出,高8位經(jīng)P2口輸出。</p><p><b> ?。?) 令寄存器</b></p&

19、gt;<p>  指令寄存器中存放指令代碼。CPU執(zhí)行指令時(shí),由程序存儲(chǔ)器中讀取的指令代碼送入指令寄存器,經(jīng)譯碼后由定時(shí)與控制電路發(fā)出相應(yīng)的控制信號(hào),完成指令功能。</p><p>  本設(shè)計(jì)采用ATMEL的AT89C52微處理器,主要基于以下幾個(gè)因素:</p><p> ?、?AT89C52為51內(nèi)核,仿真調(diào)試的軟硬件資源豐富。</p><p> 

20、?、?性?xún)r(jià)比高,貨源充足。</p><p> ?、?功耗低,功能強(qiáng),靈活性高。</p><p> ?、?DIP40封裝,體積小,便于產(chǎn)品小型化。</p><p>  ⑤ 為EEPROM程序存儲(chǔ)介質(zhì),1000次以上擦寫(xiě)周期,便于編程調(diào)試。</p><p> ?、?工作電壓范圍寬:2.7V-6V,便于交直流供電。</p>

21、<p>  2.2 TC1602</p><p>  LCD 的構(gòu)造是在兩片平行的玻璃當(dāng)中放置液態(tài)的晶體,兩片玻璃中間有許多垂直和水平的細(xì)小電線(xiàn),透過(guò)通電與否來(lái)控制桿狀水晶分子改變方向,將光線(xiàn)折射出來(lái)產(chǎn)生畫(huà)面。比CRT要好的多,但是價(jià)錢(qián)較其貴。</p><p><b>  1)LCD的特點(diǎn)</b></p><p><b>

22、  低壓微功耗 </b></p><p><b>  平板型結(jié)構(gòu) </b></p><p>  被動(dòng)顯示型(無(wú)眩光,不刺激人眼,不會(huì)引起眼睛疲勞) </p><p>  顯示信息量大(因?yàn)橄袼乜梢宰龅煤苄? </p><p>  易于彩色化(在色譜上可以非常準(zhǔn)確的復(fù)現(xiàn)) </p><p&g

23、t;  無(wú)電磁輻射(對(duì)人體安全,利于信息保密) </p><p>  長(zhǎng)壽命(這種器件幾乎沒(méi)有什么劣化問(wèn)題,因此壽命極長(zhǎng),但是液晶背光壽命有限,不過(guò)背光部分可以更換)</p><p><b>  1602的管腳功能</b></p><p><b>  三、硬件設(shè)計(jì)</b></p><p>  本系統(tǒng)

24、中,硬件電路主要有電源電路,晶振電路,復(fù)位電路,顯示電路,以及一些按鍵電路等。</p><p><b>  1.單片機(jī)簡(jiǎn)介</b></p><p>  本系統(tǒng)設(shè)計(jì)采用C51系列單片機(jī)。</p><p>  ST89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能CMOS8位微處理器。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)

25、制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容(由于在微機(jī)原理中學(xué)過(guò)C-51的具體知識(shí),這里不再詳細(xì)說(shuō)明)。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ST89C51是一種高效的微控制器。</p><p><b>  2.電源電路</b></p><p>  電源電路是系統(tǒng)最基本的部分,任何電路都離不開(kāi)電源部分,由于三端集成穩(wěn)壓器件所組成的穩(wěn)壓電源線(xiàn)路簡(jiǎn)

26、單,性能穩(wěn)定,工作可靠,調(diào)整方便,已逐漸取代分立元件,在生產(chǎn)中被廣泛采用,由于是小系統(tǒng),我們采用7809電源提供+5V穩(wěn)壓電壓。</p><p><b>  3.晶體振蕩電路</b></p><p>  MCS--51單片機(jī)內(nèi)部的振蕩電路是一個(gè)高增益反相放大器,引線(xiàn) XTAL1和XTAL2分別為反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入和來(lái)自反向振蕩器的輸出,該反向

27、放大器可以配置為片內(nèi)振蕩器。</p><p>  這里,我們選用51單片機(jī)12MHZ的內(nèi)部振蕩方式,電路如下:電容器C1,C2起穩(wěn)定振蕩頻率,快速起振的作用,C1和C2可在20-100PF之間取,這里取30P,接線(xiàn)時(shí)要使晶體振蕩器X1盡可能接近單片機(jī)。</p><p><b>  圖2 晶體振蕩電路</b></p><p><b> 

28、 4.復(fù)位電路</b></p><p>  采用上電+按鍵復(fù)位電路,上電后,由于電容充電,使RST持續(xù)一段高電平時(shí)間。當(dāng)單片機(jī)已在運(yùn)行之中時(shí),按下復(fù)位鍵也能使用使RST持續(xù)一段時(shí)間的高電平,從而實(shí)現(xiàn)上電加開(kāi)關(guān)復(fù)位的操作。這不僅能使單片機(jī)復(fù)位,而且還能使</p><p>  單片機(jī)的外圍芯片也同時(shí)復(fù)位。當(dāng)程序出現(xiàn)錯(cuò)誤時(shí),可以隨時(shí)使電路復(fù)位。</p><p>

29、;<b>  電路圖如下:</b></p><p><b>  圖3 復(fù)位電路</b></p><p><b>  5.顯示電路</b></p><p>  顯示電路既可以選用液晶顯示器,也可以選用數(shù)碼管顯示。我們采用的是數(shù)碼管顯示電路。用2個(gè)共陽(yáng)極LED顯示,LED是七段式顯示器,內(nèi)部有7個(gè)條形發(fā)光

30、二極管和1個(gè)小圓點(diǎn)發(fā)光二極管組成,根據(jù)各管的亮暗組合成字符。</p><p>  在用數(shù)碼管顯示時(shí),我們有靜態(tài)和動(dòng)態(tài)兩種選擇,靜態(tài)顯示程序簡(jiǎn)單,顯示穩(wěn)定,但是占用端口比較多;動(dòng)態(tài)顯示所使用的端口比較少,可以節(jié)省單片機(jī)的I/O口。</p><p>  在設(shè)計(jì)中,我們采用LED動(dòng)態(tài)顯示,用P0口驅(qū)動(dòng)顯示。由于P0口的輸出級(jí)是開(kāi)漏電路,用它驅(qū)動(dòng)時(shí)需要外接上拉電阻才能輸出高電平。</p>

31、;<p><b>  電路圖如下所示:</b></p><p><b>  圖4 顯示電路</b></p><p><b>  6.鍵盤(pán)電路</b></p><p>  在按鍵電路中,我們可以在I/O口上直接接按鍵,或者通過(guò)I/O口設(shè)計(jì)一個(gè)鍵盤(pán),然后通過(guò)鍵盤(pán)掃描程序判斷是否有鍵按下等。鍵

32、盤(pán)掃描電路節(jié)省I/O口,但編程有些復(fù)雜,在這里,由于我們所用的按鍵較少,且系統(tǒng)是一個(gè)小系統(tǒng),有足夠的I/O口可以使用,為了使程序簡(jiǎn)化,我們采用按鍵電路,用部分P3口做開(kāi)關(guān),P3.3為開(kāi)始停止,P3.4為清零,用外部中斷INT1開(kāi)始,另外用軟件法消除抖動(dòng)。電路圖如下所示:</p><p><b>  圖5 鍵盤(pán)電路</b></p><p><b>  硬件主電

33、路圖設(shè)計(jì)</b></p><p>  用pretues畫(huà)出其硬件主電路圖如下:</p><p><b>  軟件設(shè)計(jì)</b></p><p><b>  4.1軟件設(shè)計(jì)概述</b></p><p>  在軟件設(shè)計(jì)中,一般采用模塊化的程序設(shè)計(jì)方法,它具有明顯的優(yōu)點(diǎn)。把一個(gè)多功能的復(fù)雜的程序

34、劃分為若干個(gè)簡(jiǎn)單的、功能單一的程序模塊,有利于程序的設(shè)計(jì)和調(diào)試,有利于程序的優(yōu)化和分工,提高了程序的閱讀性和可靠性,使程序的結(jié)構(gòu)層次一目了然。</p><p>  應(yīng)用系統(tǒng)的程序由包含多個(gè)模塊的主程序和各種子程序組成。各程序模塊都要完成一個(gè)明確的任務(wù),實(shí)現(xiàn)某個(gè)具體的功能,在具體需要時(shí)調(diào)用相應(yīng)的模塊即可。</p><p>  功能描述:用LCD1602液晶顯示"秒表",顯

35、示時(shí)間為0.00.00—4.59.99秒,每秒自動(dòng)加1;一個(gè)"開(kāi)始""暫停"鍵,一個(gè)"清零"鍵。</p><p><b>  4.2主程序流程圖</b></p><p>  這里采用順序結(jié)構(gòu),通過(guò)對(duì)按鍵的掃描,判斷要實(shí)現(xiàn)什么功能。如下所示:</p><p><b>  測(cè)試數(shù)

36、據(jù)及設(shè)計(jì)結(jié)果</b></p><p>  1、按下INT1管腳的開(kāi)關(guān)時(shí),顯示數(shù)據(jù),如下圖所示</p><p>  2、按下T0管腳的開(kāi)關(guān)時(shí),數(shù)據(jù)清零,如下圖所示</p><p>  六、調(diào)試中出現(xiàn)的錯(cuò)誤及解決方法</p><p>  實(shí)驗(yàn)中遇到的問(wèn)題及解決方法</p><p>  問(wèn)題:LCD顯示模糊<

37、;/p><p>  原因:VEE接高電平,LCD的對(duì)比度太低,從而無(wú)法正常顯示數(shù)據(jù)。</p><p>  解決方法:將VEE接地,提高了LCD的對(duì)比度,數(shù)據(jù)顯示清晰。</p><p><b>  (2)實(shí)驗(yàn)心得</b></p><p><b> ?、賆XX</b></p><p>

38、;  接到題目時(shí),發(fā)現(xiàn)是關(guān)于電子秒表的設(shè)計(jì),先在網(wǎng)上查閱了一些有關(guān)電子秒表設(shè)計(jì)的材料,熟悉了設(shè)計(jì)思想與工作原理,并且具體的分析了單片機(jī)、數(shù)碼管顯示器的工作過(guò)程,從理論上分析了該工作過(guò)程。</p><p>  在理解了該系統(tǒng)的工作原理并完成電路圖的設(shè)計(jì)與仿真后,開(kāi)始焊接電路板,在焊接時(shí)通過(guò)查閱,熟悉了各個(gè)管角的焊接原則,在焊接過(guò)程中,考慮到數(shù)碼管布線(xiàn)相對(duì)較多,所以換用作LCD,焊接相對(duì)簡(jiǎn)單。</p>

39、<p>  電路板焊接完成后,將程序考入單片機(jī)后開(kāi)始測(cè)試,剛開(kāi)始時(shí)LCD顯示器無(wú)數(shù)據(jù)顯示,經(jīng)過(guò)對(duì)電路板各模塊的重新測(cè)試,發(fā)現(xiàn)并無(wú)問(wèn)題,經(jīng)過(guò)和同學(xué)的探討,發(fā)現(xiàn)LCD的VEE管腳接高電平時(shí),因?qū)Ρ榷鹊?,?dǎo)致LCD無(wú)數(shù)據(jù)顯示;而當(dāng)VEE接低電平時(shí),因?qū)Ρ榷雀撸琇CD正常顯示。</p><p>  通過(guò)此次課程設(shè)計(jì),熟悉了電子秒表的設(shè)計(jì)思想,在實(shí)踐中測(cè)試電路、分析數(shù)據(jù)、排除故障,最終實(shí)現(xiàn)了設(shè)計(jì)要求。雖然這次課程

40、設(shè)計(jì)相對(duì)簡(jiǎn)單,但并未一次性成功,所以同樣需要嚴(yán)謹(jǐn)?shù)膽B(tài)度。在整個(gè)過(guò)程中不但增強(qiáng)了自己的學(xué)習(xí)能力,還提高了自己的團(tuán)隊(duì)合作能力,這些能力在以后的工作中是很重要的!</p><p><b> ?、赬XX</b></p><p>  上周三開(kāi)始焊接設(shè)計(jì)好久的電路板,到今天基本已經(jīng)完成了主要的焊接,初步總結(jié)一下這幾天的心得。</p><p>  1. 焊接

41、cup時(shí),首先要檢查cpu的各個(gè)管腳,保證沒(méi)有彎曲或者錯(cuò)位,不然焊上去之后就比較難搞了。然后將CUP各個(gè)管腳跟pcb板上的焊盤(pán)仔細(xì)的對(duì)齊(一定要保證順序,cup右上角O標(biāo)記順時(shí)針?lè)较虻牡谝粋€(gè)管腳為1),然后用電烙鐵輕輕燙一下管腳,由于CPU管腳和焊盤(pán)上均有少量的殘錫,可以將CPU固定住,然后用電烙鐵依次將管腳壓平。接下來(lái)最關(guān)鍵的步驟:補(bǔ)錫。先在cup管腳的一端點(diǎn)少量焊錫,然后將一排管腳涂滿(mǎn)松香,快速而緩慢的劃過(guò)管腳......</

42、p><p>  2. 焊接電路要有分塊化的思想,首先焊接電源模塊,然后測(cè)試各個(gè)供電電壓;然后焊接CPu模塊,最后成功后焊接引出的管腳。</p><p>  3. 晶振(Crystal)即為石英振蕩器,是一種機(jī)電器件,是用電損耗很小的石英晶體經(jīng)精密切割磨削并鍍上電極焊上引線(xiàn)做成。這種晶體有一個(gè)很重要的特性,如果給他通電,他就會(huì)產(chǎn)生機(jī)械振蕩,反之,如果給他機(jī)械力,他又會(huì)產(chǎn)生電,這種特性叫機(jī)電效應(yīng)。

43、他們有一個(gè)很重要的特點(diǎn),其振蕩頻率與他們的形狀,材料,切割方向等密切相關(guān)。由于石英晶體化學(xué)性能非常穩(wěn)定,熱膨脹系數(shù)非常小,其振蕩頻率也非常穩(wěn)定,由于控制幾何尺寸可以做到很精密,因此,其諧振頻率也很準(zhǔn)確。根據(jù)石英晶體的機(jī)電效應(yīng),我們可以把它等效為一個(gè)電磁振蕩回路,即諧振回路。他們的機(jī)電效應(yīng)是機(jī)-電-機(jī)-電....的不斷轉(zhuǎn)換,由電感和電容組成的諧振回路是電場(chǎng)-磁場(chǎng)的不斷轉(zhuǎn)換。在電路中的應(yīng)用實(shí)際上是把它當(dāng)作一個(gè)高Q值的電磁諧振回路。由于石英晶

44、體的損耗非常小,即Q 值非常高,做振蕩器用時(shí),可以產(chǎn)生非常穩(wěn)定的振蕩,作濾波器用,可以獲得非常穩(wěn)定和陡削的帶通或帶阻曲線(xiàn)。</p><p>  總體來(lái)說(shuō),這次的電路焊接還是比較順利的。因?yàn)樵O(shè)計(jì)圖設(shè)計(jì)的很好,所以在焊接結(jié)束后,板子的功能也全都如愿的順利實(shí)現(xiàn)了。</p><p><b> ?、踃XX</b></p><p>  這學(xué)期的課程設(shè)計(jì),是

45、利用單片機(jī)設(shè)計(jì)一些簡(jiǎn)單控制系統(tǒng)的相關(guān)實(shí)驗(yàn),每個(gè)班有四個(gè)題目,我們分到的題目是:利用STC89C52單片機(jī)設(shè)計(jì)電子秒表,通過(guò)LCD顯示器顯示百、分、秒,通過(guò)按鍵實(shí)現(xiàn)計(jì)時(shí)、暫停、清零等功能,并且最大計(jì)時(shí)時(shí)間為300秒(即計(jì)時(shí)范圍為0.00.00-4.59.99)。</p><p>  剛剛拿到題目時(shí),就聽(tīng)周?chē)耐瑢W(xué)說(shuō),這次課設(shè)我們的“電子秒表”是最簡(jiǎn)單,課程設(shè)計(jì)的第一天老師就要求每個(gè)組必須選一位組長(zhǎng),并且每組組員必須

46、分工合作,我有幸被選為組長(zhǎng)。老師講完后,我就針對(duì)每位組員的具體情況進(jìn)行工作分配,我負(fù)責(zé)查資料和電路的設(shè)計(jì)及部分編程、張雪珍同學(xué)負(fù)責(zé)編程、張辛超同學(xué)負(fù)責(zé)焊電路板、夏沅睿同學(xué)負(fù)責(zé)寫(xiě)實(shí)驗(yàn)報(bào)告,大家分頭行動(dòng),氣樂(lè)融融。</p><p>  在電路設(shè)計(jì)初期,我對(duì)于如何設(shè)計(jì)“電子秒表”有點(diǎn)困惑,不了解百分秒的意思,為了讓自己心里有個(gè)底,我先在圖書(shū)館找了相關(guān)書(shū)籍,并且在網(wǎng)上查了一些“秒表”的制作實(shí)例,在資料查詢(xún)、分析并請(qǐng)教同學(xué)

47、后,我發(fā)現(xiàn)直接用STC89C52和液晶顯示屏1602設(shè)計(jì)最簡(jiǎn)單。</p><p>  確定了用什么器件后,我查了STC89C52的相關(guān)知識(shí),它們的引腳圖和各引腳的功能,以及其相關(guān)控制字,尤其是LCD1602的控制字及其初始化和顯示編程。查清楚了個(gè)器件的功能后,我開(kāi)始設(shè)計(jì)電路圖。電路很簡(jiǎn)單,最難的是軟件編程部分。硬件焊接方面,我們組的張辛超同學(xué)當(dāng)仁不讓?zhuān)医o他說(shuō)了我的想法后,他稱(chēng)焊接沒(méi)問(wèn)題,而且通過(guò)以前的課程設(shè)計(jì)我

48、也見(jiàn)識(shí)過(guò)他的焊功,對(duì)他的硬件焊接很有信心。這個(gè)問(wèn)題解決了,在數(shù)字的顯示方面遇到點(diǎn)麻煩,老師要求我們用LED顯示,但要按老師要求的去做,完全顯示就要接5個(gè)數(shù)碼管,這根本在PCD板上會(huì)很難焊,后來(lái)結(jié)合實(shí)際情況,我們借了一個(gè)LCD液晶顯示屏,用個(gè)底座就完全OK了。這樣不僅硬件焊接簡(jiǎn)單,對(duì)于編程也簡(jiǎn)單了許多。</p><p>  硬件電路設(shè)計(jì)好了,開(kāi)始軟件編程和仿真,軟件仿真我是在Proteus軟件上仿真的。由于我們的編

49、程能力不是很強(qiáng),我和組員張雪珍一起研究程序,遇到不懂、不會(huì)的地方就查閱資料,或者請(qǐng)教其他編程能力比較強(qiáng)的同學(xué),經(jīng)過(guò)三天的編程調(diào)試,最終在周四我們的電路和程序完全沒(méi)問(wèn)題,電路也就確定了。</p><p>  周三我和組員張辛超在實(shí)驗(yàn)室焊接電路。他焊接電路,我在旁邊訂正,由于電路比簡(jiǎn)單,經(jīng)過(guò)近三個(gè)小時(shí)的“奮戰(zhàn)”終于焊接完工,焊接過(guò)程中我、也充分見(jiàn)識(shí)到了張辛超同學(xué)的焊接功底。</p><p> 

50、 焊接完成,周四開(kāi)始調(diào)試,給89C51燒進(jìn)程序,將芯片全部裝好,接通電源發(fā)現(xiàn)LCD上什么都不顯示,我仔細(xì)檢查才發(fā)現(xiàn)LCD的第3管腳接高電平了,這導(dǎo)致LCD的對(duì)比度太低,無(wú)法正常數(shù)字,經(jīng)更正后顯示完全正常,正式請(qǐng)老師驗(yàn)收、答辯。</p><p>  通過(guò)這次課程設(shè)計(jì)使我懂得,腳踏實(shí)地,認(rèn)真嚴(yán)謹(jǐn),實(shí)事求是的學(xué)習(xí)態(tài)度,不怕困難、堅(jiān)持不懈、吃苦耐勞的精神是我在這次設(shè)計(jì)中最大的收益。我想這是一次意志的磨練,是對(duì)我實(shí)際能力的

51、一次提升,也會(huì)對(duì)我未來(lái)的學(xué)習(xí)和工作有很大的幫助。在這次課程設(shè)計(jì)中也使我和同學(xué)關(guān)系更進(jìn)一步了,同學(xué)之間互相幫助,有什么不懂的大家在一起商量,聽(tīng)聽(tīng)不同的看法對(duì)我們更好的理解知識(shí)。</p><p>  通過(guò)這次課設(shè)更大程度上鍛煉了我的團(tuán)隊(duì)合作精神和領(lǐng)導(dǎo)能力。對(duì)我以后的學(xué)習(xí)生活有很大的幫助,它使我相信了“人的潛力是無(wú)限的”這句話(huà),也使我懂得:只要用心,一定會(huì)發(fā)現(xiàn)每個(gè)人身上都有閃光點(diǎn),只要正確運(yùn)用,對(duì)別人可以增強(qiáng)他們的自信

52、心,對(duì)自己會(huì)快速正確的完成任務(wù)。總之,對(duì)他人和自己都有莫大的幫助。</p><p><b> ?、躕XX:</b></p><p>  這次課程設(shè)計(jì)我們組的題目是設(shè)計(jì)一個(gè)電子秒表,有啟動(dòng),暫停、復(fù)位等鍵。計(jì)時(shí)最長(zhǎng)長(zhǎng)度為300秒,需顯示百分秒。據(jù)說(shuō)是相對(duì)簡(jiǎn)單的題目。</p><p>  分好組后我們每人都有分工,我的主要任務(wù)就是完成課程設(shè)計(jì)報(bào)告,

53、基本算是后期工作,所以剛開(kāi)始我們一起查資料討論方案。在設(shè)計(jì)電路初期,由于我們沒(méi)有設(shè)計(jì)經(jīng)驗(yàn),通過(guò)查閱一些資料,我們的設(shè)計(jì)漸漸有了頭緒,基本確立設(shè)計(jì)方案和流程圖。就是LED顯示屏驅(qū)動(dòng)電路的設(shè)計(jì)是個(gè)比較頭疼的問(wèn)題,接線(xiàn)非常復(fù)雜, 焊電路板就會(huì)比較麻煩。后來(lái)實(shí)驗(yàn)室提供LCD液晶顯示屏,就好辦了許多,解決了這個(gè)問(wèn)題。我們很快確定了電路以及需要的器件,然后就是編程和仿真,開(kāi)始時(shí)也遇到了很多的問(wèn)題,經(jīng)過(guò)靜下心來(lái)思考,和同學(xué)討論,理清了思路,慢慢修改,

54、終于仿真成功了。</p><p>  布線(xiàn)時(shí),對(duì)電路的設(shè)計(jì)、布局要先有一個(gè)好的構(gòu)思,才顯得電路板美觀、大方,在張辛超同學(xué)的努力下,做得還挺工整。電路板焊好后,檢查了沒(méi)有錯(cuò)誤,將程序考入單片機(jī)后開(kāi)始測(cè)試,剛開(kāi)始時(shí)LCD顯示器無(wú)數(shù)據(jù)顯示,經(jīng)過(guò)對(duì)電路板各模塊的重新測(cè)試,發(fā)現(xiàn)并無(wú)問(wèn)題,向別的同學(xué)請(qǐng)教,發(fā)現(xiàn)LCD的VEE管腳接高電平時(shí),因?qū)Ρ榷鹊?,?dǎo)致LCD無(wú)數(shù)據(jù)顯示;而當(dāng)VEE接低電平時(shí),因?qū)Ρ榷雀?,LCD可以清晰顯示。

55、</p><p>  通過(guò)這次設(shè)計(jì),我學(xué)到了很多知識(shí),將學(xué)習(xí)的理論知識(shí)通過(guò)實(shí)驗(yàn)融會(huì)貫通,讓我對(duì)它的理解更加深刻。由于這次課程設(shè)計(jì)不僅設(shè)計(jì)編程方面的知識(shí),還涉及了其它學(xué)科的知識(shí),例如PROTEUS等的基本知識(shí)。總之,通過(guò)這次課程設(shè)計(jì),不僅加深了我對(duì)單片機(jī)理論方面的理解,將理論更好的運(yùn)用的實(shí)踐方面,而且鍛煉了我們各方面的能力,培養(yǎng)了堅(jiān)強(qiáng)的毅力和做事的耐心和細(xì)心,同時(shí)也認(rèn)識(shí)到在團(tuán)隊(duì)工作中需要有合作精神,我想這會(huì)為今后自

56、己踏上工作崗位、更好地融入新的團(tuán)隊(duì)打下良好的基礎(chǔ)。</p><p><b>  附錄:(程序)</b></p><p>  ; 定義計(jì)時(shí)單元地址</p><p>  MIN EQU 31H ;存放分鐘變量</p><p>  SEC EQU 32H ;存放秒鐘變量<

57、;/p><p>  DEDA EQU 33H ;存放10ms計(jì)數(shù)值 </p><p><b>  ; 按鍵端口狀況值</b></p><p>  K1_N EQU 34H ;存放按鍵當(dāng)前端口狀況值</p><p>  K1_P EQU 35H ;

58、存放按鍵上次端口狀況值</p><p>  K1_C EQU 37H ;存放按鍵計(jì)數(shù)單元 </p><p>  X EQU 36H ;LCD 地址變量 </p><p><b>  ; 按鍵引腳定義</b></p><p> 

59、 K1 EQU P3.3 ;按鍵1引腳定義</p><p>  K2 EQU P3.4 ;按鍵2引腳定義</p><p><b>  ;LCD 引腳定義</b></p><p>  RS EQU P3.5 ;LCD RS引腳定義</p><p>

60、;  RW EQU P3.6 ;LCD RW引腳定義</p><p>  E EQU P3.7 ;LCD RS引腳定義 </p><p>  ORG 0000H ;程序由地址0開(kāi)始執(zhí)行</p><p>  JMP MAIN</p><p>

61、  ORG 0BH ;定時(shí)器0中斷地址設(shè)置</p><p>  JMP T0_INT</p><p>  ;――――――――――――― 主程序 ――――――――――――――</p><p>  MAIN: ;開(kāi)始</p><p>  MOV SP,#60H

62、 ;堆棧指針指向60H </p><p>  CLR E ;E=0,禁止讀/寫(xiě)LCD</p><p>  ACALL SET_LCD ;調(diào)LCD控制子程序</p><p>  ACALL INIT ;初始化變量</p><p>  

63、MOV K1_P,#01H ;按鍵上次端口設(shè)置1</p><p>  ACALL INIT_TIMER ;調(diào)用初始化定時(shí)器</p><p>  ACALL MEU ;調(diào)用工作菜單子程序</p><p>  LOOP:ACALL CONV ;時(shí)間計(jì)數(shù)處理</p>&

64、lt;p>  ACALL LOOP1 ;調(diào)用清零鍵子程序</p><p>  ACALL KEY ;判斷是否有鍵按下</p><p>  JZ LOOP ;無(wú)鍵按下轉(zhuǎn)LOOP</p><p>  MOV K1_P,K1_N ;交換數(shù)據(jù)</p&g

65、t;<p>  ACALL KEY0 ;調(diào)用按鍵功能子程序</p><p>  JMP LOOP ;跳LOOP處循環(huán) </p><p>  ; 初始變量清零子程序</p><p>  INIT: ;初始變量清零</p>&

66、lt;p>  CLR A ;A清為零</p><p>  MOV K1_C,A ;K1_C 初始為0</p><p>  MOV DEDA,A ;百分秒DEDA初始為0</p><p>  MOV SEC,A ;秒SEC初始為0</p>

67、;<p>  MOV MIN,A ;分MIN初始為0</p><p>  MOV K1_N,A ;K1_N初始為0</p><p>  MOV K1_P,A ;K1_P初始為0</p><p>  CLR TR0 ;啟動(dòng)中斷</p>

68、;<p>  RET </p><p>  ;―――――――――――――――――――――</p><p>  ;定時(shí)器初始化設(shè)置子程序</p><p>  INIT_TIMER: ;定時(shí)器初始化</p><p>  MOV TM

69、OD,#00000001B ;定時(shí)器0模式1</p><p>  MOV IE, #10000010B ;開(kāi)通中斷</p><p>  MOV TL0,#LOW(65536-10000);定時(shí)初值裝入低位</p><p>  MOV TH0,#HIGH(65536-10000);定時(shí)初值裝入高位</p><p>  RET

70、 </p><p><b>  ;中斷服務(wù)程序 </b></p><p>  T0_INT: ;定時(shí)器T0中斷程序 </p><p>  PUSH ACC ;入棧保護(hù)</p><p>

71、;  MOV TL0,#LOW(65536-10000) ;重加載</p><p>  MOV TH0,#HIGH(65536-10000)</p><p><b>  INC DEDA</b></p><p>  MOV A,DEDA ;10ms 計(jì)數(shù)值加1</p><p>  CJNE

72、 A,#100,TT</p><p>  MOV DEDA,#0</p><p>  INC SEC ;秒加1</p><p>  MOV A,SEC</p><p>  CJNE A,#60,TT</p><p>  INC MIN ;分加1&

73、lt;/p><p>  MOV SEC,#0</p><p>  MOV A,MIN</p><p>  CJNE A,#05,TT</p><p>  MOV DEDA,#0 ;百、分、秒單元清0</p><p>  MOV SEC,#0 </p>

74、<p>  MOV MIN,#0</p><p>  TT: POP ACC ;出棧</p><p>  RETI ;中斷程序返回 </p><p>  ;―――――――――――――――――――――</p><p>  ;判斷鍵是否按下子程序<

75、/p><p><b>  LOOP1:</b></p><p>  JB K2,LOOP2 ;判清零鍵是否按下</p><p>  JMP MAIN ;跳轉(zhuǎn)主程序處</p><p>  LOOP2: RET

76、 </p><p>  ; 判斷K1鍵是否按下</p><p><b>  KEY: </b></p><p>  CLR A ;A清零</p><p>  MOV K1_N,A ;A值送入K1_N</p><p>  MOV C,K1

77、 ;K1值送入C</p><p>  RLC A ;同進(jìn)位標(biāo)志左移一位</p><p>  ORL K1_N,A ;兩個(gè)位作邏輯OR運(yùn)算</p><p>  MOV A,K1_N ;K1_N值送入A</p><p>  XRL A,K1_P

78、 ;有鍵按下,A 中內(nèi)容不為零</p><p>  RET </p><p><b>  ;功能鍵子程序</b></p><p>  ;K1鍵第一次按功能子程序</p><p>  KEY0: </p><p>  MOV

79、 A, K1_P ;K1_P值送入A</p><p>  JB ACC.0,KEY3 ;A的0位是1,轉(zhuǎn)KEY3</p><p>  INC K1_C ;K1_C加1</p><p>  MOV A, K1_C ;K1_C值送入A </p><p>  CJNE

80、 A,#01H,KEY1 ;K1鍵是否第一次按?</p><p>  MOV DPTR,#MENU1 ;是,存入MENU1信息</p><p>  MOV A,#1 ;設(shè)置第一行顯示</p><p>  CALL LCD_PRINT ;調(diào)用顯示字符子程序</p><p>  SET

81、B TR0 ;啟動(dòng)中斷</p><p>  RET </p><p>  ;K1鍵第二次按功能子程序</p><p>  KEY1: </p><p>  MOV A,K1_C ;K1_C值送入A </p>

82、;<p>  CJNE A,#02H,KEY2 ;K1鍵是否第二次按?</p><p>  MOV DPTR,#MENU2 ;是,存入MENU2信息</p><p>  MOV A,#1 ;設(shè)置第一行顯示</p><p>  CALL LCD_PRINT ;調(diào)用顯示字符子程序<

83、/p><p>  CLR TR0 ;停止中斷</p><p>  RET ; </p><p>  ;K1鍵第三次按功能子程序</p><p>  KEY2: </p><p>  MOV A, K1_

84、C ;K1_C值送入A</p><p>  CJNE A, #03H,KEY3 ;K1鍵是否第三次按?</p><p>  MOV DPTR,#MENU3 ;是,存入MENU3信息</p><p>  MOV A, #1 ;設(shè)置第一行顯示</p><p>  CALL LC

85、D_PRINT ;調(diào)用顯示字符子程序</p><p>  SETB TR0 ;啟動(dòng)中斷</p><p>  RET </p><p>  ;K1鍵第四按功能子程序</p><p>  KEY3:

86、 </p><p>  MOV A,K1_C ;K1_C值送入A</p><p>  CJNE A,#04H,KEY4 ;K1鍵是否第四次按?</p><p>  MOV DPTR,#MENU4 ;是,存入MENU4信息</p><p>  MOV A,#1 ;設(shè)

87、置第一行顯示</p><p>  CALL LCD_PRINT ;調(diào)用顯示字符子程序</p><p>  CLR TR0 ;啟動(dòng)中斷</p><p><b>  KEY4: </b></p><p>  RET ;子程序返回 &

88、lt;/p><p>  ;――――――――――――― LCD顯示 ――――――――――――――</p><p>  ; LCD控制子程序</p><p>  SET_LCD: ; </p><p><b>  CLR E</b></p><p>  ACALL INIT_LCD

89、 ;初始化 LCD</p><p>  MOV R5,#10</p><p>  ACALL DELAY</p><p>  MOV DPTR,#LMESS1 ;指針指到顯示消息1</p><p>  MOV A,#1 ;顯示在第一行</p><p>  ACALL LCD_PRI

90、NT ;調(diào)用顯示字符子程序</p><p>  MOV DPTR,#LMESS2 ;指針指到顯示消息2</p><p>  MOV A,#2 ;顯示在第二行</p><p>  ACALL LCD_PRINT ;調(diào)用顯示字符子程序</p><p>  RET

91、 </p><p>  LMESS1: DB " ",0 ;LCD 第一行顯示消息</p><p>  LMESS2: DB "TIME ",0 ;LCD 第二行顯示消息</p><p>  ;LCD初始化子程序</p><p>  IN

92、IT_LCD: </p><p>  MOV A,#38H ;設(shè)置8位、2行、5x7點(diǎn)陣 </p><p>  ACALL WR_COMM ; 調(diào)用寫(xiě)指令子程序</p><p>  ACALL DELAY1 ;調(diào)用延時(shí)子程序</p><p>  MOV A,#0CH

93、 ;開(kāi)顯示,光標(biāo)不閃爍</p><p>  ACALL WR_COMM ;調(diào)用寫(xiě)指令子程序 ;</p><p>  ACALL DELAY1 ;調(diào)用延時(shí)子程序</p><p>  MOV A,#01H ;清除 LCD 顯示屏</p><p>  ACALL WR_COM

94、M ;調(diào)用寫(xiě)指令子程序 ;</p><p>  ACALL DELAY1 ;調(diào)用延時(shí)子程序</p><p>  RET </p><p>  ;寫(xiě)指令子程序 </p><p>  WR_COMM:

95、 </p><p>  MOV P1,A </p><p>  CLR RS ;RS=0,選擇指令寄存器</p><p>  CLR RW ;RW=0,選擇寫(xiě)模式</p><p>  SETB E ;E=1,允許讀/寫(xiě)LCM&

96、lt;/p><p>  ACALL DELAY1 ;調(diào)用延時(shí)子程序 </p><p>  CLR E ;E=0,禁止讀/寫(xiě)LCM</p><p>  RET </p><p><b>  ;寫(xiě)數(shù)據(jù)子程序<

97、/b></p><p>  WR_DATA: </p><p>  MOV P1,A </p><p>  SETB RS ;RS=1,選擇數(shù)據(jù)寄存器</p><p>  CLR RW ;RW=0,選擇寫(xiě)模式</p><p&

98、gt;  SETB E ;E=1,允許讀/寫(xiě)LCD</p><p>  ACALL DE ;調(diào)用延時(shí)子程序</p><p>  CLR E ;E=0,禁止讀/寫(xiě)LCD</p><p>  ACALL DE ;調(diào)用延時(shí)子程序</p><p>  R

99、ET </p><p>  ;清除該行 LCD 的字符</p><p>  CLR_LINE: MOV R0,#24</p><p>  CL1: MOV A,#' '</p><p>  ACALL WR_DATA

100、</p><p>  DJNZ R0,CL1</p><p>  RET </p><p>  ;LCD 存入工作菜單</p><p>  MEU: </p><p>  MOV DPTR,#MENU0

101、 ;存入工作菜單 </p><p>  MOV A,#1 ;第一行</p><p>  CALL LCD_PRINT</p><p><b>  RET</b></p><p><b>  ; 工作菜單</b></p><p>  ME

102、NU0: DB " SECOND-CLOCK 0 ",0</p><p>  MENU1: DB " BEGIN COUNT 1 ",0</p><p>  MENU2: DB " PAUST COUNT 2 ",0</p><p>  MENU3: DB " BEGI

103、N COUNT 3 ",0</p><p>  MENU4: DB " PAUST COUNT 4 ",0 </p><p><b>  ;菜單顯示子程序</b></p><p>  ;一行、二行顯示字符</p><p>  LCD_PRINT: <

104、/p><p>  CJNE A,#1,LINE2 ;判斷是否為第一行</p><p><b>  LINE1: </b></p><p>  ACALL CLR_LINE ;清除該行字符數(shù)據(jù)</p><p>  MOV A, #80H ;設(shè)置 LCD 的第一行地址</

105、p><p>  ACALL WR_COMM ;寫(xiě)入命令</p><p>  JMP FILL</p><p><b>  LINE2: </b></p><p>  ACALL CLR_LINE ;清除該行字符數(shù)據(jù)</p><p>  MOV A,#0C0

106、H ;設(shè)置 LCD 的第二行地址</p><p>  ACALL WR_COMM</p><p>  FILL: CLR A ;填入字符</p><p>  MOVC A,@A+DPTR ;由消息區(qū)取出字符</p><p>  CJNE A,#0,LC1 ;判斷是

107、否為結(jié)束碼</p><p>  RET </p><p><b>  ;寫(xiě)入數(shù)據(jù)</b></p><p>  LC1: ACALL WR_DATA </p><p>  INC DPTR ;指針加1<

108、;/p><p>  JMP FILL ;繼續(xù)填入字符</p><p>  RET </p><p><b>  ;轉(zhuǎn)換數(shù)據(jù)子程 </b></p><p>  CONV: ;轉(zhuǎn)換為 ASCII 碼并顯示</

109、p><p>  MOV X,#5 ;設(shè)置位置</p><p>  ACALL SKOW_LINE2 ;顯示數(shù)據(jù)</p><p>  INC X ;</p><p>  MOV A,#':' ;</p><p>

110、  MOV B,X ;</p><p>  ACALL LCDP2 ;</p><p>  MOV A,MIN ;加載分鐘數(shù)據(jù)</p><p>  INC X ;設(shè)置位置</p><p>  ACALL SKOW_LINE2

111、 ;顯示數(shù)據(jù)</p><p>  INC X ;</p><p>  MOV A,#':' ;</p><p>  MOV B,X ;</p><p>  ACALL LCDP2 ;</p><

112、p>  MOV A,SEC ;加載秒數(shù)數(shù)據(jù)</p><p>  INC X ;設(shè)置位置</p><p>  ACALL SKOW_LINE2 ;顯示數(shù)據(jù)</p><p>  INC X ;</p><p>  MOV A,#

113、9;:' ;</p><p>  MOV B,X ;</p><p>  CALL LCDP2 ;</p><p>  MOV A,DEDA ;加載秒數(shù)數(shù)據(jù)</p><p>  INC X ;設(shè)置位置&

114、lt;/p><p>  ACALL SKOW_LINE2 ;顯示數(shù)據(jù)</p><p>  RET ; </p><p>  ;在 LCD 的第二行顯示數(shù)字 </p><p>  SKOW_LINE2: </p><p>  MOV B,

115、#10 ;設(shè)置被除數(shù)</p><p>  DIV AB ;結(jié)果A存商數(shù),B存余數(shù)</p><p>  ADD A,#30H ;A為十位數(shù),轉(zhuǎn)換為字符</p><p>  PUSH B ;B放入堆棧暫存</p><p>  MOV B,X

116、 ;設(shè)置 LCD 顯示的位置</p><p>  ACALL LCDP2 ;由 LCD 顯示出來(lái)</p><p>  POP B ;出棧</p><p>  MOV A,B ;B為個(gè)位數(shù)</p><p>  ADD A,#30H ;轉(zhuǎn)換

117、為字符</p><p>  INC X ;LCD 顯示位置加1</p><p>  MOV B,X ;設(shè)置 LCD 顯示的位置</p><p>  ACALL LCDP2 ;由 LCD 顯示出來(lái) </p><p>  RET

118、 </p><p>  ;在LCD的第二行顯示字符</p><p>  LCDP2: </p><p>  PUSH ACC ;</p><p>  MOV A,B ;設(shè)置顯示地址</p><p>  ADD A,#0

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論