數(shù)字電壓表課程設(shè)計(jì)(含程序、仿真圖)_第1頁(yè)
數(shù)字電壓表課程設(shè)計(jì)(含程序、仿真圖)_第2頁(yè)
數(shù)字電壓表課程設(shè)計(jì)(含程序、仿真圖)_第3頁(yè)
數(shù)字電壓表課程設(shè)計(jì)(含程序、仿真圖)_第4頁(yè)
數(shù)字電壓表課程設(shè)計(jì)(含程序、仿真圖)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)課程設(shè)計(jì)報(bào)告單片機(jī)課程設(shè)計(jì)報(bào)告 題目:簡(jiǎn)易數(shù)字電壓表題目:簡(jiǎn)易數(shù)字電壓表 姓 名: 學(xué) 號(hào): 專業(yè)班級(jí): 指導(dǎo)老師: 所在學(xué)院: 2008 年 6 月 10 日 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 1 摘要摘要 本設(shè)計(jì)是簡(jiǎn)易數(shù)字電壓表,隨著電子科學(xué)技術(shù)的發(fā)展,電子測(cè)量成為廣大 電子工作者必須掌握的手段,對(duì)測(cè)量的精度和功能的要求也越來(lái)越高,而電壓 的測(cè)量甚為突出,因?yàn)殡妷旱臏y(cè)量最為普遍。本設(shè)計(jì)在參閱了大量前人設(shè)計(jì)的 數(shù)字電壓表的基礎(chǔ)上介紹一種基于 89s52 單片機(jī)的一種電壓測(cè)量電路,該電路采 用 icl7135 高精度、雙積分 a/d 轉(zhuǎn)換電路,測(cè)量范圍直流 0-5 伏,使用 lcd 液晶模塊

2、顯示,可以與 pc 機(jī)進(jìn)行串行通信。正文著重給出了軟硬件系統(tǒng)的各部 分電路,介紹了雙積分電路的原理,89s52 的特點(diǎn),icl7135 的功能和應(yīng)用,lc d1601 的功能和應(yīng)用。該電路設(shè)計(jì)新穎、功能強(qiáng)大、可擴(kuò)展性強(qiáng)。本文首先簡(jiǎn) 要介紹了設(shè)計(jì)電壓表的主要方式以及單片機(jī)系統(tǒng)的優(yōu)勢(shì);然后詳細(xì)介紹了直流 數(shù)字電壓表的設(shè)計(jì)流程,以及硬件系統(tǒng)和軟件系統(tǒng)的設(shè)計(jì),并給出了硬件電路 的設(shè)計(jì)細(xì)節(jié),包括各部分電路的走向、芯片的選擇以及方案的可行性分析等。 通過這一個(gè)星期的努力,另外通過同學(xué)的幫助,我做成了這個(gè)簡(jiǎn)易數(shù)字電壓表 ,將程序鍵入可以顯示 0-5 的不同電壓值。通過此次課程設(shè)計(jì)使我對(duì)我們所 學(xué)的知識(shí)有了更

3、深的認(rèn)識(shí)和體會(huì),對(duì)自我動(dòng)手的能力也提高了很多。本論文重 點(diǎn)介紹單片機(jī)的數(shù)字電壓表的工作原理。 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 2 目錄 1 1 概述概述3 1.1 課程設(shè)計(jì)的目的和意義 3 1.2 課程設(shè)計(jì)的任務(wù) 3 2 2 系統(tǒng)總體方案及硬件設(shè)計(jì)系統(tǒng)總體方案及硬件設(shè)計(jì) 4 2.1 課程設(shè)計(jì)系統(tǒng)環(huán)境 4 2.2 設(shè)計(jì)原 理 4 2.3 設(shè)計(jì)方框圖 4 2.4 硬件電路的設(shè)計(jì) 5 2.5 電壓顯示電路 7 3 3 軟件設(shè)計(jì)軟件設(shè)計(jì) 8 3.1 主程序設(shè)計(jì) 8 3.2 通訊模塊設(shè)計(jì)設(shè)計(jì) 9 4 4 proteusproteus 軟件仿真軟件仿真 11 4.1 系統(tǒng)初始狀態(tài) 11 4.2 系統(tǒng)隨機(jī)狀態(tài)

4、 11 5 課程設(shè)計(jì)體會(huì)課程設(shè)計(jì)體會(huì) 14 參考文獻(xiàn)參考文獻(xiàn) 14 附附 1 1:源程序代碼:源程序代碼 16 附附 2 2:系統(tǒng)原理圖:系統(tǒng)原理圖 20 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 3 1 1 概述概述 1.1 課程設(shè)計(jì)的目的和意義: 本次課程設(shè)計(jì),讓我學(xué)習(xí)和鞏固了使用單片機(jī)的定時(shí)中斷、基本的常用的 寄存器的使用方法,還有就是學(xué)習(xí)常用的外圍硬件使用、電路原理圖設(shè)計(jì)、pcb 設(shè)計(jì)等等。使我對(duì)已學(xué)過的基礎(chǔ)知識(shí)有了更深入的理解,獨(dú)立思考、獨(dú)立工作 以及應(yīng)用所學(xué)基本理化分析和解決實(shí)際問題的能力有了很大的提高。 1.2 課程設(shè)計(jì)的任務(wù): 數(shù)字電壓表(digital voltmeter)簡(jiǎn)稱 dvm,

5、它是采用數(shù)字化測(cè)量技術(shù), 把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示 的儀表。傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足數(shù)字化時(shí)代的需求, 采用單片機(jī)的數(shù)字電壓表,由精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便, 還可與 pc 進(jìn)行實(shí)時(shí)通信。目前,由各種單片 a/d 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表, 已被廣泛用于電子及電工測(cè)量、工業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等智能化測(cè)量 領(lǐng)域,示出強(qiáng)大的生命力。與此同時(shí),由 dvm 擴(kuò)展而成的各種通用及專用數(shù)字 儀器儀表,也把電量及非電量測(cè)量技術(shù)提高到嶄新水平。本論文重點(diǎn)介紹單片 機(jī)的數(shù)字電壓表的工作原理。 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 4 2

6、 2 系統(tǒng)原理及基本框圖系統(tǒng)原理及基本框圖 2.1 課程設(shè)計(jì)系統(tǒng)環(huán)境 (1)proteus 仿真軟件 (2)keil c51 軟件調(diào)試環(huán)境或 wave 調(diào)試程序 2.2 設(shè)計(jì)原理 單片機(jī) at89c52 和 adc0832 設(shè)計(jì)一個(gè)數(shù)字電壓表,能夠測(cè)量 05v 之間的 直流電壓值,兩位數(shù)碼顯示。重點(diǎn)負(fù)責(zé)單片機(jī) at89c52 硬件部分的功能及應(yīng)用。 at89s52 是一個(gè)低功耗,高性能 cmos 8 位單片機(jī),片內(nèi)含 8k bytes isp(in- system programmable)的可反復(fù)擦寫 1000 次的 flash 只讀程序存儲(chǔ)器,器件采 用 atmel 公司的高密度、非易失性

7、存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn) mcs -51 指令系統(tǒng) 及 80c51 引腳結(jié)構(gòu),芯片內(nèi)集成了通用 8 位中央處理器和 isp flash 存儲(chǔ)單元, 功能強(qiáng)大的微型計(jì)算機(jī)的 at89s52 可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比 的解決方案。 at89s52 具有如下特點(diǎn):40 個(gè)引腳,8k bytes flash 片內(nèi)程序存儲(chǔ)器,256 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram) ,32 個(gè)外部雙向輸入/輸出(i/o)口,5 個(gè)中斷優(yōu)先級(jí) 2 層中斷嵌套中斷,2 個(gè) 16 位可編程定時(shí)計(jì)數(shù)器,2 個(gè)全雙工串行 通信口,看門狗(wdt)電路,片內(nèi)時(shí)鐘振蕩器。 此外,at89s52 設(shè)計(jì)和配置了振蕩

8、頻率可為 0hz 并可通過軟件設(shè)置省電模 式??臻e模式下,cpu 暫停工作,而 ram 定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可 繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存 ram 的數(shù)據(jù),停止芯片其它功能直至外 中斷激活或硬件復(fù)位。同時(shí)該芯片還具有 pdip、tqfp 和 plcc 等三種封裝形式, 以適應(yīng)不同產(chǎn)品的需求。 2.3 設(shè)計(jì)方框圖 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 5 2.4 硬件電路的設(shè)計(jì) 單片機(jī)采用 mcs-51 系列單片機(jī)。由 atmel 公司生產(chǎn)的 at89s52 是一種低功 耗、高性能 cmos8 位微控制器,具有 8k 在系統(tǒng)可編程 flash 存儲(chǔ)器。使用 atmel 公司高密度非易失

9、性存儲(chǔ)器技術(shù)制造,與工業(yè) 80c51 產(chǎn)品指令和引腳完 全兼容。在單芯片上,擁有靈巧的 8 位 cpu 和在線系統(tǒng)可編程 flash,使得 at89s52 為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。at89s52 具 有以下標(biāo)準(zhǔn)功能: 8k 字節(jié) flash,256 字節(jié) ram,32 位 i/o 口線,看門狗定 時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè) 16 位定時(shí)器/計(jì)數(shù)器,一個(gè) 6 向量 2 級(jí)中斷結(jié)構(gòu), 全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。空閑模式下,cpu 停止工作,允許 ram、 定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,ram 內(nèi)容被保存,振 蕩器被凍結(jié),單片機(jī)一切工作停止,

10、直到下一個(gè)中斷或硬件復(fù)位為止。 at89s52單片機(jī) 單片機(jī)選用的是atmel公司新推出的at89s52,如圖 3.2.1.1所示。該芯片 具有低功耗、高性能的特點(diǎn),是采用cmos工藝的8位單片機(jī),與at89c51完全兼 容。at89s52還有以下主要特點(diǎn): 采用了atmel公司的高密度、非易失性存儲(chǔ)器(nv-sram)技術(shù); 其片內(nèi)具有256字節(jié)ram,8kb的可在線編程(isp)flash存儲(chǔ)器; 單片機(jī) a/d 轉(zhuǎn) 換器 ad574a 電壓 顯示 器 模 擬 電 壓 輸 入 量程 控制 電路 系統(tǒng)總框圖 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 6 有2種低功耗節(jié)電工作方式:空閑模式和掉電模式 at

11、89s52 有 40 個(gè)引腳,32 個(gè)外部雙向輸入/輸出(i/o)端口,同時(shí)內(nèi)含 2 個(gè)外中斷口,2 個(gè) 16 位可編程定時(shí)計(jì)數(shù)器,2 個(gè)全雙工串行通信口,片上 flash 允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。其將通用的微處理器和 flash 存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的 flash 存儲(chǔ)器可有效地降低開 發(fā)。 單片機(jī)管腳說(shuō)明 vcc:供電電壓。 gnd:接地。 p0口:p0口為一個(gè)8位漏級(jí)開路雙向i/o口,每腳可吸收8ttl門流。當(dāng)p1口 的管腳第一次寫1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它 可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時(shí),p0 口作

12、為原碼輸入口,當(dāng) fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須被拉高。 p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收 輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外 部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校 驗(yàn)時(shí),p1口作為第八位地址接收。 p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸 出4個(gè)ttl門電流,當(dāng)p2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸 入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部 上拉的緣故。p2口當(dāng)用于外部

13、程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取 時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì) 外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p2 口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門 電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入, 由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。 p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電 平

14、時(shí)間。 ale/prog:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 7 的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以 不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì) 外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器 時(shí),將跳過一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如 果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無(wú)效。 /psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程

15、序存儲(chǔ)器取指期間,每個(gè) 機(jī)器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信 號(hào)將不出現(xiàn)。 /ea/vpp:當(dāng)/ea保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000h- ffffh) ,不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/ea將內(nèi)部鎖定為 reset;當(dāng)/ea端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在flash編程期間,此引 腳也用于施加12v編程電源(vpp) 。 xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 xtal2:來(lái)自反向振蕩器的輸出。 25 電壓顯示電路 設(shè)計(jì)中采用的是 8 段 led 數(shù)碼管來(lái)顯示電壓值。led 具有耗電低、亮度高、

16、視角大、線路簡(jiǎn)單、耐震及壽命長(zhǎng)等優(yōu)點(diǎn),它由 8 個(gè)發(fā)光二極管組成,其中 7 個(gè)按8字型排列,另一個(gè)發(fā)光二極管為圓點(diǎn)形狀,位于右下角,常用于顯示 小數(shù)點(diǎn)。把 8 個(gè)發(fā)光二極管連在一起,公共端接高電平,叫共陽(yáng)極接法,相反, 公共端接低電平的叫共陰極接法,我們采用共陽(yáng)極接法。當(dāng)發(fā)光二極管導(dǎo)通時(shí), 相應(yīng)的一段筆畫或點(diǎn)就發(fā)亮,從而形成不同的發(fā)光字符。其 8 段分別命名為 dp g f e d c b a。例如,要顯示“0” ,則 dp g f e d c b a 分別為:1100 0000b;要顯示“a” ,則 dp g f e d c b a 分別為:0001 0001b(共陽(yáng)極) 。若 要顯示多個(gè)數(shù)

17、字,只要讓若干個(gè)數(shù)碼管的位碼循環(huán)為低電平就可以了。 根據(jù)設(shè)計(jì)要求,顯示電路需要至少 4 位 led 數(shù)碼管來(lái)顯示電壓值,我們?cè)俣嗉?一位用來(lái)顯示電壓?jiǎn)挝弧皏” ,則有 7 位 led 循環(huán)顯示。利用單片機(jī)的 i/o 口驅(qū) 動(dòng) led 數(shù)碼管的亮滅,設(shè)計(jì)中由 p0 口驅(qū)動(dòng) led 的段碼顯示,即顯示字符,由 p2 口選擇 led 位碼,即選擇點(diǎn)亮哪位 led 來(lái)顯示。 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 8 3 3 系統(tǒng)的軟件設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì) 3.1 主程序設(shè)計(jì) icl7135a/d 與單片機(jī)連接電路的軟件設(shè) 計(jì)系統(tǒng)的程序流程圖如圖所示。主程序一開始 運(yùn)行則設(shè)置堆棧起始地址為 70h,設(shè)置中斷寄 存

18、器,用來(lái)對(duì) icl7135 的中斷進(jìn)行計(jì)數(shù),每 5 次后清零,完成一次數(shù)據(jù)采集工 作,然后設(shè)置 icl7135的 stb 端的中斷的優(yōu)先級(jí)。緊接著 lcdm1601b 進(jìn)行一次 清屏,使其各個(gè)指令、數(shù)據(jù)寄存器的值進(jìn)行清空,屏幕不顯示任何字符。以前 面對(duì) 1601b 的介紹,只要將 01h 送到數(shù)據(jù)總線,使 rs=0,r/w=0,e 有個(gè)下降沿 的脈沖就可以完成清屏工作。用以下指令實(shí)現(xiàn) mov p2,#01h ;送到數(shù)據(jù) db7-db0,調(diào)用子程序 enable,由于下降沿時(shí),內(nèi)部數(shù)據(jù)要送到 ram 區(qū),所 以要有一個(gè)延時(shí)子程序,使這個(gè)下降沿持續(xù) 2.5 毫秒。內(nèi)部 ram 有指令代碼后 就開始

19、對(duì) ram 進(jìn)行清零,所以屏幕原有的字符將被清除。接著對(duì) 1601 進(jìn)行功能 的設(shè)定。mov p2,#01111000b,按表 3.4.5 來(lái)看是設(shè)定 顯示器按 2 行顯示,每行 8 位,57 點(diǎn)陣。 調(diào)用一次子程序 enable 程序,寫入 cpu 的指令寄存器中。每次向 lcdm 中寫入 一個(gè)指令,就調(diào)用一次 enable,然后再對(duì)顯示器進(jìn)行閃爍、光標(biāo)等功能進(jìn)行設(shè) 定。顯示器的 ram 地址按加方法進(jìn)行讀寫。再設(shè)定第一行字符,也就是 voltage的顯示地址 80h。字符voltage的 table 表地址送到 dptr 中, 然后調(diào)用遠(yuǎn)程查表命令,依次把數(shù)據(jù)送到 p2 口,這時(shí)再調(diào)用子程

20、序 write3, 使 lcd1601 的 rs=1,r/w=0 使使能端 e 產(chǎn)生一個(gè)下降沿脈沖,將數(shù)據(jù)送入到數(shù) 圖 4.1.1 主程序流程圖 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 9 據(jù)寄存器中,接下來(lái)執(zhí)行子程序 display1,它的主要功能是將 table 表中的字 符輸出到 lcd 中去。調(diào)定好顯示字符數(shù)即遠(yuǎn)程查表的次數(shù),就開始查表了。 例如第一個(gè)字符“v”的 ascii 碼是 56h,就將這個(gè)碼送到 p2 口,再調(diào)用 使能數(shù)據(jù)子程序,使 rs=1(數(shù)據(jù)區(qū)使能)寫 入顯示數(shù)據(jù)區(qū),r/w=0 表示寫,e=來(lái)個(gè)下降 沿延時(shí) 2.5 毫秒,使數(shù)據(jù)寫入 ram 內(nèi)。完成 table 表輸出以后,向指

21、令 ram 中寫入第 2 行的起始地址為 och,再調(diào)用顯示采樣數(shù)據(jù) 的子程序。采樣數(shù)據(jù)存放的數(shù)據(jù)地址安排如下圖所示,首先將 60h 中的數(shù)顯示在 正負(fù)號(hào)的位置上,按照 ascii 碼表,正號(hào)不顯示(#20h) ,負(fù)號(hào)顯示“” (#2dh) 。 3.2 通訊模塊設(shè)計(jì)設(shè)計(jì) 89s52 單片機(jī)內(nèi)部有一個(gè)全雙工的串行通信口,即串行接收和發(fā)送緩沖器 (sbuf) ,這兩個(gè)在物理上獨(dú)立的接收發(fā)送器,既可以接收數(shù)據(jù)也可以發(fā)送數(shù)據(jù)。 但接收緩沖器只能讀出不能寫入,而發(fā)送緩沖器則只能寫入不能讀出,它們的 地址為 99h。這個(gè)通信口既可以用于網(wǎng)絡(luò)通信,亦可實(shí)現(xiàn)串行異步通信,還可 以構(gòu)成同步移位寄存器使用。如果在

22、傳行口的輸入輸出引腳上加上電平轉(zhuǎn)換器, 就可方便地構(gòu)成標(biāo)準(zhǔn)的 rs-232 接口。89s52 的串行口有 4 種工作方式,1 種同 步方式,3 種異步方式。本方式選方式 1,一幀數(shù)據(jù)有 10 位,包括起始位 0、8 位數(shù)據(jù)位和 1 位停止位 1。串行口電路在發(fā)送時(shí)能自動(dòng)加入起始位和停止位。 在接收時(shí),停止位進(jìn)入 scon 中的 rb8 位。方式 1 的波特率是可變的,由定時(shí)器 1 的溢出率決定。由定時(shí)器 1 最好工作在方式 2 上(自動(dòng)重裝載模式) ,這樣只 需對(duì) th1 設(shè)置一次即可。數(shù)據(jù)通過 txd 輸出,在 8 個(gè)位輸出完畢后,scon 寄存 器的 ti 位被設(shè)為 1,cpu 只要判斷

23、ti 是 1,接著發(fā)送下一個(gè)字節(jié)。 波特率的設(shè)定:定時(shí)器 t1 工作在方式 2 的初值為: 為了減小誤差,時(shí)鐘振蕩頻率采用 11.0592mhz,選用定時(shí)器 t1 工作在方式 2 作波特率發(fā)生器,波特率為 300,設(shè) smod 為 0,依公式(1.1)得初值為: 圖 4.1.2 數(shù)據(jù)地址 (1.1) 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 10 所以 th1 = tl1 = a0h mov scon ,#50h ;urat 工作在方式 1 上 mov tmod ,#20h ;time1 工作在方式 2 上 mov th1 , #0a0h ;設(shè)置波特率為 300 本設(shè)計(jì)的中斷十分重要,為了減少相互間的干擾

24、,保證可靠性,采用查詢 方式判斷是否發(fā)送完畢。 a6: jbc ti , a5 ;如果發(fā)送完畢跳,清標(biāo)志位,跳到 a5。 ajmp a6 ;否則跳到 a6,等待 a5: inc r0 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 11 4 4 proteusproteus 軟件仿真軟件仿真 用偉福軟件編輯程序,在仿真設(shè)置中選擇 lab2000p 仿真實(shí)驗(yàn)仿真器,選擇 8088/86 實(shí)驗(yàn)仿真頭,選擇 8088/86cpu 進(jìn)行匯編程序編輯,然后進(jìn)行 proteus 進(jìn)行仿真,其仿真圖如下: 4.1 系統(tǒng)初始狀態(tài)如圖: 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 12 4.2 系統(tǒng)的隨機(jī)狀態(tài): 電壓為 0.50v 時(shí)顯示如圖

25、: 電壓為 1.50v 時(shí)顯示如圖: 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 13 電壓為 4.00v 時(shí)顯示如圖: 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 14 5 5 課程設(shè)計(jì)體會(huì)課程設(shè)計(jì)體會(huì) 通過一周的課程能夠設(shè)計(jì),使我深刻的認(rèn)識(shí)到單片機(jī)的應(yīng)用已經(jīng)在工業(yè)、 電子等方方面面展示出了它的優(yōu)越性,利用單片機(jī)在設(shè)計(jì)電路逐漸成了趨勢(shì), 它與外圍的簡(jiǎn)單電路再加上優(yōu)化程序就可以構(gòu)建任意的產(chǎn)品,使得本設(shè)計(jì)成為 現(xiàn)實(shí)。隨著單片機(jī)的日益發(fā)展,它必將在未來(lái)顯示出更大的活力,為電子設(shè)計(jì) 增加更多精彩。 同時(shí)我也學(xué)到了很多書本上學(xué)習(xí)不到的東西,不僅使我加深了對(duì)單片機(jī)理 論的理解,將理論很好地應(yīng)用到實(shí)際當(dāng)中去,而且我還學(xué)會(huì)了如何去培養(yǎng)

26、我們 的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新,是要我們學(xué)會(huì)將理論很 好地聯(lián)系實(shí)際,并不斷地去開動(dòng)自己的大腦,從為人類造福的意愿出發(fā),做自 己力所能及的,別人卻沒想到的事。使之不斷地戰(zhàn)勝別人,超越前人。同時(shí), 更重要的是,我在這一設(shè)計(jì)過程中,學(xué)會(huì)了堅(jiān)持不懈,不輕易言棄。設(shè)計(jì)過程, 也好比是我們?nèi)祟惓砷L(zhǎng)的歷程,常有一些不如意,也許這就是在對(duì)我們提出了 挑戰(zhàn),勇敢過,也戰(zhàn)勝了,勝利的鐘聲也就一定會(huì)為我們而敲響。 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 15 這個(gè)設(shè)計(jì)過程中,我遇到過許多次失敗的考驗(yàn),就比如,自己對(duì)實(shí)際生活 中的交通秩序的不了解給整個(gè)設(shè)計(jì)帶來(lái)的困擾,真想要就此罷休,然而,就在 想要放棄的

27、那一刻,我明白了,原來(lái)結(jié)果并不那么重要,我們更應(yīng)該注重的是 這一整個(gè)過程。于是,我堅(jiān)持了下來(lái)。 最后,終于按要求把作品做出來(lái)了,雖然看似很簡(jiǎn)單,但是對(duì)我們的實(shí)際 動(dòng)手能力卻是很考驗(yàn)的,這也對(duì)我們今后的工作敲響了警鐘:要認(rèn)真的看待每 個(gè)需要處理的問題,不要認(rèn)為事情過于簡(jiǎn)單,不能急于求成,更不要輕易說(shuō)放 棄,要保持你的頭腦清醒。 這次單片機(jī)課程設(shè)計(jì)給我的最大的印象就是努力的動(dòng)手去做,困難在你的 勇氣和毅力下是抬不了頭的。從做這個(gè)設(shè)計(jì)開始無(wú)論遇到什么困難,我都沒有 一絲的放棄的念頭。出于對(duì)知識(shí)的渴望,出于對(duì)新技術(shù)的好奇,出于對(duì)一切未 知的求知。 希望以后有更多的機(jī)會(huì)多多參與這樣的設(shè)計(jì)和實(shí)習(xí),鍛煉我們

28、的動(dòng)手能力, 為今后的工作和學(xué)習(xí)奠定基礎(chǔ)。 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 16 參考文獻(xiàn)參考文獻(xiàn) 1 余發(fā)山.單片機(jī)原理及應(yīng)用.徐州:中國(guó)礦業(yè)大學(xué)出版社,2003 2 譚浩強(qiáng).c 語(yǔ)言設(shè)計(jì)(第二版).北京:清華大學(xué)出版社,2006 3 吳金戌,沈慶陽(yáng),郭庭吉.8051 單片機(jī)實(shí)踐與應(yīng)用m.北京:清華大 學(xué)出版社,2002. 4 劉偉,趙俊逸,黃勇, 一種基予 c8051f 單片機(jī)的 soc 型數(shù)據(jù)采錄器的設(shè) 計(jì)與實(shí)現(xiàn) a.天津市計(jì)算機(jī)學(xué)會(huì)單片機(jī)分會(huì)編. 2003 年全國(guó)單片機(jī)及嵌 如入式系統(tǒng)學(xué)術(shù)年會(huì)論文集(下冊(cè)) c .北京:北京航空航天大學(xué)出版社, 2003 .790-794 5 何立民.單

29、片機(jī)應(yīng)用技術(shù)大全.北京:北京航空航天大學(xué)出版社, 1994 附 1 源程序代碼 org 0000h ajmp main org 000bh ;定時(shí)器 t0 的入口 ajmp disp ;顯示程序 org 0030h main: mov sp,#5fh ;設(shè)置堆棧 mov p1,#0ffh mov p0,#0ffh mov p2,#0ffh ;初始化,所顯示器,led 滅 mov tmod,#00000001b ;定時(shí)器 t0 工作于模式 1(16 位定時(shí)/計(jì)數(shù)模式) mov th0,#high(65536-2000) mov tl0,#low(65536-2000) setb tr0 ;開定時(shí)

30、器 0 setb ea ;開總中斷 setb et0 ;開定時(shí)器 0 中斷 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 17 mov counter,#0 ;計(jì)數(shù)器初始化 loop: lcall adc_demo ;調(diào)用 ad 子程序 ajmp loop ;/= ;/ 啟動(dòng) ad 轉(zhuǎn)換 ;/= adc_start: clr ad_cs nop clr ad_wr nop setb ad_wr nop setb ad_cs nop ret ;/= ;/ 讀 ad 轉(zhuǎn)換 ;/= adc_read: mov ad_input_port,#0ffh clr ad_cs nop clr ad_rd nop nop mov a,ad_input_port nop setb ad_rd nop setb ad_cs ret ;/= ;/ ad 轉(zhuǎn)換讀取延時(shí)程序,顯示讀到的數(shù)值 ;/= adc_demo: 河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告 18 lcall adc_start lcall delay1ms lcall adc_read mov b,#100 ;ad 轉(zhuǎn)換出的值除 100 商為百位數(shù) div ab ; 取百位數(shù) 余數(shù)在 b 寄存器 mov dispbuf,a ;把百位存入百位寄存器 dispbuf mo

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論