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

正文內(nèi)容

智能溫度警報(bào)系統(tǒng)的軟件設(shè)計(jì)畢業(yè)論文及程序-文庫(kù)吧資料

2025-06-25 13:31本頁(yè)面
  

【正文】 _Change(R1302(0x83))。0x0F))。 Decimal=bcd4。//寫(xiě)入初始年份數(shù)據(jù)15W1302(0x8e,0x80)。//寫(xiě)入初始日期數(shù)據(jù)16W1302(0x88,0x04)。//寫(xiě)入初始小時(shí)數(shù)據(jù)09W1302(0x8a,0x05)。 //寫(xiě)入初始秒數(shù)據(jù)00W1302(0x82,0x00)。}//********初始化子DS1302(20150416,09:00:00,week3)**********void Int_1302() {W1302(0x8e,0x00)。 RST = 0。 // 地址,命令 Data = R_byte()。 RST = 1。 RST = 0。 RST = 0。 // 地址,命令 W_byte(dat)。 RST = 1。 }//*********寫(xiě)數(shù)據(jù)****先寫(xiě)地址,后寫(xiě)命令/數(shù)據(jù)************void W1302(unsigned char Addr, unsigned char dat){ RST = 0。 SCLK = 0。 if(IO)val=val|0x80。 f0。 //設(shè)置為輸入 //RST=1。 } }/**********從1302讀取8位數(shù)據(jù)******************/unsigned char R_byte(void) { unsigned char f,val=0。//上升沿發(fā)送 SCLK=0。0x01。z0。 //RST=1。}//******************************/******往1302寫(xiě)入8位數(shù)據(jù)**************/void W_byte(unsigned char dat){ unsigned char z。 //LCD寫(xiě)入字的子程序 delay2()。 RA2=0。 RA3=1。RA3=0。}void ENABLE(){ RA1=0。i0。}void delay2(){unsigned int i。int TZ=0,tmp,x,a1,a2,a3,year=2000,t,t1,lt,ht,HT=23,LT=3。unsigned char flag,flag1,miao,fen,shi,week,rq,yue,nian。//static volatile char table[16]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39, 0X41,0X42,0X43,0X44,0X45,0X46}。 //采集到的溫度高8位unsigned char THV=0。DQ=1//設(shè)置數(shù)據(jù)口為輸入 define DQ_LOW() DQ = 0。LCD 讀/寫(xiě)信號(hào)腳定義在 腳//E EQU 3 。致謝語(yǔ)致謝語(yǔ)參考文獻(xiàn)參考文獻(xiàn)[1] 陶冶,袁永超,羅平. 基于DS18B20的單片機(jī)溫度測(cè)量系統(tǒng)[J]. 農(nóng)機(jī)化研究,2007,10:160164.[2][M].北京:電子工業(yè)出版社,2009:1213.[3] 周靈彬,張靖武. PROTEUS的單片機(jī)教學(xué)與應(yīng)用仿真[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2008,(01):7679.[4] DS18B20+ 和 Maxim Integrated 信息?[EB].+/Maxim+Integrated:20150425.[5] [M].:北京航空航天大學(xué)出版社,2004:1433.[6] 方玉鑫. 基于單片機(jī)的溫濕度控制系統(tǒng)的研究與應(yīng)用[D].哈爾濱工程大學(xué),2012.[7] [J].電子元器件應(yīng)用,2004,(01):12.[8] 胡景華. 基于單片機(jī)的溫室數(shù)據(jù)采集系統(tǒng)的研究[D].內(nèi)蒙古農(nóng)業(yè)大學(xué),2012.[9] [J].電子測(cè)量技術(shù),2008,31(7):15.[10] [J].電子制作,2005,(10):17.[11] 羅翼,[M].:中國(guó)電力出版社,2005:159168.附錄附錄系統(tǒng)源程序:/**************************************************************************** 編譯環(huán)境 MPLAB IDE 仿真環(huán)境 Proteus 7 Professional 主控芯片 PIC16F877 4MHz***************************************************************************///RS EQU 1 。 這次設(shè)計(jì)中所遇到的最大問(wèn)題是,如何編寫(xiě)出按鍵控制程序?qū)崿F(xiàn)對(duì)系統(tǒng)的整體控制功能。同時(shí)也可以在實(shí)現(xiàn)報(bào)警模塊的程序中加入對(duì)其他外圍電路的控制功能,實(shí)現(xiàn)當(dāng)溫度超過(guò)報(bào)警上限制溫度時(shí),系統(tǒng)能控制外圍電路啟動(dòng)降溫設(shè)備降低溫度,而當(dāng)溫度低于下限溫度時(shí)啟動(dòng)加熱設(shè)備提高周?chē)鷪?chǎng)所的溫度。而設(shè)計(jì)的創(chuàng)新在于,它是基于PIC16F877單片機(jī)而詳細(xì)設(shè)計(jì)的溫度報(bào)警軟件系統(tǒng),在仿真電路上能夠成功運(yùn)行,并實(shí)現(xiàn)對(duì)環(huán)境溫度的實(shí)時(shí)監(jiān)控報(bào)警功能。本設(shè)計(jì)可以用于監(jiān)控一些像保溫養(yǎng)殖房、農(nóng)業(yè)大棚、機(jī)房等地方的溫度。 最終調(diào)試完成后,系統(tǒng)的報(bào)警溫度范圍可以從54℃到124℃,上下限溫度的最小溫差為1℃,日歷的設(shè)置范圍可以從2000年到2099年。}形式。而應(yīng)該將十進(jìn)制的判斷條件改為像if((nianamp。 顯示與溫度有關(guān)的內(nèi)容 顯示與日歷和時(shí)鐘有關(guān)的內(nèi)容 修改設(shè)置功能調(diào)試 在起初調(diào)試修改設(shè)置功能的時(shí)候,除了星期和上下限溫度能夠完整的實(shí)現(xiàn)加減修改設(shè)置,其它的就只能實(shí)現(xiàn)加的修改功能,而減功能只能實(shí)現(xiàn)減到最小值,但是再減的話就會(huì)出現(xiàn)數(shù)值錯(cuò)誤。因此,軟件系統(tǒng)的報(bào)警模塊程序能夠?qū)崿F(xiàn)報(bào)警功能。 溫度報(bào)警功能程序調(diào)試 、以及在仿真電路上多次調(diào)試,在報(bào)警溫度的限定范圍內(nèi),報(bào)警電路無(wú)反應(yīng),系統(tǒng)不報(bào)警。 溫度傳感器設(shè)置的溫度為21℃ 溫度傳感器設(shè)置的溫度為4℃ 通過(guò)多次仿真調(diào)整傳感器的測(cè)量溫度,液晶上都能顯示出與傳感器上設(shè)置的溫度值相同的數(shù)字,所以軟件系統(tǒng)的溫度測(cè)量程序能夠正確運(yùn)行。調(diào)節(jié)DS18B20傳感器上顯示的溫度值,看液晶顯示器上的溫度值是否與之相等。像修改日期、時(shí)分秒和星期的具體程序,可見(jiàn)附錄源程序中的RB3_scan()的子程序。因?yàn)閷?shí)時(shí)時(shí)鐘的其他設(shè)置程序與nian和yue的流程圖相似,只是在自加和自減之后對(duì)對(duì)數(shù)據(jù)的處理方法有所不同,它們都是通過(guò)K2%7的值作為修改設(shè)置相應(yīng)數(shù)據(jù)的判斷依據(jù)。圖中的日歷時(shí)鐘設(shè)置是用于對(duì)DS1302要顯示的內(nèi)容進(jìn)行修改設(shè)定程序,這里只是進(jìn)行簡(jiǎn)單帶過(guò)。同理,下上限溫度最低只能減到53℃,最高只能加到124℃。為了讓接下來(lái)的程序流程圖看得簡(jiǎn)潔一些,程序流程圖中的一些按鍵的名稱(chēng)就直接采用了與其對(duì)應(yīng)引腳名稱(chēng)。函數(shù)的返回值K1在主函數(shù)中用于判斷需要調(diào)用的是case 0語(yǔ)句,還是case 1語(yǔ)句,即用于切換液晶顯示器所顯示的內(nèi)容。} 設(shè)計(jì)中的按鍵功能具體可以分為三個(gè)部分,分別是顯示切換功能、上下限溫度修改功能和實(shí)時(shí)時(shí)鐘修改功能。delayms()。i0。}。i){RC1=!RC1。for(i=500。}。i){RC0=!RC0。for(i=100。delay1ms()。i0。 報(bào)警程序:void sound_delay()//蜂鳴器報(bào)警程序{unsigned int i,j。圖中的t表示DS18B20測(cè)得的實(shí)際溫度,負(fù)溫度并未進(jìn)行取反加一處理,LT表示下限溫度,HT表示上限溫度。第一部分是判斷是否超上下限溫度,第二部分是報(bào)警程序。0x0F))。 Decimal=bcd4。至于顯示其他的日歷和時(shí)鐘的內(nèi)容,就要先將要顯示的數(shù)據(jù)轉(zhuǎn)為十進(jìn)制,再顯示。周寄存器的數(shù)據(jù)只能存儲(chǔ)從1到7的其中一個(gè),所以當(dāng)存儲(chǔ)的是1時(shí),則表示周日,類(lèi)似的2則表示星期一。//寫(xiě)入初始年份數(shù)據(jù)15W1302(0x8e,0x80)。//寫(xiě)入初始日期數(shù)據(jù)16W1302(0x88,0x04)。//寫(xiě)入初始小時(shí)數(shù)據(jù)09W1302(0x8a,0x05)。 //寫(xiě)入初始秒數(shù)據(jù)00W1302(0x82,0x00)。例如初始顯示的內(nèi)容為“20150416,09:00:00,week3”,則進(jìn)行DS1302的初始化函數(shù)具體如下:void Int_1302() {W1302(0x8e,0x00)。 DS1302控制字圖 與日歷時(shí)鐘有關(guān)寄存器和控制字 DS1302讀寫(xiě)一字節(jié)數(shù)據(jù)的時(shí)序圖 根據(jù)以上了解的DS1302的控制字以及時(shí)序圖,就可以編寫(xiě)出讀寫(xiě)一個(gè)字節(jié)數(shù)據(jù)的程序。其中與日歷、。 溫度采集和轉(zhuǎn)換程序的程序流程圖 編寫(xiě)時(shí)鐘程序要先了解DS1302的控制字[10]。0000 0XFC90 ,其中flag用于標(biāo)志溫度值的正負(fù)符號(hào)在顯示溫度值時(shí)要用到。1111 0XFE6F551111 1100111001011000 0XFFF81111111100001000 0X000800000000010100001 0X019100000001010185 000000000111由表中的二進(jìn)制數(shù)據(jù)可以看出數(shù)據(jù)的第十一位到第五位表示溫度值的整數(shù)部分,第四位表示溫度的小數(shù)部分。小于0時(shí),就需要先取反加一,再按大于零的情況處理。如果S=0則溫度大于0,否則溫度小于0。 //沒(méi)有接收到應(yīng)答信號(hào),繼續(xù)復(fù)位 }} 本設(shè)計(jì)中DS18B20采用的是出廠配置位為12位,即將采集到的溫度轉(zhuǎn)換為12位的數(shù)字信號(hào),℃,轉(zhuǎn)化溫度的最大時(shí)間需要750ms。//再次拉高電,釋放總線平。 //接收到應(yīng)答信號(hào) delay(40)。 //釋放總線等電阻拉高總線, delay(2)。 //主機(jī)拉至低電平 delay(63)。//拉高電平 delay(1)。 DS18B20復(fù)位程序:void reset()//{ char presence=1。、。 顯示與DS1302有關(guān)的內(nèi)容 display_ds1302()程序流程圖 完成溫度采集和轉(zhuǎn)換程序設(shè)計(jì)之前,要先了解DS18B20的復(fù)位時(shí)序圖和讀寫(xiě)時(shí)序圖。 顯示與溫度有關(guān)的內(nèi)容 display_18b20()程序流程圖 display_Temperature()程序流程圖 顯示與DS1302有關(guān)的內(nèi)容時(shí)。第一行為溫度傳感器采集到的溫度值,這里只顯示到十分位。一部分用于顯示與溫度有關(guān)的內(nèi)容,另一部分用于顯示與DS1302有關(guān)的內(nèi)容,它們通過(guò)按鍵控制模塊來(lái)控制顯示內(nèi)容。 //文字不動(dòng),光標(biāo)自動(dòng)右移 ENABLE()。 //顯示器開(kāi)、光標(biāo)關(guān)、閃爍關(guān) ENABLE()。 //8 位 2 行 5x7 點(diǎn)陣 ENABLE()。 //清屏 ENABLE()。 LCD1602控制命令 其中,指令3是通過(guò)高低電平來(lái)設(shè)置光標(biāo)和顯示模式 I/D;指令4是高電平工作,低電平不工作;指令5的D3位為1時(shí)移動(dòng)文字,為0時(shí)移動(dòng)光標(biāo)。 ,實(shí)現(xiàn)了各個(gè)模塊在設(shè)計(jì)中的功能。 對(duì)單片機(jī)中所要用到端口的具體初始化內(nèi)容為:設(shè)置 RA口全部為普通數(shù)字 IO端口且A口的方向?yàn)檩敵?,用于控制液晶顯示器的讀寫(xiě)功能;設(shè)置RB端口為弱上拉功能,用于實(shí)現(xiàn)按鍵控制模塊與單片機(jī)的功能聯(lián)系;定義RC口的RC4引腳作輸入口,其它作為為輸出口,用于實(shí)現(xiàn)單片機(jī)與溫度采集模塊、實(shí)時(shí)時(shí)鐘模塊和報(bào)警模塊的功能聯(lián)系。 設(shè)計(jì)所需的數(shù)據(jù)類(lèi)型表數(shù)據(jù)類(lèi)型數(shù)據(jù)長(zhǎng)度(位數(shù))值域char8128~127int1632768~32767long int322147483648~2147483647unsigned char80~255unsigned int160~65535unsigned long int320~4294967295 在本設(shè)計(jì)的軟件系統(tǒng)主函數(shù)除了對(duì)PIC16F877單片機(jī)中所要用到的端口,以及LCD液晶顯示器進(jìn)行初始化外,還包括需要調(diào)用的8個(gè)相應(yīng)的子程序。 報(bào)警模塊的仿真電路 總體仿真電路設(shè)計(jì)圖 總體仿真電路連接圖第四章 系統(tǒng)軟件設(shè)計(jì)第四章 系統(tǒng)軟件設(shè)計(jì) 編程前的準(zhǔn)備在開(kāi)始編寫(xiě)代碼之前,我們要先確定編程所需的數(shù)據(jù)類(lèi)型和各個(gè)數(shù)據(jù)類(lèi)型所占用的字節(jié)長(zhǎng)度以及它們的值域是多少。通過(guò)這種形式的循環(huán)報(bào)警,來(lái)提醒周?chē)娜藴囟瘸^(guò)了限定,需要采取降溫措施來(lái)降低溫度。在設(shè)計(jì)中采用了5個(gè)按鍵開(kāi)關(guān)來(lái)實(shí)現(xiàn)設(shè)計(jì)的控制模塊功能,每個(gè)開(kāi)關(guān)所控制的功能分別是:進(jìn)入/退出修改功能、選擇所修改參數(shù)功能、加的功能、減的功能和屏幕切換功能。[7]。 本次設(shè)計(jì)是利用DS1302時(shí)鐘芯片的簡(jiǎn)單串行接口跟PIC16F877單片機(jī)進(jìn)行數(shù)據(jù)通信,實(shí)現(xiàn)課題中增加的實(shí)時(shí)時(shí)鐘
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1