【文章內(nèi)容簡介】
之后 EOC 輸出信號變低,指示轉(zhuǎn)換正在進行。直到 A/D 轉(zhuǎn)換完成, EOC 變?yōu)楦唠娖?,指?A/D 轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。 當 OE 輸入高電平 時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。 ADC0809 與 8031 的連接 單片機控制 ADC 可采用查詢法和中斷控制法 。 本系統(tǒng)采用中斷方式, 中斷控制是指啟動信號送到 ADC 后,單片機執(zhí)行別的程序。當 ADC 轉(zhuǎn)換完成時向單片機發(fā)出中斷請求信號,單片機響應中斷請求,讀出轉(zhuǎn)換數(shù)據(jù),然后返回源程序。 ADC0809 與單片機的接口如圖 310 所示。 C L KCBAE O CO EA L ES T A R TI N 0I N 1I N 2I N 3I N 4I N 5I N 6I N 7DC KA L EI N T 1R DP 2 . 0W RP 0 . 7:P 0 . 0地址鎖存A 1A 0A 2A D C 0 8 0 9A T 8 9 C 5 1D 7:D 0++ 圖 37 ADC0809與單片機的接口 將 A/D0809 作為一的外擴展的并行 I/O口 , 直接由 單片機 的 和 WR 脈沖進行啟動。模擬量輸入通道選擇端 A、 B、 C 分與 單片機 的 、 、 直接相連,數(shù)據(jù)由 A/D0809轉(zhuǎn)換器的 21 ~28 輸出。為了提高系統(tǒng)的效率 ,A/D 轉(zhuǎn)換器 D 采用中斷的方法 ,將 ADC0809的轉(zhuǎn)換信號 EOC 經(jīng)反相器連接到單片機的 INT1。當 A/D 轉(zhuǎn)換結(jié)束 ,向單片機申請中斷 , 單片機響應后 , 即可讀出 A/D 轉(zhuǎn)換的結(jié)果數(shù)據(jù)。 ADC0809 的時鐘信號由單片機的 ALE 提供(為 1MHZ) ,轉(zhuǎn)換器的啟動信號 START 和 8 位模擬量 輸入地址鎖存允許信號 ALE 由單片機的 WR 和 口來控制。轉(zhuǎn)換的輸出允許信號 OE 由單片機的 RD 和 口控制。 鍵盤與顯示 鍵盤部分 根據(jù)該系統(tǒng)的實際情況,我選用了獨立式鍵盤。獨立式鍵盤是個按鍵相互獨立地連通一條輸入數(shù)據(jù)線如圖 38 所示。這種鍵盤結(jié)構(gòu)的優(yōu)點是電路簡單 , 缺點是當鍵的數(shù)量較多 13 時占用的 I/O 線的數(shù)量較多 。 & v c cP 1 . 0P 1 . 1P 1 . 2I N T OA T 8 9 C 5 1 圖 38 鍵盤連接 利用 P1 口實現(xiàn),當開關(guān)全部打開時,均為高電平,經(jīng)過與門仍為高電平,因此不會產(chǎn)生中斷 。 當其中一鍵被 按下時, INTO 端變?yōu)榈忘c平,向 CPU申請中斷, CPU 響應后,用查詢方法找到申請中斷的功能鍵,并按程序設(shè)定執(zhí)行相應的功能。 顯示部分 本系統(tǒng)的顯示部分我選用了 帶有高速串行接口的 8 位 LED 控制驅(qū)動器 MAX7219 芯片,本設(shè)計采用 1 片 MAX7219,在每輪溫濕度檢測完成以后,顯示新值。 MAX7219 是MAXIM 公司生產(chǎn)的一種串行接口方式 7 段共陰極 LED 顯示驅(qū)動器,其片內(nèi)包含有一個BCD 碼到 B 碼的譯碼器、多路復用掃描電路、字段和字位驅(qū)動器以及存儲每個數(shù)字的 88 RAM,每位數(shù)字都可以被尋址和更新,允許對每一位數(shù)字選擇 B 碼譯碼或不譯碼。采用三線串行方式與單片機接口,電路十分簡單,只需要一個 10k 左右的外接電阻來設(shè)置所有LED 的段電流 MAX7219 為 24 引腳芯片,引腳排列如 38 圖所示,各引腳功能如下: DIN:串行數(shù)據(jù)輸入端; DIG0~DIG7: LED 位線; LOAD:數(shù)據(jù)轉(zhuǎn)載信號輸入端; SEGA~SEGG, SEGDp:段碼輸出端; ISET:硬件亮度調(diào)節(jié)端; DOUT:串行數(shù)據(jù)輸出端; CLK:移位脈沖輸入端; V+:正電源 ; 14 GND:地。 DIG26DIG65GND4SEG E21SEG G17ISET18V+19SEG C20DIG43SEG D23DIN1DIG02SEG F15SEG B16SEG A14GND9DIG111DIG510CLK13SEG DP22DIG37DIG78DOUT24LOAD12U?MAX7219CNG 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 3 J un 2 0 1 0 S he e t o f F i l e : D : \ M y D oc u m e n t s \ l a n g. d dbD r a w n B y:D I G 0 ~ D I G 7 S E G A ~ G I S E T18D I N1L O A D12C L K13GND9S E G D p8 位 L E D 顯示器8 位8 段 1 0K P 1. 0P 1. 1P 1. 2A T 89 C 5 1 圖 39 MAX7219引腳圖 圖 310 顯示連接圖 MAX7219 采用串行數(shù)據(jù)傳輸方式,由 16 位數(shù)據(jù)包發(fā)送到 DIN 引腳的串行數(shù)據(jù)在每個CLK 的上升沿被移入到內(nèi)部 16 位移位寄存器中,然后在 LOAD 的上升沿將數(shù)據(jù)鎖存到數(shù)字或控制寄存器中。 LOAD 信號必須在第 16 個時鐘上升沿同時或之后,但在下一個時鐘上升沿之前變高,否則將會丟失數(shù)據(jù)。 DIN 端的數(shù)據(jù)通過移位寄存器傳送,并在 個時鐘周期后出現(xiàn)在 DOUT 端。 DOUT 端的數(shù)據(jù)在 CLK 的下降沿輸出 。串行數(shù)據(jù)以 16 位為一幀,其中 D15~ D12 可以任意, D11~ D8 為內(nèi)部寄存器地址, D7~ D0 為寄存器數(shù)據(jù),工作時序如下: 圖 311工作時序圖 報警電路設(shè)計 在微型計算機控制系統(tǒng)中,為了安全生產(chǎn),對于一些重要的參數(shù)或系統(tǒng)部位,都設(shè)有緊急狀態(tài)報警系統(tǒng),以便提醒操作人員注意,或采取緊急措施。其方法就是把計算機采集的數(shù)據(jù)或記過計算機進行數(shù)據(jù)處理、數(shù)字濾波,標度變換之后,與該參數(shù)上下限給定值進 15 行比較,如果高于上限值(或低于下限值)則進行報警,否則就作為采樣的正常值,進行顯示和控制。 本設(shè)計采用峰鳴音報警 電路。峰鳴音報警接口電路的設(shè)計只需購買市售的壓電式蜂鳴器,然后通過 AT89C51 的 1 根口線經(jīng)驅(qū)動器驅(qū)動蜂鳴音發(fā)聲。壓電式蜂鳴器約需 10mA 的驅(qū)動電流,可以使用 TTL 系列集成電路 7406 或 7407 低電平驅(qū)動,也可以用一個晶體三極管驅(qū)動。在圖中,當輸出高電平“ 1”時,晶體管導通,壓電蜂鳴器兩端獲得約 +5V 電壓而鳴叫;當輸出低電平“ 0”時,三極管截止,蜂鳴器停止發(fā)聲。 圖 312 是一個簡單的使用三極管驅(qū)動的峰鳴音報警電路 圖 312 三極管驅(qū)動的峰鳴音報警電路 單片機與 PC 機的通信接口 利用 AT89C51 單片機的標準串行接口 , 通過簡單的外圍接口電路,可以方便地實現(xiàn)單片機與 PC 機之間的數(shù)據(jù)通訊。本文對數(shù)據(jù)通訊無特殊要求,因此選擇 RS232 串行通訊。在接口電路和計算機接口芯片中大都為 TTL或 CMOS 電平 ,所以在通信時 ,必須進行電平轉(zhuǎn)換 ,以便與 RS232C 標準的電平匹配 MAX232 芯片可以完成電平轉(zhuǎn)換這一工作。 MAX232 芯片是 MAXIN 公司生產(chǎn)的低功耗、單電源雙 RS232 發(fā)送 /接收器 適用于各種 EIA232E 和 , 可以把輸入的 +5V電源變換成 RS232C 輸出電平所需 177。10V電壓 ,所以采用此芯片接口的串行通信系統(tǒng)只要單一的 +5V電源就可以 。 MAX232 的管腳說明 : C1+, C1, C2+, C2:外接電容端 ; R1IN, R2IN: 2 路 RS232 電平信號接收輸入端 ; R1OUT, R2OUT: 2 路轉(zhuǎn)換后的 TTL 電平接收信號輸出端,送單片機的 RXD 接收端 ; T1IN, T2IN : 2 路 TTL 電平發(fā)送輸入端,接單片機的 TXD 發(fā)送端 ; 16 T1OUT, T2OUT: 2 路轉(zhuǎn)換后的發(fā)送 RS232 電平信號 輸出端,接傳輸線 ; V+:經(jīng)電容接 +5V電源 ; V:經(jīng)電容接地。 MAX232 的芯片引腳如 313圖所示。接線圖如 314所示 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 3 J un 2 0 1 0 S he e t o f F i l e : D : \ M y D oc u m e n t s \ l a n g. d db D r a w n B y:C1 C3 C4 C5 C2 V c cC 1 +1C 1 3C 2 +4C 2 5T 1I N11T 2I N10R 1 O U T12R 2 O U T9V2V+6T 2O U T7T 1O U T14R 2 I N8R 1 I N13I B M P CRDR S 2 32 CTDM A X 2 32GNDV c c 圖 313 MAX232 引腳圖 圖 314 接線圖 系統(tǒng)總體電路 系統(tǒng)的總體電路如圖 315 所示,由 DS18B20 溫度傳感器和 HS1101 濕度傳感器采集信號并處理,傳輸給 ADC0809 進行模數(shù)轉(zhuǎn)換,然后傳輸給 AT89C51 單片機,在 LED 顯示器上顯示數(shù)值,如果超過所設(shè)定溫度濕度,蜂鳴報警器將工作。系統(tǒng)再由 RS232 進 行串口通信。 17 123456A B C D654321DCBATitleNumberRevisionSizeBDate:3Jun2010 Sheet of File:D:\My Documents\lang.ddbDrawn By: TN0 IN1 CLKCBAD7..D0STARTALEOEEOC++DCK地址鎖存Q Q AADC0809P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/Vpd9P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL119XTAL218Vss20Vcc40P0.039P0.138P0.237P0.336P0.435P0.534P0.633P0.732EA/Vpp31PROG/ALE30PSEN29P2.728P2.627P2.526P2.425P2.324P2.223P2.122P2.021 AT89C51 Vcc & DIG0