【正文】
N 228I N 75GND13I C 1A D C 08 09 BGND+5C L KGNDP 25I N 0P 00P 01P 02P 03P 04P 05P 06P 07P 26P 2712J4C O N 2GNDV in1GND2V ou t 3U27800+ 12C1 3PC2 P+5 率的 1/6,即 2MHz,所以 ADC0809的時(shí)鐘信號(hào)頻率為 500KHz。 4分頻信號(hào)可由兩級(jí) D觸發(fā)器獲得。 控制單元電路 ⑴ 單片機(jī)最小系統(tǒng) AT89S52 單片機(jī)是一種低功耗、高性能 CMOS 8 位微控制器,具有 8K 在系統(tǒng)可編程 Flash 存儲(chǔ)器。使用 Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè) 80C51 產(chǎn)品指令和引腳完全兼容。片上 Flash 允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程 Flash,使得 AT89S52 單片機(jī)為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 本系統(tǒng)主 要通過(guò) IO 口來(lái)控制個(gè)部分電路以及接受信號(hào), 32位 I/O 口控制線足以滿足系統(tǒng)功能需求。 AT89S52具有 P0、 P P P3四個(gè) I/O口。由于外圍電路比較多,所以要合理的利用端口,同一個(gè)器件盡量使用同一個(gè) I/O端口。根據(jù)這個(gè)原則,各模塊之間因合理分配。 P0口接 ADC0809數(shù)據(jù)端口, P2口用來(lái)控制 ADC0809和語(yǔ)音芯片(語(yǔ)音芯片采用端口模擬 SPI控制,需要 4條 I/O口控制線, ADC0809需要 3條), P1接液晶數(shù)據(jù)端,而液晶使能端和鍵盤(pán)控制接 P3口。如圖 。 需要注意的是, P0口作為普通 I/0口時(shí)需要增加上拉電阻。 ⑵ 鍵盤(pán)控制 根據(jù)系統(tǒng)功能考慮,系統(tǒng)的按鍵控制有以下 5個(gè)功能。 ⑴ 啟動(dòng)語(yǔ)音播報(bào); ⑵ 進(jìn)入播報(bào)定時(shí)時(shí)間設(shè)置菜單; ⑶ 修改時(shí)間; ⑷ 進(jìn)入報(bào)警限值設(shè)置菜單; ⑸ 修改報(bào)警數(shù)值。 基于以上功能設(shè)置鍵盤(pán)按鍵的功能。語(yǔ)音播報(bào)可以用以個(gè)獨(dú)立按鍵控制。關(guān)于播報(bào)間隔時(shí)間和設(shè)置報(bào)警限值,可以采用一個(gè)按鍵進(jìn)行功能切換:按第一 次,進(jìn)入播報(bào)時(shí)間間隔設(shè)置 。按第二次,進(jìn)入設(shè)置報(bào)警限值;按第三次,退出設(shè)置菜單。然后再用 2個(gè)鍵控制數(shù)值的增減即可。 基于以上功能設(shè)計(jì),可以不必使用 4 4鍵盤(pán),只用獨(dú)立按鍵即可,即 3個(gè)按鍵直接接單片機(jī) I/O口。這樣的好處是可以使得布局簡(jiǎn)單。硬件功能的設(shè)計(jì)要根據(jù)具體功能需要,而不是全部都是標(biāo)準(zhǔn)設(shè)置。 按鍵與接口連接如圖 。 圖 單片機(jī)控制電路 圖 按鍵接口電路 3個(gè)按鍵接單片機(jī) I/O口,通過(guò)對(duì) I/O口的電位判斷判斷否有鍵按下。在顯示濃度值時(shí), 可以通過(guò) P34的按鍵控制語(yǔ)音播報(bào)。在進(jìn)入設(shè)置菜單時(shí),可以通過(guò) P33口按鍵切換菜單,通過(guò) P36和 P34來(lái)上調(diào)和下調(diào)設(shè)置。 液晶顯示部分 字符與數(shù)字顯示部分采用 LCD1602液晶顯示模塊, 1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器( CGROM)已經(jīng)存儲(chǔ)了 160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常用的符號(hào)、和日文假名等, 足夠系統(tǒng)需求的功能要求。 每一個(gè)字符都有一個(gè)固定的代碼,比如大寫(xiě)的英文字母 “A” 的代碼是 01000001B( 41H),顯示時(shí)模塊把地址 41H中的點(diǎn)陣字符圖形顯示出Y112MC 1520P FC 1620P FGNDP 10P 11P 12P 13P 14P 15P 16P 17R S T30/ R X D31/ T X D32/ I N T 033/ I N T 134/ T 035/ T 136/ W R37/ R DX T A L 2X T A L 1V S S P 20P 21P 22P 23P 24P 25P 26P 27P S E NA L EEAP 07P 06P 05P 04P 03P 02P 01P 00V C CU1A T 89S 51GND+5X1X2X1X2R S TS8S W P B+5E210UR710KRSTGNDP 10P 11P 12P 13P 14P 15P 16P 17P 00P 01P 02P 03P 04P 05P 06P 07P 20P 21P 22P 23P 24P 25P 26P 27A L EE120uGND+5P 30P 31P 32P 33P 34P 35P 36P 371 2 3 4 5 6 7 8 9 10J2C O N 10GND GNDP15P17P16+5 RSTC 14+5123456789J5C O N 9123456789J6C O N 9S9S W P BS 1 0S W P BS 1 1S W P BGNDP 3 3P 3 6P 3 7 來(lái), 我們就能看到字母 “A” 。 1602采用標(biāo)準(zhǔn)的 16腳接口,其中: 第 1腳: VSS為電源地 第 2腳: VDD接 5V電源正極 第 3腳: V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生 “ 鬼影 ” ,使用時(shí)可以通過(guò)一個(gè) 10K的電位器調(diào)整對(duì)比度)。 第 4腳: RS為寄存器選擇,高電平 1時(shí)選擇數(shù)據(jù)寄存器、低電平 0時(shí)選擇指令寄存器。 第 5腳: RW為讀寫(xiě)信號(hào)線,高電平 (1)時(shí)進(jìn)行讀操作,低電平 (0)時(shí)進(jìn)行寫(xiě)操作。 第 6腳: E(或 EN)端為使能 (enable)端。 第 7~ 14腳: D0~ D7為 8位雙向數(shù)據(jù)端。 第 15~ 16腳:空腳或背燈電源。 15腳背光正極, 16腳背光負(fù)極。 根據(jù)引腳對(duì)應(yīng)功能,將雙向數(shù)據(jù)端接單片機(jī) P1口,控制端接到 P3口(使液 晶模塊與單片機(jī)端口連接全部處于同側(cè)),接口連接設(shè)計(jì)如下: 圖 液晶模塊接口電路 本系統(tǒng)中語(yǔ)音播報(bào)的內(nèi)容的特點(diǎn)是有很多內(nèi)容是相同的,只有每次測(cè)量到GND+5R 11P O T 2L C M 1602D07D18D29D310D411D512D613D714RS4R/W5E6GND1VCC2VLCD3V B A C K +15V B A C K 16D S 1L C M 1602GND+5P10P11P12P13P14P15P16P17P30P31P32 得數(shù)據(jù),即二氧化碳的濃度是動(dòng)態(tài)測(cè)量不斷變化。其他的播報(bào)內(nèi)容中的文字信息也有重復(fù)內(nèi)容,因此要充分利用單片機(jī)的控制能力,實(shí) 現(xiàn)動(dòng)態(tài)控制自動(dòng)調(diào)用語(yǔ)音內(nèi)容組合成播報(bào)內(nèi)容。 本系統(tǒng)選擇了 ISD1720語(yǔ)音芯片,是華邦公司新推出的 ISD1700系列芯片中的一種。改系列芯片提供多種功能而且音質(zhì)較好。芯片內(nèi)部包含自動(dòng)增益控制、麥克風(fēng)前置擴(kuò)大器、揚(yáng)聲器驅(qū)動(dòng)線路、振蕩器與內(nèi)存等的全方位整合系統(tǒng)功能。 芯片特點(diǎn):可錄、放音十萬(wàn)次,存儲(chǔ)內(nèi)容可以斷點(diǎn)保留一百年。兩種控制方式,兩種錄音輸入方式,兩種放音輸出方式。工作電壓在 ,最高不能超過(guò) 6V。用戶可以自己根據(jù)需求在芯片中在任意地址空間錄入所需的播放內(nèi)容,同時(shí)也可以按地址直接調(diào)用錄好 的內(nèi)容進(jìn)行播放。這樣就可以滿足系統(tǒng)的播報(bào)要求。 而語(yǔ)音芯片的外圍電路比較簡(jiǎn)單,僅需一些電阻、電容,電容主要是起到 濾波的作用。 本系統(tǒng)中單片機(jī)通過(guò) SPI模式控制語(yǔ)音芯片。主控單片機(jī)主要通過(guò)四線( SCLK,MOSI,MISO,/SS) SPI協(xié)議對(duì) ISD1720進(jìn)行串行通信,本系統(tǒng)中通過(guò) I/O口模擬串行通信,與單片機(jī)的連接僅需 4個(gè)端口。系統(tǒng)中將其與 。 語(yǔ)音芯片接口電路如圖 。 圖 語(yǔ)音芯片接口電路 語(yǔ)音芯片的語(yǔ)音輸出端 SP+輸出的 信號(hào)強(qiáng)度有限,所以要通過(guò) LM386設(shè)計(jì)一個(gè)放大電路來(lái)驅(qū)動(dòng)揚(yáng)聲器工作。 LM386電壓增益內(nèi)置為 20,當(dāng)在 1腳和 8腳之間加一只外接電阻和電容,可使電壓增益最大增益到 200。 如圖 ,可以通過(guò) R12, 10k的電位器來(lái)控制輸出音頻的大小 5腳作為輸出腳與 ,為了濾掉低頻濾波,減少雜音以及儲(chǔ)存能量,在R E C24P L A Y23E R A S E25F W D26VOL19FT22SS7S C L K6M O S I5M I S O4M I C +10M I C 11A N A I N9R os c20AGC18R E S E T3LED2V c c d1V s s d28V c c a21V s s a8V c c p14V s s p116V s s p212S P +15S P 13A U D /A U X17I N T /R D Y27U2I S D 17 60+5S1S W P BC7GNDC5+C810u+5GNDC3+C910u+5GNDC4+ C610u+ C 1110uC 10+5GNDvo+ C 13GNDR560kGNDC2 C M K 1M I C R O P H O N E 2R4GND+C1GNDR2R1+5P 23P 22P 21P 20R31kD2LED 5腳和喇叭之間需加上一個(gè) 220UF的極性電容。為了使喇叭發(fā)出的聲音柔和動(dòng)聽(tīng),要在 5腳和地之間接上一個(gè) 10歐的電阻。在 7腳和地之間接上一個(gè) 10U的電容能濾除噪聲。在這里只選 3腳 作為輸入端,所以另一反相輸入端2腳接地。語(yǔ)音放大電路如圖 。 圖 語(yǔ)音放大電路 1 82 73 64 5R9L M 38 6+C 1710uR810kGNDGNDR 1210kC 20104VOC 18 uGND+5C 19 uGNDR 1310+C 22220uC 21 47 u12J3C O N 2GND 3 軟件設(shè)計(jì) 應(yīng)用系統(tǒng)中的應(yīng)用軟件是根據(jù)系統(tǒng)功能要求設(shè)計(jì)的,應(yīng)該可靠地實(shí)現(xiàn)系統(tǒng)的各種功能。一個(gè)優(yōu)秀的應(yīng)用系統(tǒng)的軟件應(yīng)具有下列特點(diǎn) : (1)根據(jù)軟件功能要求,將系統(tǒng)軟件分成若干個(gè)相對(duì)獨(dú)立的部分。設(shè)計(jì)出軟件的總體結(jié)構(gòu),使其結(jié)構(gòu)清晰、簡(jiǎn)捷、流程合理。 (2)要樹(shù)立結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格,各功能程序?qū)崿F(xiàn)模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植、修正。 (3)建立正確的數(shù)學(xué)模型。即根 據(jù)功能要求,描繪出各個(gè)輸入和輸出變量之間的數(shù)學(xué)關(guān)系,它是關(guān)系到系統(tǒng)性能好壞的重要因素。 (4)為提高軟件設(shè)計(jì)的總體效率,以簡(jiǎn)明、直觀的方法對(duì)任務(wù)進(jìn)行描述,在編寫(xiě)應(yīng)用軟件之前,應(yīng)繪制出程序流程圖。 (5)注意在程序的有關(guān)位置處寫(xiě)上功能注釋,提高程序的可讀性。 (6)加強(qiáng)軟件抗干擾設(shè)計(jì),它是提高計(jì)算機(jī)應(yīng)用系統(tǒng)可靠性的有利措施。 本系統(tǒng)的軟件包括以下幾個(gè)程序模塊 : (1)按鍵識(shí)別程序與處理程序; (2)ADC0809 驅(qū)動(dòng)程序; (3)LCD 顯示程序; (4)語(yǔ)音播報(bào)程序; (5)數(shù)據(jù)處理部分。 主程序流程 圖 程序主要要實(shí)現(xiàn)的功能:?jiǎn)?dòng) ADC0809 進(jìn)行模數(shù)轉(zhuǎn)化,并將所得數(shù)據(jù)轉(zhuǎn)化成實(shí)際的二氧化碳濃度,并且控制液晶顯示,控制語(yǔ)音芯片進(jìn)行語(yǔ)音播報(bào)。 程序主流程如圖 . 是 是 是 是 是 否 否 否 否 否 圖 系統(tǒng)主程序流程圖 系統(tǒng)初始化 啟動(dòng) AD