基于串行AD轉(zhuǎn)換器數(shù)字電壓表設(shè)計_第1頁
基于串行AD轉(zhuǎn)換器數(shù)字電壓表設(shè)計_第2頁
基于串行AD轉(zhuǎn)換器數(shù)字電壓表設(shè)計_第3頁
基于串行AD轉(zhuǎn)換器數(shù)字電壓表設(shè)計_第4頁
基于串行AD轉(zhuǎn)換器數(shù)字電壓表設(shè)計_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、重慶三峽學(xué)院電子信息工程專業(yè)實訓(xùn)(串行A/D轉(zhuǎn)換器數(shù)字電壓表設(shè)計)學(xué) 院: 年級專業(yè): 學(xué) 號: 學(xué)生姓名: 指導(dǎo)教師: 完成日期 2012年11月30日基于TLC549串行A/D轉(zhuǎn)換器的簡易電壓表的設(shè)計重慶三峽學(xué)院 摘要:本次設(shè)計的數(shù)字電壓表主要由AT89C51單片機、A/D轉(zhuǎn)換器TLC549、顯示電路等模塊組成。它是具有電壓測量功能的一定精度的數(shù)字電壓表。它可以測量0-5V的輸入電壓值,并在3位LED數(shù)碼管上顯示。測量最小分辨為0.020V,測量誤差約為±0.02V。以AT89C51單片機為核心,設(shè)計一個數(shù)字電壓表。用8位A/D轉(zhuǎn)換器TLC549進行電壓信號的采集。由于系統(tǒng)構(gòu)造簡

2、單,抗干擾能力較強,具有一定的實用價值。關(guān)鍵字:單片機;數(shù)字電壓表;A/D轉(zhuǎn)換;AT89C51;TLC549目錄第一章 設(shè)計要求3 1.1要求3第二章 數(shù)字電壓表3 2. 1數(shù)字電壓表的介紹3 2.2 數(shù)字電壓表的結(jié)構(gòu)3第三章 總體方案論證3第四章 系統(tǒng)軟件的設(shè)計4 4.1單片機控制部分4 4.1.1 單機片AT89C51內(nèi)部結(jié)構(gòu)概述44.1.2 AT89C51性能4TLC549的內(nèi)部結(jié)構(gòu)及工作原理5單機片AT89C51結(jié)構(gòu)6 4.1.5時鐘電路7 4.1.6復(fù)位電路74.1.7 總線擴展電路和地址鎖存電路74.1.8 單片機部分總體結(jié)構(gòu)84.1.9 驅(qū)動及顯示電路9第五章 程序設(shè)計10 5.

3、1 程序設(shè)計總方案10 5.2 系統(tǒng)子程序設(shè)計115.2.1 初始化程序115.2.2 A/D轉(zhuǎn)換子程序11 5.2.3 顯示子程序12第六章 仿真126.1 軟件調(diào)試126.2顯示結(jié)果及誤差分析136.2.1 顯示結(jié)果136.2.2 誤差分析15第七章 系統(tǒng)軟件的設(shè)計16 7.1 主程序167.2拆字子程序177.3掃描子程序17 7.4讀取字節(jié)子程序,讀出的值在ACC18 7.5標(biāo)度變換子程序19 7.6原理圖20 7.8最后結(jié)果21第八章 實訓(xùn)心得. 21參考文獻(xiàn)22附錄22致謝26第一章 設(shè)計要求1.1要求:1) 以TLC549串行A/D轉(zhuǎn)換器和AT89C51單片機設(shè)計一個5V的數(shù)字電

4、壓表,電壓值由電位器模擬。2) 采用3位LED顯示器,顯示格式為“.”V。1.2:擴展要求:1) 顯示器采用LCD1602,顯示格式為:“.V”。采用定時采樣方式,每隔0.5秒進行一次A/D采樣。第二章 數(shù)字電壓表2.1數(shù)字電壓表的介紹 數(shù)字電壓表(Digital Voltmeter)簡稱DVM,它是采用數(shù)字化測量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。2.2 數(shù)字電壓表的結(jié)構(gòu) 數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ),電壓表的數(shù)字化是將連續(xù)的模擬量如直流電壓轉(zhuǎn)換成不連續(xù)的離散的數(shù)字形式并加以顯示,這有別于傳統(tǒng)的以指針加刻度盤進行讀數(shù)的方法, 避免了讀數(shù)

5、的視差和視覺疲勞。目前數(shù)字電壓表的內(nèi)部核心部件是A/D轉(zhuǎn)換器, 轉(zhuǎn)換器的精度很大程度上影響著數(shù)字電壓表的準(zhǔn)確度,數(shù)字式電壓表是由高阻抗電壓表頭與分壓電路組成的。 各部分的功能:A/D轉(zhuǎn)換器:將輸入的模擬信號轉(zhuǎn)換成數(shù)字信號?;鶞?zhǔn)電源:提供精密電壓,供A/D轉(zhuǎn)換器作參考電壓。譯碼器:將二-十進制(BCD)碼轉(zhuǎn)換成七段信號。驅(qū)動器:驅(qū)動顯示器的a、b、c、d、e、f、g七個發(fā)光段,驅(qū)動發(fā)光數(shù)碼管(LED)進行顯示。顯示器:將譯碼輸出的七段信號進行數(shù)字顯示,讀出A/D轉(zhuǎn)換結(jié)果。鍵盤:通過鍵盤輸入0-9來設(shè)置定時器的時間,進而改變采樣時間間隔。第三章 總體方案論證 按系統(tǒng)功能實現(xiàn)要求,決定控制系統(tǒng)采用A

6、T89C51單片機,A/D轉(zhuǎn)換采用TLC549,先由采樣電路對直流電壓進行采樣,因為要達(dá)到精度要求,所以選擇了8位AD轉(zhuǎn)換電路,然后通過單片機進行控制,不僅可以復(fù)位控制,而且可以通過鍵盤進行定時采樣的設(shè)置,最后在驅(qū)動顯示電路上顯示出相關(guān)的信息。顯示采用LED七段共陰極數(shù)碼管。第四章 系統(tǒng)硬件的設(shè)計數(shù)字電壓測量電路由AT89C51單片機、A/D轉(zhuǎn)換TLC549、3位LED數(shù)碼管顯示等電路組成4.1 單片機控制部分4.1.1 單片機AT89C51內(nèi)部結(jié)構(gòu)概述它由中央處理區(qū)(CPU),內(nèi)部RAM,內(nèi)部ROM,定時器/計數(shù)器,并行I/O口,串行口,中斷控制系統(tǒng)等部分通過片內(nèi)總線連接組成。4.1.2 A

7、T89C51性能 AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機,片內(nèi)含有4KB的可反復(fù)擦寫的只讀程序存儲器和128字節(jié)的隨機存儲器。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容,由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,它為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 AT89C51功能性能:與MCS-51成品指令系統(tǒng)完全兼容;4KB可編程閃速存儲器;壽命:1000次寫/擦循環(huán);數(shù)據(jù)保留時間:10年;全靜態(tài)工作:0-24MHz;三級程序存儲器鎖定;12

8、8*8B內(nèi)部RAM;32個可編程I/O口線;2個16位定時/計數(shù)器;5個中斷源;可編程串行UART通道;片內(nèi)震蕩器和掉電模式。 4.1.3 TLC549的內(nèi)部結(jié)構(gòu)及工作原理 TLC549帶有片內(nèi)系統(tǒng)時鐘,該時鐘與IOCLOCK是獨立工作的,無需特殊的速度或相位匹配。當(dāng)CS為高時,數(shù)據(jù)輸DATA OUT端處于高阻狀態(tài),此時IO CLOCK不起作用。這種CS控制作用允許在同時使用多片TLc549時,共用IOcLOCK,以減少多路(片)AD使用時的IO控制端口。一組通常的控制時序操作如下: (1)將Cs置低,內(nèi)部電路在測得CS下降沿后,在等待兩個內(nèi)部時鐘上升沿和一個下降沿后,再確認(rèn)這一變化,最后自動

9、將前一次轉(zhuǎn)換結(jié)果的最高位(D7)位輸出到DATAOUT端; (2)在前四個IO CLOCK周期的下降沿依次移出第2、3、4和第5個位(D6,D5,D4,D3),片上采樣保持電路在第4個IO CLOCK下降沿開始采樣模擬輔人: (3)接下來的3個I/O CLOCK周期的下降沿可移出第6、7、8(D2,D1,D0)各轉(zhuǎn)換位;(4)最后,片上采樣保持電路在第8個IOCLOCK周期的下降沿將移出第6、7、8(D2,D1,D0)各轉(zhuǎn)換位。然后使保持功能持續(xù)4個內(nèi)部時鐘周期,接著開始進行32個內(nèi)部時鐘周期的AD轉(zhuǎn)換。在第8個IO cLCOK后,CS必須為高或IO LOCK保持低電平,這種狀態(tài)需要維持36個

10、內(nèi)部系統(tǒng)時鐘周期以等待保持和轉(zhuǎn)換工作的完成。如果CS為低時,IO CLOCK上出現(xiàn)一個有效干擾脈沖,則微處理器,控制器將與器件的IO時序失去同步;而在cs為高時若出現(xiàn)一次有效低電平,則將使引腳重新初始化,從而脫離原轉(zhuǎn)換過程。在36個內(nèi)部系統(tǒng)時鐘周期結(jié)束之前,實施步驟(1)(4),可重新啟動一次新的AD轉(zhuǎn)換,與此同時,正在進行的轉(zhuǎn)換將終止。但應(yīng)注意,此時的輸出是前一次的轉(zhuǎn)換結(jié)果而不是正在進行的轉(zhuǎn)換結(jié)果。若要在特定的時刻采樣模擬信號,則應(yīng)使第8個IO CLOCK時鐘的下降沿與該時刻對應(yīng)。因為芯片雖在第4個IO CLOCK時鐘的下降沿開始采樣,卻在第8個IO CLOCK的下降沿才開始保存。4.1.4

11、 單機片AT89C51結(jié)構(gòu)1)電源及時鐘引腳(4個)VCC:+5 V電源。提供掉電空閑正常電壓3種模式。GND:地線。XTAL1和XTAL2:外接晶體引線端2)控制線引腳(4個)RST:復(fù)位信號輸入/備用電源輸入引腳。ALE/PROG:地址鎖存控制/編程脈沖輸入信號。/PSEN:外部程序存儲器讀選通信號。 /EA/VPP:訪問程序存儲控制信號/可編程電壓輸入端。3)P0.0P0.7:P0口8位三態(tài)雙向I/O口。1)作為分時復(fù)用的低8位地址線和8位數(shù)據(jù)線。2)在不訪問外部存儲器時,作為通用I/O口。P0端口能以吸收電流的方式驅(qū)動負(fù)載,一般情況下是作為擴展時候的地址數(shù)據(jù)總線使用的。 P1.0P1.

12、7:P1端口8位帶內(nèi)部上拉電阻的準(zhǔn)雙向I/O口線(有第二功能)。P2.0 P2.7:3端口8位帶內(nèi)部上拉電阻的準(zhǔn)雙向I/O口線。P3.0P3.7:P3端口8位帶內(nèi)部上拉電阻的準(zhǔn)雙向I/O口線(有第二功能)。引腳第二功能功能描述P1.0T2外部計數(shù)輸入/時鐘輸出P1.1T2EXT2的重裝/捕捉/方向控制P1.2ECIPCA 的外部時鐘輸入腳P1.3CEX0PCA模塊0捕獲/比較模式的外部I/O腳P1.4CEX1PCA模塊1捕獲/比較模式的外部I/O腳P1.5CEX2PCA模塊2捕獲/比較模式的外部I/O腳P1.6CEX3PCA模塊3捕獲/比較模式的外部I/O腳P1.7CEX4PCA模塊4捕獲/比

13、較模式的外部I/O腳4.1.5 時鐘電路單片機的時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩方式。但本次只用了內(nèi)部振蕩。如圖電路中的器件選擇可以通過計算和實驗確定,也可以參考一些典型電路的參數(shù),電路中,電容器C1和C2對震蕩頻率有微調(diào)作用,通常的取值范圍是30±10pF,在這個系統(tǒng)中選擇了33pF;石英晶振選擇范圍最高可選24MHz,它決定了單片機電路產(chǎn)生的時鐘信號震蕩頻率,在本系統(tǒng)中選擇的是12MHz,因而時鐘信號的震蕩頻率為12MHz。4.1.6 復(fù)位電路復(fù)位操作通常有兩種基本形式:上電復(fù)位和按鍵與上電復(fù)位。如圖所示上電或按鍵與上電復(fù)位要求電源接通后,單片機自動復(fù)位,并且在

14、單片機運行期間,用開關(guān)操作也能使單片機復(fù)位。上電后,由于電容C4的充電和反相門的作用,使RST持續(xù)一段時間的高電平。當(dāng)單片機已在運行當(dāng)中時,按下復(fù)位鍵后松開,也能使RST為一段時間的高電平,從而實現(xiàn)上電或按鍵與上電復(fù)位的操作。4.1.7總線擴展電路和地址鎖存電路 單片機系統(tǒng)的I/O口和數(shù)據(jù)存儲器統(tǒng)一編址,將擴展的I/O口看作片外的數(shù)據(jù)存儲器,一個I/O口占用一個片外數(shù)據(jù)存儲器單元的地址。擴展I/O口也使用 、作為讀、寫控制信號,使用MOVX指令進行訪問。 擴展的I/O口可分為不可編程(簡單I/O)和可編程兩大類。 74LS240芯片:由于該芯片與74LS244類似,因此可以采用對74LS240

15、的研究來熟悉74LS2404.1.8單片機部分總體結(jié)構(gòu)單片機總體結(jié)構(gòu)部分由主芯片AT89C51、復(fù)位電路、時鐘電路及總線擴展芯片74LS240等芯片構(gòu)成。 4.1.9 驅(qū)動及顯示電路 數(shù)碼管由8個發(fā)光二極管構(gòu)成,可以用來顯示數(shù)字、字符等,它在家電及工業(yè)控制中有著很廣泛的應(yīng)用,例如用來顯示溫度、數(shù)量、重量、日期、時間等,具有顯示醒目、直觀的特點,如下圖所示數(shù)碼管的內(nèi)部結(jié)構(gòu)圖 這次設(shè)計中,采用的是74LS240共陰驅(qū)動數(shù)碼管的a .b.c.d.e.f.g七段顯示 顯示電路與驅(qū)動電路的原理圖 第五章 程序設(shè)計5.1 程序設(shè)計總方案根據(jù)模塊的劃分原則,將該程序劃分初始化模塊,A/D轉(zhuǎn)換子程序和顯示子程

16、序,這三個程序模塊構(gòu)成了整個系統(tǒng)軟件的主程序,如圖12所示。開始初始化調(diào)用A/D轉(zhuǎn)換子程序調(diào)用顯示子程序結(jié)束圖12 數(shù)字式直流電壓表主程序框圖5.2 系統(tǒng)子程序設(shè)計5.2.1 初始化程序所謂初始化,是對將要用到的MCS_51系列單片機內(nèi)部部件或擴展芯片進行初始工作狀態(tài)設(shè)定,初始化子程序的主要工作是設(shè)置定時器的工作模式,初值預(yù)置,開中斷和打開定時器等9。5.2.2 A/D轉(zhuǎn)換子程序A/D轉(zhuǎn)換子程序用來控制對輸入的模塊電壓信號的采集測量,并將對應(yīng)的數(shù)值存入相應(yīng)的內(nèi)存單元,其轉(zhuǎn)換流程圖如圖13所示。開始啟動轉(zhuǎn)換A/D轉(zhuǎn)換結(jié)束?輸出轉(zhuǎn)換結(jié)果數(shù)值轉(zhuǎn)換顯示結(jié)束圖13 A/D轉(zhuǎn)換流程圖5.2.3 顯示子程序

17、顯示子程序采用動態(tài)掃描實現(xiàn)四位數(shù)碼管的數(shù)值顯示,在采用動態(tài)掃描顯示方式時,要使得LED顯示的比較均勻,又有足夠的亮度,需要設(shè)置適當(dāng)?shù)膾呙桀l率,當(dāng)掃描頻率在70HZ左右時,能夠產(chǎn)生比較好的顯示效果,一般可以采用間隔10ms對LED進行動態(tài)掃描一次,每一位LED的顯示時間為1ms。在本設(shè)計中,為了簡化硬件設(shè)計,主要采用軟件定時的方式,即用定時器0溢出中斷功能實現(xiàn)11s定時,通過軟件延時程序來實現(xiàn)5ms的延時。第六章 仿真6.1 軟件調(diào)試軟件調(diào)試的主要任務(wù)是排查錯誤,錯誤主要包括邏輯和功能錯誤,這些錯誤有些是顯性的,而有些是隱形的,可以通過仿真開發(fā)系統(tǒng)發(fā)現(xiàn)逐步改正。Proteus軟件可以對基于微控制

18、器的設(shè)計連同所有的周圍電子器件一起仿真,用戶甚至可以實時采用諸如LED/LCD、鍵盤、RS232終端等動態(tài)外設(shè)模型來對設(shè)計進行交互仿真。Proteus支持的微處理芯片包括8051系列、AVR系列、PIC系列、HC11系列及Z80等等。Proteus可以完成單片機系統(tǒng)原理圖電路繪制、PCB設(shè)計,更為顯著點的特點是可以與u Visions3 IDE工具軟件結(jié)合進行編程仿真調(diào)試。本系統(tǒng)的調(diào)試主要以軟件為主,其中,系統(tǒng)電路圖的繪制和仿真我采用的是Proteus軟件,而程序方面,采用的是匯編語言,用Keil軟件將程序?qū)懭雴纹瑱C。6.2顯示結(jié)果及誤差分析6.2.1 顯示結(jié)果1.當(dāng)IN0口輸入電壓值為0V時

19、,顯示結(jié)果如圖14所示,測量誤差為0V。 圖14 輸入電壓為0V時,LED的顯示結(jié)果2.當(dāng)IN0輸入電壓值為1.50V時,顯示結(jié)果如圖15所示。測量誤差為0V。 圖15 輸入電壓為1.50V時,LED的顯示結(jié)果3. 當(dāng)IN0口輸入電壓值為3.50V時,顯示結(jié)果如圖16。測量誤差為0V。 圖16 輸入電壓為3.50V時,LED的顯示結(jié)果6.2.2 誤差分析通過以上仿真測量結(jié)果可得到簡易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表對比測試表,如下表4所示:表4 簡易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表對比測試表標(biāo)準(zhǔn)電壓值/V簡易電壓表測量值/V絕對誤差/V0.000.000.000.500.510.011.001.0

20、00.001.501.510.012.002.000.002.502.500.003.003.000.003.503.500.004.004.000.004.995.000.01 由于單片機AT89C51為8位處理器,當(dāng)輸入電壓為5.00V時,TLC549輸出數(shù)據(jù)值為255(FFH),因此單片機最高的數(shù)值分辨率為0.0196V(5/255)。這就決定了電壓表的最高分辨率只能到0.0196V,從上表可看到,測試電壓一般以0.01V的幅度變化。 從上表可以看出,簡易數(shù)字電壓表測得的值基本上比標(biāo)準(zhǔn)電壓值偏大0-0.01V,這可以通過校正TLC549的基準(zhǔn)電壓來解決。因為該電壓表設(shè)計時直接用5V的供電

21、電源作為電壓,所以電壓可能有偏差。當(dāng)要測量大于5V的電壓時,可在輸入口使用分壓電阻,而程序中只要將計算程序的除數(shù)進行調(diào)整就可以了。第七章 系統(tǒng)軟件的設(shè)計71主程序;*;* 初始化程序 *;*SDA EQU P1.7 ;DATA OUTSCL EQU P1.6 ;I/O CLOCKCS EQU P1.0 ;/CS片選DP EQU P0.7MTD EQU 30H ;發(fā)送緩沖區(qū)首址MRD EQU 40H ;接收緩沖區(qū)首址;*;* 電壓表實驗主程序 *;* ORG 0000H LJMP SE11 ORG 0590HSE11:MOV SP,#53H ;MOV p2,#0ffh ;MOV A,#81H ;

22、MOV DPTR,#0FF23H ;MOVX DPTR,A MOV 7CH,#09H ;顯示緩沖區(qū)賦初值 MOV 7BH,#14H MOV 7AH,#10H MOV 79H,#10H LO18:LCALL SSEE ;調(diào)用顯示子程序 CLR CS ;選中TLC549器件 LCALL RDBYTE ;讀取采樣/保持的數(shù)字量,并送到寄存器A SETB CS ;等待A/D轉(zhuǎn)換結(jié)束 NOP ;NOP NOP NOP NOP NOP NOP LCALL BIAODUSJMP LO18 7.3 拆字子程序ORG 05D0HPTDS:MOV R1,A ;拆送顯示緩沖區(qū) ACALL PTDS1 MOV A,R

23、1 SWAP APTDS1: ANL A,#0FH MOV R0,A INC R0 RET7.4 掃描子程序 ORG 0D50HL1:LCALL SSEESJMP L1SSEE:SETB RS1 ;換工作區(qū)MOV R5,#04HSSE2:MOV 30H,#20H;位控碼MOV 31H,#7BH;顯示緩沖區(qū)MOV R7,#03HSSE1: ; MOV R1,#20H MOV A,30HCPL A;低電平位控MOV P3,A ;字位送入MOV R0,31HMOV A,R0MOV DPTR,#DDFFMOVC A,A+DPTR ;取字形代碼JB P3.5 , LL1CLR ACC.7;MOV R1,

24、#21H;MOVX R1,A ;字形送入LL1:MOV P0 , A LCALL DELY5MSMOV A,30HRR A ;左移MOV 30H,ADEC 31HMOV A,#0ffH;MOVX R1,A ;關(guān)顯示;MOV P3 , ADJNZ R7,SSE1 ;六位顯示完了嗎?DJNZ R5,SSE2 ;8次顯示完了嗎?CLR RS1RETDDFF:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0F1H,0C6H,092H,0BFH;共陽代碼 ;DB 3FH,06H,5BH,4

25、FH,66H,6DH,7DH,07H,7FH,6FH,40H ;DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH;動態(tài)掃描代碼DELY5MS: MOV R2, #5 D5: MOV R3,#248 DJNZ R3,$ DJNZ R2,D5 RET7.5讀取字節(jié)子程序,讀出的值在ACCRDBYTE: MOV R0,#08HRLP: SETB SDASETB SCL ;時鐘線為高,接收數(shù)據(jù)位 MOV C,SDA ;讀取數(shù)據(jù)位 MOV A,R2 CLR SCL ;將SCL拉低 RLC A ;進行數(shù)據(jù)位的處理 MOV R2,A CLR SCL DJNZ R0,RLP

26、 ;未夠8位,再來一次 MOV A, R2 ;MODIFIED RET7.6標(biāo)度變換子程序;入口:(A)=采樣值;出口:(7CH、7BH)=BCD碼整數(shù);(7AH、79H)=BCD碼小數(shù);*BIAODU: MOV B,#5 MUL AB;高字節(jié)電壓的整數(shù)部分;低字節(jié)電壓的小數(shù)部分 MOV R2,B;暫存整數(shù)部分 LCALL HBD;BCD碼的小數(shù)部分放A中 JNC BIA1;無進位,跳轉(zhuǎn) INC R2;有進位,整數(shù)部分加1BIA1: MOV R0,#79H;拆送顯示緩沖區(qū)7AH,79H(小數(shù)) LCALL PTDS MOV A , R2 LCALL HBCD;BCD碼的整數(shù)部分轉(zhuǎn)換 MOV R

27、0,#7BH;拆送顯示緩沖區(qū)7AH,79H(小數(shù)) LCALL PTDS RET HBCD: MOV B,#100 ;分離出百位,存放在R3中 DIV AB MOV R3,A MOV A,#10 ;余數(shù)繼續(xù)分離十位和個位 XCH A,B DIV AB SWAP A ORL A,B ;將十位和個位拼裝成碼 RETHBD: MOV B,#100 ;原小數(shù)擴大一百倍 MUL AB RLC A ;余數(shù)部分四舍五入 CLR A ADDC A,B MOV B,#10 ;分離出十分位和百分位 DIV AB SWAP A ADD A,B ;拼裝成單字節(jié)碼小數(shù) DA A ;調(diào)整后若有進位,原小數(shù)接近整數(shù) RET

28、 END ; 結(jié)束程序7.7原理圖7.8最后結(jié)果第八章 實訓(xùn)心得為期兩周的實訓(xùn)已經(jīng)接近尾聲,在這2周中,我學(xué)到了很多,對單片機的認(rèn)識也進一步加深了。通過實訓(xùn),我不僅學(xué)到了關(guān)于單片機的許多專業(yè)知識,同時也讓我感覺到團隊合作的重要性。其實如何有效和快速的找到資料也是課程設(shè)計給我的啟發(fā),利用好圖書館和網(wǎng)絡(luò),是資源的達(dá)到最好的利用。通過思考、發(fā)問、自己解惑并動手、改進的過程,才能真正的完成課題。我們通過相互學(xué)習(xí),相互溝通,一起研究,讓很多的實驗都做得相當(dāng)?shù)某晒?,心中的成就感與自豪感油然而生。班級的那種團結(jié)氛圍填滿了整個實訓(xùn)間。本次課程對單片機設(shè)計與應(yīng)用是我對單片技術(shù)有了更進一步的熟悉,實踐操作和課本的

29、知識有很大聯(lián)系,但又高于課本,一個看似簡單的電路,要動手把它設(shè)計出來就比較困難了,因為要設(shè)計要求我們在以后的學(xué)習(xí)中注意這一點,要把課本上所學(xué)到的知識和實際聯(lián)系起來,同時通過本次電路的設(shè)計,不但鞏固了所學(xué)知識,也是我們把理論與實踐從真正意義上結(jié)合起來,增強了學(xué)習(xí)的綜合能力。經(jīng)過這次課程設(shè)計的過程,我相信在以后的課程設(shè)計中我們會吸取經(jīng)驗教訓(xùn),做出更好的設(shè)計來。我們兢兢業(yè)業(yè)的老師,也在百忙之中和我們一起忙活,看著圍在他身邊的那一圈圈的人,他也總會耐心的為我們講解,直到我們聽懂為止。雖然這門課程完了,但是單片機在我們的生活中很重要,因此,我會在以后的時間中繼續(xù)學(xué)習(xí)。為以后的工作打下基礎(chǔ);參考文獻(xiàn)1 楊

30、居義,單片機課程設(shè)計指導(dǎo)書.北京:清華大學(xué)出版社,20092 張永楓,單片機應(yīng)用實訓(xùn)教程.北京:清華大學(xué)出版社,20083 姜志紅,51單片機技術(shù)與應(yīng)用系統(tǒng)開發(fā)案例精選.北京:清華大學(xué)出版社,20084 張蔭等,單片機應(yīng)用系統(tǒng)開發(fā)綜合實例.北京:清華大學(xué)出版社,20085 謝輝,單片機原理及應(yīng)用.化學(xué)工業(yè)出版社,2010附錄;*;* 初始化程序 *;*SDA EQU P1.7 ;DATA OUTSCL EQU P1.6 ;I/O CLOCKCS EQU P1.0 ;/CS片選DP EQU P0.7MTD EQU 30H ;發(fā)送緩沖區(qū)首址MRD EQU 40H ;接收緩沖區(qū)首址;*;* 電壓表實

31、驗主程序 *;* ORG 0000H LJMP SE11 ORG 0590HSE11:MOV SP,#53H ;MOV p2,#0ffh ;MOV A,#81H ;MOV DPTR,#0FF23H ;MOVX DPTR,A MOV 7CH,#09H ;顯示緩沖區(qū)賦初值 MOV 7BH,#14H MOV 7AH,#10H MOV 79H,#10H LO18:LCALL SSEE ;調(diào)用顯示子程序 CLR CS ;選中TLC549器件 LCALL RDBYTE ;讀取采樣/保持的數(shù)字量,并送到寄存器A SETB CS ;等待A/D轉(zhuǎn)換結(jié)束 NOP ;NOP NOP NOP NOP NOP NOP

32、LCALL BIAODUSJMP LO18 ;*;* 拆字子程序 *;* ORG 05D0HPTDS:MOV R1,A ;拆送顯示緩沖區(qū) ACALL PTDS1 MOV A,R1 SWAP APTDS1: ANL A,#0FH MOV R0,A INC R0 RET;*;* 顯示掃描子程序 *;* ORG 0D50HL1:LCALL SSEESJMP L1SSEE:SETB RS1 ;換工作區(qū)MOV R5,#04HSSE2:MOV 30H,#20H;位控碼MOV 31H,#7BH;顯示緩沖區(qū)MOV R7,#03HSSE1: ; MOV R1,#20H MOV A,30HCPL A;低電平位控MOV P3,A ;字位送入MOV R0,31HMOV A,R0MOV DPTR,#DDFFMOVC A,A+DPTR ;取字形代碼JB P3.5 , LL1CLR ACC.7;MOV R1,#21H;MOVX R1,A ;字形送入LL1:MOV P0 , A LCALL DELY5MSMOV A,30HRR A ;左移MOV 30H,ADEC 31HMOV A,#0ffH;MOVX R1,A ;關(guān)顯示;MOV P3 , ADJNZ R7,SSE1

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論