【正文】
4P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P30T X D11R X D10U 1 1S T C 12C 5A 60S 2P 10P 11P 12P 13P 14P 15P 16P 17P 20P 21P 22P 23P 24P 25P 26P 27P 00P 01P 02P 03P 04P 05P 06P 07P 30P 31P 32P 33P 34P 35P 36P 37 P 44P 45P 46P 47X T A L 1X T A L 2X T A L 1X T A L 21234567891011121314151617181920J2C O N 201234567891011121314151617181920J3C O N 20P 10P 11P 12P 13P 14P 15P 16P 17P 30P 31P 32P 33P 34P 35P 36P 37X T A L 1X T A L 2P 20P 21P 22P 23P 24P 25P 26P 27P 00P 01P 02P 03P 04P 05P 06P 07P 44P 45P 46P 47V C CR 1 01 0KS5 S6 S7 S8 R 1 51 .8 KR 1 63KR 1 74KR 1 81 0KP 47GND1DQ2VCC3 D S 18 b 2 0 V C CR 1 114 K 7P 1. 4P 3. 3S1S W P BS2S W P BS3S W P BS4S W P BR 1 04 K 7R 1 14 K 7R 1 24 K 7R 1 34 K 7V C CP 34P 35P 36P 37 圖 1 51 系列單片機 原理圖 STC12C5A60S2 主要性能 ⑴ 高速: 1個時鐘周期 /機器周期,增強型 8051 內(nèi)核,速度比普通 8051 快 8到 12倍 ⑵ 工作頻率: 0~35MHZ,相當(dāng)于普通 8051:0~420MHZ ⑶ 時鐘:外部晶體或內(nèi)部 RC 振蕩器可選,在 ISP 下載編程用戶程序時設(shè)置 ⑷ 4個 16 位定時器,兼容普通 8051 的定時器 T0/T1,2 路PCA實現(xiàn) 2 個定時器 ⑸ 可編程時鐘輸出功能, T0 在 輸出時鐘, T1在 時輸出時鐘, BRT 在 時輸出時鐘 ⑹ 先進的指令集結(jié)構(gòu),兼容普通 8051 指令集,有硬件乘法 /除法指令 ⑺ 每個 I/O 口 驅(qū)動功能力均可達(dá)到 20mA,但整個芯片最大不得超過 55mA . STC12C5A60S2 單片機部內(nèi)部結(jié)構(gòu) STC12CXX 單片機部內(nèi)部結(jié)構(gòu),各功能部件如圖 1。 ⑷ 8通道 10 位高速 ADC 模擬到數(shù)據(jù)轉(zhuǎn)換器。 ⑼ 硬件看門狗功能。驗證時,要求外接上拉電阻。在訪問外部存儲器時,它送出高 8位地址。 圖 4 智能電子技術(shù)實踐課程設(shè)計報告 9 .控制線控制引腳 ( ALE/ PROG、 、 、 RST/ VPD) ALE(30腳)地址鎖存控制信號。在讀外部 ROM時,有效(低電平),以實現(xiàn)外部 ROM 單元的讀操作。當(dāng)輸入的復(fù)位信號延續(xù)兩個機器周期以上的高電平時即為有效,用以完成單片機的復(fù)位初始化操作。 VSS(20腳)地線(GND)。 ●振蕩周期:指振蕩源的周期,若為內(nèi)部產(chǎn)生方式,則為石英晶體的振蕩周期。 T 機器周期= 6*T 時鐘周期=12* T 振蕩周期=1 2/fosc。 智能電子技術(shù)實踐課程設(shè)計報告 10 2. 4 . 1 智能最小系統(tǒng)的 LED 顯示 器接口 通過 2 個 74LS595 芯片將 8 位段碼信號( a— h)和 8 位位碼信號 (a1— a8)串行轉(zhuǎn)為并行信號驅(qū)動 2個 LED 顯示模塊的 8 個 LED 數(shù)碼燈, 是 a— h、 a1— a8串行數(shù)據(jù)的輸入端( SER), 串行移位信號的 SCLK 輸入端, 是并輸出信號的鎖存端( RCLK)。 LED 顯示 器又稱數(shù)碼管 ,八段 LED 顯示器由 8個發(fā)光二極管組成。 共陰和共陽結(jié)構(gòu)的 LED 顯示器各筆劃段名和安排位置是相同的。如果是共陽 LED 顯示器,公共陽極接高電平,顯示 “P” 字符的字形代碼應(yīng)為 10001100( 8CH)。也就是說我們可以采用分時的方法,輪流控制各個顯示器的 COM 端,使各個顯示器輪流點亮。 圖 1115 音頻放大電路 智能電子技術(shù)實踐課程設(shè)計報告 12 第 3 章.關(guān)于 DS18B20 的介紹 DS18B20 是美國 DALLAS 半導(dǎo)體公司繼 DS1820 之后最新推出的一種改進型智能溫度傳感器。他在測溫精度、轉(zhuǎn)換時間、傳輸距離、分辨率等方面較 DS1820 有了很大的改進,給用戶帶來了更方便的使用和更令人滿意的效果。 ( 4)測溫范圍: 55 ~+125 ℃。 ( 7)支持多點組網(wǎng)功能,多個 DS18B20 可以并聯(lián)在惟一的三線上,實現(xiàn)多點測溫。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將55 ℃所對應(yīng)的基數(shù)分別置入減法計數(shù)器 1 和溫度寄存器中,減法計數(shù)器 1 和溫度寄存器被預(yù)置在 55 ℃ 所對應(yīng)的一個基數(shù)值。系統(tǒng)對 DS18B20 的各種操作必須按協(xié)議進行。 與單片機的典型接口設(shè)計 以 MCS51 單片機為例,圖 3 中采用寄生電源供電方式, P1 1 口接單線總線為保證在有效的 DS18B20 時鐘周期內(nèi)提供足夠的電流,可用一個 MOSFET 管和 89C51 的 P1 0來完成對總線的上拉〔 2〕。主機控制DS18B20 完成溫度轉(zhuǎn)換必須經(jīng)過 3 個步驟:初始化、 ROM 操作指令、存儲器操作指令。為保證DS18B20 的嚴(yán)格 I/O 時序,需要做較精確的延時。 DS18B20 工作原理及應(yīng)用 DS18B20 的溫度檢測與數(shù)字?jǐn)?shù)據(jù)輸出全集成于一個芯片之上,從而抗干擾力更強。數(shù)據(jù)在出產(chǎn)時設(shè)置不由用戶更改。在上電復(fù)位時其值將被刷新。 EEPROM 非易失性記憶體,用于存放長期需要保存的數(shù)據(jù),上下限溫度報警值和校驗數(shù)據(jù), DS18B20 共 3 位 EEPROM,并在 RAM都存在鏡像,以方便用戶操作。至此,通信雙方已經(jīng)達(dá)成了基本的協(xié)議,接下來將會是控制器與 18B20 間的數(shù)據(jù)通信。其主要目的是為了分辨一條總線上掛接的多個器件并作處理。操作指令同樣為 8 位,共 6 條,存儲器操作指令分別是寫RAM 數(shù)據(jù)、讀 RAM 數(shù)據(jù)、將 RAM 數(shù) 據(jù)復(fù)制到 EEPROM、溫度轉(zhuǎn)換、將 EEPROM 中的報警值復(fù)制到 RAM、工作方式切換。如執(zhí)行數(shù)據(jù)讀寫指令則需要嚴(yán)格遵循 18B20的讀寫時序來操作。 智能電子技術(shù)實踐課程設(shè)計報告 17 DS18B20 芯片與單片機的接口 第 4章 .程序及效果展示 溫度監(jiān)測 51 單片機程序 include include define uchar unsigned char define uint unsigned int sbit DQ=P1^4。 sbit P10=P3^2。 unsigned char seg,=0,weima=0x0ef。 //初始下限值 // void delayx_us(unsigned char i) //11*x+12 { while(i)。 _nop_()。 while(x) { while(y)。j8。 a=a1。j8。 b=b1。 rclk=1。 //精確延時 480us ~960us delayx_us(250)。 //稍做延時后 如果 x=0 則初始化成功 x=1 則初始化失敗 delayx_us(240)。 DQ=1。 delay1_us()。 delay1_us()。 delay1_us()。 } uchar ReadOneChar(void) { unsigned char i,dat=0。i++) { j=ReadBit()。 bit n。 //拉高電平,準(zhǔn)備啟動寫時序 delay1_us()。 //取下一位,由低 到高 if(n) //寫 1 { DQ=0。 //寫 1 delayx_us(60)。 delay1_us()。 Init_DS18B20()。 Init_DS18B20()。 b=ReadOneChar()。 value=tempwhole*。 if(!=2) { seg=LED[T[]]。 } ++。 } main() {float temperature。 TMOD=0x21。TH1=0Xfd。 EA=1。//讀溫度 m=temperature。 T[2]=m%10。 i=0。 SBUF=0x44。 while(TI==0)。 TI=0。 SBUF=T[1]|0x30 。 //溫度低于下限值,報警 else P10=1。 我們使用 Keil uVision3 進行程序的編寫,通過單片機 下載程序到我們焊出的第一塊板子,在我們下載程序后,并沒有實現(xiàn)出我們的所要見到的效果。 先用萬用表檢查傳感器 DS18B20 的第 3腳是否與電源相連, 1 腳是否與地相接,結(jié)果無誤。 第二塊板子因為有第一塊板子的經(jīng)驗,很快就焊接出來了,焊接工藝還是相當(dāng)不錯的,但結(jié)果還是無法實現(xiàn)效果,我們在經(jīng)過討論后,決定請教老師,在老師幫我們仔細(xì)分 析下,用了兩三節(jié)課左右的時間才出現(xiàn)預(yù)期的效果,讓我們很是激動。當(dāng)溫度低于設(shè)定的 ℃時,會報警長鳴,當(dāng)溫度高于 ℃ 時,會報警,設(shè)置這兩個溫度點是充分考慮到現(xiàn)智能電子技術(shù)實踐課程設(shè)計報告 26 在的室溫與人體的溫度,便于通過手上熱傳導(dǎo)控溫。 實物效果圖效果圖 : 智能電子技術(shù)實踐課程設(shè)計報告 27 附一:硬件原理圖 1 2 3 4 5 6ABCD654321DCBAT i t leN u m be r R e v i s i onS i z eBD a t e : 7 O c t 20 10 S he e t o f F i l e : F : \實訓(xùn)設(shè)計 \硬件部分 \最小系統(tǒng)電路圖 20 1 d b D r a w n B y :P 22P 23P 22P 23S E R14S R C L K11S R C L R10R C L K12E13O015O11O22O33O44O55O66O77Q79VCC16GND8U874 L S 59 5S E R14S R C L K11S R C L R10R C L K12E13O015O11O22O33O44O55O66O77Q79VCC16GND8U974 L S 59 5P 21V C C V C CV C CR110KC120PC 1410 u FC220PC 1510 u FC 1610 u FC 1710 u FC 1810 u F162738495R S 2 32D B 9P 30P 31R 1 I N13R 2 I N8T 1 I N11T 2 I N10R 1 O U T12R 2 O U T9T 1 O U T14T 2 O U T7C 1+1C 1 3