




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目錄 TOC o 1-5 h z 刖言1第1章系統設計21.1溫度光強采集系統2第2章硬件設計22.1控制器2STM8S103 單片機2STM8S103 單片機內部 ADC42.2測溫電路42.2.1測溫使用的是NTC熱敏電阻42.2.2熱敏電阻硬件原理圖62.2.3熱敏電阻硬件連接圖7 HYPERLINK l bookmark24 o Current Document 2.3光強測試電路72.3.1光強測試電路使用的是光敏電阻性72.3.3光敏電阻硬件原理圖82.3.4光敏電阻硬件連接圖11 HYPERLINK l bookmark54 o Current Document 2.4顯示電路1
2、12.4.1數碼管11TM1628芯片122.4.3顯示電路原理圖13 HYPERLINK l bookmark74 o Current Document 第3章軟件設計17 HYPERLINK l bookmark77 o Current Document 3.1設計思路與流程圖17 HYPERLINK l bookmark80 o Current Document ADC子程序17 HYPERLINK l bookmark83 o Current Document 3.3數據處理子程序19 HYPERLINK l bookmark86 o Current Document 3.4顯示子程序
3、20 HYPERLINK l bookmark89 o Current Document 3.5整體程序20 HYPERLINK l bookmark92 o Current Document 第4章系統調試和功能測試28 HYPERLINK l bookmark95 o Current Document 4.1系統硬件調試28 HYPERLINK l bookmark98 o Current Document 4.2系統軟件調試29 HYPERLINK l bookmark101 o Current Document 4.3系統功能測試30第5章結束語31參考文獻32前言隨著電子計算機信息技
4、術的不斷發展和善, 采用單片機實現的溫度與光強采集系統的應用越 來越多。且采用單片機實現的溫度與光強采集系 統具有自動化和無人值守等特點,使得它們在許 多應用場合得到了廣泛的應用。本文介紹的溫度 和光強采集系統具有一定的通用性,它采用傳感 器與單片機的A/D通道相連,簡化了模擬采集的 設計,從而減小設計的復雜性,增加系統的可靠 性,也同時減小了 PCB的面積。顯示模塊主要是 驅動數碼管便于實時觀察。該系統充分體現了智 能化、低功耗、高精度的發展趨勢。重點在于傳 感器的設計及智能化、低功耗的硬件電路設計上。第1章系統設計1.1溫度光強采集系統如圖1.1所示為環境溫度光強采集系統框圖,該學年設計以
5、單 片機控制的溫度光強采集系統為主,利用單片機來完成對溫度及 光強的檢測,實現在安全溫度和光強內正常顯示溫度值和光強值。系統在溫度采集時主要應用了 NTC熱敏電阻,在光強采集時主 要應用了光敏電阻。這兩個器件同時與STM8單片機的ADC通道3 連接,通過跳冒進行對溫度和光強采集的切換。系統中還應用了 TM1628芯片進行數碼管顯示的驅動,一共應用了 3位數碼管。圖1.1系統方框圖第2章硬件設計2.1控制器2.1.1 STM8S103 單片機STM8系列是意法半導體公司生產的低電壓、高性能8位的單 片機;片內含8k字節可反復擦寫的Flash和1k字節的隨機存儲 器(RAM);帶有32個中斷的嵌套
6、中斷控制器,6個外部中斷向 量,最多27個外部中斷;16位通用定時器,同時帶有3個捕獲/ 比較通道(IC、OC或PWM);帶有同步時鐘輸出的UART,智能卡 紅外IrDA,LIN接口,SPI接口最高到8Mbit/s,I2C接口最 400Kbit/s;同時STM8S103單片機內還具有10位的+1LSB的A/D, 通道數隨芯片不同而不同,少的有4個通道,多的則有16個通 道。STM8S103單片機還具有通用輸入輸出口 (GPIO),通用輸入/ 輸出口用于芯片和外部進行數據傳輸。一個IO端口可以包括多達 8個引腳,每個引腳可以被獨立編程作為數字輸入或者數字輸出 口。另外部分口還可能會有如模擬輸入,
7、外部中斷,片上外設的 輸入/輸出等復用功能。但是在同一時刻僅有一個復用功能可以映 射到引腳上。復用功能的映射是通過選項字節控制的。請參考數 據手冊關于選項字節的描述。每個端口都分配有一個輸出數據寄 存器,一個輸入引腳寄存器,一個數據方向寄存器,一個選擇寄 存器,和一個配置寄存器。一個I/O 口工作在輸入還是輸出是取 決于該口的數據方向寄存器的狀態。GPIO主要功能端口的各個位可以被單獨配置可選擇的輸入模式:浮動輸入和帶上拉輸入可選擇的輸出模式:推挽式輸出和開漏輸出數據輸入和輸出采用獨立的寄存器外部中斷可以單獨使能和關閉輸出擺率控制用以減少EMC噪聲片上外設的I/O功能復用當作為模擬輸入時可以關
8、閉輸入施密特觸發器來降低耗在數據輸出鎖存時支持讀-修改-寫輸入兼容5V電壓 I/O 口工作電壓范圍為1.6 V到V 口皿DDIOmax圖2.1為STM8S103單片機示意圖R 就(4JMCU-RS葉5I.0K (2X4)IrAD-dniver二I|GND4VCAPTb1 H3.3V(4)i:c-sci.,ADIN J(2 ADIN 2(3X4) LED-CS(3X4) Ltrxi KRM R37 R35 R36 1OK 111K K1K l()K10TT1316NR$TPIK-TLlOSCINPAIPD6/UART RXOSCOUT/PAPDUART TXvssPD4T2 1/BEEPVCAl
9、PPIH.-T2 2/A1X ETRVDDPD2 T2 3SPI NS&Ti-J/PAJPD1/SWMPF4PDtm BKPC7/SF MISOPC6.SP MOSlI2C SDA PB5PC5/SPI SCKI2C SCUFH4心Tl 4JCC0Tl ET哄IWPB3PC3/TI 3T1 3/AJN2ZPB2FC2/TI 2Tl 2AINI/PBIPCI.Tl HUART CKTl 1/AHWPBOPE5/SFI NSSUI5322L四 亟272625242351TT亟nFLWDIO (3X4)RXD STM (4)TXJ_SrM (4)BEEP (4) lOjOUli (4 O OUT2
10、(4SWIM (4 O OUT (4SF1-MISO SP-X(OSI (4SP1-SCK (4PWM-4 (3PWM-3 (3)PWM-2 (3PWM I. (3)(4)SPI-NSS (4)圖 2.1 STM8S1032.1.2 STM8S103 單片機內部 ADC在STM8單片機中,提供的兩個A/D,分別是ADC1和ADC2。 ADC1和ADC2是10位的逐次比較型模擬數字轉換器,提供多達16 個多功能的輸入通道A/D轉換的各個通道可以執行單次和連續的 轉換模式。(1)主要功能ADC1和ADC2的功能如下:10位的分辨率單次和連續的轉換模式可編程的(轉換頻率的)預分頻:f MASTER可
11、以被分頻2到 18可以選擇ADC專用外部中斷(ADC_ETR)或者定時器觸發信號 (TRGO)來作為外部觸發信號模擬放大(對于具有V REF引腳的型號)轉換結束時可產生中斷靈活的數據對齊方式ADC輸入電壓范圍:V WV WV2.2測溫電路SSA IN DDA2.2.1測溫使用的是NTC熱敏電阻(型號:MF52AT)(1)型號MF52103H3950FANTC熱 敏電阻環氧 系列電阻值阻值允 差B值B值允差B值類別10KQ5%3950K1%B25/50(2)電氣性能序號項目符號測試條件最小 值正常 值最大 值單位31.25C的電 阻值R25Ta=250.05 CPt = 0. 1mw9.910.
12、010.1kQ32.50C的電 阻值R50Ta=500.05 CP =0.1mw/4.0650/kQ33.B值B25/ 50343634703504K34.耗散系數Ta=250.5C2.0/mw/ C35.時間常數TTa=250.5C/15sec36.絕緣電阻/500VDC50/MQ37.使用溫度 范圍/-55/+ 125C(3)溫度特性MF52 10K3950溫度特性表R25C=10KB(25/50)=3950KT(C)R(Ka)T(C)R(Ka)T(C)R(KA)T(C)R(KA)1218.14892510.0000386.1418513.92711317.6316269.5762395.
13、9343523.79361416.9917279.1835405.7340533.66391516.2797288.8186415.5405543.53771615.5350298.4784425.3534553.41461714.7867308.1600435.1725563.29391814.0551317.8608444.9976573.17521913.3536327.5785454.8286583.05792012.6900337.3109464.6652592.94142112.0684347.0564474.5073602.82502211.4900356.8133484.354
14、8612.77622310.9539366.5806494.2075622.71792410.4582376.3570504.0650632.6523(4)電阻與溫度關系式的特性曲線圖2.2熱敏電阻硬件原理圖熱敏電阻兩端電壓與電阻的關系為:R=V*10.0/(4.0-V) 根據這幾個關系式,我們就根據ADC采進來的電壓可以推算出當 前溫度的大概值了。2.2.3熱敏電阻硬件連接圖:2.3光強測試電路2.3.1光強測試電路使用的是光敏電阻光敏電阻,常用的制作材料為硫化鎘,另外還有硒、硫化鋁、 硫化鉛和硫化秘等材料。這些制作材料具有在特定波長的光照射 下,其阻值迅速減小的特性。這是由于光照產生的載流
15、子都參與 導電,在外加電場的作用下作漂移運動,電子奔向電源的正極, 空穴奔向電源的負極,從而使光敏電阻器的阻值迅速下降。光敏 電阻的工作原理是基于內光電效應。在半導體光敏材料兩端裝上 電極引線,將其封裝在帶有透明窗的管殼里就構成光敏電阻,為 了增加靈敏度,兩電極常做成梳狀。用于制造光敏電阻的材料主 要是金屬的硫化物、硒化物和碲化物等半導體。通常采用涂敷、 噴涂、燒結等方法在絕緣襯底上制作很薄的光敏電阻體及梳狀歐 姆電極,接出引線,封裝在具有透光鏡的密封殼體內,以免受潮 影響其靈敏度。入射光消失后,由光子激發產生的電子一空穴對 將復合,光敏電阻的阻值也就恢復原值。在光敏電阻兩端的金屬 電極加上電
16、壓,其中便有電流通過,受到一定波長的光線照射時, 電流就會隨光強的增大而變大,從而實現光電轉換。光敏電阻沒 有極性,純粹是一個電阻器件,使用時既可加直流電壓,也加交 流電壓。半導體的導電能力取決于半導體導帶內載流子數目的多 少。作用:光敏電阻器一般用于光的測量、光的控制和光電轉換 (將光的變化轉換為電的變化)。常用的光敏電阻器硫化鎘光敏電阻器,它是由半導體材料制成的。光敏電阻器對光的敏感性與 人眼對可見光(0.40.76m)的響應很接近,只要人眼可感受的 光,都會引起它的阻值變化。設計光控電路時,都用白熾燈泡光 線或自然光線作控制光源,使設計大為簡化。2.3.2光敏電阻的基=(1)伏安特性:在
17、一定照度下兩端的電壓的關系稱為光敏電阻的伏安特性。圖敏電阻的伏安特性曲線。由圖可見敏電阻的電流與光敏電阻462為硫化鎘光 光敏電阻在一定的電壓范圍內,其特性曲線為直線。硫化鎘光敏電阻的伏安特性(2)光照特性:光敏電阻的光照特性是描述光電流和光照強度之 間的關系,不同材料的光照特性是不同的,絕大多數光敏電阻光照特性是非線性的。圖46-3為硫化鎘光敏電阻的光照特性。電阻對不同波長的入射光有不同的靈敏度。光敏電阻的相對光敏 靈敏度與入射波長的關系稱為光敏電阻的光譜特性,亦稱為光譜 響應。圖46-4為幾種不同材料光敏電阻的光譜特性。對應于不 同波長,光敏電阻的靈敏度是不同的,而且不同材料的光敏電阻 光
18、譜響應曲線也不同。(4)頻率特性:實驗證明,.光敏,電阻的光電流不能隨著光強改變 而立刻變化,即光敏電阻產生的光,電流有一定的惰性,這種惰性通常用時間常數表示。大多數的光敏電阻時間常數都較大,這是它的缺點之一。不同材料的光敏電阻具有不同的時間常數(毫秒數量級),因而它們的頻率特性也就各不相同。圖46-5為硫化鎘和硫化鉛光敏電阻的頻率特性。100硫化鉛80$ 60瓦0、琉化鎘20/HatQ(5)溫度特性:光敏電阻和其它半導體器件一樣,受溫度影響較大。溫度變化時,影響光敏電阻的光譜響應,同時光敏電阻的靈光敏電阻的靈敏度和暗電阻也隨之改變,尤其是響應于紅外區的硫化鉛光敏電 阻受溫度影響更大。圖46-
19、6為硫化鉛光敏電阻的光譜溫度特性曲 線,它的峰值隨著溫度上升向波長短的方向移動。20印修2.3.3光敏電立 40 *硫化鉗光敏電阻的光譜溫度特性圖2.3光敏電阻硬件原理圖2.3.4光敏電阻硬件連接圖:2.4顯示電路本設計顯示電路應用的是一個由TM1628芯片驅動的3位的數碼管 電路。2.4.1數碼管數碼管由八個發光二極管構成,分共陰和共陽兩種,本設計 應用的是的是共陰的數碼管,即如圖2.4所示:SB31 HSE&4 卬SEG? U圖KLSB32SB36sH.rOtlDl2.4共陰極數碼管共陰極數碼管就是發光二極管的所有的陰極連接到一塊,當 GRID1置0時,選定當前的數碼管,SEG17任意一位
20、或多位置1, 則可點亮相應的段。本設計的數碼管原理圖:若源 百0 90 二 H 忘!5 百!? = M3msau P?=H 口SEG18控制每, 時控制數碼管的段彳SEGI段,SEG2GRID5GRID57控制3個-GRiTgrht數碼管位,同片的對應引腳口位的引腳都接在了 TM1628芯上,即數碼管由TM1628芯片驅動,是數碼管點亮,下面就介紹一下本設計中應用的TM1628芯片。2.4.2 TM1628 芯片(1)概述TM1628是一種帶鍵盤掃描接口的LED (發光二極管顯示器) 驅動控制專用電路,內部集成有MCU數字接口、數據鎖存器、LED 高壓驅動、鍵盤掃描等電路。本產品性能優良,質量
21、可靠。主要 應用于VCR、VCD、DVD及家庭影院等產品的顯示屏驅動。采用SOP28的封裝形式。(2)特性說明采用功率CMOS工藝多種顯示模式(11段X7位 14段X4位)鍵掃描(10X2)輝度調節電路(占空比8級可調)串行接口(CLK, STB, DIO)振蕩方式:內置RC振蕩(450KHz+ 5%)內置上電復位電路(3)管腳定義:TT121314NCGNDDIOGRID1CLKGRID?SIBGNDKEY1GRID3KEV2GRID4VDDGNDSEGI/KS1VDDSEG2/KS2SEG14/GRID5SEG3/KS3SEG13/GRID6SFG4/KS4SEG12GRjD7SFG5KS
22、5SEG10/KSI0SEG5/KS6SEG9/KS9SEG7/KS7SEG8/KS82826252423222120918T71615(4)管腳功能定義:符號管腳名稱說明DIO數據輸入/輸 出在時鐘上升沿輸入/輸出串行數據,從低 位開始。輸出為N-ch open drainSTB片選在上升或下降沿初始化串行接口,隨后 等待接收指令。STB為低后的第一個字 節作為指令,當處理指令時,當前其它處理被終止。當STB為高時,CLK被 忽略CLK時鐘輸入在上升沿讀取串行數據,下降沿輸出數 據KEY1KEY2鍵掃數據輸入輸入該腳的數據在顯示周期結束后被鎖 存Seg1/KS1Seg10/KS10輸出(段)
23、段輸出(也用作鍵掃描),p管開漏輸出Grid1Grid4輸出(位)位輸出,N管開漏輸出Seg12/Grid 7Seg14/Grid5輸出(段/位)段/位復用輸出VDD邏輯電源5V10%VSS邏輯地接系統地NC空腳內部未連線 注意:DIO 口輸出數據時為N管開漏輸出,在讀鍵的時候需 要外接1K-10K的上拉電阻。推薦10K的上拉電阻。DIO在時鐘的 下降沿控制N管的動作,此時讀數時不穩定,如圖所示在時鐘的 上升沿讀數才時穩定。IQKDK)(5)指令說明:指令用來設置顯示模式和LED驅動器的狀態。在STB下降沿 后由DIO輸入的第一個字節作為一條指令。經過譯碼,取最高B7、 B6兩位比特位以區別不
24、同的指令。B7B6指令00顯示模式設置01數據命令設置10顯示控制命令設置11 地址命令設置如果在指令或數據傳輸時STB被置為高電平,串行通訊被初 始化,并且正在傳送的指令或數據無效(之前傳送的指令或數據 保持有效)。(6)串行數據傳輸格式:讀取和接收1個BIT都在時鐘的上升沿操作。數據接收(寫數據)CLKDIOSTBI 2345678)(命(飛0(熟 X 田B6 X B7數據讀取(讀數據)clk LlPLiTLH LFLnLnLPLD10X BO X Bl *、)( B7 BO X Bl X & 廠函)SIB注意:讀取數據時,從串行時鐘CLK的第8個上升沿開始設置 指令到CLK下降沿讀數據之
25、間需要一個等待時間Twait(最小 1薩)。2.4.3顯示電路原理圖:(1X4) LED-DIO (IX4)LEDLK (1X4) LED-CS KI+33V SEGI SEG2 SEG3 SEG4 SEG5 SEG6 SEG710 IT uTM1628IZGND GRID I GRID2 GND GRID3 GRJIJ4 GND VDD SEG2.KS2 SEGI4.GR1D5 SEG3 KS3 SHGI3/GRJD6 SEG4KS4 SEGI2-GRID? SEG5/KS5 SEGIQKS1O SEG&KS6 SEG9.KS9 SEG7/KS7 SEGKKS8SHGl.KSlGND GRI
26、D2 RIDI GND GRID4 GRID?GND 4-3.3VGR1D6 GRID6 GRID? SKGJ SEG9 SEGS其中數碼管的段選引腳與位選引腳與TM1628芯片的對應引腳 相連,圖中標號相同的即為連在一起的引腳;TM1628芯片中的 LED-DIO、LED-CLK和LED-CS與單片機相連,已使溫度與光強采 集回來的信號由ADC轉換后在數碼管上顯示出來。第3章軟件設計本部分詳細介紹了基于STM8S103單片機的溫度光強采集系統 的軟件設計。根據系統功能,可以將系統設計分為若干個子程序 進行設計,如光強采集子程序,數據處理子程序、顯示子程序、 執行子程序。采用IAR Embed
27、ded Workbench集成編譯環境和C語言來進行系統軟件的設計。本章從設計思路、軟件系統框圖 出發,先介紹整體的思路后,再逐一分析各模塊程序算法的實現, 最終編寫出滿足任務需求的程序3.1設計思路與流程圖系統要完成溫度光強采集,需要實現溫度和光強信號的采集 與A/D轉換、數據處理、數據顯示、數據輸出等基本功能。從功 能上可將其分為溫度和光強信號采集及A/D轉換、數據處理、人 機交互、執行四大部分進行設計,軟件系統框圖如圖3.1所示:溫度光強信號采集子程序,主要完成溫度光強信號采集與A/D功能。采集子程序主要包括單片機ADC的配置、單片機從ADC 通道中讀數據等部分。數據處理子程序,當單片機
28、收到ADC通道 溫度和光強信號后,數據處理子程序對該數據進行處理,主要是 把采集到的二進制的溫度光強數據轉換成十進制光強數據。人機 交互子程序為數碼管顯示子程序。數碼管顯示子程序的功能是實 現將數據處理后的十進制光強數據,使用數碼管顯示出來。執行 子程序,該子程序所實現的功能是把系統采集來的溫度和光強值 進行數據處理后,執行單片機的I/O 口輸出的狀態,從而控制數 碼管的顯示。3.2 ADC子程序模/數(A/D)轉換測量子函數用來控制對ADC的模擬輸入電 壓進行A/D轉換,并將對應的數值移入內存單元。首先應配置單 片機的I/O 口,使之成為ADC的通道;然后選擇A/D轉換模式, STM8S10
29、3單片機的ADC支持5種轉換模式:單次模式、連續模式、 帶緩存的連續模式、單次掃描模式、連續掃描模式;本設計只用 到了最簡單的單次模式,由定時器控制每次轉換的開啟,注意 ADON位的兩次開啟,第一次只是把ADC從低功耗模式喚醒,之 后每次要開啟轉換時都要將ADON位置位才可以。單次模式:ADC 僅在唯一的通道(由ADC_CSR寄存器的CH3:0選定)上完成一 次轉換,一旦轉換完成,轉換后的數據存儲在ADC_DR寄存器中, EOC(轉換結束)標志被置位。最后就是啟動A/D轉換。這些都是 需要配置單片機中的寄存器,下面介紹一下需要配置的寄存器。ADC配置寄存器:ADC_CR寄存器地址偏移值:0 x
30、02復位值:0 x0076543210保留EXTTRIGEXSEL1: 0ALIGN保留SCAN保留ADC控制/狀態寄存器:ADC_CSR寄存器地址偏移值:0 x00復位值:0 x0076543210EOCAWDEOCIEAWDIECH3: 0把位5置1后,每次轉換結束后都會產生轉換結束中斷,在中 斷里要清除EOC標志,位3:0是選擇要轉換的通道AINx,如果 是單次模式,則轉換的就是AINx通道,如果是掃描模式,則轉換的是從AIN0到AINx通道。ADC數據高位寄存器:ADC_DRH寄存器地址偏移值:0 x04復位值:未定義76543210DH7: 0ADC數據低位寄存器:ADC_DRL寄存
31、器地址偏移值:0 x06復位值:0X0076543210DH7: 0當轉換結束后,采樣結果從這兩個寄存器里讀出,如果是多通道 掃描模式,數據則儲存在ADC_DBRH和ADC_DBRL寄存器里。3.3數據處理程序設置分辨率為10位轉化后得到的數據,進行相應的處 理,系統根據數據情況進行控制處理。溫度或光強信號的 采集與A/D轉換,并把數據傳遞給單片機,并保存起來。 數據處理時,把數據取出來,放在一個整型變量中。首先 取出整數部分進行處理,求出數據十進制表示時的百位、 十位及個位,再求小數部分數據。計算流程圖如圖所示:把小教乳 分逐次與 00H、若相等時進行相應3.4顯示子程序因為顯示用到4個LE
32、D數碼管,考慮到STM8S103的I/O 口不足,所以采用STM8S103控制TM1628,TM1628驅動數碼 管動態掃描法實現3位數碼管的數值顯示。節省I/O 口的目 的。測量所得的A/D轉換數據放在定義的ad_data內存單元中,測量所得的 A/D數據在顯示時需要經過轉換變成十 進制BCD碼。同時顯示子程序還要完成單片機對TM1628芯片的初始化和配置的程序。3.5整體程序:3.5.1 main.c#include #include #include TM1628.h#define u8 unsigned char#define u16 unsigned int#define u32 u
33、nsigned longu16table110 = 0 xeb,0 x28,0 xb3,0 xba,0 x78,0 xda,0 xdb,0 xa8,0 xfb,0 xfa);u16table210 = 0 xef,0 x2c,0 xb7,0 xbe,0 x7c,0 xde,0 xdf,0 xac,0 xff,0 xfe);void delay(u16 n)(u16 i,j;while(n -)(for(i = 0;i 32;i +)for(j = 0;j 10;j +);void Clk_Config(void)(CLK_CKDIVR= 0 x00;/系統時鐘 1 分頻while(!(CLK_
34、ICKR & 0 x02);等待 HSI 準備好void Adc_Config(void)(ADC_CR2 = 0 x00;/禁止掃描,數據左對齊ADC_CSR = 0 x23;/選擇轉換通道為模擬通道3開啟中斷ADC_CR1 |= 0 x01;/從低耗喚醒轉換delay(1);/等待ADC模塊的上電完成void Uart_Init(void)(UART1_BRR2 = 0 x00;UART1_BRR1 = 0 x0d;/2MHZ 時波特率9600對應數值UART1_CR2 = 0 x08;/開啟發送void UART1_Sendint(unsigned int ch)(while(!(UAR
35、T1_SR&0 x40);UART1_DR = ch;u16 value_process(u16 value)(u16 temperature;float ad_voltage,NTC_res; /將ad采集的數據轉化為電壓ad_voltage二value*3.3/1024.0; 計算熱敏電阻的電阻值NTC_res=ad_voltage*10.0/(4.0-ad_voltage);/計算溫度 temperature=(u16)(68.5751+0.1917*NTC_res*NTC_res-6.2730* NTC_res)*10.0;return temperature;void display
36、(u16 tempp)unsigned char yu1,yu2,yu3;yu1二tempp/100;計算百位數yu2=tempp%100/10;yu3=tempp%10;TM_w_data(0 x08,table1yu1);/計算十位數計算個位數百位數數碼管顯示TM_w_data(0 x0A,table2yu2); 十位數數碼管顯示TM_w_data(0 x0c,table1yu3);TM_w_command(0 x8e);int main( void )/ Clk_Config();個位數數碼管顯示Adc_Config();TM_init();Uart_Init();_enable_int
37、errupt();while(1)(ADC_CR1 |= 0 x01;delay(5);#pragma vector = ADC1_EOC_vector_interrupt _root void ADC1_EOF_HANDLER(void)(u8 temp;u16 ad_value,T;if(ADC_CSR_EOC != 0)(ADC_CSR_EOC = 0;temp = ADC_DRH;UART1_Sendint(temp);ad_value=ADC_DRH2;ad_value=ad_value+ADC_DRL;T=value_process(ad_value);UART1_Sendint(
38、temp);display(T);賦值循環寫入每一位/寫入第一位/右循環一位3.5.2 TM1628.c #include #includeTM1628.h/寫入單字節函數void TM_w_BYTE(unsigned char TM_w_data)(unsigned char i,temp1,j=10;temp1 = TM_w_data;for(i = 0;i = 1; 寫入命令void TM_w_command(unsigned char TM_w_data)(TM_DIO_OUT;/設置數據輸出TM_STB_low;/片選拉低TM_w_BYTE(TM_w_data);/寫命令TM_STB
39、_high;/拉高寫入固定地址寫入數據函數void TM_w_data(unsigned char TM_w_addr,unsigned char TM_w_data)(TM_DIO_OUT;TM_STB_low;TM_w_BYTE(TM_ADD_command + TM_w_addr); /地址寫入 BYTETM_w_BYTE(TM_w_data);/數據寫入BYTETM_STB_high;/忽略 CLK讀取一個字節函數unsigned int TM_r_BYTE(void)(unsigned char i,j =10;unsigned int temp = 0;TM_DIO_IN;/設置為
40、輸入模式TM_STB_low;初始化串行接口,等待接受數據for(i = 0;i = 1;/循環右移一位return temp;/按鍵讀取函數unsigned int TM_r_key(void)(unsigned int i;unsigned char j = 15;unsigned int TM_r_dat4 = 0;定義四個數組,初始化為0unsigned int key_val = 0;TM_DIO_OUT;TM_STB_low;TM_w_BYTE(0 x42);/讀鍵掃描命令TM_DIO_high;while(j -);for(i = 0;i 3;i +)個鍵用三個數組(TM_r_d
41、ati = TM_r_BYTE();/BYTE 寫入數組TM_STB_high;for(i = 0;i 3;i+)(key_val |= (TM_r_dati&0 x03)3)(4* (2-i);/掃描鍵盤按鍵排列順序為key_val:123456780900for(i=0;i(11-i)&0 x0001)=0 x0001) 檢驗哪個鍵被按下(if(i!=8)(if(i=9)i=i ;elsei=i+1;elsecontinue;break;if(i=12)i=0;return i;void TM_init(void)(PB_CR1 |= 0 x03;PB_CR2 &= 0 x03;PB_DD
42、R |= 0 x03;PD_CR1 |= 0 x80;PD CR2 &= 0 x80;PD_DDR |= 0 x80;TM_STB_high;TM_CLK_high;TM_w_command(0 x03);/設置顯示模式TM_w_command(0 x44);/設置數據命令采用固定地址第4章系統調試和功能測試單片機的系統調試主要包括硬件調試和軟件調試,這兩者是 不能分開的,許多硬件錯誤是在軟件調試中被發現和糾正的。但 通常是先排除明顯的硬件故障以后,再和軟件結合起來調試以進 一步排除故障。可見硬件的調試是基礎,如果硬件調試不通過, 軟件設計則是無從做起。4.1系統硬件調試硬件設計方面從布線到焊接安裝完成之后,就開始進入硬件 調試階段。首先,我們應該排除元器件失效問題。造成這類錯誤 的原因有兩個:一是元器件買來時就已壞了;另一個是由于焊接 錯誤,造成器件損壞。要排除這種錯誤我們可以采取檢查元器件與 設計要求的型號、規格和連接是否一致,在保證安裝無誤后,用替 換方法排除錯誤
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家族財產分割協議書
- 食堂承包交接協議書
- 商戶引流服務協議書
- 塔吊買賣協議書范本
- 中藥批發質保協議書
- 培訓協議書范本格式
- 原料收購協議書范本
- 林木無償轉讓協議書
- 學生班車服務協議書
- 婚姻保密協議書范例
- 縱隔腫瘤護理查房
- 眼鏡店銷售培訓課件
- 中小學學校落實中央八項規定自查報告
- 宜賓市屬國有企業人力資源中心宜賓臨港投資建設集團有限公司下屬子公司2025年第一批項目制員工公開招聘筆試參考題庫附帶答案詳解
- 2025年山東魯泰控股集團有限公司下屬駐陜西煤礦企業招聘(150人)筆試參考題庫附帶答案詳解
- 2025屆上海市浦東新區高三二模英語試卷(含答案)
- 2024-2025學年高一政治統編版下學期期中考試測試卷B卷(含解析)
- 內蒙古自治區呼和浩特市2025屆高三第一次模擬考試物理答案
- 2024年4月自考00150金融理論與實務試題及答案
- 問題解決過程PSP-完整版
- 2024年海南發展控股有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論