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