精選單片機(jī)課設(shè)60秒計時器_第1頁
精選單片機(jī)課設(shè)60秒計時器_第2頁
精選單片機(jī)課設(shè)60秒計時器_第3頁
精選單片機(jī)課設(shè)60秒計時器_第4頁
精選單片機(jī)課設(shè)60秒計時器_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)課設(shè)60秒計時器單片機(jī)課程設(shè)計說明書 題 目: 0060秒表設(shè)計 學(xué)院: 機(jī)電工程學(xué)院 專 業(yè): 機(jī)械設(shè)計制造及其自動化 學(xué)生姓名: xxx 學(xué) 號: xxx 指導(dǎo)教師單位: xxx 姓 名: xxx 2023年12月13日 摘要 60秒計時器以單片機(jī)為核心,由計時器,控制器等組成。系統(tǒng)采用模塊化設(shè)計,主要分為計時器顯示模塊和按鍵控制模塊。每個模塊的程序結(jié)構(gòu)簡單,任務(wù)明確,易于編寫、調(diào)試和修改。編程后利用Kcil軟件來進(jìn)行編譯,在生成HEX文件裝入芯片中,在通過調(diào)試實(shí)現(xiàn)60s計時功能。本設(shè)計中系統(tǒng)硬件電路主要是由以下幾個局部組成:單片機(jī)AT89C51、振蕩電路、顯示電路和按鍵開關(guān)。該系統(tǒng)

2、具有60s內(nèi)準(zhǔn)確計時和計時清零的功能。 關(guān)鍵字:單片機(jī),計時,顯示,60s計時,復(fù)位清零 11 目錄TOC o 1-3 h u HYPERLINK l _Toc7389 前言 PAGEREF _Toc7389 1 HYPERLINK l _Toc30616 一、 概述 PAGEREF _Toc30616 1 HYPERLINK l _Toc27564 1.1、課程設(shè)計任務(wù)與目的 PAGEREF _Toc27564 1 HYPERLINK l _Toc1352 1.2、總體方案設(shè)計 PAGEREF _Toc1352 2 HYPERLINK l _Toc16032 1.2.1、設(shè)計方案框圖 PAG

3、EREF _Toc16032 2 HYPERLINK l _Toc2302 1.2.2、硬件方案 PAGEREF _Toc2302 2 HYPERLINK l _Toc27614 1.2.3、軟件方案 PAGEREF _Toc27614 2 HYPERLINK l _Toc19908 二、系統(tǒng)硬件設(shè)計 PAGEREF _Toc19908 3 HYPERLINK l _Toc22324 2.1、電路總體設(shè)計方案 PAGEREF _Toc22324 3 HYPERLINK l _Toc359 2.2、電路原理圖 PAGEREF _Toc359 3 HYPERLINK l _Toc29558 2.3

4、、各硬件模塊設(shè)計與制作 PAGEREF _Toc29558 3 HYPERLINK l _Toc16070 2.3.1、AT89C51單片機(jī)設(shè)計 PAGEREF _Toc16070 3 HYPERLINK l _Toc2951 2.3.2、晶振輸入電路設(shè)計 PAGEREF _Toc2951 6 HYPERLINK l _Toc27726 2.3.3、復(fù)位電路設(shè)計 PAGEREF _Toc27726 7 HYPERLINK l _Toc6584 2.3.5、數(shù)碼管顯示局部電路 PAGEREF _Toc6584 8 HYPERLINK l _Toc3065 2.3.6、繪制原理圖. PAGEREF

5、 _Toc3065 10 HYPERLINK l _Toc22507 2.3.7、生成PCB圖 PAGEREF _Toc22507 11 HYPERLINK l _Toc5482 2.3.8、制作PCB板 PAGEREF _Toc5482 11 HYPERLINK l _Toc7325 2.3.9、鉆孔,并焊接芯片 PAGEREF _Toc7325 12 HYPERLINK l _Toc7392 2.4、遇到的問題與解決方法 PAGEREF _Toc7392 13 HYPERLINK l _Toc7084 三、系統(tǒng)軟件設(shè)計 PAGEREF _Toc7084 14 HYPERLINK l _To

6、c7419 3.1、軟件總體設(shè)計方案 PAGEREF _Toc7419 14 HYPERLINK l _Toc27302 3.2、程序流程圖 PAGEREF _Toc27302 16 HYPERLINK l _Toc27855 3.3、局部重要模塊匯編程序: PAGEREF _Toc27855 16 HYPERLINK l _Toc17671 四、系統(tǒng)調(diào)試 PAGEREF _Toc17671 17 HYPERLINK l _Toc32699 4.1、軟件調(diào)試 PAGEREF _Toc32699 17 HYPERLINK l _Toc10039 4.2、硬件調(diào)試 PAGEREF _Toc1003

7、9 18 HYPERLINK l _Toc1254 五、 系統(tǒng)功能 PAGEREF _Toc1254 19 HYPERLINK l _Toc7843 六、 總結(jié) PAGEREF _Toc7843 19 HYPERLINK l _Toc27519 七、 附錄 PAGEREF _Toc27519 19 HYPERLINK l _Toc14910 八、參考文獻(xiàn) PAGEREF _Toc14910 21 1 前言 我們的任務(wù)是設(shè)計60s秒表計時器,用AT89S51單片機(jī)的定時/計數(shù)器T0產(chǎn)生一秒的定時時間,作為秒計數(shù)時間,當(dāng)一秒產(chǎn)生時,秒計數(shù)加1,秒計數(shù)到60時,自動從0開始,實(shí)現(xiàn)0到60秒的循環(huán)顯示

8、的功能。 現(xiàn)代計時器是用數(shù)字集成電路做成的現(xiàn)代計時器,與傳統(tǒng)的機(jī)械鐘相比,走時準(zhǔn)確、顯示直觀(有熒光七段數(shù)碼顯示器)、無機(jī)械傳動裝置等優(yōu)點(diǎn)。而且鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便。廣泛用于個人家庭,車站,碼頭、辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?,由于?shù)字集成電路的開展和石英振蕩器的廣泛應(yīng)用,使得數(shù)字計時表的精度遠(yuǎn)遠(yuǎn)超過老式鐘表,鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大地方便,而且大大地擴(kuò)展了鐘表原先的報時功能。諸如定時自動報警、校時自動打鈴、時間程序自動控制、定是播送、自動啟閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備,甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為根底的

9、。因此,研究數(shù)字計時器及擴(kuò)大其應(yīng)用有著非?,F(xiàn)實(shí)的意義。概述1.1、課程設(shè)計任務(wù)與目的課程設(shè)計任務(wù):00-60秒表設(shè)計 用AT89S51單片機(jī)的定時/計數(shù)器T0產(chǎn)生一秒的定時時間,作為秒計數(shù)時間,一秒產(chǎn)生時,秒計數(shù)加1,秒計數(shù)到60時,自動從0開始。額外拓展,實(shí)現(xiàn)兩個按鍵,一個實(shí)現(xiàn)計時暫停,一個實(shí)現(xiàn)從0計時。課程設(shè)計目的: 課程設(shè)計是單片機(jī)課程教學(xué)的最后一個環(huán)節(jié),是對學(xué)生進(jìn)行全面的系統(tǒng)的訓(xùn)練,進(jìn)行 課程設(shè)計可以讓學(xué)生把學(xué)過的比擬零碎的知識系統(tǒng)化,真正的能夠把學(xué)過的知識落到實(shí)處,能夠開發(fā)簡單的系統(tǒng),也進(jìn)一步激發(fā)了學(xué)生再深一步學(xué)習(xí)的熱情,因此課程設(shè)計是必不可少的,是非常必要的。 課程設(shè)計是提高學(xué)生單

10、片機(jī)技術(shù)應(yīng)用能力以及文字總結(jié)能力的綜合訓(xùn)練環(huán)節(jié),是配合單片機(jī)課程內(nèi)容掌握應(yīng)用得的專門性實(shí)踐類課程,通過典型實(shí)際問題的實(shí)際,訓(xùn)練學(xué)生的軟硬件的綜合設(shè)計、調(diào)試能力以及文字組織能力,建立系統(tǒng)設(shè)計概念,加強(qiáng)工程應(yīng)用思維方式的訓(xùn)練,同時對教學(xué)內(nèi)容做一定的擴(kuò)充。 通過課程設(shè)計,使自己深刻理解并掌握根本概念,掌握單片機(jī)的根本應(yīng)用程序設(shè)計及綜合應(yīng)用程序設(shè)計的方法,通過做一個綜合性訓(xùn)練題目,到達(dá)對內(nèi)容的消化、理解并提高解決問題的能力的目的。 1.2、總體方案設(shè)計1.2.1、設(shè)計方案框圖七段數(shù)碼管顯示電路CPU復(fù)位 晶振電路按鈕電路電源系統(tǒng)1.2.2、硬件方案1、 制作一個AT89S51最小系統(tǒng);2、 采用兩個L

11、ED七段數(shù)碼顯示管分別顯示秒表的個位和十位;3、 P0口輸出十位段碼,P2口輸出個位段碼。1.2.3、軟件方案1、 因?yàn)楫?dāng)晶振頻率為12MHz時,選擇定時/計時器的模式1;2、 時間設(shè)定定時/計數(shù)器定時時間,累計適宜中斷次數(shù)后執(zhí)行刷新顯示子程序;3、 每隔1s秒計數(shù)加1,秒計數(shù)到60自動從0開始,循環(huán)不止。二、系統(tǒng)硬件設(shè)計 2.1、電路總體設(shè)計方案最小系統(tǒng)應(yīng)符合以下要求:1引出4個I/O端口,便于硬件拓展,同時接入排阻以滿足更多的使用要求2在上電自動復(fù)位的根底上添加按鍵復(fù)位功能,以提高系統(tǒng)的可控性;3采用按鈕開關(guān)、繼電器與穩(wěn)壓二極管構(gòu)成電源電路,以提高系統(tǒng)的穩(wěn)定性;4具有專門的編程端口;5采用

12、內(nèi)部時鐘電路。2.2、電路原理圖2.3、各硬件模塊設(shè)計與制作2.3.1、AT89C51單片機(jī)設(shè)計 AT89C51是一個低功耗高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP In-system programmable 的可反復(fù)擦寫1000次的Flash,只讀程序存儲器器件采用ATMEL公司的高密度非易失性存儲技術(shù),制造兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強(qiáng)大的微型計算機(jī)的AT89C51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案,AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案 。外

13、形及引腳排列如下圖: 主要特性:與MCS-51 兼容 4K字節(jié)可編程閃爍存儲器 壽命1000寫擦循環(huán) 數(shù)據(jù)保存時間10年 全靜態(tài)工作0Hz-24MHz 三級程序存儲器鎖定 1288位內(nèi)部RAM 32可編程IO線 兩個16位定時器計數(shù)器 5個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時鐘電路 管腳說明:1電源與時鐘引腳 Vcc:電源接入引腳 Vss:接地引腳 XTAL1:晶振震蕩器接入的一個引腳采用外部振蕩器時此引腳接地 XTAL2:晶體振蕩器的另一個引腳采用外部振蕩器時此引腳作為外部振 蕩器信號的輸入端 控制線引腳 RST/Vpd:復(fù)位信號輸入引腳備用電源輸入引腳 ALE:地

14、址鎖存允許信號輸出引腳編程脈沖輸入引腳 EA:內(nèi)外存儲器選擇引腳片外EPROM編程電壓輸入引腳 PSEN:外部程序存儲器選通信號輸出引腳 并行IO引腳 P00-P07:一般IO口引腳或數(shù)據(jù)低位地址總線復(fù)用引腳 P10-P17:一般IO口引腳 P20-P27:一般IO口引腳或高位地址總線引腳 P30-P37:一般IO口引腳或第二功能引腳 內(nèi)部振蕩器特性: XTAL1和XTAL2分別為反向放大器的輸入和輸出,該反向放大器可以配置為片內(nèi)振蕩器,石晶振蕩和陶瓷振蕩均可采用如采用,如果采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求

15、,但必須保證脈沖的上下電平要求的寬度。 P0口P0.0-P0.7:P0口是一個8位漏極開路型雙向I/O端口。P0口可做通用I/O口使用,但在端口進(jìn)行輸入操作前,應(yīng)先向端口的輸出鎖存器寫“1。在CPU訪問片外存儲器時,P0口自動作為地址/數(shù)據(jù)復(fù)用總線。在編程時,由P0口輸入指令字節(jié),而在驗(yàn)證程序時,P0口輸出指令字節(jié)驗(yàn)證時應(yīng)外接上拉電阻。P0口能以吸收電流的方式驅(qū)動8個LS型TTL負(fù)載。 P1口P1.0-P1.7:P1口是一個內(nèi)部帶上拉電阻的8為準(zhǔn)雙向I/O端口。當(dāng)P1輸出高電平是,能向外部提供拉電流負(fù)載,因此,不需再外接上拉電阻。當(dāng)端口用作輸入時,也應(yīng)先向端口的輸出鎖存器寫入“1。在編程和驗(yàn)證

16、程序時,P1口用來輸入低8位地址。P1口能驅(qū)動4個LS型TTL負(fù)載。 P2口P2.0-P2.7:P2口也是一個內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O端口。當(dāng)CPU訪問外部存儲器時,P2口自動用作輸出高8位地址,與P0低8位地址一起形成外部存儲器的16位地址總線。此時,P2口不再作為通用I/O口使用。P2口可驅(qū)動4個LS型TTL負(fù)載。在編程和驗(yàn)證程序時,P2口用作接收高8為地址。 P3口P3.0-P3.7:P3口是一個內(nèi)部帶上拉電阻的8位多功能雙向I/O端口。P3口除了作通用I/O端口外,其主要功能是它的各位還具有第二功能。無論P(yáng)3口作通用輸入框還是作第二輸入功能口使用,相應(yīng)位的輸出鎖存器和第二輸出功

17、能段都應(yīng)置“1。P3口能驅(qū)動4個LS型TTL負(fù)載。P3口作為第二功能使用時各引腳定義如下:P3.0 RXD:串行口輸入端; P3.1 TXD:串行口輸出端; P3.2 INT0:外部中斷0請求輸入端; P3.3 INT1:外部中斷1請求輸入端; P3.4 T0:定時/計數(shù)器0外部信號輸入端; P3.5 T1:定時/計數(shù)器1外部信號輸入端; P3.6 WR:外RAM寫選通信號輸出端; P3.7 RD:外RAM讀選通信號輸出端。 為便于硬件拓展以及滿足更多的使用有求,在P0、P2口處分別接1K和2.2K的上拉電阻,并在每個端口出添加VCC和GND引腳。2.3.2、晶振輸入電路設(shè)計 單片機(jī)必須在時鐘

18、的驅(qū)動下才能工作,在單片機(jī)內(nèi)部有一個時鐘振蕩電路,只要外界一個振蕩源就能產(chǎn)生一定的時鐘信號,送到單片機(jī)內(nèi)部的各個單元,決定單片機(jī)的工作速度。時鐘電路如下列圖 AT89C51單片機(jī)內(nèi)部的振蕩電路是一個高增益反向放大器,引線XTAL1和XTAL2分別是放大器的輸入端和輸出端。單片機(jī)內(nèi)部雖然有振蕩電路,但要形成時鐘,外部還需附加電路。AT89C51的時鐘產(chǎn)生方式有兩種:內(nèi)部時鐘電方式和外部時鐘方式。由于外部時鐘方式用于多片單片機(jī)組成的系統(tǒng)中,所以此處選用內(nèi)部時鐘方式。即利用其內(nèi)部的振蕩電路在XTAL1和XTAL2引線上外接定時元件,內(nèi)部振蕩電路產(chǎn)生自激振蕩。最常用的是在 XTAL1和XTAL2之間接

19、晶體振蕩器與電路構(gòu)成穩(wěn)定的自激振蕩器,如圖電路所示為單片機(jī)最常用的時鐘振蕩電路的接法,其中晶振可選用振蕩頻率為12MHz的石英晶體,電容器一般選擇30F左右。2.3.3、復(fù)位電路設(shè)計本設(shè)計中AT89C51是采用上電自動復(fù)位和按鍵復(fù)位兩種方式。復(fù)位電路可將單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài)。單片機(jī)的RES腳為硬件復(fù)位端,只要將持續(xù)高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài)。復(fù)位電路如下圖。由于單片機(jī)是高電平復(fù)位,所以當(dāng)按下S時,單片機(jī)的9腳RESET管腳處于高電平,此 時單片機(jī)處于復(fù)位狀態(tài),當(dāng)上電后,由于電容緩慢充電,單片機(jī)的9腳電壓逐步由高向低轉(zhuǎn)化,經(jīng)過一段時間后,單片機(jī)的9腳處

20、于穩(wěn)定的低電平狀態(tài),此時單片機(jī)上復(fù)位完畢,系統(tǒng)程序從0000H開始執(zhí)行。2.3.4、實(shí)現(xiàn)暫停與重置的按鍵電路本次設(shè)計的兩個獨(dú)立按鍵,分別接到P3.2口實(shí)現(xiàn)暫停功能和P3.3口實(shí)現(xiàn)從0計時功能,利用單片機(jī)中斷系統(tǒng),使功能實(shí)現(xiàn)。 2.3.5、數(shù)碼管顯示局部電路數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元多一個小數(shù)點(diǎn)顯示,按能顯示多少個8可分為1位、2位、4位等等數(shù)碼管,按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極COM的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時,應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極

21、管的陰極為低電平時,相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極 COM 的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光,二極管的陽極為高電平時,相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮。LED數(shù)碼管接法: 共陽極接法:把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時公共陽極接5V,每個發(fā)光二極管的陰極通過電阻與輸入端相連。 共陰極接法:把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時公共陰極接地,每個發(fā)光二極管的陽極通過電阻與輸入端相連。數(shù)碼管參數(shù):8字高度:8字上沿與下沿的距

22、離。比外型高度小,通常用英寸來表示。范圍一般為025-20英寸。 長*寬*高:長數(shù)碼管正放時,水平方向的長度;寬數(shù)碼管正放時,垂直方向上的長度;高數(shù)碼管的厚度 時鐘點(diǎn):四位數(shù)碼管中,第二位8與第三位8字中間的二個點(diǎn),一般用于顯示時鐘中的秒。LED8段數(shù)碼顯示管原理圖、引腳圖 相應(yīng)字段就不亮。LED數(shù)碼管段碼如下表:表1八段LED數(shù)碼管段碼表顯示數(shù)碼共陰型段碼共陽型段碼03FHC0H106HF9H25BHA4H34FHB0H466H99H560H92H670H82H707HF8H87FH80H96FH90H本設(shè)計采用共陰靜態(tài)七段數(shù)碼管顯示,其中P2口輸出個位段碼,P0口輸出十位段碼。 七段數(shù)碼管

23、顯示電路如下列圖 2.3.6、繪制原理圖.根據(jù)仿真軟件做出來的原理圖,在DXP軟件中再次繪制原理圖。Protel DXP2023是Altium公司于2023年推出的最新版本的電路設(shè)計軟件,該軟件能實(shí)現(xiàn)從概念設(shè)計,頂層設(shè)計直到輸出生產(chǎn)數(shù)據(jù)以及這之間的所有分析驗(yàn)證和設(shè)計數(shù)據(jù)的管理。當(dāng)前比擬流行的Protel 98、Protel 99 SE,就是它的前期版本。Protel DXP 2023已不是單純的PCB印制電路板設(shè)計工具,而是由多個模塊組成的系統(tǒng)工具,分別是SCH原理圖設(shè)計、SCH原理圖仿真、PCB印制電路板設(shè)計、Auto Router自動布線器和FPGA設(shè)計等,覆蓋了以PCB為核心的整個物理設(shè)

24、計。該軟件將工程管理方式、原理圖和PCB圖的雙向同步技術(shù)、多通道設(shè)計、拓樸自動布線以及電路仿真等技術(shù)結(jié)合在一起,為電路設(shè)計提供了強(qiáng)大的支持。步驟:1建立新工程文件,設(shè)置畫圖環(huán)境。2定元件和加載元件庫。3原理圖放置元件。4連接線路和放置節(jié)點(diǎn)。5電路ERC電氣規(guī)那么檢查.6生成網(wǎng)絡(luò)表。7生成元器件列表 。原理圖如下列圖:2.3.7、生成PCB圖根據(jù)原理圖生成PCB圖步驟:1創(chuàng)鍵PCB文件。2向PCB裝入網(wǎng)絡(luò)表 。3布置元器件的位置.4進(jìn)行布線PCB圖如下列圖:2.3.8、制作PCB板2.3.9、鉆孔,并焊接芯片 反面 正面2.4、遇到的問題與解決方法 我的任務(wù)局部是用DXP軟件繪制原理圖與生成PC

25、B圖,而我之前對于DXP軟件一無所知,完全一片茫然,由于生疏所以出現(xiàn)了許多問題,不過經(jīng)過不斷的探索,終于解決了這些問題,將任務(wù)完成了,對于DXP我也有一定的了解與掌握了。 1、問題:在布線的時候容易搞亂,不知道如何才能將線布好 解決方法:先將元器件擺整齊了,在慢慢布線就不容易搞亂 2、問題:數(shù)碼管的引腳與單片機(jī)的引腳沒有接對 解決方法:測試每個引腳所對應(yīng)的代號,然后在一一按要求與單片機(jī)引腳對接。 3、問題:在布線時總有一條線無法按要求不與其他線相交的連接起來。 解決方法:實(shí)在無法接入,就弄一條跳線。 4、問題:在畫原理圖的時候在庫里找不到適宜的元器件 解決方法:翻開庫,然后去安裝的庫里添加所需

26、要的元件三、系統(tǒng)軟件設(shè)計3.1、軟件總體設(shè)計方案 本次設(shè)計運(yùn)用的是匯編語言。匯編語言Assembly Language是面向機(jī)器的程序設(shè)計語言。在匯編語言中,用助記符HYPERLINK /view/4232760.htmMemoni代替機(jī)器指令的操作碼,用地址符號Symbol或標(biāo)號Label代替指令或操作數(shù)的地址,如此就增強(qiáng)了程序的可讀性并且降低了編寫難度,象這樣符號化的程序設(shè)計語言就是匯編語言,因此亦稱為符號語言。使用匯編語言編寫的程序,機(jī)器不能直接識別,還要由匯編程序或者叫匯編語言編譯器轉(zhuǎn)換成機(jī)器指令。匯編程序?qū)⒎柣牟僮鞔a組裝成處理器可以識別的機(jī)器指令,這個組裝的過程稱為組合或者匯編

27、。因此,有時候人們也把匯編語言稱為組合語言。 AT89S51單片機(jī)的內(nèi)部16位定時/計數(shù)器是一個可編程定時/計數(shù)器,它既可以工作在13位定時方式,也可以工作在16位定時方式和8位定時方式。只要通過設(shè)置特殊功能存放器TMOD,即可完成。定時/計數(shù)器何時工作也是通過軟件來設(shè)定TCON特殊功能存放器來完成的。 定時/計數(shù)器方式選擇存放器(TMOD)TMOD存放器是一個專用存放器,用于控制兩個定時計數(shù)器的工作方式,TMOD可以用字節(jié)傳送指令設(shè)置其內(nèi)容,但不能位尋址。TMOD主要是用于選定定時器的工作方式;TCON主要是用于控制定時器的啟動停止,此外TCON還可以保存T0、T1的溢出和中斷標(biāo)志。當(dāng)定時器

28、工作在計數(shù)方式時,外部事件通過引腳T0P3.4和T1P3.5輸入?,F(xiàn)在我們選擇16位定時工作方式,對于T0來說,最大定時也只有65536us,即65.536ms,無法到達(dá)我們所需要的1秒的定時,因此,我們必須通過軟件來處理這個問題,假設(shè)我們?nèi)0的最大定時為50ms,即要定時1秒需要經(jīng)過20次的50ms的定時。對于這20次我們就可以采用軟件的方法來統(tǒng)計了。 通過查閱資料:TMOD存放器結(jié)構(gòu)D7D6D5D4D3D2D1D0GATAM1M0GATAM1M0T1方式字段T0方式字段M1M0模式說明00013位定時計數(shù)器,TH高8位和TL的低5位01116位定時/計數(shù)器102自動重裝入初值的8位定時/

29、計數(shù)器113T0分成兩個獨(dú)立的8位計數(shù)器,T1沒有模式3根據(jù)上表,設(shè)定TMOD初值為00000001B,即TMOD01H。給T0定時/計數(shù)器的TH0,TL0裝入預(yù)置初值,通過下面的公式可以計算出:TH021650000/256 TL021650000MOD256TH0=(65536-50000)/256 =60(3CH) TL0=(65536-50000)%256 =176(B0H)注:當(dāng)為定時工作方式1時,定時時間的計算公式為:65536計數(shù)初值 晶振周期12 或 65536計數(shù)初值 機(jī)器周期 其時間單位與晶振周期或機(jī)器周期相同。當(dāng)T0在工作的時候,我們?nèi)绾蔚弥?0ms的定時時間已到,這回我

30、們通過檢測TCON特殊功能存放器中的TF0標(biāo)志位,如果TF01表示定時時間已到。TCON結(jié)構(gòu)D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0TF0、TF1分別是T0、T1的溢出標(biāo)志位,加1記滿溢出時置1,并申請中斷,在中斷響應(yīng)后自動清零。TR0、TR1分別是T0、T1的運(yùn)行控制位,通過軟件置1后,定時/才開始工作,在系統(tǒng)復(fù)位時清零。TCON的其余4位與中斷相關(guān)。 3.2、程序流程圖3.3、局部重要模塊匯編程序:START: MOV SECOND,#00H /秒數(shù)清零MOV TCOUNT,#00H /循環(huán)次數(shù)清零MOV TMOD,#01H/計時器工作模式1MOV

31、TCON,#05H /開定時器與中斷,邊沿觸發(fā)MOV IE ,#85H /開啟中斷MOV TH0,#3CH /賦初值MOV TL0,#B0HSETB TR0 /開啟定時器DISP: MOV A,SECOND /顯示局部子程序MOV B,#10DIV AB /A為十位數(shù),B為個位數(shù)MOV DPTR,#TABLEMOVC A,A+DPTR MOV P0,A /P0口向數(shù)碼管輸出十位數(shù)MOV A,BMOVC A,A+DPTRMOV P2,A /P2口向數(shù)碼管輸出個位數(shù)WAIT: JNB TF0,WAIT /計時局部子程序CLR TF0MOV TH0,#3CHMOV TL0,#B0HINC TCOUN

32、TMOV A,TCOUNTCJNE A,#20,NEXT /50ms 循環(huán) 20 次即 1sMOV TCOUNT,#00HINC SECONDMOV A,SECOND CJNE A,#60,NEX /1s 循環(huán) 60次,即為60sMOV SECOND,#00HNEX: LJMP DISPEXT0:MOV SECOND,#00HMOV TCOUNT,#00HSJMP STARTRETIEXT1:SJMP $ /暫停子程序RETINEXT: LJMP WAITTABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END四、系統(tǒng)調(diào)試4.1、軟件調(diào)試 1、

33、程序調(diào)試:運(yùn)用Keil軟件對程序進(jìn)行調(diào)試,檢查程序是否正確。 程序調(diào)試工具: Keil C51 仿真器是一款利用KEIL C51 的IDE 集成開發(fā)環(huán)境作為仿真環(huán)境的廉價仿真器,是利用SST公司具有IAP功能的單片機(jī)SST89C58制作而成,主要是利用了SST89C58的IAP功能所謂IAP功能,是In application program 的英文縮寫,是在應(yīng)用編程的意思,通俗一點(diǎn)講就是它可以通過串口,將用戶的程序下載到單片機(jī)中,可以通過串口對單片機(jī)進(jìn)行編程它,之所以具有這種功能,實(shí)際上它有兩塊程序flash區(qū),其中一塊flash中運(yùn)行的程序可以更改另外的一塊程序flash區(qū)中的程序,正是利

34、用這一特性才用它作成了仿真器,我們把仿真器的監(jiān)控程序事先燒入SST89C58監(jiān)控程序,通過SST89C58的串口和PC通訊。當(dāng)使用KEIL C51的IDE環(huán)境仿真時,用戶的程序通過串口被監(jiān)控程序?qū)懭雈lash程序區(qū)中,當(dāng)用戶設(shè)置斷點(diǎn)等操作仿真程序時,flash程序中的用戶程序也在相應(yīng)的更改,從而實(shí)現(xiàn)了仿真功能。 2、仿真:運(yùn)用proteus軟件對原理圖調(diào)試,檢查原理圖與程序是否能實(shí)現(xiàn)所需的功能。 仿真工具:Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器

35、件的工具。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2023年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。仿真圖如下列圖:4.2、硬件調(diào)試 1、將焊接完成的實(shí)際電路接通電源并進(jìn)行

36、調(diào)試,電路假設(shè)無反響,就用萬用表測試看各個連線有無斷路或短路,并將存在問題的線路糾正,再次連接電源進(jìn)行調(diào)試。 2、出現(xiàn)的問題:指示燈不亮,電路沒有反響。 原因:排阻接反了,電容是用的是極性電容正負(fù)極接反了,c51單片機(jī)裝反了。 解決方法:正確接入排阻與c51單片機(jī),該電容為非極性電容。 調(diào)試前 調(diào)試后系統(tǒng)功能我們做成的60S秒表,可以實(shí)現(xiàn)0060s的計時,而且可以循環(huán),當(dāng)計數(shù)到60時,會自動歸零。電源開關(guān)可控制通電與否,復(fù)位開關(guān)可進(jìn)行復(fù)位,開始/暫停開關(guān)可進(jìn)行控制計數(shù)的開始與暫停,清零開關(guān)可在暫停后進(jìn)行清零。LED指示燈可指示電路是否通電。總結(jié) 本課程設(shè)計充分利用單片機(jī)內(nèi)部硬件資源和軟件功能,將可以大大減少硬件電路的復(fù)雜性,使電路結(jié)構(gòu)更加簡潔,有利于提高頻率計的工作可靠性,本電路接口簡單,價格低廉,測量速度快,可單獨(dú)使用,也可嵌入大型系統(tǒng)中。 通過這短短的課程設(shè)計,我感覺到自己從課本上學(xué)到的理論知識和實(shí)踐仍有很大的差距,在DXP中很多元件都不認(rèn)識,都不知道這些元器件有什么成效,元器件在電路中如何工作的我都不是很清楚,元器件與元器件之間如何連接我都不太懂,我遇到了不少問題花費(fèi)了很多的時間,這讓我重新反思我們的學(xué)習(xí),深刻領(lǐng)悟到我們這個專業(yè)動手實(shí)踐的重要性,雖然我的實(shí)際電路沒有實(shí)現(xiàn)仿真的相應(yīng)功能,但是我學(xué)會了很多知識,掌握了更多的在課堂和書本上學(xué)不到的知識,增強(qiáng)了自己的動手和動

溫馨提示

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

評論

0/150

提交評論