freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機的多點溫度測試系統(tǒng)_畢業(yè)設(shè)計論文-wenkub.com

2024-11-03 21:30 本頁面
   

【正文】 //正溫度不顯示符號 else flagdat3=0x2d。 //百位數(shù) disdata3[1]=tvalue3%1000/100+0x30。 } tvalue3=tvalue3*()。 tvalue3=tvalue3|a3。 //讀取溫度 a3=ds1820rd3()。 //跳過讀序列號 ds1820wr3(0x44)。 wdata3=1。 DQ3 = wdata3amp。 } void ds1820wr3(uchar wdata3) //寫數(shù)據(jù) { uchar i=0。 DQ3= 1。 for (i=8。 //精確延時大于 480us DQ3 = 1。 DQ3 = 1。 //顯示小數(shù)點 wr_(0x80+0x45)。 //顯示十位 wr_(0x80+0x43)。 //顯示符號位 wr_(0x80+0x41)。 //負(fù)溫度顯示負(fù)號 : if(disdata2[0]==0x30) { disdata2[0]=0x20。 //十位數(shù) disdata2[2]=tvalue2%100/10+0x30。 //溫度值擴大 10 倍,精確到 1 位小數(shù) return(tvalue2)。 if(tvalue20x07ff) tflag2=0。 b2=ds1820rd2()。 //啟動溫度轉(zhuǎn)換 ds1820rst2()。 } } read_temp2() //3 號讀取溫度值并轉(zhuǎn)換 { uchar a2,b2。0x01。 for (i=8。 //給脈沖信號 if(DQ2) dat2|=0x80。i0。 //拉高 delay_18B202(40)。 //DQ 復(fù)位 delay_18B20(4)。 wr_dat(disdata1[3])。 wr_dat(disdata1[2])。 wr_dat(disdata1[0])。 //如果百位為 0,不顯示 if(disdata1[1]==0x30) disdata1[1]=0x20。 //個位數(shù) disdata1[3]=tvalue1%10+0x30。 } /*******************************************************************/ void ds1820disp1() //2 號溫度值顯示 { uchar flagdat1。 else { tvalue1=~tvalue1+1。 tvalue1=b1。 ds1820wr1(0xcc)。 ds1820rst1()。 delay_18B201(10)。 i0。 delay_18B201(10)。i) { DQ1 = 0。 } uchar ds1820rd1() //讀數(shù)據(jù) { uchar i=0。 //延時 DQ1 = 0。 //顯示小數(shù)位 } /*******************二號 DS18B20 程序 **************************/ void delay_18B201(unsigned int i) //延時 1微秒 { while(i)。 //顯示個位 wr_(0x80+0x04)。 //顯示百位 wr_(0x80+0x02)。 //如果百位為 0,十位為 0 也不顯示 } wr_(0x80+0x00)。 //小數(shù)位 if(tflag==0) flagdat=0x20。 disdata[0]=tvalue/1000+0x30。 tflag=1。 tvalue=8。 //跳過讀序列號 ds1820wr(0xbe)。 ds1820wr(0xcc)。 DQ = 1。 i) { DQ = 0。 } return(dat)。 //給脈沖信號 dat=1。 uchar dat = 0。 //DQ 拉低 delay_18B20(100)。 } void ds1820rst() //ds1820 復(fù)位 29 { uchar x=0。 wr_(0x80+0x40)。 wr_(0x80)。) { wr_dat(*p)。 //設(shè)置開顯示,不顯示關(guān)標(biāo) wr_(0x06)。 delay1ms(5)。 RW=0。 EN=1。 } void wr_(uchar ) //LCD 寫指令 { RS=0。ims。 //高溫和低溫設(shè)置值 uint tvalue,tvalue1,tvalue2,tvalue3。 uchar data disdata5[4]。 uchar data disdata1[5]。 sbit bell=P1^7。 //按鍵定義 sbit key1=P3^4。 //四號 ds18b20 報警顯示接口 sbit RS=P2^5。 //四號 ds18b20 與單片機連接口 sbit D1=P2^1。同時要感謝在論文寫作過程中所有幫助過我的同學(xué),謝謝大家的支持! 26 附 錄 1 系統(tǒng)硬件原理圖 附 錄 2 程序設(shè)計 include define uchar unsigned char define uint unsigned int sbit DQ =P1^0。 [7] 李宏,張家田 《液晶顯示器件應(yīng)用技術(shù)》,北京:機械工業(yè)出版社, 2020 年,第 128~152 頁。 [3] 肖看,李群芳 《單片機原理、接口及應(yīng)用》,北京:清華大學(xué)出版社, 2020 年,第二版,第 300~ 309頁。在本次設(shè)計過程中,硬件的選取和軟件的編程都是極大考驗,要盡量降低系統(tǒng)的復(fù)雜程度,又要使系統(tǒng)在性價比最高的基礎(chǔ)上實現(xiàn)其所有的功能。點擊模擬調(diào)試按鈕,進(jìn)人調(diào)試狀態(tài),經(jīng)對各個環(huán)節(jié)進(jìn)行調(diào)試,仿真結(jié)果無誤,可以進(jìn)行實物焊接。 表 41 引腳功能 引腳 引腳功能 設(shè)置溫度上限 設(shè)置溫度下限 加 1 減 1 退出 21 按 鍵 處 理 子 程 序 入 口是 否 有 鍵 按 下 ?設(shè) 置 溫 度 上 下 限 ?L C D 顯 示 字 符 串 “ s e t h i g h ” L C D 顯 示 字 符 串 “ s e t l o w ”是 否 有 鍵 按 下 ?加 1 ?調(diào) 用 加 1 子 程 序 調(diào) 用 減 1 子 程 序返 回NYNYNYNY 圖 44 按鍵處理模塊流程圖 聲光報警模塊 當(dāng)單片機讀取四路 DS18B20 的溫度后會對思路溫度進(jìn)行檢測,與設(shè)定的溫度上下限進(jìn)行比較,當(dāng)發(fā)現(xiàn)某路溫度超出設(shè)定范圍時,單片機會發(fā)出報警信號,使 口輸出矩形波,蜂鳴器實現(xiàn)報警,同時提示電路的發(fā)光二極管會對應(yīng)熄滅進(jìn)行報警提示,可以觀察出是哪一路溫度超出溫度設(shè)定范圍,報警模塊流程圖如圖 45 所示。 液晶顯示模塊 點陣字符式液晶顯示器 LCD1602 模塊為 2 16 字, LCD 液晶屏的顯示通過四部:初始化 LCD、讀操作、寫操作、數(shù)據(jù)顯示。 3) 讀時隙 DS18B20 器件僅 在主機發(fā)出讀時隙時,才向主機傳輸數(shù)據(jù)。流程圖如圖 42 所示。 本系統(tǒng)采用自頂向下循環(huán)執(zhí)行程序設(shè)計,模塊化程序設(shè)計,單片機帶有復(fù)位功能,當(dāng)系統(tǒng)運行出現(xiàn)錯誤時,可以通過復(fù)位操作對整個系統(tǒng)進(jìn)行復(fù)位。本系統(tǒng)通電以后進(jìn)行復(fù)位初始化操作,四路 DS18B20 測取個路溫度送入 LCD 液晶屏顯示,再啟動報警系統(tǒng)對路溫度進(jìn)行檢測,觀察是否有溫度超出設(shè)定的溫度范圍,如果有,則啟動報警,同時提示電路進(jìn)行提示,單片機隨時對按鍵系統(tǒng)(溫度上下限的設(shè)定)進(jìn)行檢測,當(dāng)發(fā)現(xiàn)有控制按鈕按下時,對相應(yīng)的按鍵進(jìn)行響應(yīng),設(shè)置溫度檢測的上下限,再與設(shè)定溫度進(jìn)行對比,檢測溫度。鍵盤電路如圖 35 所示。 圖 33 DS18B20 的接口電路 LCD 顯示電路 本系統(tǒng)通過 P0 口來連接 LCD1602 的 D0~ D7,采用 8 路 10KΩ 的排阻限流, ~ 口分別連接 1602 的 RS、 R/D、 E,通過這三個引腳來控制1602 的讀寫。 圖 32 復(fù)位電路 溫度采集模塊的設(shè)計 本系統(tǒng)將四個 DS18B20 的 DQ 端子分別接在單片機的 ~ 口上,通過單片機發(fā)送指令分別對每個溫度傳感器進(jìn)行讀寫操作,這樣可以跳過讀每個 DS18B20 的序列號而直接進(jìn)行溫度的讀寫, 從而實現(xiàn)多點溫度檢測系統(tǒng) 。本系統(tǒng)采用按鍵復(fù)位。 時鐘電路的設(shè)計 在 AT89C52 的引腳 XTAL1 和 XTAL2 端外接晶體振蕩器(簡稱晶振),就構(gòu)成了內(nèi)部震蕩方式,時鐘電路如圖 31 所示,其中電容 C1 和 C2 的作用是穩(wěn)定頻率和快速起振,典型值為 30pF,晶振 CYS 的震蕩頻率要小于12MHZ,典型值為 6MHZ、 12MHZ 或 ,由于本系統(tǒng)要與 PC 機通信,所以應(yīng)選擇 的晶振,這樣便于將波特率設(shè)定為標(biāo)稱值。 一個多路溫度采集系統(tǒng),包括多路溫度信息的采集、轉(zhuǎn)換、顯示等環(huán)節(jié)。 命令 10: 寫 DDRAM 或 CGROM。 命令 7: CGRAM 地址設(shè)置,地址范圍 00H~ 3FH(共 64 個單元,對應(yīng) 8 個自定義字符)。 命令 6:功能設(shè)置。 B:光標(biāo)是否閃爍,為 1 表示閃爍,為 0 表示不閃爍。 S: 屏幕上 的 文字是否左移或者右移 , 高電平表示有效,低電平則無效 。 10 命令 2:光標(biāo)歸位。 LCD1602 模塊的控制是通過操作命令完成的。廣泛使用的點陣字符式液晶顯示模塊 LCD1602 有控制器 HD44780、驅(qū)動器 HD44100 和液晶板組成。 5) 可以設(shè)定報警溫度的上下門限值,保存在 EEPROM 中。 8 2) 溫度轉(zhuǎn)換精度: A/D 轉(zhuǎn)換精度分為 4 級,各級轉(zhuǎn)換精度對應(yīng)的輸出信號的碼位,從低到高分別為: 9 位, 10 位 , 11 位 , 12 位。 復(fù)制 EPRAM 0B8H 將 EPRAM 中內(nèi)容恢復(fù)到 RAM 的第 3, 4 字節(jié)。 溫度轉(zhuǎn)換 44H 命令 DS18B20 啟動對溫度溫度傳感器所測得溫度數(shù)值進(jìn)行 A/D 轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)字溫度數(shù)據(jù)保存在便箋式暫存器中的溫度寄存器中。 表 21 DS18B20 指令系統(tǒng) 指令 約定代碼 功能 讀 ROM 33H 讀 DS18B20ROM 中的編碼( 64 位地址) 符合 ROM 55H 匹配 ROM 命令用于選中指定的 DS18B20 器件,主機發(fā)送匹配 ROM命令(后面跟隨指定器件的 64位 ROM序列號),可以再單只或多只器件在線的情況下,準(zhǔn)確定位指定序列號的 DS18B20 器件。 第三部 執(zhí)行 DS18B20 的“功能操作命令”,并在其后跟隨需要交換的數(shù)據(jù) [5]。其引腳圖如圖 23 所示。而智能溫度傳感器具有模擬量信號到數(shù)字量值的 A/D 轉(zhuǎn)換,并且能夠在程序控制下,設(shè)置 A/D 的精度,具有自己的指令系統(tǒng),并且?guī)в袛?shù)據(jù)存儲功能。 Intel 公司生產(chǎn)的 8051 芯片,其結(jié)構(gòu)合理,技術(shù)也比較成熟,此外還有一些廠家生產(chǎn)與 MCS51 系列相兼容的芯片,例如 Atmel 公司生產(chǎn)的 Atmel89 系列單片機(簡稱 89 系列單片機),就是基于 Intel 公司的 MCS51 系列而研 5 制的,這是一種內(nèi)部含 Flash 存儲器的特殊單片機。系統(tǒng)的總體設(shè)計框圖如圖 21 所示 4 圖 21 系統(tǒng)總體設(shè)計框圖 系統(tǒng)器件的選擇 一個單片機工作系統(tǒng)中芯片的性能,對單片機系統(tǒng)工作的穩(wěn)定性顯得尤為重要,在選擇芯片時,既要考慮系統(tǒng)的成本,同時也要考慮所選芯片的實用性,使整個系統(tǒng)的性價比最高。 在多點測溫系統(tǒng)中,傳統(tǒng)用模擬信號進(jìn)過各種變換得到最 終溫度的方式正面臨各類問題的挑戰(zhàn),而采用數(shù)字溫度芯片 DS18B20 測量溫度,其輸出的信號是全數(shù)字化的,便于單片機處理及控制,省去了傳統(tǒng)的測溫方法的很多外圍電路,使得測溫系統(tǒng)體積較小,成本較低,且一個單片機芯片可連接多個溫度傳感器,實現(xiàn)多
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1