版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 微機(jī)綜合實(shí)踐課程設(shè)計(jì)說明書</p><p> 題 目: 00-60秒表設(shè)計(jì) </p><p> 院 (系): 建筑與交通工程學(xué)院 </p><p> 姓 名: </p><p> 學(xué) 號(hào): </p><p>
2、 專 業(yè): 建筑環(huán)境與設(shè)備工程 </p><p> 指導(dǎo)老師: XXX </p><p> 2011年12月16日</p><p><b> 目錄</b></p><p><b> 一、設(shè)計(jì)任務(wù)1</b></p><p> 二、總體方案設(shè)計(jì)1</p&
3、gt;<p> 2.1、硬件方案1</p><p> 2.2、軟件方案1</p><p> 三、系統(tǒng)硬件設(shè)計(jì)1</p><p> 3.1、硬件總體設(shè)計(jì)方案1</p><p> 3.2、并行I/O口P0~P3結(jié)構(gòu)與設(shè)計(jì)1</p><p> 3.3、復(fù)位電路設(shè)計(jì)3</p>
4、<p> 3.4、電源開關(guān)設(shè)計(jì)3</p><p> 3.5、晶振輸入電路設(shè)計(jì)4</p><p> 四、相關(guān)硬件說明4</p><p> 4.1、LED8段數(shù)碼顯示管結(jié)構(gòu)與原理4</p><p> 4.2、AT89S52部分系統(tǒng)功能與引腳說明5</p><p> 五、系統(tǒng)軟件設(shè)計(jì)10&
5、lt;/p><p> 5.1、軟件總體設(shè)計(jì)方案10</p><p> 5.2、程序流程圖11</p><p> 5.3、程序清單13</p><p> 5.4、程序運(yùn)行分析14</p><p><b> 六、元件清單14</b></p><p> 七、硬件
6、制作步驟15</p><p><b> 八、總結(jié)15</b></p><p><b> 參考文獻(xiàn)17</b></p><p><b> 一、設(shè)計(jì)任務(wù)</b></p><p> 00-60秒表設(shè)計(jì)。</p><p> 用AT89S52單片機(jī)
7、的定時(shí)/計(jì)數(shù)器T0產(chǎn)生一秒的定時(shí)時(shí)間,作為秒計(jì)數(shù)時(shí)間,當(dāng)一秒產(chǎn)生時(shí),秒計(jì)數(shù)加1,秒計(jì)數(shù)到60時(shí),自動(dòng)從0開始。</p><p><b> 二、總體方案設(shè)計(jì)</b></p><p><b> 2.1、硬件方案</b></p><p> 2.1.1、 制作一個(gè)AT89S52最小系統(tǒng);</p><p&g
8、t; 2.1.2、 采用兩個(gè)LED七段數(shù)碼顯示管分別顯示秒表的個(gè)位和十位;</p><p> 2.1.3、 P1口輸出十位段碼,P2口輸出個(gè)位段碼。</p><p><b> 2.2、軟件方案</b></p><p> 2.2.1、 因?yàn)楫?dāng)晶振頻率為12MHz時(shí),定時(shí)/計(jì)數(shù)器最大計(jì)時(shí)時(shí)間為65536ms,所以應(yīng)根據(jù)計(jì)時(shí)2.2.2、 時(shí)間
9、設(shè)定定時(shí)/計(jì)數(shù)器定時(shí)時(shí)間,累計(jì)合適中斷次數(shù)后執(zhí)行刷新顯示子程序;</p><p> 2.2.3、 每隔1s秒計(jì)數(shù)加1,秒計(jì)數(shù)到60自動(dòng)從0開始,循環(huán)不止。</p><p><b> 三、系統(tǒng)硬件設(shè)計(jì)</b></p><p> 3.1、硬件總體設(shè)計(jì)方案</p><p> 最小系統(tǒng)應(yīng)符合以下要求:</p>
10、<p> 引出4個(gè)I/O端口,便于硬件拓展,同時(shí)接入排阻以滿足更多的使用要求;</p><p> 在上電自動(dòng)復(fù)位的基礎(chǔ)上添加按鍵復(fù)位功能,以提高系統(tǒng)的可控性;</p><p> 采用按鈕開關(guān)、繼電器與穩(wěn)壓二極管構(gòu)成電源電路,以提高系統(tǒng)的穩(wěn)定性;</p><p> 具有專門的編程端口;</p><p><b>
11、 采用內(nèi)部時(shí)鐘電路。</b></p><p> 3.2、并行I/O口P0~P3結(jié)構(gòu)與設(shè)計(jì)</p><p> 3.2.1、 P0口(P0.0-P0.7)</p><p> P0口是一個(gè)8位漏極開路型雙向I/O端口。</p><p> P0口可做通用I/O口使用,但在端口進(jìn)行輸入操作前,應(yīng)先向端口的輸出鎖存器寫“1”。在CPU
12、訪問片外存儲(chǔ)器時(shí),P0口自動(dòng)作為地址/數(shù)據(jù)復(fù)用總線。</p><p> 在編程時(shí),由P0口輸入指令字節(jié),而在驗(yàn)證程序時(shí),P0口輸出指令字節(jié)(驗(yàn)證時(shí)應(yīng)外接上拉電阻)。P0口能以吸收電流的方式驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。 圖1 P0口結(jié)構(gòu)圖</p><p> 3.2.2、 P1口(P1.0-P1.7)</p><p>
13、 P1口是一個(gè)內(nèi)部帶上拉電阻的8為準(zhǔn)雙向I/O端口。</p><p> 當(dāng)P1輸出高電平是,能向外部提供拉電流負(fù)載,因此,不需再外接上拉電阻。當(dāng)端口用作輸入時(shí),也應(yīng)先向端口的輸出鎖存器寫入“1”。</p><p> 在編程和驗(yàn)證程序時(shí),P1口用來輸入低8位地址。P1口能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。
14、 圖2 P1口結(jié)構(gòu)圖</p><p> 3.2.3、 P2口(P2.0-P2.7)</p><p> P2口也是一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O端口。</p><p> 當(dāng)CPU訪問外部存儲(chǔ)器時(shí),P2口自動(dòng)用作輸出高8位地址,與P0低8位地址一起形成外部存儲(chǔ)器的16位地址總線。此時(shí),P2口不再作為通用I/O口使用。</p><p&
15、gt; P2口可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。</p><p> 在編程和驗(yàn)證程序時(shí),P2口用作接收高8為地址。 圖3 P2口結(jié)構(gòu)圖</p><p> 3.2.4、 P3口(P3.0-P3.7)</p><p> P3口是一個(gè)內(nèi)部帶上拉電阻的8位多功能雙向I/O端口。<
16、/p><p> P3口除了作通用I/O端口外,其主要功能是它的各位還具有第二功能。無論P(yáng)3口作通用輸入框還是作第二輸入功能口使用,相應(yīng)位的輸出鎖存器和第二輸出功能段都應(yīng)置“1”。</p><p> P3口能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。</p><p> P3口作為第二功能使用時(shí)各引腳定義如下:</p><p> P3.0 —— RXD:串行
17、口輸入端; </p><p> P3.1 —— TXD:串行口輸出端; 圖4 P3口結(jié)構(gòu)圖</p><p> P3.2 —— INT0:外部中斷0請求輸入端; </p><p> P3.3 —— INT1:外部中斷1請求輸入端; </p><p> P3.4 —
18、— T0:定時(shí)/計(jì)數(shù)器0外部信號(hào)輸入端; </p><p> P3.5 —— T1:定時(shí)/計(jì)數(shù)器1外部信號(hào)輸入端; </p><p> P3.6 —— WR:外RAM寫選通信號(hào)輸出端; </p><p> P3.7 —— RD:外RAM讀選通信號(hào)輸出端。</p><p> 為便于硬件拓展以及滿足更多的使用有求,在P0、P2口處分別接1
19、KΩ和2.2KΩ的上拉電阻,并在每個(gè)端口出添加VCC和GND引腳。各端口原理圖如下:</p><p> 圖5 P0口外圍電路原理圖 圖6 P1口外圍電路原理圖</p><p> 圖7 P2口外圍電路原理圖 圖8P2口上拉電阻原理圖 圖9 P3口外圍電路原理圖</p>&
20、lt;p> 3.3、復(fù)位電路設(shè)計(jì)</p><p> 本設(shè)計(jì)中AT89S52是采用上電自動(dòng)復(fù)位和按鍵復(fù)位兩種方式。復(fù)位電路如圖所示。上電瞬間,電路充電,RST引線端出現(xiàn)正脈沖,只要RST端保持10ms以上的高電平,就能使單片機(jī)有效地復(fù)位。其中R4和R5分別選擇100Ω和4.7KΩ的電阻,電容器一般選擇10μF。</p><p> 3.4、電源開關(guān)設(shè)計(jì)</p><
21、;p> 本設(shè)計(jì)采用按鈕開關(guān)、繼電器以及穩(wěn)壓二極管構(gòu)成的電路,以提高系統(tǒng)穩(wěn)定性。各元件規(guī)格如圖: 圖10 復(fù)位電路原理圖</p><p> 圖11電源開關(guān)電路原理圖</p><p> 3.5、晶振輸入電路設(shè)計(jì)</p><p> AT89S52單片機(jī)內(nèi)部的振蕩電路是一個(gè)高增益反向放大器,引線XTAL1和XTAL2分別是放大器的
22、輸入端和輸出端。單片機(jī)內(nèi)部雖然有振蕩電路,但要形成時(shí)鐘,外部還需附加電路。AT89S52的時(shí)鐘產(chǎn)生方式有兩種:內(nèi)部時(shí)鐘電方式和外部時(shí)鐘方式。由于外部時(shí)鐘方式用于多片單片機(jī)組成的系統(tǒng)中,所以此處選用內(nèi)部時(shí)鐘方式。即利用其內(nèi)部的振蕩電路在XTAL1和XTAL2引線上外接定時(shí)元件,內(nèi)部振蕩電路產(chǎn)生自激振蕩。最常用的是在 XTAL1和XTAL2之間接晶體振蕩器與電路構(gòu)成穩(wěn)定的自激振蕩器,如圖電路所示為單片機(jī)最常用的時(shí)鐘振蕩電路的接法,其中晶振可
23、選用振蕩頻率為12MHz的石英晶體,電容器一般選擇20PF左右。 圖12 晶振輸入電路原理圖</p><p><b> 四、相關(guān)硬件說明</b></p><p> 4.1、LED8段數(shù)碼顯示管結(jié)構(gòu)與原理</p><p> 按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管
24、 的陽極接到一起形成公共陽極(COM)的數(shù)碼管,共陽數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陽極為低電平時(shí)。
25、 圖13 LED8段數(shù)碼顯示管原理圖、引腳圖</p><p> 相應(yīng)字段就不亮。LED數(shù)碼管段碼如下表:</p><p> 表1八段LED數(shù)碼管段碼表</p><p> 本設(shè)計(jì)采用共陽靜態(tài)顯示,其中P2口輸出個(gè)位段碼,P1口輸出十位段碼。仿真圖如圖12所示。</p><p> 4.2、AT89S52部分系統(tǒng)功能
26、與引腳說明</p><p> AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S5
27、2具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 23 位I/O 口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)
28、位為止。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。 </p><p> ALE/PROG:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對外輸出時(shí)鐘或用于定
29、時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。對FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無效。 </p><p> PSEN:程序儲(chǔ)存允許(PSEN)輸出
30、是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次PSEN信號(hào)。 </p><p> EA/VPP:外部訪問允許,欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接V
31、cc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。FLASH存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。 </p><p> XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。 </p><p> XTAL2:振蕩器反相放大器的輸出端。</p><p> 4.2.1、 AT89S52定時(shí)/計(jì)數(shù)器詳細(xì)介紹&
32、lt;/p><p> 定時(shí)/計(jì)數(shù)器基本結(jié)構(gòu)</p><p> 定時(shí)器/計(jì)數(shù)器的控制字:</p><p> 定時(shí)器/計(jì)數(shù)器有4種工作模式,由TMOD設(shè)置并由TCON控制。工作方式寄存器TMOD的地址為89H,它不能位尋址,在設(shè)置時(shí)一次寫入。其功能為確定定時(shí)器的工作方式及功能選擇。格式如下:</p><p> 圖17TMOD的各位定義&l
33、t;/p><p> ?。?)、 GATE:門控位</p><p> ?。?:定時(shí)器/計(jì)數(shù)器僅受TR的控制;</p><p> ?。?:只有INT為高電平,且TR=1時(shí),定時(shí)器/計(jì)數(shù)器才工作。 </p><p> (2)、 C/T :功能選擇位</p><p><b> ?。?:定時(shí)功能;</b>&l
34、t;/p><p><b> ?。?:計(jì)數(shù)功能。 </b></p><p> ?。?)、 M1M0:工作方式選擇位</p><p> ?。?0 方式0;13位定時(shí)計(jì)數(shù)器,TH高8位和TL低5位;</p><p> ?。?1 方式1;16位定時(shí)/計(jì)數(shù)器;</p><p> ?。?0 方式2;自動(dòng)重裝入初值
35、的8位定時(shí)/計(jì)數(shù)器;</p><p> ?。?1 方式3;T0分成兩個(gè)獨(dú)立的8位計(jì)數(shù)器,T1無方式3。</p><p><b> 定時(shí)器控制寄存器:</b></p><p> TCON除可字節(jié)尋址外,各位還可以位尋址。 格式為:</p><p> 圖18TCON的各位定義</p><p&g
36、t; 功能為:TR1、TR2控制定時(shí)/計(jì)數(shù)器的啟動(dòng)與停止,IT1、IT2控制溢出中斷的允許與屏蔽。當(dāng)標(biāo)志位TF0/TF1采用軟件查詢時(shí)應(yīng)禁止中斷,且需要以軟件的方式將標(biāo)志位清“0”若采用中斷方式查詢標(biāo)志位,返主后由硬件自動(dòng)清“0”。 </p><p> 定時(shí)/計(jì)數(shù)器工作原理</p><p><b> (1)、 模式0</b></p><p&g
37、t; 定時(shí)/計(jì)數(shù)器TH0(或TH1)的高8位和TL0(或TL1)的低5位組成的一個(gè)13位定時(shí)器/計(jì)數(shù)器。此種方式與MCS-48系列兼容,如果不是為了兼容的目的,一般不用方式0。方式0的全部功能,方式1都可以代替。</p><p> 圖19T0工作模式0邏輯結(jié)構(gòu)框圖</p><p><b> ?。?)、 模式1</b></p><p>
38、 該模式對應(yīng)的是一個(gè)16位的定時(shí)器/計(jì)數(shù)器。THx8位和TLx8位組成16位加1計(jì)數(shù)器,最大計(jì)數(shù)脈沖個(gè)數(shù):1~65536(216),最長定時(shí)時(shí)間(晶振12MHz T=1s)為65536μs。</p><p> 圖20T0工作模式1邏輯結(jié)構(gòu)框圖</p><p><b> ?。?)、 模式2</b></p><p> 模式2把TL0(或TL
39、1)設(shè)置成一個(gè)可以自動(dòng)重裝載的8位定時(shí)器/計(jì)數(shù)器。用于需要重復(fù)定時(shí)和計(jì)數(shù)的場合。最大計(jì)數(shù)值:256 (28),最大定時(shí)時(shí)間(晶振12MHz時(shí) T=1s): 256s。自動(dòng)恢復(fù)初值8位定時(shí)/計(jì)數(shù)器。TLx為8位加1計(jì)數(shù)器,THx為8位初值暫存器。 </p><p> 圖21T0工作模式2邏輯結(jié)構(gòu)框圖</p><p><b> ?。?)、模式3</b></p&
40、gt;<p> TL0和TH0被分成為兩個(gè)相互獨(dú)立的8位計(jì)數(shù)器 。TL0占用T0控制位:C/T,TR0,TF0,GATE;TH0占用T1控制位:TR1和中斷標(biāo)志位TF1。T1不能使用方式3工作。 </p><p> 圖22T0工作模式3邏輯結(jié)構(gòu)框圖</p><p> T0工作于模式3時(shí),T1仍可設(shè)置為模式0~2。此時(shí),僅使用T1控制位C/T切換其定時(shí)或計(jì)數(shù)器工作方式
41、。寄存器(8位、13位、16位)溢出時(shí),只能將輸出送入串行口或用于不需要中斷的場合。</p><p> 圖23T0模式3下的T1邏輯結(jié)構(gòu)框圖</p><p> 定時(shí)器/計(jì)數(shù)器初始化步驟</p><p> ?。?)、 確定工作模式(是計(jì)數(shù)還是定時(shí))、工作方式和啟動(dòng)控制方式,并將其寫入TMOD寄存器。</p><p> (2)、 設(shè)置定
42、時(shí)或計(jì)數(shù)器的初值,可直接將初值寫入TH0、TL0或TH1、TL1中,16位計(jì)數(shù)初值必須分兩次寫入對應(yīng)的計(jì)數(shù)器。</p><p> (3)、 根據(jù)要求決定是否采用中斷方式:直接對IE位賦值。開放中斷時(shí),對應(yīng)位置‘1’;采用程序查詢方式時(shí),IE位應(yīng)清0以進(jìn)行中斷屏蔽。</p><p> ?。?)、 啟動(dòng)定時(shí)器工作。可使用SETB TRi啟動(dòng)。</p><p><
43、;b> 五、系統(tǒng)軟件設(shè)計(jì)</b></p><p> 5.1、軟件總體設(shè)計(jì)方案</p><p> 5.1、 采用查表方式輸出段碼,使程序更為簡練,節(jié)約存儲(chǔ)空間;</p><p> 5.2、 AT89S52單片機(jī)的定時(shí)/計(jì)數(shù)器在四種工作模式中,其最大定時(shí)時(shí)間(TF溢出周期)為:</p><p> 表2AT89S52
44、定時(shí)/計(jì)數(shù)器最大定時(shí)時(shí)間表</p><p> 因定時(shí)時(shí)間為1s,可選用模式1,每隔50ms中斷一次,中斷20次為1s。</p><p> 5.3、 每隔20個(gè)中斷執(zhí)行一次刷新顯示子程序;</p><p> 5.4、 六十進(jìn)制。個(gè)位刷新顯示子程序每執(zhí)行十次,執(zhí)行一次十位刷新顯示子程序,同時(shí)個(gè)位顯示“0”,達(dá)到個(gè)位逢十進(jìn)一的目的;</p><p
45、> 5.5、 十位刷新顯示子程序執(zhí)行六次后,重新初始化,數(shù)碼管顯示“00”。</p><p><b> 5.2、程序流程圖</b></p><p> 5.2.1、主程序流程圖:</p><p><b> 圖24</b></p><p> 5.2.2、中斷服務(wù)子程序流程圖:</p
46、><p><b> 圖25</b></p><p><b> 5.3、程序清單</b></p><p> ORG 0000H</p><p> LJMP MAIN</p><p> ORG 000BH</p><p> LJMP INT
47、_T0</p><p> ORG 0100H</p><p><b> MAIN:</b></p><p> MOVTMOD,#01H</p><p><b> SETBET0</b></p><p><b> SETBEA</b>&
48、lt;/p><p><b> SETBTR0</b></p><p> MOV R5,#14H;循環(huán)計(jì)時(shí)計(jì)數(shù)器,循環(huán)20次</p><p> MOV R6,#0aH;個(gè)位顯示計(jì)數(shù)器,逢10進(jìn)1</p><p> MOV R3,#00H;十位數(shù)段碼指針</p><p> M
49、OVR4,#06H;十位顯示計(jì)數(shù)器,滿6清零</p><p> MOVDPTR,#BIAO</p><p> MOVA,#0C0H;將“0”段碼輸出顯示</p><p><b> MOVP2, A</b></p><p><b> MOVP1, A</b></p>
50、;<p> MOVTH0,#3CH</p><p> MOVTL0,#0B0H;定時(shí)50ms</p><p> SJMP $;等待中斷</p><p><b> INT_T0:</b></p><p> MOVTH0,#3CH</p><p> MO
51、VTL0,#0B0H;重新賦值</p><p> DJNZ R5,GO;循環(huán)不足20次(不夠1s)返回等待</p><p> MOV R5,#14H;循環(huán)計(jì)時(shí)計(jì)數(shù)器重新賦值</p><p><b> CLR A</b></p><p> MOVC A,@A+DPTR</p>
52、<p> MOV P2,A;顯示個(gè)位</p><p> INC DPTR;指向下一段碼</p><p> DJNZ R6,GO;個(gè)位不滿10,跳過十位顯示</p><p> MOV R6,#0aH;個(gè)位顯示計(jì)數(shù)器重新賦值</p><p><b> MOV A,R3</b&
53、gt;</p><p> MOV DPTR,#BIAO</p><p> MOVC A,@A+DPTR</p><p> MOVP1,A;顯示十位</p><p> mov a,#0c0h</p><p><b> mov p2,a</b></p><
54、;p> INC R3</p><p> DJNZ R4,GO;十位不滿6,跳過初始化</p><p> mov a,#0c0h;初始化</p><p><b> movp1,a</b></p><p><b> movp2,a</b></p>
55、<p> MOV R5,#14H</p><p> MOVR6,#0aH</p><p> MOVR3,#00H</p><p> MOV R4,#06H</p><p> movth0,#3ch</p><p> movtl0,#0b0h</p><p>
56、MOVDPTR,#BIAO</p><p><b> GO:RETI</b></p><p> BIAO: DB 0F9H,0A4H,0B0H,99H,92H,82H,0F8h,80h,90h</p><p> ??;“0”~“9”段碼(共陽)</p><p><b> END</b>
57、</p><p> 5.4、程序運(yùn)行分析</p><p> 因定時(shí)/計(jì)數(shù)器的定時(shí)時(shí)間為50ms,中斷20,即1s后執(zhí)行一次刷新顯示子程序。程序只考慮硬件延時(shí),并沒有將中斷服務(wù)子程序的運(yùn)行時(shí)間計(jì)算在內(nèi),所以在秒表運(yùn)行時(shí),會(huì)出現(xiàn)計(jì)時(shí)顯示時(shí)間滯后于標(biāo)準(zhǔn)時(shí)間的現(xiàn)象。</p><p> 據(jù)中斷服務(wù)子程序以及指令周期表可知,刷新顯示子程序運(yùn)行時(shí)間最小的情況為:不帶進(jìn)位的秒
58、計(jì)數(shù)加1,運(yùn)行時(shí)間最大的情況為:滿60自動(dòng)從0開始。據(jù)此可推算其最大最小運(yùn)行時(shí)間分別為196μs和169μs。經(jīng)proteus仿真測試,運(yùn)行一小時(shí)將會(huì)出現(xiàn)大約1s的誤差,且隨著時(shí)間推移,誤差將會(huì)累積增大。在實(shí)際的計(jì)時(shí)中,也會(huì)因環(huán)境以及設(shè)備的不完善,影響計(jì)時(shí)的精確性。</p><p> 在對秒計(jì)時(shí)影響不大的情況下,適當(dāng)增大定時(shí)/計(jì)數(shù)器初值,以及提高制板工藝的方法盡可能的減小誤差。</p><p
59、><b> 六、元件清單</b></p><p><b> 表3元件清單表</b></p><p><b> 七、硬件制作步驟</b></p><p> 在protel 99 SE中編輯原理圖,生成PCB文件,打??;</p><p> 將用于腐蝕的電路板拋光
60、,以便保證印刷電路板的熨燙效果;</p><p> 將印刷電路熨燙在電路板上,待油墨充分粘附于板上后,撕下噴墨菲林片;</p><p> 腐蝕掉電路板多余的銅,進(jìn)行第二次拋光,將多余的油墨清洗掉,按照電路圖在電路板上鉆孔;</p><p> 將元器件焊接在板上并檢測各焊點(diǎn)是否接觸可靠;</p><p> 燒錄程序,調(diào)試,直至成功運(yùn)行。
61、</p><p><b> 八、總結(jié)</b></p><p> 出于對單片機(jī)和電路板制作的濃厚興趣以及自身知識(shí)的匱乏,我在做這課設(shè)的時(shí)候感覺既困擾又欣慰。通過這次課程設(shè)計(jì),我拓寬了知識(shí)面,鍛煉了動(dòng)手能力。特別是proteus軟件的使用。通過整個(gè)電路設(shè)計(jì)與制作的過程,我掌握了實(shí)物硬件的連接和組裝與調(diào)試的方法,熟悉了小規(guī)模集成電路的使用。通過理論與實(shí)踐的結(jié)合,進(jìn)一步深
62、入體會(huì)到一種新的學(xué)習(xí)方法,特別是對于電子設(shè)計(jì)方面,首先要明確總體的設(shè)計(jì)方案與方法;其次是對各個(gè)部分進(jìn)行設(shè)計(jì)與改進(jìn);最后將各個(gè)部分整合在一起進(jìn)行比較觀察。 通過親手制作,收獲蠻多。此次制作主要遇到的問題有以下幾個(gè):一是電路的總體設(shè)計(jì)問題,當(dāng)初設(shè)計(jì)畫圖的時(shí)候用線過細(xì),以致后面焊接困難;二是電路的焊接問題,某些元器件由于不夠仔細(xì),焊接不緊,或器件正負(fù)反向等;三是電路的調(diào)試問題,有了前面的問題,這一塊也真不好搞,需要一一檢查;四是由于不
63、缺少電路板制作的理論知識(shí),造成了一定的浪費(fèi)。 通過這次設(shè)計(jì),增強(qiáng)了我們對單片機(jī)理論知識(shí)的理解;學(xué)會(huì)了單片機(jī)的設(shè)計(jì)、計(jì)算,進(jìn)一步提高了分析解決實(shí)際問題的能力;這次課程設(shè)計(jì)給我們創(chuàng)造了一個(gè)動(dòng)腦動(dòng)手、獨(dú)立開展電路實(shí)驗(yàn)的機(jī)會(huì),鍛煉了分析、解決程序編寫問題的時(shí)</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 趙全利,肖興達(dá).單片機(jī)原理及應(yīng)用教
64、程[M].北京: 第2版.機(jī)械工業(yè)出版社,2007.</p><p> [2] 張文祥,李志軍,張子紅,張小清.單片機(jī)系統(tǒng)[M].北京:電子工業(yè)出版社,2011.</p><p> [3] 吉紅,閆昆.單片機(jī)系統(tǒng)設(shè)計(jì)與調(diào)試[M].北京:化學(xué)工業(yè)出版社,2010.</p><p> [4] 劉明,劉蓉,姚華雄.嵌入式單片機(jī)技術(shù)與實(shí)踐[M]北京:清華大學(xué)出版社,2
65、010.</p><p> [5] 王嘉陵.畢業(yè)論文寫作與答辯[M].成都:四川大學(xué)出版社,2003.</p><p> [6] 趙潤林 張迎輝.單片機(jī)原理與應(yīng)用教程[M].北京:北京大學(xué)出版社,2005.</p><p> [7] 李廣第.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1999.</p><p> [8] 徐惠民,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)---60秒秒表
- 課程設(shè)計(jì)---單片機(jī)__60秒秒表
- 單片機(jī)秒表單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)說明書——電子秒表
- 單片機(jī)課程設(shè)計(jì)電子秒表設(shè)計(jì)說明書
- 單片機(jī)課程設(shè)計(jì)--電子秒表設(shè)計(jì)說明書
- 數(shù)字式秒表單片機(jī)數(shù)字秒表課程設(shè)計(jì)
- 數(shù)字式秒表-《單片機(jī)技術(shù)》課程設(shè)計(jì)說明書
- 單片機(jī)課程設(shè)計(jì)說明書
- 單片機(jī)課程設(shè)計(jì)說明書
- 單片機(jī)秒表課程設(shè)計(jì)
- 單片機(jī)秒表課程設(shè)計(jì)
- 單片機(jī)秒表課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---秒表
- 單片機(jī)秒表課程設(shè)計(jì)
- 秒表(單片機(jī)課程設(shè)計(jì))
- 單片機(jī)原理課程設(shè)計(jì)說明書
- 基于89c51單片機(jī)的秒表課程設(shè)計(jì)說明書
- 單片機(jī)課程設(shè)計(jì)---秒表設(shè)計(jì)
- 課程設(shè)計(jì)--60秒秒表
評(píng)論
0/150
提交評(píng)論