數(shù)字溫度計(jì)的設(shè)計(jì)與制作實(shí)驗(yàn)報(bào)告_第1頁
數(shù)字溫度計(jì)的設(shè)計(jì)與制作實(shí)驗(yàn)報(bào)告_第2頁
數(shù)字溫度計(jì)的設(shè)計(jì)與制作實(shí)驗(yàn)報(bào)告_第3頁
數(shù)字溫度計(jì)的設(shè)計(jì)與制作實(shí)驗(yàn)報(bào)告_第4頁
數(shù)字溫度計(jì)的設(shè)計(jì)與制作實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、重慶郵電大學(xué)通信與信息工程學(xué)院班級(jí) GJ011201小組成員徐睿2012210460李易曉2012210057張地根 2012210114指導(dǎo)老師 鄧炳光數(shù)字溫度計(jì)的設(shè)計(jì)與制作實(shí)驗(yàn)報(bào)告設(shè)計(jì)要求1,數(shù)字溫度計(jì)設(shè)計(jì)與制作:利用之前繪制的“C51學(xué)習(xí)板”掌握的SCH和PCB圖知識(shí),繪制一個(gè)基于STC89C51的單片機(jī)系統(tǒng),增加溫度采集0120度,溫度顯示要求3位整數(shù)+1位小數(shù),電路原理圖和PCB圖2,SCH必須按照規(guī)范進(jìn)行繪制。3,系統(tǒng)還要求具備電源指示燈,外部使用MINI-USB進(jìn)行5V供電,在滿足要求的情況下,使用的元器件越少越好;溫度采集可以用模擬或數(shù)字器件、顯示可以用LCD或數(shù)碼管。4,PC

2、B板要求使用底層走線,元器件在頂層。5,PCB板上標(biāo)識(shí)自己的學(xué)號(hào)、姓名。6,PCB板大小,滿足元器件布局的情況下,盡可能減少面積。7,PCB審查正確后,進(jìn)行單面板腐蝕的相關(guān)操作:熱轉(zhuǎn)印、腐蝕、鉆孔、裁剪等。元器件自行購買,然后焊接,調(diào)試,編寫單片機(jī)程序,完成設(shè)計(jì)報(bào)告。設(shè)計(jì)步驟一 主要原器件的選擇控制模塊:STC89C52溫度采集模塊:DS18B20顯示模塊:8位共陰數(shù)碼管二 原理圖的繪制1新建一個(gè)工程,在Altium Designer軟件中的“File”選項(xiàng)中選擇“NewProjectPCB project”,然后保存工程至文件夾中(文件名定義要規(guī)范)。2紙張配置,在Design選項(xiàng)中單擊左鍵

3、,選擇Document Options項(xiàng),然后根據(jù)原理圖的要求選擇合適的配置。3展開工程管理標(biāo)簽、元器件庫。4填寫圖紙信息。(項(xiàng)目名稱、圖紙名稱、版本、序號(hào)、作者。) 5元器件繪制。1)創(chuàng)建元件庫;2).繪制元器件;3)完善元器件屬性;6.修改元器件名字;7. 同一個(gè)庫中增加其他元器件;8.打開原理圖庫管理標(biāo)簽。1)元器件放置。2)元器件擺放、連線。(按格點(diǎn)對(duì)齊。)3)修改元器件值。4)完成圖紙。5)生成Bom表。三PCB圖繪制1)封裝設(shè)計(jì)。 1. 確定需要做的PCB封裝。 2.獲取PCB封裝物理尺寸。 3.創(chuàng)建PCB封裝文件。 4.創(chuàng)建PCB封裝。 5.繪制PCB封裝。2)繪制PCB圖。 1

4、.創(chuàng)建PCB圖。 2.繪制板型:選擇Keep-Out Layer,調(diào)整格點(diǎn)、重新定位原點(diǎn)、繪制輪廓線。 3.導(dǎo)入元器件。 4.擺放元器件。 5.走線:底層走線:Bottom Layer,處理全部與拉線。 6.規(guī)則檢查:Tools/Design Rule Check。 7.排除錯(cuò)誤。 8.調(diào)整絲印,加板名稱,調(diào)整線寬。四 制作板子單面板腐蝕熱轉(zhuǎn)印1.準(zhǔn)備熱轉(zhuǎn)印紙:A4大小2.打印PCB圖:至熱轉(zhuǎn)印紙的光滑面3.裁剪單面板:根據(jù)圖像大小4.打磨單面板覆銅面:去除表面氧化膜5.進(jìn)行熱轉(zhuǎn)印1)將熱轉(zhuǎn)印紙的光滑面與單面板覆銅面緊密貼合并用膠帶固定;2)送至熱轉(zhuǎn)印機(jī)反復(fù)加熱。6.檢查:如有斷線處用馬克筆填

5、補(bǔ)腐蝕1.勾兌腐蝕劑2.進(jìn)行腐蝕1)將熱轉(zhuǎn)印完成的單面板置于裝有腐蝕劑的容器中;2)輕輕搖晃容器5-10分鐘至腐蝕完全。鉆孔1.鉆孔:根據(jù)圖像進(jìn)行鉆孔,注意鉆孔力度適中、位置準(zhǔn)確2.清洗:砂紙打磨去除銅面黑色石墨覆蓋層并沖洗。焊接1.準(zhǔn)備元器件:自行購買2.裝載元器件3.進(jìn)行焊接:注意焊點(diǎn)準(zhǔn)確四 導(dǎo)入程序并進(jìn)行調(diào)試程序設(shè)計(jì)流程圖開始系統(tǒng)初始化開中斷Int0=0?YN溫度上下限設(shè)定溫度測量溫度測量顯示系統(tǒng)五 實(shí)驗(yàn)總結(jié)在畫原理圖的時(shí)候,我們要正確找到引腳,和擺放引腳的位置,各器件也要一一對(duì)應(yīng),切不可弄錯(cuò)了,畫完后,我們要進(jìn)行封裝,封裝的時(shí)候我要注意各器件的值,要確保每一步驟都正確無誤,直至畫pcb

6、的圖,進(jìn)行pcb的圖繪制的時(shí)候,我們要正確布線,確保每一布線都不會(huì)交叉或者合在一塊的情況,保證電路的正確運(yùn)行。出現(xiàn)的問題及解決:封裝時(shí)沒有正確封裝,導(dǎo)致器件不行,最后經(jīng)過檢查進(jìn)行糾正了布線時(shí),線會(huì)有一些不合理走位的情況,怕會(huì)影響電路運(yùn)作,所以在有個(gè)地方的走線,我們選擇了飛線解決了這一問題。第一次導(dǎo)入程序的時(shí)候,電源指示燈沒亮,但是我們把板子上的電源指示燈拆下,重新裝上,第二次就可以使用了。六 附件圖Bom表SCH圖PCB圖程序#include /包含單片機(jī)寄存器的頭文件#include /包含_nop_()函數(shù)定義的頭文件#define uchar unsigned char#define u

7、int unsigned intuchar code dispcode1=0xfa,0x82,0xb9,0xab,0xc3,0x6b,0x7b,0xa2,0xfb,0xeb; /09共陰顯示子碼uchar code dispcode2=0xfe,0x86,0xbd,0xaf,0xc7,0x6f,0x7f,0xa6,0xfe,0xee; /09的小數(shù)點(diǎn)共陰顯示子碼/*以下是DS18B20的操作程序 */ sbit DQ=P10;unsigned char time; /設(shè)置全局變量,專門用于嚴(yán)格延時(shí)/*函數(shù)功能:延時(shí)1ms(3j+2)*i=(333+2)10=1010(微秒),可以認(rèn)為是1毫秒*

8、/void delay1ms() unsigned char i,j; for(i=0;i4;i+) for(j=0;j33;j+); /*函數(shù)功能:延時(shí)若干毫秒入口參數(shù):n*/ void delaynms(unsigned char n) unsigned char i;for(i=0;in;i+) delay1ms(); /*函數(shù)功能:將DS18B20傳感器初始化,讀取應(yīng)答信號(hào)出口參數(shù):flag */bit Init_DS18B20(void) bit flag; /儲(chǔ)存DS18B20是否存在的標(biāo)志,flag=0,表示存在;flag=1,表示不存在 DQ = 1; /先將數(shù)據(jù)線拉高 for

9、(time=0;time2;time+) /略微延時(shí)約6微秒 ; DQ = 0; /再將數(shù)據(jù)線從高拉低,要求保持480960us for(time=0;time200;time+) /略微延時(shí)約600微秒 ; /以向DS18B20發(fā)出一持續(xù)480960us的低電平復(fù)位脈沖 DQ = 1; /釋放數(shù)據(jù)線(將數(shù)據(jù)線拉高) for(time=0;time10;time+) ; /延時(shí)約30us(釋放總線后需等待1560us讓DS18B20輸出存在脈沖) flag=DQ; /讓單片機(jī)檢測是否輸出了存在脈沖(DQ=0表示存在) for(time=0;time200;time+) ; /延時(shí)足夠長時(shí)間,等

10、待存在脈沖輸出完畢 return (flag); /返回檢測成功標(biāo)志/*函數(shù)功能:從DS18B20讀取一個(gè)字節(jié)數(shù)據(jù)出口參數(shù):dat*/ unsigned char ReadOneChar(void) unsigned char i=0;unsigned char dat; /儲(chǔ)存讀出的一個(gè)字節(jié)數(shù)據(jù)for (i=0;i=1; /將dat向右移一位后再賦給dat _nop_(); /等待一個(gè)機(jī)器周期 DQ = 1; /將數(shù)據(jù)線人為拉高,為單片機(jī)檢測DS18B20的輸出電平作準(zhǔn)備 for(time=0;time2;time+) ; /延時(shí)約6us,使主機(jī)在15us內(nèi)采樣 if(DQ=1) dat|=

11、0x80; /如果讀到的數(shù)據(jù)是1,則將1存入datelsedat|=0x00;/如果讀到的數(shù)據(jù)是0,則將0存入dat /將單片機(jī)檢測到的電平信號(hào)DQ存入ri for(time=0;time8;time+) ; /延時(shí)3us,兩個(gè)讀時(shí)序之間必須有大于1us的恢復(fù)期 return (dat); /返回讀出的十進(jìn)制數(shù)據(jù)/*函數(shù)功能:向DS18B20寫入一個(gè)字節(jié)數(shù)據(jù) 入口參數(shù):dat*/ void WriteOneChar(unsigned char dat)unsigned char i=0;for (i=0; i8; i+) DQ =1; / 先將數(shù)據(jù)線拉高 _nop_(); /等待一個(gè)機(jī)器周期

12、DQ=0; /將數(shù)據(jù)線從高拉低時(shí)即啟動(dòng)寫時(shí)序 DQ=dat&0x01; /利用與運(yùn)算取出要寫的某位二進(jìn)制數(shù)據(jù), /并將其送到數(shù)據(jù)線上等待DS18B20采樣 for(time=0;time10;time+);/延時(shí)約30us,DS18B20在拉低后的約1560us期間從數(shù)據(jù)線上采樣 DQ=1; /釋放數(shù)據(jù)線 for(time=0;time=1; /將dat中的各二進(jìn)制位數(shù)據(jù)右移1位 for(time=0;time4;time+) ; /稍作延時(shí),給硬件一點(diǎn)反應(yīng)時(shí)間/*函數(shù)功能:顯示溫度的整數(shù)部分入口參數(shù):x*/ void display_temp1(unsigned char x)unsigne

13、d char j,k,l; /j,k,l分別儲(chǔ)存溫度的百位、十位和個(gè)位j=x/100; /取百位k=(x%100)/10; /取十位l=x%10; /取個(gè)位 P2=0xfb; P0=dispcode2l;delaynms(1); P2=0xfd;P0=dispcode1k;delaynms(1);P2=0xfe; P0=dispcode1j; delaynms(1); /延時(shí)1ms給硬件一點(diǎn)反應(yīng)時(shí)間 /*函數(shù)功能:做好讀溫度的準(zhǔn)備*/ void ReadyReadTemp(void) Init_DS18B20(); /將DS18B20初始化WriteOneChar(0xCC); / 跳過讀序號(hào)

14、列號(hào)的操作WriteOneChar(0x44); / 啟動(dòng)溫度轉(zhuǎn)換 for(time=0;time100;time+) ; /溫度轉(zhuǎn)換需要一點(diǎn)時(shí)間Init_DS18B20(); /將DS18B20初始化WriteOneChar(0xCC); /跳過讀序號(hào)列號(hào)的操作WriteOneChar(0xBE); /讀取溫度寄存器,前兩個(gè)分別是溫度的低位和高位/*函數(shù)功能:主函數(shù)*/ void main(void) unsigned char TL; /儲(chǔ)存暫存器的溫度低位unsigned char TH; /儲(chǔ)存暫存器的溫度高位unsigned char TN; /儲(chǔ)存溫度的整數(shù)部分unsigned char TD; /儲(chǔ)存溫度的小數(shù)部分delaynms(5); /延時(shí)5ms給硬件一點(diǎn)反應(yīng)時(shí)間 while(1) /不斷檢測并顯示溫度 ReadyReadTemp(); /讀溫度準(zhǔn)備 TL=ReadOneChar(); /先讀的是溫度值低位 TH=ReadOneChar(); /接著讀的是溫度值

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論