3 主要硬件電路及器件介紹
3.1 80C51單片機(jī)
圖3:8051引腳圖
80C51單片機(jī)按功能劃分,由8個部件組成:微處理器(CPU)、數(shù)據(jù)存儲器(RAM)、程序存儲器(ROM/EPROM)、四個I/O口(P0口、P1口、P2口、P3口)、串行口、定時器/計數(shù)器、中斷系統(tǒng)及特殊功能寄存器(SFR)的集中控制方式[1]。
各功能部件的介紹:
(1) 數(shù)據(jù)存儲器(RAM):片內(nèi)為128個字節(jié)單元,片外最多可擴(kuò)展至64K字節(jié)。用以存放數(shù)據(jù),我們稱之為片內(nèi)數(shù)據(jù)存儲器。
(2) 程序存儲器(ROM/EPROM):片內(nèi)ROM為4K,片外最多可擴(kuò)展至64K字節(jié)。
(3) 中斷系統(tǒng):具有5級中斷的中斷系統(tǒng),2級中斷優(yōu)先權(quán)。
(4) 定時器/計數(shù)器:2個16位的定時器/計數(shù)器,具有四種工作方式。
(5) 串行口:1個全雙工的串行通信接口,具有四種工作方式。
(6) 特殊功能寄存器(SFR)共有21個,每個寄存器占一個存儲單元。
(7) 微處理器:為8位CPU,內(nèi)部具有一個8位CPU(位處理器),不僅可處理字節(jié)數(shù)據(jù),還可以進(jìn)行位變量的處理。
另外還有四個8位雙向并行的輸入/輸出(I/O)端口,每個端口都有八條引線和一個輸出驅(qū)動器和一個輸入緩沖器。這四個端口的功能不完全相同。P0口既可作一般I/O端口使用,又可作地址/數(shù)據(jù)總線使用;P1口是一個準(zhǔn)雙向并行口,作通用并行I/O口使用;P2口除了可作為通用I/O使用外,還可在CPU訪問外部存儲器時作高八位地址線使用;P3口是一個多功能口除具有準(zhǔn)雙向I/O功能外,還具有第二功能。
控制引腳介紹:
(1) 電源:單片機(jī)使用的是5V電源,其中40引腳接電源正級,20引腳接地。
(2) 時鐘引腳XTAL1、XTAL2時鐘引腳外接晶體與片內(nèi)反相放大器構(gòu)成了振蕩器,產(chǎn)生片內(nèi)CPU時鐘控制信號。此引腳也可外接晶體振蕩器。
(3) RST:當(dāng)時鐘電路開始工作時,在此引腳上出現(xiàn)24個時鐘周期以上的高電平能夠使單片機(jī)復(fù)位。另外我們在此引腳與VCC之間連接一個24兆歐的下拉電阻,在外接電路之間連接二個36微法的電容,可以保證有效的復(fù)位。在單片機(jī)正常工作時,此引腳應(yīng)為≤0.5V低電平。
(4) ALE:當(dāng)訪問外部程序存儲器時ALE(地址鎖存允許)輸出脈沖用于16位地址中的低8位的鎖存信號,以便P0口實現(xiàn)地址/數(shù)據(jù)復(fù)用。當(dāng)不去訪問外部鎖存器時,ALE端將輸出一個1/6的時鐘頻率正脈沖信號輸出,此頻率約為時鐘振蕩器的1/6。但是每當(dāng)訪問外部數(shù)據(jù)存儲器時,在兩個機(jī)器周期中ALE只出現(xiàn)一次,即ALE會跳過一個脈沖。因此,嚴(yán)格來說,用戶不能用ALE做時鐘源或定時。ALE端可以驅(qū)動8個TTL負(fù)載
(5) /PSEN(29腳):此引腳是單片機(jī)訪問片外ROM存儲器的讀選通信號。在執(zhí)行訪問片外ROM的MOVC指令期間,每個機(jī)器周期PSEN上產(chǎn)生一個負(fù)脈沖,用于對于片外ROM數(shù)據(jù)存儲器選通,這兩次有效的/PSEN信號不出現(xiàn)。其他情況下,/PSEN線均為高電平封鎖狀態(tài)。
(6) /EA/VPP(31腳):當(dāng)EA端保持高電平時并且程序地址小于4KB時,讀取內(nèi)部存儲器指令,但在PC值超過4KB程序地址時則執(zhí)行外部存儲器內(nèi)的程序;當(dāng)/EA保持低電平時,不管地址大小則只訪問外部程序存儲器,一律讀取外部程序存儲器指令[2]。
3.2 DAC0832
圖4:DAC0832引腳圖
DAC0832是8分辨率的D/A轉(zhuǎn)換芯片,集成電路內(nèi)有兩級輸入寄存器。由8位輸入鎖存器、8位DAC 寄存器、8 位D/A 轉(zhuǎn)換器及轉(zhuǎn)換控制電路四部分構(gòu)成。8位輸入鎖存器用于存放主機(jī)送來的數(shù)字量,使輸入數(shù)字得到緩沖和鎖存,并加以控制。DAC0832輸出的是電流,一般要求輸出是電壓,所以還必須經(jīng)過一個外接的運(yùn)算放大器轉(zhuǎn)換成電壓[3]。DAC0832芯片具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要(如要求多路D/A異步輸入、同步轉(zhuǎn)換等)。
DAC0832的引腳功能如下:
(1) D0~D7:數(shù)字信號輸入端。
(2) ILE:輸入寄存器允許,高電平有效。
(3) CS:片選信號,低電平有效。
(4) WR1:寫信號1,低電平有效。
(5) XFER:傳送控制信號,低電平有效。
(6) WR2:寫信號2,低電平有效。
(7) IOUT1、IOUT2:DAC電流輸出端。
(8) RFB:是集成在片內(nèi)的外接運(yùn)放的反饋電阻。
(9) VREF:基準(zhǔn)電壓(-10~10V)。
(10) Vcc:是源電壓(+5~+15V)。
(11) AGND:模擬地 NGND:數(shù)字地,可與AGND接在一起使用。
3.3 數(shù)碼顯示管通過控制7個筆畫段的亮或暗,和控制一個小數(shù)點(diǎn)的亮和暗來實現(xiàn)數(shù)碼管顯示。LED 顯示器有共陰極和共陽極2 種形式。共陽極顯示器是發(fā)光二極管的陽極連接在一起,當(dāng)需要顯示某字符時,只需要將共陽極端接高電平,根據(jù)顯示需要讓a-h中某些位置接低電平。共陰極顯示器是發(fā)光二極管的陰極連接在一起,當(dāng)需要顯示某字符時,只需要將共陰極端接低電平,a-h 中某些位接高電平即可。
顯示器的工作方式分為靜態(tài)顯示方式和動態(tài)顯示方式兩種:
(1) 靜態(tài)顯示方式就是顯示器在顯示一個字符時,相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止,例如a、b、c、d、e、f導(dǎo)通,g截止時顯示“0”,這種使顯示器顯示字符的字形數(shù)據(jù)常稱為段數(shù)據(jù)。靜態(tài)顯示方式的每一個七段顯示器,需要由一個8 位并行口控制。優(yōu)點(diǎn)是顯示穩(wěn)定,提高了工作效率,缺點(diǎn)是位數(shù)較多時顯示口隨之增加。
(2) 動態(tài)顯示方式是一位一位的輪流點(diǎn)亮各位顯示器,對于每一位顯示器來說,每隔一段時間點(diǎn)亮一次。顯示器的亮度既與導(dǎo)通電流有關(guān),也與點(diǎn)亮?xí)r間和間隔時間的比例有關(guān)。調(diào)整電流和時間參數(shù)可以實現(xiàn)亮度較高較穩(wěn)定的顯示,如顯示器的位數(shù)不大于8位,則控制顯示器公共極的電位只需要一個8位口(位數(shù)據(jù)口),控制字形也需要一個8位口(段數(shù)據(jù)口)。要使顯示管顯示不同的數(shù)字或者字符,需要使端口輸出相應(yīng)的字型碼