數(shù)碼管顯示亮度的電位器控制設(shè)計(jì)課程設(shè)計(jì)報(bào)告書(shū)_第1頁(yè)
數(shù)碼管顯示亮度的電位器控制設(shè)計(jì)課程設(shè)計(jì)報(bào)告書(shū)_第2頁(yè)
數(shù)碼管顯示亮度的電位器控制設(shè)計(jì)課程設(shè)計(jì)報(bào)告書(shū)_第3頁(yè)
數(shù)碼管顯示亮度的電位器控制設(shè)計(jì)課程設(shè)計(jì)報(bào)告書(shū)_第4頁(yè)
數(shù)碼管顯示亮度的電位器控制設(shè)計(jì)課程設(shè)計(jì)報(bào)告書(shū)_第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、目錄第一章 課設(shè)系統(tǒng)的主要功能與設(shè)計(jì)方案11.1 系統(tǒng)主要功能11.2智能溫度測(cè)量?jī)x表的設(shè)計(jì)總方案1第二章 課設(shè)系統(tǒng)的硬件設(shè)計(jì)22.1系統(tǒng)的硬件框圖22.2主控器單片機(jī)的設(shè)計(jì)22.3 AD轉(zhuǎn)換器采集信號(hào)的設(shè)計(jì)72.4 時(shí)鐘芯片DS12C887介紹92.5 數(shù)碼管介紹15第三章 課設(shè)系統(tǒng)的軟件設(shè)計(jì)163.1 系統(tǒng)主程序163.2系統(tǒng)程序16第四章 系統(tǒng)的調(diào)試和仿真204.1 系統(tǒng)調(diào)試:204.2系統(tǒng)仿真:20第五章 心得體會(huì)21參考文獻(xiàn)22第一章 課設(shè)系統(tǒng)的主要功能與設(shè)計(jì)方案1.1 系統(tǒng)主要功能本課程設(shè)計(jì)所設(shè)計(jì)的主要功能有:通過(guò)改變電位器的數(shù)值改變接入電路的電壓值,經(jīng)過(guò)ADC0809將轉(zhuǎn)換出的二

2、進(jìn)制數(shù)值輸入給單片機(jī),從而控制單片機(jī)的輸出顯示,單片機(jī)通過(guò)時(shí)鐘芯片DS12C887將芯片提供的時(shí)間信息通過(guò)數(shù)碼管顯示出來(lái),同時(shí)通過(guò)電位器采集的數(shù)值改變數(shù)碼管顯示的亮度,這一功能通過(guò)MAX7219芯片實(shí)現(xiàn),功能十分全面、系統(tǒng)。具體包括以下內(nèi)容:?jiǎn)纹瑱C(jī)采集來(lái)自電位器的信號(hào),將信號(hào)轉(zhuǎn)變成數(shù)字信號(hào)輸出給MAX7219,通過(guò)該芯片驅(qū)動(dòng)數(shù)碼管,將時(shí)鐘芯片提供的信息顯示出來(lái)。1.2智能溫度測(cè)量?jī)x表的設(shè)計(jì)總方案該方案以AT89S51為控制器,設(shè)計(jì)中使用了ADC0809芯片采集電位器信號(hào),利用時(shí)鐘芯片DS12C887提供時(shí)間信息,利用MAX7219驅(qū)動(dòng)數(shù)碼管顯示信息,利用AT89C51單片機(jī)作為主控制器。DS1

3、2C887與AT89C51結(jié)合實(shí)現(xiàn)最簡(jiǎn)時(shí)間顯示系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,性價(jià)比高,抗干擾能力強(qiáng),有廣泛的應(yīng)用前景。第二章 課設(shè)系統(tǒng)的硬件設(shè)計(jì)2.1系統(tǒng)的硬件框圖系統(tǒng)硬件電路由AT89C51單片機(jī)、ADC0809芯片、時(shí)鐘芯片DS12C887,驅(qū)動(dòng)芯片MAX7219,數(shù)碼管LG3641AH構(gòu)成。系統(tǒng)各單元電路設(shè)計(jì)2.2主控器單片機(jī)的設(shè)計(jì)AT89C51是美國(guó)ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器(PEROM)和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令

4、系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C51單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。主要性能參數(shù):·與MCS-51產(chǎn)品指令系統(tǒng)完全兼容 ·4k字節(jié)可重擦寫(xiě)Flash閃速存儲(chǔ)器·1000次擦寫(xiě)周期·全靜態(tài)操作:0Hz24MHz·三級(jí)加密程序存儲(chǔ)器·128×8字節(jié)內(nèi)部RAM·32個(gè)可編程IO口線·2個(gè)16位定時(shí)計(jì)數(shù)器·6個(gè)中斷源·可編程串行UART通道·低功耗空閑和掉電模式功能特性概述:AT89C51 提供以下標(biāo)準(zhǔn)

5、功能:4k 字節(jié)Flash 閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32 個(gè)IO 口線,兩個(gè)16位定時(shí)計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止CPU的工作,但允許RAM,定時(shí)計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。AT89C51方框圖引腳功能說(shuō)明·Vcc:電源電壓·GND:地·P0 口:P0 口是一組8 位漏極開(kāi)路型雙向IO 口,也即地址數(shù)據(jù)總線復(fù)用口。作為輸

6、出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口寫(xiě)“1”可作為高阻抗輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在FIash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。·P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向IO口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。FIash編程和程序校

7、驗(yàn)期間,P1接收低8位地址。·P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向IO口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVXDPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問(wèn)8 位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVXRI 指令)時(shí),P2 口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中R2寄存器的內(nèi)容),在整個(gè)訪問(wèn)期間不改變。Flash編程或校驗(yàn)時(shí)

8、,P2亦接收高位地址和其它控制信號(hào)。·P3口:P3口是一組帶有內(nèi)部上拉電阻的8 位雙向IO 口。P3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TT邏輯門電路。對(duì)P3 口寫(xiě)入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端時(shí),被外部拉低的P3 口將用上拉電阻輸出電流(IIL)。P3口_除了作為一般的IO口線外,更重要的用途是它的第二功能,如下所示:端口引腳 第二功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 INT0(外中斷0)P3.3 INT1(外中斷1)P3.4 T0(定時(shí)計(jì)數(shù)器0外部輸入)P3.5 T1(定時(shí)計(jì)數(shù)器1外部輸入)P3.6 WR(

9、外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。·RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。·ALEPROG: 當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE 仍以時(shí)鐘振蕩頻率的l6 輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。對(duì)Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過(guò)對(duì)

10、特殊功能寄存器(SFR)區(qū)中的8EH單元的DO 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX和MOVC指令A(yù)LE才會(huì)被激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無(wú)效。·PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C51 由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,這兩次有效的PSEN信號(hào)不出現(xiàn)。·EAVPP:外部訪問(wèn)允許。欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位L

11、B1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接VCC端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。·XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。·XTAL2:振蕩器反相放大器的輸出端。·時(shí)鐘振蕩器:AT89C5l 中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1 和XTAL2 分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見(jiàn)圖5。外接石英晶體(或陶瓷諧振器)

12、及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容C1、C2雖然沒(méi)有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用30pF±10pF,而如使用陶瓷諧振器建議選擇40pF±10F。用戶也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路如圖5右圖所示。這種情況下,外部時(shí)鐘脈沖接到XTAL1端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端,XTAL2則懸空。石英晶體時(shí):C1,C230pF±10pF 外部時(shí)鐘驅(qū)動(dòng)電路陶瓷濾波器:C1,C240pF±10pF內(nèi)部振蕩電路由于外部時(shí)鐘信號(hào)是

13、通過(guò)一個(gè)2分頻觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào)的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒(méi)有特殊要求,但最小高電平持續(xù)時(shí)間和最大的低電平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。·空閑節(jié)電模式:AT89C51 有兩種可用軟件編程的省電模式,它們是空閑模式和掉電工作模式。這兩種方式是控制專用寄存器PCON(即電源控制寄存器)中的PD(PCON.1)和IDL(PCON.0)位來(lái)實(shí)現(xiàn)的。PD 是掉電模式,當(dāng)PD=1 時(shí),激活掉電工作模式,單片機(jī)進(jìn)入掉電工作狀態(tài)。IDL是空閑等待方式,當(dāng)IDL=1,激活空閑工作模式,單片機(jī)進(jìn)入睡眠狀態(tài)。如需同時(shí)進(jìn)入兩種工作模式,即PD和IDL同時(shí)為1,則先激活掉電模式。在空閑工作模式狀

14、態(tài),CPU保持睡眠狀態(tài)而所有片內(nèi)的外設(shè)仍保持激活狀態(tài),這種方式由軟件產(chǎn)生。此時(shí),片內(nèi)RAM和所有特殊功能寄存器的內(nèi)容保持不變??臻e模式可由任何允許的中斷請(qǐng)求或硬件復(fù)位終止。終止空閑工作模式的方法有兩種,其一是任何一條被允許中斷的事件被激活,IDL(PCON.0)被硬件清除,即刻終止空閑工作模式。程序會(huì)首先響應(yīng)中斷,進(jìn)入中斷服務(wù)程序,執(zhí)行完中斷服務(wù)程序并緊隨RETI(中斷返回)指令后,下一條要執(zhí)行的指令就是使單片機(jī)進(jìn)入空閑模式那條指令后面的一條指令。其二是通過(guò)硬件復(fù)位也可將空閑工作模式終止。需要注意的是,當(dāng)由硬件復(fù)位來(lái)終止空閑工作模式時(shí),CPU 通常是從激活空閑模式那條指令的下一條指令開(kāi)始繼續(xù)執(zhí)

15、行程序的,要完成內(nèi)部復(fù)位操作,硬件復(fù)位脈沖要保持兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘周期)有效,在這種情況下,內(nèi)部禁止CPU訪問(wèn)片內(nèi)RAM,而允許訪問(wèn)其它端口。為了避免可能對(duì)端口產(chǎn)生意外寫(xiě)入,激活空閑模式的那條指令后一條指令不應(yīng)是一條對(duì)端口或外部存儲(chǔ)器的寫(xiě)入指令。·掉電模式:在掉電模式下,振蕩器停止工作,進(jìn)入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi)RAM 和特殊功能寄存器的內(nèi)容在終止掉電模式前被凍結(jié)。退出掉電模式的唯一方法是硬件復(fù)位,復(fù)位后將重新定義全部特殊功能寄存器但不改變RAM中的內(nèi)容,在Vcc恢復(fù)到正常工作電平前,復(fù)位應(yīng)無(wú)效,且必須保持一定時(shí)間以使振蕩器重啟動(dòng)并穩(wěn)定工作。2.3 AD轉(zhuǎn)換

16、器采集信號(hào)的設(shè)計(jì)本設(shè)計(jì)主要用于將外部電位信號(hào)通過(guò)ADC0809采集到單片機(jī),在本設(shè)計(jì)中數(shù)碼管顯示亮度是由其控制的。ADC0809可直接將采集值進(jìn)行處理得到數(shù)字量送入單片機(jī)數(shù)碼管顯示并通過(guò)串口送至上位機(jī)。其中AD轉(zhuǎn)換器采集信號(hào)設(shè)計(jì)原理圖如下圖所示。圖2.3.1 AD轉(zhuǎn)換器采集信號(hào)設(shè)計(jì)原理圖ADC0809是帶有8位A/D轉(zhuǎn)換器、8路多路開(kāi)關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(jī)直接接口。 由下圖可知,ADC0809由一個(gè)8路模擬開(kāi)關(guān)、一個(gè)地址鎖存與譯碼器、一個(gè)A/D轉(zhuǎn)換器和一個(gè)三態(tài)輸出鎖存器組成。多路開(kāi)關(guān)可選通8個(gè)模擬通道,允許8路模擬量分時(shí)輸入,共用A

17、/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時(shí),才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。引腳說(shuō)明:ADC0809各腳功能如下:D7-D0:8位數(shù)字量輸出引腳。IN0-IN7:8位模擬量輸入引腳。VCC:+5V工作電壓。GND:地。REF(+):參考電壓正端。REF(-):參考電壓負(fù)端。START:A/D轉(zhuǎn)換啟動(dòng)信號(hào)輸入端。ALE:地址鎖存允許信號(hào)輸入端。(以上兩種信號(hào)用于啟動(dòng)A/D轉(zhuǎn)換).EOC:轉(zhuǎn)換結(jié)束信號(hào)輸出引腳,開(kāi)始轉(zhuǎn)換時(shí)為低電平,當(dāng)轉(zhuǎn)換結(jié)束時(shí)為高電平。OE:輸出允許控制端,用以打開(kāi)三態(tài)數(shù)據(jù)輸出鎖存器。CLK:時(shí)鐘信號(hào)輸入端(一般為500KHz)。A、B

18、、C:地址輸入線。    ADC0809對(duì)輸入模擬量要求:信號(hào)單極性,電壓范圍是05V,若信號(hào)太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過(guò)程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。 地址輸入和控制線:4條 ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時(shí),地址鎖存與譯碼器將A,B,C三條地址線的地址信號(hào)進(jìn)行鎖存,經(jīng)譯碼后被選中的通道的模擬量進(jìn)入轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0IN7上的一路模擬量輸入。通道選擇表如下表所示。CBA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5

19、110IN6111IN7數(shù)字量輸出及控制線:11條 ST為轉(zhuǎn)換啟動(dòng)信號(hào)。當(dāng)ST上跳沿時(shí),所有內(nèi)部寄存器清零;下跳沿時(shí),開(kāi)始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號(hào)。當(dāng)EOC為高電平時(shí),表明轉(zhuǎn)換結(jié)束;否則,表明正在進(jìn)行A/D轉(zhuǎn)換。OE為輸出允許信號(hào),用于控制三條輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7D0為數(shù)字量輸出線。 CLK為時(shí)鐘輸入信號(hào)線。因ADC0809的內(nèi)部沒(méi)有時(shí)鐘電路,所需時(shí)鐘信號(hào)必須由外界提供,通常使用頻率為500KHZ, VREF(),VREF()為參考電壓輸入。 2.4 時(shí)鐘芯片DS12C88

20、7介紹器件特性DS12C887 實(shí)時(shí)時(shí)鐘芯片功能豐富,可 以用來(lái)直接代替 IBM PC 上的時(shí)鐘日歷芯片 DS12887,同時(shí),它的管腳也和MC146818B、DS12887 相兼容。由于 DS12C887 能夠自動(dòng)產(chǎn)生世紀(jì)、 年、月、日、時(shí)、分、秒等時(shí)間信息,其內(nèi) 部又增加了世紀(jì)寄存器,從而利用硬件電路 解決子“千年”問(wèn)題;DS12C887 中自帶有鋰電 池,外部掉電時(shí),其內(nèi)部時(shí)間信息能保存10 年之久;對(duì)于一天內(nèi)的時(shí)間記錄,有12 小時(shí)制和 24 小時(shí)制兩種模式。在 12 小時(shí) 制模式中,用 AM和 PM 區(qū)分上午和下午; 時(shí)間的表示方法也有兩種,一種用二進(jìn)制數(shù)表示,一種是用 BCD 碼表

21、示;DS12C887 中 帶有 128 字節(jié)RAM,其中有 11 字節(jié) RAM 用來(lái)存儲(chǔ)時(shí)間信息,4 字節(jié) RAM 用來(lái)存儲(chǔ) DS12C887 的控制信息,稱為控制寄存器,113 字節(jié)通用 RAM 使用戶使用;此外用戶還 可對(duì) DS12C887 進(jìn)行編程以實(shí)現(xiàn)多種方波輸 出,并可對(duì)其內(nèi)部的三路中斷通過(guò)軟件進(jìn)行屏蔽。圖2.4.1引腳功能DS12C887 的引腳排列如圖2.4.1 所示,各管腳的功能說(shuō)明如下:GND、VCC:直流電源,其中 VCC 接+5V 輸入,GND 接地,當(dāng) VCC 輸入為+5V 時(shí),用 戶可以訪問(wèn) DS12C887 內(nèi) RAM 中的數(shù)據(jù),并可對(duì)其進(jìn)行讀、寫(xiě)操作;當(dāng) VCC

22、的輸入小于+4.25V 時(shí),禁止用戶對(duì)內(nèi)部 RAM 進(jìn)行讀、寫(xiě)操作,此時(shí)用戶不能正確獲取芯片內(nèi)的時(shí)間信 息;當(dāng) VCC 的輸入小于+3V 時(shí),DS12C887 會(huì)自動(dòng)將電源發(fā)換到內(nèi)部自帶的鋰電池上,以保證 內(nèi)部的電路能夠正常工作。(1)MOT:模式選擇腳,DS12C887 有兩種工作模式,即 Motorola 模式和 Intel 模式,當(dāng) MOT 接 VCC 時(shí),選用的工作模式是 Motorola 模式,當(dāng) MOT 接 GND 時(shí),選用的是 Intel 模式。本 文主要討論 Intel 模式。(23)SQW:方波輸出腳,當(dāng)供電電壓 VCC 大于 4.25V 時(shí),SQW 腳可進(jìn)行方波輸出,此時(shí)用

23、 戶可以通過(guò)對(duì)控制寄存器編程來(lái)得到 13 種方波信號(hào)的輸出。AD0AD7:復(fù)用地址數(shù)據(jù)總線,該總線采用時(shí)分復(fù)用技術(shù),在總線周期的前半部分,出 現(xiàn)在 AD0AD7 上的是地址信息,可用以選通 DS12C887 內(nèi)的 RAM,總線周期的后半部分出 現(xiàn)在 AD0AD7 上的數(shù)據(jù)信息。(14)AS:地址選通輸入腳,在進(jìn)行讀寫(xiě)操作時(shí),AS 的上升沿將 AD0AD7 上出現(xiàn)的地址信 息鎖存到 DS12C887 上,而下一個(gè)下降沿清除 AD0AD7 上的地址信息,不論是否有效, DS12C887 都將執(zhí)行該操作。(17)DS/RD:數(shù)據(jù)選擇或讀輸入腳,該引腳有兩種工作模式,當(dāng) MOT 接 VCC 時(shí),選用

24、Motorola 工作模式,在這種工作模式中,每個(gè)總線周期的后一部分的 DS 為高電平,被稱為數(shù) 據(jù)選通。在讀操作中,DS 的上升沿使 DS12C887 將內(nèi)部數(shù)據(jù)送往總線 AD0AD7 上,以供外 部讀取。在寫(xiě)操作中,DS 的下降沿將使總線 AD0AD7 上的數(shù)據(jù)鎖存在 DS12C887 中;當(dāng) MOT 接 GND 時(shí),選用 Intel 工作模式,在該模式中,該引腳是讀允許輸入腳,即 Read Enable。(15)R/W:讀/寫(xiě)輸入端,該管腳也有 2 種工作模式,當(dāng) MOT 接 VCC 時(shí),R/W 工作在 Motorola 模式。此時(shí),該引腳的作用是區(qū)分進(jìn)行的是讀操作還是寫(xiě)操作,當(dāng) R/W

25、 為高電平時(shí) 為讀操作,R/W 為低電平時(shí)為寫(xiě)操作;當(dāng) MOT 接 GND 時(shí),該腳工作在 Intel 模式,此時(shí)該作 為寫(xiě)允許輸入,即 Write Enable。(13):片選輸入,低電平有效。(19):中斷請(qǐng)求輸入,低電平有效,該腳有效對(duì) DS12C887 內(nèi)的時(shí)鐘、日歷和 RAM 中的 內(nèi)容沒(méi)有任何影響,僅對(duì)內(nèi)部的控制寄存器有影響,在典型的應(yīng)用中,RESET 可以直接接 VCC,這樣可以保證 DS12C887 在掉電時(shí),其內(nèi)部控制寄存器不受影響。MAX7219芯片介紹MAX7219是MAXIM公司生產(chǎn)的串行輸入/輸出共陰極數(shù)碼管顯示驅(qū)動(dòng)芯片,一片MAX7219可驅(qū)動(dòng)8個(gè)7段(包括小數(shù)點(diǎn)共

26、8段)數(shù)字LED、LED條線圖形顯示器、或64個(gè)分立的LED發(fā)光二級(jí)管。該芯片具有10MHz傳輸率的三線串行接口可與任何微處理器相連,只需一個(gè)外接電阻即可設(shè)置所有LED的段電流。它的操作很簡(jiǎn)單,MCU只需通過(guò)模擬SPI三線接口就可以將相關(guān)的指令寫(xiě)入MAX7219的內(nèi)部指令和數(shù)據(jù)寄存器,同時(shí)它還允許用戶選擇多種譯碼方式和譯碼位。此外它還支持多片7219串聯(lián)方式,這樣MCU就可以通過(guò)3根線(即串行數(shù)據(jù)線、串行時(shí)鐘線和芯片選通線)控制更多的數(shù)碼管顯示。MAX7219的外部引腳分配如圖1所示及內(nèi)部結(jié)構(gòu)如圖2所示。圖2.4.2  MAX7219的外部引腳分配 各引腳的功能為:DIN:

27、串行數(shù)據(jù)輸入端DOUT:串行數(shù)據(jù)輸出端,用于級(jí)連擴(kuò)展LOAD:裝載數(shù)據(jù)輸入CLK:串行時(shí)鐘輸入DIG0DIG7:8位LED位選線,從共陰極LED中吸入電流SEG ASEG G DP     7段驅(qū)動(dòng)和小數(shù)點(diǎn)驅(qū)動(dòng)ISET:  通過(guò)一個(gè)10k電阻和Vcc相連,設(shè)置段電流 MAX7219有下列幾組寄存器:(如圖2.4.3)MAX7219內(nèi)部的寄存器如圖3,主要有:譯碼控制寄存器、亮度控制寄存器、掃描界限寄存器、關(guān)斷模式寄存器、測(cè)試控制寄存器。編程時(shí)只有正確操作這些寄存器,MAX7219才可工作。 圖 2.4.3 

28、0; MAX7219內(nèi)部的相關(guān)寄存器   分別介紹如下:譯碼控制寄存器(X9H)如圖4所示,MAX7219有兩種譯碼方式:B譯碼方式和不譯碼方式。當(dāng)選擇不譯碼時(shí),8個(gè)數(shù)據(jù)為分別一一對(duì)應(yīng)7個(gè)段和小數(shù)點(diǎn)位;B譯碼方式是BCD譯碼,直接送數(shù)據(jù)就可以顯示。實(shí)際應(yīng)用中可以按位設(shè)置選擇B譯碼或是不譯碼方式。圖2.2.4   MAX7219的譯碼控制寄存器掃描界限寄存器(XBH)如圖2.4.5所示,此寄存器用于設(shè)置顯示的LED的個(gè)數(shù)(18),比如當(dāng)設(shè)置為0xX4時(shí),LED 05顯示。 圖2.4.5   MAX7219的掃描界限控制寄存器&

29、#160;亮度控制寄存器(XAH)共有16級(jí)可選擇,用于設(shè)置LED的顯示亮度,從0xX00xXF關(guān)斷模式寄存器(XCH)共有兩種模式選擇,一是關(guān)斷狀態(tài),(最低位 D0=0)一是正常工作狀態(tài)(D0=1)。顯示測(cè)試寄存器(XFH)用于設(shè)置LED是測(cè)試狀態(tài)還是正常工作狀態(tài),當(dāng)測(cè)試狀態(tài)時(shí)(最低位 D0=1)各位顯示全亮,正常工作狀態(tài)(D0=0)。各寄存器具體操作見(jiàn)驅(qū)動(dòng)程序詳解。 2 讀寫(xiě)時(shí)序說(shuō)明MAX7129是SPI總線驅(qū)動(dòng)方式。它不僅要向寄存器寫(xiě)入控制字,還需要讀取相應(yīng)寄存器的數(shù)據(jù)。 要想與MAX7129通信,首先要先了解MAX7129的控制字。MAX7129的控制字格式如圖2.4.6。圖

30、2.4.6控制字(即地址及命令字節(jié)) 如圖,工作時(shí),MAX7219規(guī)定一次接收16位數(shù)據(jù),在接收的16位數(shù)據(jù)中:D15D12可以與操作無(wú)關(guān),可以任意寫(xiě)入,D11D8決定所選通的內(nèi)部寄存器地址,D7D0為待顯示數(shù)據(jù)或是初始化控制字。在CLK脈沖作用下,DIN的數(shù)據(jù)以串行方式依次移入內(nèi)部16位寄存器,然后在一個(gè)LOAD上升沿作用下,鎖存到內(nèi)部的寄存器中。注意在接收時(shí),先接收最高位D16,最后是D0,因此,在程序發(fā)送時(shí)必須先送高位數(shù)據(jù),在循環(huán)移位。工作時(shí)序圖見(jiàn)圖2.4.7。由于51是8位單片機(jī)故需要分兩次來(lái)送數(shù)據(jù)。具體操作見(jiàn)驅(qū)動(dòng)程序詳解。圖2.4.7  數(shù)據(jù)讀寫(xiě)時(shí)序3 電路原理圖

31、 電路原理圖如圖,MAX7219與單片機(jī)的連接只需要3條線:LOAD(CS)片選引腳、CLK串行時(shí)鐘引腳、DIN串行數(shù)據(jù)引腳。其中C1 為電源濾波電容,R1用來(lái)設(shè)置段電流。圖2.4.8  電路原理圖2.5 數(shù)碼管介紹四位一體共陰數(shù)碼顯示模塊本實(shí)驗(yàn)人機(jī)接口電路采用LG3641AH型四位一體共陰極數(shù)碼管進(jìn)行顯示。引腳圖如圖2.5.1所示:圖2.5.1 LG3641AH 數(shù)碼管引腳圖上圖中,從左至右,依次為數(shù)碼管1、2、3、4。這四個(gè)數(shù)碼管被集成為一個(gè)模塊,各數(shù)碼管的的段碼數(shù)據(jù)線連在一起,都由上圖中外部引腳A-H決定。圖中GND1-GND4為各數(shù)碼管的位選擇引腳,當(dāng)其中一個(gè)信號(hào)為低電平時(shí),

32、則相應(yīng)位的數(shù)碼管被選通點(diǎn)亮。由于LG3641AH 為共陰極數(shù)碼管, A-H管腳上若輸出高電平,則相應(yīng)段碼被點(diǎn)亮。為了避免單片機(jī)輸出的高電平電壓過(guò)高使數(shù)碼管燒壞,應(yīng)分別在A-H管腳上接200電阻分壓。LG3641AH七段LED碼如下圖所示:圖2.5.2LG3641AH 數(shù)碼管七段碼表第三章 課設(shè)系統(tǒng)的軟件設(shè)計(jì)3.1 系統(tǒng)主程序在主程序模塊中,需要完成對(duì)各參量和接口的初始化。程序原理如下:圖3.1.1主程序流程圖3.2系統(tǒng)程序 通過(guò)ADC0808來(lái)控制LED燈顯示亮度。程序如下:CLK EQU P1.2 DIN EQU P1.0 LOAD EQU P1.1 ORG 0000H LCALL DISP

33、 ORG 0090H DISP: MOV A,#09H ;置譯碼器方式寄存器地址 MOV R7,#0FFH ;選擇譯碼方式 LCALL MAX7219 ;寫(xiě)入 ;LCALL ADC MOV A,#0AH ;置亮度寄存器地址 MOV R7,#05H ;選擇占空比 LCALL MAX7219 ;寫(xiě)入 MOV A,#0BH ;置MAX7219顯示掃描位數(shù)寄存器地址 MOV R7,#07H ;選擇8位顯示方式 LCALL MAX7219 ;寫(xiě)入 MOV A,#0CH ;置關(guān)閉顯示寄存器地址 MOV R7,#01H ;選擇進(jìn)入正常工作,00H表示關(guān)閉 LCALL MAX7219 ;寫(xiě)入 ;MAX7219

34、子程序 MOV DPTR,#7002H MOV A,#10H MOVX DPTR,A LCALL DS12C887 MOV A,#42H MOV B,#10 DIV AB MOV 30H,A MOV 31H,B MOV A,#41H MOV B,#10 DIV AB MOV 32H,A MOV 33H,BMAIN: MOV R0,#30H CLR P1.1 ; MOV R1,#01H ;指向第0位LED MOV R3,#04H ;顯示器個(gè)數(shù)LOOP: MOV A,R0 ;取顯示緩沖區(qū)數(shù)據(jù) MOV R7,A ;顯示2 MOV A,R1 ;LED顯示的位地址給A LCALL MAX7219 ; INC R0 ;指向下一個(gè)顯示數(shù)據(jù) INC R1 ;指向下一位LED DJNZ R3,LOOP ; SJMP MAIN MAX7219: CLR P1.1 ;將LO

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論