【正文】
x0000 開始計算,但 0x0000x00F 地址平均保留給了4 個提示音。兼容獨立按鍵模式,有 PLAY, REC, ERASE, FWD, RESET 和 GLOBAL_ERASE 的運行類似于形影的獨立按鍵模式的操作。 ISD1700 芯片內部寄存器可以返回 1700 芯片的內部狀態(tài),其中 SR0 為 2 個字節(jié), SR1 為一個字節(jié)。這就需要在軟件上處理。=4 段空間 錯誤 !未找到引用源。 開 始 數字壓入 buffer 確定數字位數 d i=0 播放 buffer [i] Buffer[i] 為終止符? 播放單位 i++ d-- 結束 圖 數字播報流程圖 4 調試過程 整個調試過程包括硬件調試、軟件調試和系統(tǒng)測試三部分。 硬件調試 硬件正常是整個系統(tǒng)正常運轉的基礎,所以硬件調試就格外重要。因為在印制板子的過程中難免出現細微問題,比如布線比較近的地方就可能出現短路,然后在焊接好以后,對容易焊接短路的地方進行檢測。如果不正常,由于已經排除掉焊接短路、斷路的問 題,可以重點懷疑電路原理的問題。檢測到 2M 方波,說明單片機能正常啟動。注意要保證對比度適合。 語音芯片保留了按鍵部分用來測試芯片是否正常工作和芯片電源供電是否正常。檢測放大電路主要是檢測放大電路能不能調零。 軟件調試 本系統(tǒng)軟件部分采用 C 語言編寫,系統(tǒng)硬件電路比 較簡單,主要通過軟件來實現各個模塊之間的協(xié)調運作。但實際系統(tǒng)要求要顯示的濃度值是動態(tài)變化的。 語音播報程序調試 語音播報主要是模擬 SPI時序傳輸命令與數據。 同時在分段播放時,沒次播放前都要加入判斷是否播放完畢,這樣才能正常運行。數據處理部分,根據其線 性關系可以得到求值公式,但是其斜率和輸出的電壓隨溫度變化,沒能得到很好的解決,可以通過多次求值求平均值來減小誤差,但室內空氣檢測,要求不是很精確,只要誤差范圍在允許范圍內即可。在軟件上根據流程圖,合理設置個功能的連接方式十分重要。 由于沒有標準的二氧化碳濃度檢測儀進行比較,沒法進行自行標定。按設置菜單建,可以進入設置菜單,按一次是進行報警值的設置,按兩次是進入報警間隔時間的設置。 系統(tǒng)整體設計功能基本能夠實現,能夠對二氧化碳濃度進行實時顯示和語音播報。 對于 AT89S52 單片機,應用已經相當普及和廣泛。本系統(tǒng)中通過 I/0 口來模擬啟動時序。這一點在 ADC1720 的使用上也有體會。 語音芯片 ISD1720 的使用是本系統(tǒng)中難度最大的部分。開始就想實現整體功能較為困難。 語音程序的應用一定要注意每執(zhí)行完一跳語句要進行是否執(zhí)行完畢的判斷,在初步調試程序時發(fā)現沒有判斷將使得有的語句沒有執(zhí)行不能按預期的方式播放。 Y 系統(tǒng)的功能基本實現,但還有一些不足。電子科技大學出版社, 2021. [4] 康華光等 .電子技術基礎模擬部分(第五版) .高等教育出版社, 2021. [5] 馬忠梅 . 單片機的 C語言應用程序設計 [M]. 北京航空航天大學出版社, 1999. [6] 勞五一 , 勞佳編著 . 模擬電子電路分析、設計與仿真 [M].清華大學出版社, . [7] 王秋爽,曾昭龍著 .單片機開發(fā)基礎與經典設計實例 .機械工業(yè)出版社, 2021 [8] 松井邦彥 .傳感器應用技巧( 梁瑞林 ) [M].科學出版社, 2021, 16~ 18 [9] Digital logic circuit analysis and design. Victor [.] 1995 by Prentice Hall,Inc. [10]田立,田清著, 51單片機 C語言程序設計快速入門 .人民郵電出版社出版發(fā)行, 2021. 附 錄 附錄一:電路原理圖 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 2012J1C O N 2+5GND+5R6R E SGND1 82 73 64 5R9L M 38 6+C 1710uR810kGNDGNDR 1210kC 20104VOC 18GND+5C 19GNDR 1310+C 22220uC 2112J3C O N 2GNDY112MC 1520 P FC 1620 P 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 89 S 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+5GND+5R 11P O T 2ADDB24ADDA25R E F ( + )12R E F ( )16ADDC23E O C7C L K10OE9A L E22S T A R T6V C C11D721D620D519D418D38D215D114D017I N 026I N 127I N 31I N 42I N 53I N 64I N 228I N 75GND13I C 1A D C 08 09 BGND+5C L KGNDP 25I N 0P 30P 31P 32P 33P 34P 35P 36P 37LCM1602D07D18D29D310D411D512D613D714RS4R/W5E6GND1VCC2VLCD3V B A C K +15V B A C K 16 D S 1L C M 16 02GND+5S2S W P BS3S W P BS4S W P BS5S W P BS6S W P BS7S W P BGNDS9S W P BS 10S W P BS 11S W P BGND1 2 3 4 5 6 7 8 9 10J2C O N 10GND GNDP15P17P16+5 RSTD5Q1CK3Q2R4S6U 3A4013D9Q13CK11Q12R10S8VDD14GND7U 3B4013C L KD1LEDR31kC 14P 00P 01P 02P 03P 04P 05P 06P 07P10P11P12P13P14P15P16P17P30P31P32D2LEDP 26P 27+5+5 GND12J?C O N 2P 33P 36P 37A L E32618 74S?O P 07123456J?C O N 6R?2KR?2KR?20KR?20KVin1GND2Vout3I C ?78 X XR?P O T 2C?C A PC?C A P+12+5123J?C O N 3+1212+5+1212 附錄二:程序清單 主函數程序 : void main(void) { LCD_init()。 temp3=0。 while(1) { AD0809_ST=0。 while(!AD0809_EOC)。 DigitalData=(534DigitalData)/65。 while(!BACK) { while(!BACK)。 } if(temp3time*6) { EA=0。 } if(temp1alarm) { SetPLAY(0x00,0x56,0x00,0x70)。 TL0=0X06。 TR0=1。 temp2=0。 bfsz(temp1)。 temp=ADData_BUS。 LCD_init()。 sprintf(string1,%d ppm,alarm)。 else i=3; switch(i) {case 0: 。 case 1: 。 default:break。 return(alarm)。 sprintf(string1,alarm time:)。 while(BACK) { if(!UP) i=0。time=10+sum。time=sum10。 } sprintf(string1,%d min,time)。 return(time)。 for(i=0。 SetPLAY(0x00,0x10+b*7,0x00,0x17+b*7)。break。break。 } } uint pdwei(uint num) { uint i。 else if(num10) i=3。t agree with the disciplinary action your employer has t