![天城lcs-電壓采集報(bào)警控制器說明書_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/bbe48f4c-4b4e-46d8-aa2c-22e5641838ba/bbe48f4c-4b4e-46d8-aa2c-22e5641838ba1.gif)
![天城lcs-電壓采集報(bào)警控制器說明書_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/bbe48f4c-4b4e-46d8-aa2c-22e5641838ba/bbe48f4c-4b4e-46d8-aa2c-22e5641838ba2.gif)
![天城lcs-電壓采集報(bào)警控制器說明書_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/bbe48f4c-4b4e-46d8-aa2c-22e5641838ba/bbe48f4c-4b4e-46d8-aa2c-22e5641838ba3.gif)
![天城lcs-電壓采集報(bào)警控制器說明書_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/bbe48f4c-4b4e-46d8-aa2c-22e5641838ba/bbe48f4c-4b4e-46d8-aa2c-22e5641838ba4.gif)
![天城lcs-電壓采集報(bào)警控制器說明書_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/bbe48f4c-4b4e-46d8-aa2c-22e5641838ba/bbe48f4c-4b4e-46d8-aa2c-22e5641838ba5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué) 號(hào) 1322020312天津城建大學(xué)單片機(jī)原理及應(yīng)用A課程設(shè)計(jì)說明書電壓采集報(bào)警控制器起止日期: 2016年1月 4日 至 2016年1月15日學(xué)生姓名班級(jí)13智能化*班成績(jī)指導(dǎo)教師(簽字)控制與機(jī)械工程學(xué)院 2016年1月15日目 錄第 1 章 STC12C5A60S2單片機(jī)基礎(chǔ)知識(shí)1 1.1概述1 1.2功能及基礎(chǔ)參數(shù)簡(jiǎn)介11.3引腳功能介紹2第2章 設(shè)計(jì)開發(fā)軟件介紹42.1 KEIL4介紹42.2 PROTEUS介紹42.3 Altim_Designer介紹52.4串口調(diào)試助手介紹52.5 STC-ISP下載軟件介紹5第3章 電壓采集報(bào)警控制器硬件電路設(shè)計(jì)73.1電壓采集報(bào)警控制器運(yùn)
2、行流程圖73.2芯片選擇選擇及局部電路103.3 PROTEUS仿真電路原理圖143.4硬件調(diào)試串口調(diào)試助手實(shí)時(shí)數(shù)據(jù)153.5 PCB印刷電路板圖16結(jié)論17參考文獻(xiàn)18附錄1913第一章 STC12C5A60S2單片機(jī)基礎(chǔ)知識(shí)1.1 概述: STC12C5A60S2/AD/PWM系列單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),是高速/低功耗/超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250K/S),針對(duì)電機(jī)控制,強(qiáng)干擾場(chǎng)合。1.2 功能及基礎(chǔ)參數(shù)簡(jiǎn)介: 1.增強(qiáng)型80
3、51 CPU,1T,單時(shí)鐘/機(jī)器周期,指令代碼完全兼容傳統(tǒng)8051; 2.工作電壓:STC12C5A60S2系列工作電壓:5.5V-3.3V(5V單片機(jī))STC12LE5A60S2系列工作電壓:3.6V-2.2V(3V單片機(jī)); 3.工作頻率范圍:0 - 35MHz,相當(dāng)于普通8051的 0420MHz; 4.用戶應(yīng)用程序空間8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字節(jié); 5.片上集成1280字節(jié)RAM; 6.通用I/O口(36/40/44個(gè)),復(fù)位后為:準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口),可設(shè)置成四種模式:準(zhǔn)雙向口/弱上拉,
4、推挽/強(qiáng)上拉,僅為輸入/高阻,開漏,每個(gè)I/O口驅(qū)動(dòng)能力均可達(dá)到20mA,但整個(gè)芯片最大不要超過55Ma; 7. ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無需專用仿真器 可通過串口(P3.0/P3.1)直接下載用戶程序,數(shù)秒即可完成一片; 8.有EEPROM功能(STC12C5A62S2/AD/PWM無內(nèi)部EEPROM); 9.看門狗; 10.內(nèi)部集成MAX810專用復(fù)位電路(外部晶體12M以下時(shí),復(fù)位腳可直接1K電阻到地); 11.外部掉電檢測(cè)電路:在P4.6口有一個(gè)低壓門檻比較器,5V單片機(jī)為1.32V,誤差為+/-5%,3.3V單片機(jī)為1.30V,誤差為+/-3%
5、; 12.時(shí)鐘源:外部高精度晶體/時(shí)鐘,內(nèi)部R/C振蕩器(溫漂為+/-5%到+/-10%以內(nèi)) 1用戶在下載用戶程序時(shí),可選擇是使用內(nèi)部R/C振蕩器還是外部晶體/時(shí)鐘,常溫下內(nèi)部R/C振蕩器頻率為:5.0V單片機(jī)為:11MHz15.5MHz,3.3V單片機(jī)為:8MHz12MHz,精度要求不高時(shí),可選擇使用內(nèi)部時(shí)鐘,但因?yàn)橛兄圃煺`差和溫漂,以實(shí)際測(cè)試為準(zhǔn); 13.共4個(gè)16位定時(shí)器 兩個(gè)與傳統(tǒng)8051兼容的定時(shí)器/計(jì)數(shù)器,16位定時(shí)器T0和T1,沒有定時(shí)器2,但有獨(dú)立波特率發(fā)生器 做串行通訊的波特率發(fā)生器 再加上2路PCA模塊可再實(shí)現(xiàn)2個(gè)16位定時(shí)器; 14. 2個(gè)時(shí)鐘輸出口,可由T0的溢出在P
6、3.4/T0輸出時(shí)鐘,可由T1的溢出在P3.5/T1輸出時(shí)鐘; 15.外部中斷I/O口7路,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中斷的PCA模塊, Power Down模式可由外部中斷喚醒,INT0/P3.2,INT1/P3.3,T0/P3.4, T1/P3.5, RxD/P3.0,CCP0/P1.3(也可通過寄存器設(shè)置到P4.2 ), CCP1/P1.4 (也可通過寄存器設(shè)置到P4.3); 16. PWM(2路)/PCA(可編程計(jì)數(shù)器陣列,2路): 也可用來當(dāng)2路D/A使用 也可用來再實(shí)現(xiàn)2個(gè)定時(shí)器 也可用來再實(shí)現(xiàn)2個(gè)外部中斷(上升沿中斷/下降沿中斷均可分別或同時(shí)支持);17.
7、A/D轉(zhuǎn)換, 10位精度ADC,共8路,轉(zhuǎn)換速度可達(dá)250K/S(每秒鐘25萬次)18.通用全雙工異步串行口(UART),由于STC12系列是高速的8051,可再用定時(shí)器或PCA軟件實(shí)現(xiàn)多串口; 19. STC12C5A60S2系列有雙串口,后綴有S2標(biāo)志的才有雙串口,RxD2/P1.2(可通過寄存器設(shè)置到P4.2),TxD2/P1.3(可通過寄存器設(shè)置到P4.3); 20.工作溫度范圍:-40 - +85(工業(yè)級(jí)) / 0 - 75(商業(yè)級(jí)) 21.封裝:PDIP-40,LQFP-44,LQFP-48 I/O口不夠時(shí),可用2到3根普通I/O口線外接 74HC164/165/595(均可級(jí)聯(lián))
8、來擴(kuò)展I/O口, 還可用A/D做按鍵掃描來節(jié)省I/O口,或用雙CPU,三線通信,還多了串口。1.3 引腳功能介紹: 圖1-1 STC12C5A60S2管腳圖各引腳功能簡(jiǎn)單介紹如下: VCC:供電電壓; GND:接地; P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每個(gè)管腳可吸收8TTL門電流。當(dāng)P1口的管腳寫“1”時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FLASH編程時(shí),P0口作為原碼輸入口,當(dāng)FLASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部電位必須被拉高; P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL
9、門電流。P1口管腳寫入“1”后,電位被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收; P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳電位被內(nèi)部上拉電阻拉高,且作為輸入。作為輸入時(shí),P2口的管腳電位被外部拉低,將輸出電流,這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉的優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊
10、功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào); P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入時(shí),由于外部下拉為低電平,P3口將輸出電流(ILL),也是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口: P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 INT0(外部中斷0) P3.3 INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)器1外部輸入) P3.6 WR (外部數(shù)據(jù)存儲(chǔ)器寫選通) P3
11、.7 RD (外部數(shù)據(jù)存儲(chǔ)器讀選通) 同時(shí)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào); RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高平時(shí)間; ALE / PROG :當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令時(shí)ALE才起作用
12、。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效; PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取址期間,每個(gè)機(jī)器周期PSEN兩次有效。但在訪問內(nèi)部部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn); EA/VPP:當(dāng)EA保持低電平時(shí),訪問外部ROM;注意加密方式1時(shí),EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時(shí),訪問內(nèi)部ROM。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP); XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入;XTAL2:來自反向振蕩器的輸出;第2章 設(shè)計(jì)開發(fā)軟件介紹2.1 KEIL4介紹:Keil uVision4
13、引入靈活的窗口管理系統(tǒng),使開發(fā)人員能夠使用多臺(tái)監(jiān)視器,并提供了視覺上的表面對(duì)窗口位置的完全控制的任何地方。新的用戶界面可以更好地利用屏幕空間和更有效地組織多個(gè)窗口,提供一個(gè)整潔,高效的環(huán)境來開發(fā)應(yīng)用程序。新版本支持更多最新的ARM芯片,還添加了一些其他新功能。最新的Keil uVision4 IDE,旨在提高開發(fā)人員的生產(chǎn)力,實(shí)現(xiàn)更快,更有效的程序開發(fā)。uVision4引入了靈活的窗口管理系統(tǒng),能夠拖放到視圖內(nèi)的任何地方,包括支持多顯示器窗口。uVision4在Vision3 IDE的基礎(chǔ)上,增加了更多大眾化的功能。 多顯示器和靈活的窗口管理系統(tǒng) 系統(tǒng)瀏覽器窗口的顯示設(shè)備外設(shè)寄存器信息 調(diào)試還
14、原視圖創(chuàng)建并保存多個(gè)調(diào)試窗口布局 多項(xiàng)目工作區(qū)簡(jiǎn)化與眾多的項(xiàng)目2.2 PROTEUS介紹:Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MATLAB等多
15、種編譯器。Proteus軟件具有其它EDA工具軟件(例:multisim)的功能: 1原理布圖 2PCB自動(dòng)或人工布線 3SPICE電路仿真革命性的特點(diǎn): 1互動(dòng)的電路仿真用戶甚至可以實(shí)時(shí)采用諸如RAM,ROM,鍵盤,馬達(dá),LED,LCD,AD/DA,部分SPI器件,部分IIC器件。 2仿真處理器及其外圍電路可以仿真51系列、AVR、PIC、ARM、等常用主流單片機(jī)。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運(yùn)行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設(shè)計(jì)開發(fā)環(huán)境.2.3 Altim_Designer介紹: 電路設(shè)計(jì)自動(dòng)化
16、EDA(Electronic Design Automation)指的就是將電路設(shè)計(jì)中各種工作交由計(jì)算機(jī)來協(xié)助完成。如電路原理圖(Schematic)的繪制、印刷電路板(PCB)文件的制作、執(zhí)行電路仿真(Simulation)等設(shè)計(jì)工作。隨著電子科技的蓬勃發(fā)展,新型元器件層出不窮,電子線路變得越來越復(fù)雜,電路的設(shè)計(jì)工作已經(jīng)無法單純依靠手工來完成,電子線路計(jì)算機(jī)輔助設(shè)計(jì)已經(jīng)成為必然趨勢(shì),越來越多的設(shè)計(jì)人員使用快捷、高效的CAD設(shè)計(jì)軟件來進(jìn)行輔助電路原理圖、印制電路板圖的設(shè)計(jì),打印各種報(bào)表。 Altium Designer 是原Protel軟件開發(fā)商Altium公司推出的一體化的電子產(chǎn)品開發(fā)系統(tǒng),
17、主要運(yùn)行在Windows XP操作系統(tǒng)。這套軟件通過把原理圖設(shè)計(jì)、電路仿真、PCB繪制編輯、拓?fù)溥壿嬜詣?dòng)布線、信號(hào)完整性分析和設(shè)計(jì)輸出等技術(shù)的完美融合,為設(shè)計(jì)者提供了全新的設(shè)計(jì)解決方案,使設(shè)計(jì)者可以輕松進(jìn)行設(shè)計(jì),熟練使用這一軟件必將使電路設(shè)計(jì)的質(zhì)量和效率大大提高。Altium Designer 除了全面繼承包括Protel 99SE、Protel DXP在內(nèi)的先前一系列版本的功能和優(yōu)點(diǎn)外,還增加了許多改進(jìn)和很多高端功能。該平臺(tái)拓寬了板級(jí)設(shè)計(jì)的傳統(tǒng)界面,全面集成了FPGA設(shè)計(jì)功能和SOPC設(shè)計(jì)實(shí)現(xiàn)功能,從而允許工程設(shè)計(jì)人員能將系統(tǒng)設(shè)計(jì)中的FPGA與PCB設(shè)計(jì)及嵌入式設(shè)計(jì)集成在一起。 由于Alti
18、um Designer 在繼承先前Protel軟件功能的基礎(chǔ)上,綜合了FPGA設(shè)計(jì)和嵌入式系統(tǒng)軟件設(shè)計(jì)功能,Altium Designer 對(duì)計(jì)算機(jī)的系統(tǒng)需求比先前的版本要高一些。主要功能:1、原理圖設(shè)計(jì);2、印刷電路板設(shè)計(jì);3、FPGA的開發(fā);4、嵌入式開發(fā);5、3D PCB設(shè)計(jì)。2.4 串口調(diào)試助手介紹: 串口調(diào)試助手是串口調(diào)試相關(guān)工具,有多個(gè)版本。如:友善串口調(diào)試助手,支持9600,19200等常用各種波特率及自定義波特率,可以自動(dòng)識(shí)別串口,能設(shè)置校驗(yàn)、數(shù)據(jù)位和停止位,能以ASCII碼或十六進(jìn)制接收或發(fā)送任何數(shù)據(jù)或字符,可以任意設(shè)定自動(dòng)發(fā)送周期,并能將接收數(shù)據(jù)保存成文本文件,能發(fā)送任意大
19、小的文本文件。 硬件連接方面,傳統(tǒng)臺(tái)式PC機(jī)支持標(biāo)準(zhǔn)RS232接口,但是帶有串口的筆記本很少見,所以需要USB/232轉(zhuǎn)換接口,并且安裝相應(yīng)驅(qū)動(dòng)程序。2.5 STC-ISP下載軟件介紹:STC-ISP 是一款單片機(jī)下載編程燒錄軟件,是針對(duì)STC系列單片機(jī)而設(shè)計(jì)的,可下載STC89系列、12C2052系列和12C5410等系列的STC單片機(jī),使用簡(jiǎn)便,現(xiàn)已被廣泛使用。操作說明:1)打開STC-ISP,如下圖界面,在MCU Type欄目下選中單片機(jī);2)根據(jù)您的9針數(shù)據(jù)線連接情況選中COM端口,波特率一般保持默認(rèn),如果遇到下載問題,可以適當(dāng)下調(diào)一些;3)先確認(rèn)硬件連接正確,按點(diǎn)擊打開文件并在對(duì)話框
20、內(nèi)找到您要下載的HEX文件;4)選中兩個(gè)條件項(xiàng),這樣可以使您在每次編譯KEIL時(shí)HEX代碼能自動(dòng)加載到STC-ISP,點(diǎn)擊Download/下載;5)手動(dòng)按下電源開關(guān)便即可把可執(zhí)行文件HEX寫入到單片機(jī)內(nèi);6)程序?qū)懭胪戤?,目?biāo)板開始運(yùn)行程序結(jié)果;圖2-1 STC下載器界面圖第三章 電壓采集報(bào)警控制器硬件電路設(shè)計(jì)3.1電壓采集報(bào)警控制器運(yùn)行流程圖:STC12C5A60S2(引腳排序及基本功能同AT89S51)作為主控芯片,設(shè)計(jì)電壓采集控制器。一、設(shè)計(jì)LG4042BH數(shù)碼管顯示實(shí)時(shí)電壓;二、設(shè)計(jì)AD電壓采集電路,進(jìn)行實(shí)時(shí)電壓采集;三、設(shè)計(jì)串口電路,將實(shí)時(shí)電壓值傳給串口調(diào)試助手。四、設(shè)計(jì)蜂鳴器電路
21、,當(dāng)電壓降到設(shè)定值時(shí),進(jìn)行警報(bào)。五、設(shè)計(jì)按鍵電路,可對(duì)電壓限值進(jìn)行設(shè)置,并將電壓限值存入24C04中保存。3.1.1 程序主流程圖:圖3-1 電壓采集報(bào)警控制器主流程圖3.1.2 按鍵調(diào)節(jié)限值流程圖:圖3-2 按鍵調(diào)節(jié)限值流程圖3.1.3 總線初始化流程圖:圖3-3 總線初始化流程圖3.1.4 總線應(yīng)答停止信號(hào)流程圖: 圖3-4 應(yīng)答信號(hào)流程圖 圖3-5 停止信號(hào)流程圖3.1.5 總線讀寫字節(jié)流程圖: 圖3-6 讀字節(jié)流程圖 圖3-7 寫字節(jié)流程圖3.1.6 PCF8591芯片AD轉(zhuǎn)換流程圖:圖3-8 pcf8591 AD流程圖3.2芯片選擇:3.2.1 PCF8591芯片介紹:PCF8591
22、是一個(gè)單片集成、單獨(dú)供電、低功耗、8-bitCMOS數(shù)據(jù)獲取器件。PCF8591具有4個(gè)模擬輸入、1個(gè)模擬輸出和1個(gè)串行I2C總線接口。PCF8591的3個(gè)地址引腳A0,A1和A2可用于硬件地址編程,允許在同個(gè)I2C總線上接入8個(gè)PCF8591器件,而無需額外的硬件。在PCF8591器件上輸入輸出的地址、控制和數(shù)據(jù)信號(hào)都是通過雙線雙向I2C總線以串行的方式進(jìn)行傳輸。PCF8591的功能包括多路模擬輸入、內(nèi)置跟蹤保持、8-bit模數(shù)轉(zhuǎn)換和8-bit數(shù)模轉(zhuǎn)換。PCF8591的最大轉(zhuǎn)化速率由I2C總線的最大速率決定。1)引腳介紹: AOUT:D/A 轉(zhuǎn)換輸出端; AGND:模擬信號(hào)地;53AIN0A
23、IN3:模擬信號(hào)輸入端;VREF:基準(zhǔn)電源端;A0A2:引腳地址端;VDD、VSS:電源端(2.56V);SDA、SCL:I2C 總線的數(shù)據(jù)線、時(shí)鐘線;OSC:外部時(shí)鐘輸入端,內(nèi)部時(shí)鐘輸出端;EXT:內(nèi)部、外部時(shí)鐘選擇線,使用內(nèi)部時(shí)鐘時(shí) EXT 接地; 圖3-8 PCF8591管腳圖2)AD轉(zhuǎn)換電路圖:圖3-9 模數(shù)轉(zhuǎn)換模塊電路圖3.2.2 AT24C04芯片介紹:AT24C04是Ateml公司的4Kb得電可擦除存儲(chǔ)芯片,采用兩線串行的總線和單片機(jī)通訊,電壓最低可以到2.5V,額定電流為1mA,靜態(tài)電流10uA(5.5V),芯片內(nèi)的資料可以在斷電的情況下保存100年,而且采用8 腳的DIP 封
24、裝,使用方便。簡(jiǎn)而言之,AT24C02是一個(gè)在突然掉電的情況下存儲(chǔ)數(shù)據(jù)的芯片,即掉電存儲(chǔ)芯片。1)引腳介紹:A0:空引腳;A1、A2:器件地址設(shè)定引腳;GND:電源地;SDA、SCL:數(shù)據(jù)線、時(shí)鐘線; WP:寫保護(hù)口;VCC:電源; 圖3-10 AT24C04管腳圖2)斷電存儲(chǔ)模塊電路:圖3-11 斷電存儲(chǔ)模塊電路圖3.2.3 MAX232芯片介紹:MAX232是一種雙組驅(qū)動(dòng)器/接收器,片內(nèi)含有一個(gè)電容性電壓發(fā)生器以便在單5V電源供電時(shí)提供EIA/TIA-232-E電平。當(dāng)用單片機(jī)和PC機(jī)通過串口進(jìn)行通信,盡管單片機(jī)有串行通信的功能,但單片機(jī)提供的信號(hào)電平和RS232的標(biāo)準(zhǔn)不一樣,因此要通過m
25、ax232這種類似的芯片進(jìn)行電平轉(zhuǎn)換。1)引腳介紹:第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從11引腳(T1IN)、10引腳(T2IN)輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從14腳(T1OUT)、7腳(T2OUT)
26、送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從13引腳(R1IN)、8引腳(R2IN)輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從12引腳(R1OUT)、9引腳(R2OUT)輸出。第三部分是供電。15腳GND、16腳VCC(+5v)。2) 串口通信模塊電路:圖3-12 串口通信模塊電路圖3.2.4 數(shù)碼管顯示電路:圖3-13 數(shù)碼管顯示電路圖3.2.4 STC12C5A60S2最小系統(tǒng):圖3-14 STC12C5A60S2最小系統(tǒng)電路圖3.3 PROTEUS仿真電路圖:圖3-15 PROTEUS仿真電路圖3.4 硬件調(diào)試串口調(diào)試助手實(shí)時(shí)數(shù)據(jù):圖3-16 串口助手實(shí)時(shí)調(diào)試圖 3.5 PCB印刷電路板圖
27、:圖3-17 PCB電路板圖結(jié) 論通過這次單片機(jī)課程設(shè)計(jì)電壓采集報(bào)警控制器設(shè)計(jì),讓我對(duì)單片機(jī)開發(fā)及調(diào)試軟件有了更加熟悉的了解,也讓我更加明白了C51程序語言的設(shè)計(jì)邏輯原理。很多設(shè)計(jì)理念需要來源于實(shí)際,從中找出最適合的方式方法。在設(shè)計(jì)的過程中遇到的問題,可以說得是困難重重,畢竟是第一次做一個(gè)系統(tǒng)性的東西。雖然本次課程設(shè)計(jì)要求自己獨(dú)立完成,但是,我遇到問題時(shí)和同學(xué)互相討論交流。在做課程設(shè)計(jì)的過程中不停的討論問題,解決問題。這樣就不會(huì)使自己在單獨(dú)做的過程中沒有方向;同時(shí)也更加了解了解決問題的辦法。在軟件編程時(shí)遇到了編程語言邏輯性不合理等問題。而且在進(jìn)行硬件調(diào)試時(shí),要結(jié)合開發(fā)板原理圖及C51程序,所以
28、出現(xiàn)了連接上的錯(cuò)誤。但經(jīng)過不斷的調(diào)試和改進(jìn),最后都成功解決。實(shí)現(xiàn)了課題的基本要求。我發(fā)現(xiàn),討論不僅是一些思想的問題,還可以深入的討論一些技術(shù)上的問題,這樣可以使自己的處理問題要快一些,少走彎路。多改變自己設(shè)計(jì)的方法,在設(shè)計(jì)的過程中最好要不停的改善自己解決問題的方法,這樣可以方便自己解決問題由于設(shè)計(jì)水平有限和時(shí)間的倉促,本文中難免有錯(cuò)誤和不妥之處,但在此次設(shè)計(jì)過程中學(xué)到了很多無法從書本上學(xué)到的東西,從不同方面使自己得到提升。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)踐相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把理論與實(shí)踐結(jié)合起來,從理論中得出結(jié)論,才能真正為實(shí)際服務(wù),從而提高自己的實(shí)踐能力和獨(dú)立思
29、考的能力。同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)自己的不足之處,對(duì)以前所學(xué)的知識(shí)理解的不夠深刻,掌握的不夠牢固,通過這次課程設(shè)計(jì),對(duì)以前學(xué)到的知識(shí)進(jìn)一步溫習(xí)和消化。 參考文獻(xiàn)1徐愛鈞等單片機(jī)原理及應(yīng)用基于Proteus虛擬仿真技術(shù).北京:機(jī)械工業(yè)出版社,20132蔣輝平,周國(guó)雄基于Proteus的單片機(jī)系統(tǒng)設(shè)計(jì)與仿真實(shí)例.北京:機(jī)械工業(yè)出版社,20093王瓊單片機(jī)原理及應(yīng)用實(shí)驗(yàn)教程.合肥:合肥工業(yè)大學(xué)出版社,20054陳寧,王文寧單片機(jī)技術(shù)項(xiàng)目教程.南京:東南大學(xué)出版社,20085黃鶴松,員玉良等51單片機(jī)應(yīng)用開發(fā)范例大全.北京:人民郵電出版社,20106劉波51單片機(jī)應(yīng)用開發(fā)典型范例基于Proteus仿真.
30、北京:電子工業(yè)出版社,20147李玉梅基于MCS-51系列單片機(jī)原理的應(yīng)用設(shè)計(jì).北京:國(guó)防工業(yè)出版社,20068江志紅51單片機(jī)技術(shù)與應(yīng)用系統(tǒng)開發(fā)案例精選.北京:清華大學(xué)出版社,2008附 錄電壓采集報(bào)警控制器C51程序:/*/* 天津城建大學(xué)控制與機(jī)械工程學(xué)院 */* 單片機(jī)課程設(shè)計(jì) */* 電壓采集控制報(bào)警器 */* 2016年01月10日 */功能:通過轉(zhuǎn)動(dòng)滑動(dòng)變阻器改變模擬輸入電壓/ 通過AD轉(zhuǎn)換,把數(shù)值用數(shù)碼管顯示/ 將實(shí)時(shí)電壓發(fā)送給串口助手/ 通過按鍵設(shè)定限值,超過限值時(shí)蜂鳴器報(bào)警/ 通過AT24C04實(shí)現(xiàn)斷電保存#include #include #define uchar un
31、signed char#define uint unsigned int#define PCF8591 0x90 /PCF8591 地址#define FOSC 11059200L /System frequency#define BAUD 9600 /UART baudrate/*Define UART parity mode*/#define NONE_PARITY 0 /None parity#define ODD_PARITY 1 /Odd parity#define EVEN_PARITY 2 /Even parity#define MARK_PARITY 3 /Mark parit
32、y#define SPACE_PARITY 4 /Space parity#define PARITYBIT NONE_PARITY#defineOP_READ0xa1/ 器件地址以及讀取操作,0xa1即為1010 0001B#defineOP_WRITE 0xa0/ 器件地址以及寫入操作,0xa1即為1010 0000Btypedef unsigned char BYTE;typedef unsigned int WORD;sbit key1=P10;sbit key0=P11;sbit IICSCL=P14; /IIC串行時(shí)鐘輸入端sbit IICSDA=P15; /IIC串行數(shù)據(jù)輸入端s
33、bit LS138A=P20; /138譯碼器的3位 控制數(shù)碼管的 sbit LS138B=P21;sbit LS138C=P22;sbit LS138D=P23;sbit SCL=P24; /串行時(shí)鐘輸入端sbit SDA=P25; /串行數(shù)據(jù)輸入端sbit bit9=P26;sbit beep=P27;int keyvalue;float m;bit busy;uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /數(shù)顯管字模uchar table1=實(shí)時(shí)電壓為: Vrn; /串口發(fā)送字符串uchar num
34、1=0;uchar num24=0;/ 斷電保存數(shù)據(jù)數(shù)組uchar sge,sbai;int num,shi,bai,snum,ssnum;/*函數(shù)功能:延時(shí)1毫秒*/void delay1ms() unsigned char i,j; for(i=0;i10;i+) for(j=0;j0;x-) for(y=110;y0;y-);/*函數(shù)功能:延時(shí)若干毫秒入口參數(shù):n*/void delaynms(unsigned char n) unsigned char i;for(i=0;in;i+)delay1ms();void delay() /IIC總線初始信號(hào)設(shè)定,延時(shí)4-5個(gè)微秒 ;void
35、 start() /PCF8591開始信號(hào) SDA=1; delay(); SCL=1; delay(); SDA=0; delay();void stop() /PCF8591停止信號(hào) SDA=0; delay(); SCL=1; delay(); SDA=1; delay();void respons()/PCF8591 IIC應(yīng)答 相當(dāng)于一個(gè)智能的延時(shí)函數(shù) uchar i; SCL=1; delay(); while(SDA=1)&(i250) i+; SCL=0; delay();void init() /PCF8591 IIC初始化 SDA=1; delay(); SCL=1; de
36、lay(); uchar read_byte() uchar b,k; SCL=0; delay(); SDA=1; delay(); for(b=0;b8;b+) SCL=1; delay(); k=(k1)|SDA;/先左移一位,再在最低位接受當(dāng)前位 SCL=0; delay(); return k;void write_byte(uchar date) /寫一字節(jié)數(shù)據(jù) uchar ii,temp; temp=date; for(ii=0;ii8;ii+) temp=temp1; /左移一位 移出的一位在CY中 SCL=0; /只有在scl=0時(shí)sda能變化值 delay(); SDA=C
37、Y; delay(); SCL=1; delay(); SCL=0; delay(); SDA=1; delay();/*/ 從AT24C04讀寫數(shù)據(jù)/*/void IICstart() / 開始位IICSDA = 1; /SDA初始化為高電平“1” IICSCL = 1; /開始數(shù)據(jù)傳送時(shí),要求SCL為高電平“1”_nop_(); /等待一個(gè)機(jī)器周期_nop_(); /等待一個(gè)機(jī)器周期_nop_(); /等待一個(gè)機(jī)器周期_nop_(); /等待一個(gè)機(jī)器周期IICSDA = 0; /SDA的下降沿被認(rèn)為是開始信號(hào)_nop_(); /等待一個(gè)機(jī)器周期_nop_(); /等待一個(gè)機(jī)器周期_nop_
38、(); /等待一個(gè)機(jī)器周期_nop_(); /等待一個(gè)機(jī)器周期IICSCL = 0; /SCL為低電平時(shí),SDA上數(shù)據(jù)才允許變化(即允許以后的數(shù)據(jù)傳遞) /* 函數(shù)功能:結(jié)束數(shù)據(jù)傳送*/void IICstop()/ 停止位IICSDA = 0; /SDA初始化為低電平“0”_nIICSCL = 1; /結(jié)束數(shù)據(jù)傳送時(shí),要求SCL為高電平“1”_nop_(); /等待一個(gè)機(jī)器周期_nop_(); /等待一個(gè)機(jī)器周期_nop_(); /等待一個(gè)機(jī)器周期_nop_(); /等待一個(gè)機(jī)器周期IICSDA = 1; /SDA的上升沿被認(rèn)為是結(jié)束信號(hào)_nop_(); /等待一個(gè)機(jī)器周期_nop_();
39、/等待一個(gè)機(jī)器周期_nop_(); /等待一個(gè)機(jī)器周期_nop_(); /等待一個(gè)機(jī)器周期IICSDA=0;IICSCL=0;/* 函數(shù)功能:從AT24Cxx讀取數(shù)據(jù) 出口參數(shù):x*/unsigned char ReadData()/ 從AT24Cxx移入數(shù)據(jù)到MCUunsigned char i;unsigned char x; /儲(chǔ)存從AT24Cxx中讀出的數(shù)據(jù)for(i = 0; i 8; i+)IICSCL = 1; /SCL置為高電平x=1; /將x中的各二進(jìn)位向左移一位x|=(unsigned char)IICSDA; /將SDA上的數(shù)據(jù)通過按位“或“運(yùn)算存入x中IICSCL =
40、0; /在SCL的下降沿讀出數(shù)據(jù)return(x); /將讀取的數(shù)據(jù)返回/* 函數(shù)功能:向AT24Cxx的當(dāng)前地址寫入數(shù)據(jù) 入口參數(shù):y (儲(chǔ)存待寫入的數(shù)據(jù))*/在調(diào)用此數(shù)據(jù)寫入函數(shù)前需首先調(diào)用開始函數(shù)start(),所以SCL=0bit WriteCurrent(unsigned char y)unsigned char i;bit ack_bit; /儲(chǔ)存應(yīng)答位for(i = 0; i 8; i+)/ 循環(huán)移入8個(gè)位 IICSDA = (bit)(y&0x80); /通過按位“與”運(yùn)算將最高位數(shù)據(jù)送到S /因?yàn)閭魉蜁r(shí)高位在前,低位在后 _nop_(); /等待一個(gè)機(jī)器周期 IICSCL =
41、 1; /在SCL的上升沿將數(shù)據(jù)寫入AT24Cxx _nop_(); /等待一個(gè)機(jī)器周期 _nop_(); /等待一個(gè)機(jī)器周期 IICSCL = 0; /將SCL重新置為低電平,以在SC線形成傳送數(shù)據(jù)所需的個(gè)脈沖 y = 1; /將y中的各二進(jìn)位向左移一位 IICSDA = 1; / 發(fā)送設(shè)備(主機(jī))應(yīng)在時(shí)鐘脈沖的高電平期間(SCL=1)釋放SDA線, /以讓SDA線轉(zhuǎn)由接收設(shè)備(AT24Cxx)控制_nop_(); /等待一個(gè)機(jī)器周期 _nop_(); /等待一個(gè)機(jī)器周期 IICSCL = 1; /根據(jù)上述規(guī)定,SCL應(yīng)為高電平_nop_(); /等待一個(gè)機(jī)器周期 _nop_(); /等待一
42、個(gè)機(jī)器周期 _nop_(); /等待一個(gè)機(jī)器周期 _nop_(); /等待一個(gè)機(jī)器周期 ack_bit = SDA; /接受設(shè)備(AT24Cxx)向SDA送低電平,表示已經(jīng)接收到一個(gè)字節(jié) /若送高電平,表示沒有接收到,傳送異常 IICSCL = 0; /SCL為低電平時(shí),SDA上數(shù)據(jù)才允許變化(即允許以后的數(shù)據(jù)傳遞)return ack_bit;/ 返回AT24Cxx應(yīng)答位/*函數(shù)功能:向AT24Cxx中的指定地址寫入數(shù)據(jù)入口參數(shù):add (儲(chǔ)存指定的地址);dat(儲(chǔ)存待寫入的數(shù)據(jù))*/void WriteSet(unsigned char add, unsigned char dat)/
43、在指定地址addr處寫入數(shù)據(jù)WriteCurrentIICstart(); /開始數(shù)據(jù)傳遞WriteCurrent(OP_WRITE); /選擇要操作的AT24Cxx芯片,并告知要對(duì)其寫入數(shù)據(jù)WriteCurrent(add); /寫入指定地址delay1ms();WriteCurrent(dat); /向當(dāng)前地址(上面指定的地址)寫入數(shù)據(jù)IICstop(); /停止數(shù)據(jù)傳遞delaynms(4); /1個(gè)字節(jié)的寫入周期為1ms, 最好延時(shí)1ms以上/*函數(shù)功能:從AT24Cxx中的當(dāng)前地址讀取數(shù)據(jù)出口參數(shù):x (儲(chǔ)存讀出的數(shù)據(jù)) */unsigned char ReadCurrent()unsigned char x;IICstart(); /開始數(shù)據(jù)傳遞WriteCurrent(OP_READ); /選擇要操作的AT24Cxx芯片,并告知要讀其數(shù)據(jù)x=ReadData(); /將讀取的數(shù)據(jù)存入xIICstop(); /停止數(shù)據(jù)傳遞return x; /返回讀取的數(shù)據(jù)/*函數(shù)功能:從AT24Cxx中的指定地址讀取數(shù)據(jù)入口參數(shù):set_addr出口參數(shù):
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年上海道路客貨運(yùn)輸從業(yè)資格證b2考試題庫
- 2025年廣西貨運(yùn)從業(yè)資格證500道題目和答案大全
- 2025年山西貨運(yùn)從業(yè)資格證模擬考試0題答案解析
- 電力供應(yīng)保障合同(2篇)
- 2024-2025學(xué)年高中英語Unit16Stories模擬高考強(qiáng)化練含解析北師大版選修6
- 教師個(gè)人培訓(xùn)總結(jié)報(bào)告
- 物業(yè)公司安全隱患排查大總結(jié)
- 品質(zhì)部年度工作計(jì)劃
- 初三語文教學(xué)與復(fù)習(xí)計(jì)劃范本
- 2025年廣東省建筑安全員A證考試題庫附答案
- 2025版職業(yè)院校與企業(yè)合作育人合同3篇
- 自動(dòng)化設(shè)備項(xiàng)目評(píng)估報(bào)告模板范文
- 商標(biāo)法基礎(chǔ)知識(shí)
- 2025年高考物理一輪復(fù)習(xí)之機(jī)械振動(dòng)
- 《道路交通安全法》課件完整版
- 初中2025教學(xué)工作計(jì)劃
- 2024年度市政工程項(xiàng)目三方合作協(xié)議3篇
- 【大學(xué)課件】機(jī)電設(shè)備管理技術(shù)概論
- (2024)甘肅省公務(wù)員考試《行測(cè)》真題及答案解析
- 《STP營(yíng)銷戰(zhàn)略概述》課件
- 醫(yī)院醫(yī)務(wù)人員醫(yī)德考評(píng)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論