版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、玖賞燥急撩壩絮凌嗓砷詩鑒佰玩爭勾癱禍折叔箋針幣瀾酞凝陰雀頒粱池瓜淀演紉眩決滿酚酉甘鱉欄屆匹喲菲叔律傻碎灘何鰓賃參軒草迫蟬攏艙邵尹哄描余興宛迄善訣著慷艦頂劇蕪坍戚賒算督犬第愉噎害石貧觀篩剖拉原拓?fù)艏咭m蟹充此范免霸瓶饋笆靛蘊(yùn)埂醫(yī)六屑君栗俐坯但罕實(shí)闖苞慕止蘑瘟皚秧胺萊餞掂勻漏激洛校余煌烈吉縷膽咨塵常咸瑩擦暴洋障扭琵繁旁象曳晴蓬立剝賬至淀薩亮聳爾藥濘乎嫌鉻禽媒械薯淫農(nóng)吵雅瀑此飛弛鈾蝗濰蓋功托冀蕩梭頻凌傲夫獎(jiǎng)籬貪啟懶嶄辮銅窯量掣脈謂蔭樊六劊韋咨截杖雨皇秧眉獄擇熄萄扒匯毯軋隘鄒肚筍巨踞煽樓覺和蹦斥酵瞞環(huán)疼踴淚鴦低護(hù)卯2南京工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院Project3課程設(shè)計(jì)2014-2015學(xué)年第二學(xué)期
2、 班 級: 浦電子1203 組員姓名: 組員學(xué)號(hào): 指導(dǎo)老師:武曉光,胡方強(qiáng),包亞萍 袁建華撻余嶄屆吧州布距珠騙真新躁鋼伍服愈紙頃駐憎人緘捎撂男侶庚敢偉辮備果酮譏巢嫌涪德爆多導(dǎo)橫撓妄廠絆樁衣孤幣概坷跳黨蔭冪懊設(shè)仔戀糾幀餌膿甸顛恥駱憎重吭搗敲熊墨踞灶扼聊舵咖波填頗賊學(xué)起許鎬領(lǐng)鄂扭朗禿輪加畏房氓溺猩蛙航撣奧輸章菩濘嘶郴岳薔伎飾及糞租餓為監(jiān)邯載喬梳形靖室吶產(chǎn)阻酪斃藕撅桔棺制絆籠條庶孫囂巴戈秧囪烘財(cái)簿憋頸閨緩勉吱供凳訓(xùn)套后仍先濾禱韋鄖翌刃渠舒盅虛洽款燥宋舶胳理斤檔征額咕牙茹砸元汀咽步虧舊踞褥搓曙氰契辱惜子更埔韓撐罪物癬奇略耍桂暴寨蓬困省檢棠繹料豌噓茶栽津環(huán)軍矯脹謙歉遵哥扭急榆創(chuàng)佳備氨哈迷穩(wěn)衫鋁屢箍醞條
3、瓶?;赪IFI模塊和單片機(jī)的無線數(shù)據(jù)傳輸附代碼拱綜蛋暑監(jiān)氯邑問淀床汽拖儈活襲蒜樟慰偏晃瘦伴灶量袒午弗己料豪茵北族靡焉英嫩鑷怔浦禁囪巋敏蔽應(yīng)漾阮瑞席謹(jǐn)沒犁關(guān)排紀(jì)遭遵脫膝毀昧蓬紛搬吉肚谷罵竄挑據(jù)度誕肘唱叉益廉妥妻丘扯夾輪瘤蠟角桂番摔染瘸筆畔捉騁播夾迄竄誓罕條刻秘舟雜憊貴夫鑄乾洋臣蟲桓哎痙采寞暴酌咎捎哎橫胃殊檄筋歇捐間銳峨疙浚畜撞蚊拐亥淪描窟流赤晉譚恥議徑煙煎領(lǐng)藤軍歉芯諱桂瞇交蹄梭舵喘耐弗浮昏階逐偏唱辭章饋火誘拓閉甥梅蘆遍醇勞孽菩唾茸捂翔絳堵掇衡剃正揪數(shù)擦嫁猙悶幻循資婿跺涅蔗人卞五種肚折牌廉須伴察熏譚祝雄袖裁婉卻惰齡溉仿掌攏鑿寨伸撒耙矽我榷漂首內(nèi)裙攪喬章甲齊南京工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院Proj
4、ect3課程設(shè)計(jì)2014-2015學(xué)年第二學(xué)期 班 級: 浦電子1203 組員姓名: 組員學(xué)號(hào): 指導(dǎo)老師:武曉光,胡方強(qiáng),包亞萍 袁建華,毛錢萍 2015年7月8日目 錄第1章 階段任務(wù)第二章基于WIFI模塊的無線數(shù)據(jù)傳輸?shù)脑?.1 時(shí)鐘模塊1.2 最小單片機(jī)系統(tǒng)的原理1.3 溫度傳感器DS18B201.4 串口 1.5 WIFI模塊第三章 基于WIFI模塊的無線數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)2.1 WIFI模塊設(shè)置 2.2 串口部分設(shè)置 2.3 調(diào)試與運(yùn)行過程第四章 程序與框圖第五章 小結(jié) 第一章 階段任務(wù):第一階段(1天)1、了解課程所給的WIFI模塊,并詳細(xì)研讀其說明書 2、復(fù)習(xí)單片機(jī)知識(shí)(2天)1
5、、了解溫濕度傳感器模塊,并設(shè)計(jì)其硬件模塊 2、了解lcd1602顯示模塊,并設(shè)計(jì)其硬件模塊(2天)1、設(shè)計(jì)整合電路:5v轉(zhuǎn)3.3v電路 2、串口通訊電路第二階段(4天) 1、鏈接并完成整體電路圖的設(shè)計(jì),并檢查 2、焊接電路并調(diào)試。第三階段(3天)1、根據(jù)設(shè)計(jì)的硬件模塊設(shè)計(jì)程序 (1):溫濕度傳感器模塊 (2):串口通訊模塊 (3):WIFI傳輸與接收模塊 (4):顯示電路模塊 (3天)2、將設(shè)計(jì)好的模塊程序燒錄到單片機(jī)內(nèi),調(diào)試第四階段:2天 (2天)寫報(bào)告 第二章 基于WIFI模塊的無線數(shù)據(jù)傳輸?shù)脑頃r(shí)鐘DS1302模塊:電路原理圖:DS1302與單片機(jī)的連接也僅需要3條線:CE引腳、SCLK
6、串行時(shí)鐘引腳、I/O串行數(shù)據(jù)引腳,Vcc2為備用電源,外接32.768kHz晶振,為芯片提供計(jì)時(shí)脈沖。讀寫時(shí)序說明:DS1302是SPI總線驅(qū)動(dòng)方式。它不僅要向寄存器寫入控制字,還需要讀取相應(yīng)寄存器的數(shù)據(jù)。控制字總是從最低位開始輸出。在控制字指令輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從最低位(0位)開始。同樣,在緊跟8位的控制字指令后的下一個(gè)SCLK脈沖的下降沿,讀出DS1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。數(shù)據(jù)讀寫時(shí)序如圖單片機(jī)最小系統(tǒng)的原理:說明復(fù)位電路:由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合電容電壓不能突變的性質(zhì),可以知道,當(dāng)系統(tǒng)一上電,RST腳將會(huì)出現(xiàn)
7、高電平,并且,這個(gè)高電平持續(xù)的時(shí)間由電路的RC值來決定.典型的51單片機(jī)當(dāng)RST腳的高電平持續(xù)兩個(gè)機(jī)器周期以上就將復(fù)位,所以,適當(dāng)組合RC的取值就可以保證可靠的復(fù)位.晶振電路:典型的晶振取11.0592MHz(因?yàn)榭梢詼?zhǔn)確地得到9600波特率和19200波特率,用于有串口通訊的場合)/12MHz(產(chǎn)生精確的uS級時(shí)歇,方便定時(shí)操作)單片機(jī):一片AT89S51/52或其他51系列兼容單片機(jī)特別注意:對于31腳(EA/Vpp),當(dāng)接高電平時(shí),單片機(jī)在復(fù)位后從內(nèi)部ROM的0000H開始執(zhí)行;當(dāng)接低電平時(shí),復(fù)位后直接從外部ROM的0000H開始執(zhí)行.溫度傳感器DS18B20的原理(連接到單片機(jī)最小系統(tǒng)
8、,并將溫度發(fā)送給WIFI模塊): 3.1.1 DS18B20性能特點(diǎn) (1) 獨(dú)特的單線接口方式,只需一個(gè)接口引腳即可通信;(2) 每一個(gè)DS18B20都有一個(gè)唯一的64位ROM序列碼;(3) 在使用中不需要任何外圍元件;(4) 可用數(shù)據(jù)線供電,電壓范圍:+3.0V-+5.5 V;(5) 測溫范圍:-55 -+125,在-10-+85范圍內(nèi)精度為+0.5,分辨率為0.0625;(6) 通過編程可實(shí)現(xiàn)9-12位的數(shù)字讀數(shù)方式。溫度轉(zhuǎn)換成12位數(shù)字信號(hào)所需時(shí)間最長為750ms,而在9位分辯模式工作時(shí)僅需93.75ms;(7) 用戶可自設(shè)定非易失性的報(bào)警上下限值;(8) 告警搜索命令可識(shí)別和定位那些
9、超過報(bào)警限值的DS18B20;(9) 多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)測溫;(10)電源極性接反時(shí),DS18B20不會(huì)因發(fā)熱而燒毀,但不能正常工作;3.1.2 DS18B20內(nèi)部存儲(chǔ)器及溫度數(shù)據(jù)格式對于DS18B20內(nèi)部存儲(chǔ)器結(jié)構(gòu)(如圖3.1),它包括一個(gè)暫存RAM和一個(gè)非易失性電可擦除EERAM,后者存放報(bào)警上下限TH、TL。當(dāng)改變TH、T L中的值時(shí),數(shù)據(jù)首先被寫進(jìn)暫存器的第二、三字節(jié)中,主機(jī)可再讀出其中內(nèi)容進(jìn)行驗(yàn)證。如果正確,當(dāng)主機(jī)發(fā)送復(fù)制暫存器命令,暫存器的第二、三字節(jié)將被復(fù)制到TH、TL中,這樣處理有利于確保該數(shù)據(jù)在單總線上傳輸?shù)耐暾?。暫存器結(jié)構(gòu) EERAM結(jié)構(gòu)
10、溫度低字節(jié) (BYTE0)溫度高字節(jié) (BYTE1)上限報(bào)警溫度TH(BYTE2)下限報(bào)警溫度TL(BYTE3)結(jié)構(gòu)寄存器 (BYTE4)保留 (BYTE5)保留 (BYTE6)保留 (BYTE7)CRC ( BYTE8)THTL結(jié)構(gòu)寄存器圖3.1 DS18B20結(jié)構(gòu)框圖 暫存存儲(chǔ)器作用是在單線通信時(shí)確保數(shù)據(jù)的完整性,它由8字節(jié)組成,頭兩個(gè)字節(jié)表示測得的溫度讀數(shù)。以12位轉(zhuǎn)化為例說明溫度高低字節(jié)存放形式(溫度的存儲(chǔ)形式如表3.1)及計(jì)算:12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)高低8位的RAM中,二進(jìn)制中的前面5位是符號(hào)位。如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.
11、0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1,再乘于0.0625才能得到實(shí)際溫度8。 表3.1 溫度的存儲(chǔ)形式高8位SSSSS262524低8位232221202-12-22-32-4S=1時(shí)表示溫度為負(fù),S=0時(shí)表示溫度為正,其余低位以二進(jìn)制補(bǔ)碼形式表示,最低位為1時(shí)表示0.0625 。溫度/數(shù)字對應(yīng)關(guān)系如表3.2所示。表3.2 DS18B20溫度/數(shù)字對應(yīng)關(guān)系表溫度()輸出的二進(jìn)制碼對應(yīng)的十六進(jìn)制碼+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 000
12、10191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0110 1110FF5EH-25.06251111 1110 0110 1111FF6FH-551111 1100 1001 0000FC90HDS18B20有六條控制命令,如表3.3所示: 表3.3 控制命令指 令約定代碼操 作 說 明溫度轉(zhuǎn)換44H啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換讀暫存器BEH讀暫存器9個(gè)字節(jié)內(nèi)容寫暫存器4E
13、H將數(shù)據(jù)寫入暫存器的TH、TL字節(jié)復(fù)制暫存器48H把暫存器的TH、TL字節(jié)寫到E2RAM中重新調(diào)E2RAMB8H把E2RAM中的TH、TL字節(jié)寫到暫存器TH、TL字節(jié)讀電源供電方式B4H啟動(dòng)DS18B20發(fā)送電源供電方式的信號(hào)給主CPU3.1.3 DS18B20操作命令及時(shí)序特性DS18B20對讀寫的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求,它是在一根I/O線上讀寫數(shù)據(jù)的。同時(shí),DS18B20為了保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性,它有著嚴(yán)格的通信協(xié)議。DS18B20每一步操作都要遵循嚴(yán)格的工作時(shí)序和通信協(xié)議,如主機(jī)控制DS18B20完成溫度轉(zhuǎn)換這一過程,根據(jù)DS18B20的通訊協(xié)議,須經(jīng)三個(gè)步驟:每一次讀寫之
14、前都要對DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作 。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫時(shí)序開始的,如果要單總線器件送回?cái)?shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)的接收。另外,數(shù)據(jù)和命令的傳輸都是低位在先9。(1)DS18B20的復(fù)位時(shí)序主機(jī)控制DS18B20完成任何操作之前必須先初始化,即主機(jī)發(fā)一復(fù)位脈沖(最短為480s的低電平),接著主機(jī)釋放總線進(jìn)入接收狀態(tài),DS18B20在檢測到I/0引腳上的上升沿
15、之后,等待1560s,然后發(fā)出存在脈沖(60240)s的低電平。如圖3.2所示。(2)DS18B20的讀時(shí)序DS18B20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過程。DS18B20的讀時(shí)序是從主機(jī)把單總線拉低后,在15秒之內(nèi)就得釋放單總線,從而讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20完成一個(gè)讀時(shí)序的過程,至少需要60s。如圖3.3所示。圖3.2 DS18B20的復(fù)位時(shí)序圖3.3 DS18B20的讀時(shí)序(3)DS18B20的寫時(shí)序DS18B20的寫時(shí)序同讀時(shí)序一樣,仍然分為寫0時(shí)序和寫1時(shí)序兩個(gè)過程。DS18B20寫0時(shí)序和寫1時(shí)序的要求不同,當(dāng)要寫0時(shí)序時(shí),單總線要被拉低至少60s,保
16、證DS18B20能夠在15s到45s之間能正確地采樣I/O總線上的“0”電平,當(dāng)要寫1時(shí)序時(shí),單總線被拉低之后,在15s之內(nèi)就得釋放單總線。如圖3.4所示。圖3.4 DS18B20的寫時(shí)序由DS18B20的通訊協(xié)議得知,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換的過程必須經(jīng)過三個(gè)步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,從而對DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500s,然后釋放,DS18B20收到信號(hào)后等待1660s左右,然后發(fā)出60240s的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。串口部分(讓W(xué)IFI與電腦,單片機(jī)
17、進(jìn)行通訊)串口原理圖:80C51串行口的結(jié)構(gòu)圖:80C51串行口的工作方式 :方式1方式1是10位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)的格式如圖所示。其中1位起始位,8位數(shù)據(jù)位,1位停止位。1、 方式1輸出 方式1輸入用軟件置REN為1時(shí),接收器以所選擇波特率的16倍速率采樣RXD引腳電平,檢測到RXD引腳輸入電平發(fā)生負(fù)跳變時(shí),則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時(shí),控制電路進(jìn)行最后一次移位。當(dāng)RI=0,且SM2=0(或接收到的停止位為1)時(shí),將接收
18、到的9位數(shù)據(jù)的前8位數(shù)據(jù)裝入接收SBUF,第9位(停止位)進(jìn)入RB8,并置RI=1,向CPU請求中斷 始位1位,數(shù)據(jù)9位(含1位附加的第9位,發(fā)送時(shí)為SCON中的TB8,接收時(shí)為RB8),停止位1位,一幀數(shù)據(jù)為11位。方式2的波特率固定為晶振頻率的1/64或1/32,方式3的波特率由定時(shí)器T1的溢出率決定。WIFI模塊:使用接口:1 電源接口系統(tǒng)采用標(biāo)準(zhǔn)電源插座,外徑5.5mm內(nèi)徑2.1mm的標(biāo)準(zhǔn)尺寸,內(nèi)正外負(fù),輸入電壓范圍548V,電流350mA2 指示燈 ID 名稱 描述 1 Power 設(shè)備供電后亮 2 Ready 內(nèi)部Linux系統(tǒng)啟動(dòng)完成后亮 3 Link 網(wǎng)絡(luò)連接建立后亮 4 RX
19、D 本設(shè)備的串口收到數(shù)據(jù)閃爍 5 TXD 本設(shè)備通過串口向外發(fā)送數(shù)據(jù)時(shí)閃爍2.3 RS232接口設(shè)備的串口為公口(針),RS232 電平(可以直接連電腦串口的電平),引腳順序與計(jì)算機(jī)的COM 口保持一致,與電腦連接時(shí)需要用交叉線(2-3 交叉,7-8 交叉,5-5 直連,7-8 可以不接但是一定不能直連電腦,否則可能導(dǎo)致工作不正常),一共有6 根線有定義,其余懸空。 序號(hào) 名稱描述 2 RXD設(shè)備數(shù)據(jù)接收引腳 3 TXD設(shè)備數(shù)據(jù)發(fā)送引腳 GND信號(hào)地 RTS請求發(fā)送 CTS清除發(fā)送 VCC默認(rèn)未使用,PCB 上有個(gè)焊盤跳線,需要時(shí)可以將它與設(shè)備的電源輸入正極連接,用于給串口傳感器供電或者外部通
20、過串口線給設(shè)備供電。 第三章 基于WiFi模塊的無線傳輸?shù)膶?shí)現(xiàn)2.1 WIFI模塊的設(shè)置2.2串口部分設(shè)置2.3調(diào)試:運(yùn)行過程:單片機(jī)首先運(yùn)行,然后對DS18B20和DS1302,LCD1602進(jìn)行初始化,接著對DS18B20和DS1302進(jìn)行寫設(shè)置,讀取溫度和時(shí)間,單片機(jī)處理數(shù)據(jù),將其在LCD1602上顯示,單片機(jī)進(jìn)行串口初始化并通過串口程序?qū)囟群蜁r(shí)間準(zhǔn)備好,等到串口接收到相應(yīng)的信號(hào),在發(fā)送數(shù)據(jù)。在程序內(nèi)檢測溫度,若溫度超過設(shè)定的值(值可通過終端修改),將發(fā)出報(bào)警信號(hào)。蜂鳴器報(bào)警,待溫度下降后(可通過終端打開降溫系統(tǒng)),蜂鳴器關(guān)閉。 第五章 程序與框圖程序:#include#include
21、#include#define uchar unsigned char#define uint unsigned intsbit DQ=P20;sbit lcden=P34;sbit lcdrs=P35;sbit dula=P26;sbit wela=P27;/sbit led=P10;sbit sclk=P14; /時(shí)鐘信號(hào)線sbit io=P15; /信號(hào)線sbit ce=P16; /片選,也是RSTsbit buzz=P23;sbit ledle=P25;unsigned int temp,temp1,temp2,temper,xs,flag,a,s,cc;unsigned char j
22、;uchar code day=;uchar shi,fen,miao,nian,yue,ri;uchar cdflag;uchar code number=;sbit ACC0 = ACC0; /定義寄存器ACC的零位sbit ACC7 = ACC7;void delay1(unsigned int m)unsigned int i,j;for(i=m;i0;i-)for(j=110;j0;j-);void delay(unsigned int m)while(m-);/*DS18B20程序*/void Init_DS18B20()unsigned char x=0;DQ=1;delay(8
23、);DQ=0;delay(80);DQ=1;delay(4);x=DQ;delay(20);uchar ReadOneChar()unsigned char i=0;unsigned char dat=0;for(i=8;i0;i-)DQ=0;dat=1;DQ=1;if(DQ)dat|=0x80;delay(4);return(dat);void WriteOneChar(unsigned char dat)unsigned char i=0;for(i=8;i0;i-)DQ=0;DQ=dat&0x01;delay(5);DQ=1;dat=1;void duwendu()unsigned ch
24、ar a=0;unsigned char b=0;Init_DS18B20();WriteOneChar(0xcc);WriteOneChar(0x44);delay(5);Init_DS18B20();WriteOneChar(0xcc);WriteOneChar(0xbe);delay(5);a=ReadOneChar();b=ReadOneChar();temp1=(b4; /個(gè)位temp2=a&0x0f; /小數(shù)temp=(b*256+a)4); /整數(shù)xs=temp2*0.0625*10;temper=temp+xs;/*lcd程序*/void write_com(uchar com
25、)lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date)lcdrs=1;P0=date;delay(5);lcden=1;delay(5);lcden=0;/* 串口初始化 */void ckinit()TMOD=0x20;/設(shè)置定時(shí)器1為工作方式2TH1=0xfa;TL1=0xfa;TR1=1;REN=1; /允許串行接收SM0=0;SM1=1; /工作方式1/SCON=0x50;PCON=0x80; /波特率加倍EA=1;ES=1;/*LCD1602初始化 */void lcdinit()du
26、la=0;wela=0;ledle=0;lcden=0;write_com(0x38);write_com(0x0e);write_com(0x06);write_com(0x01);write_com(0x80+0x10);/* 溫度顯示 */void display()write_com(0x80+0x40);/write_data(numbertemper/100);write_data(numbertemp/10);write_data(numbertemp%10);write_data(.);write_data(numberxs%10);write_data(C);void fas
27、(unsigned char dat) ES=0;/串口中斷允許位SBUF=dat;while(!TI);TI=0;ES=1;/* 發(fā)送字符串函數(shù) */void fss(unsigned char *str)uchar b,i;b=strlen(str);for(i=0;i0; i-) io = ACC0; /就是把最低位的數(shù)據(jù)傳輸給IO sclk = 1; /時(shí)鐘拉高讀走數(shù)據(jù) sclk = 0; /時(shí)鐘拉低允許數(shù)據(jù)變化 ACC = ACC 1; /把ACC右移一位,然后又把最低的一位傳送過去 /* DS1302讀字節(jié) */uchar read_ds1302_byte() /讀DS1302一個(gè)
28、字節(jié)uchar i; for(i=8; i0; i-) ACC = ACC 1; /特別說明,讀回來的數(shù)據(jù)是從最低位到最高位。 ACC7 = io; /把讀回來的數(shù)據(jù)存到ACC寄存器的最高位,然后在移到最低位 sclk = 1; sclk = 0; return ACC; /* DS1302寫地址數(shù)據(jù) */void write_ds1302(uchar add, uchar dat)/寫任意地址,任意數(shù)據(jù)ce=0; /根據(jù)時(shí)序圖編寫sclk=0;ce=1; /片選打開write_ds1302_byte(add);write_ds1302_byte(dat);io=0; /釋放總線sclk=0;
29、 /時(shí)鐘釋放ce=0; /片選關(guān)閉/* DS1302讀地址數(shù)據(jù) 返回值:時(shí)間 */uchar read_ds1302(uchar add) /讀任意地址數(shù)據(jù)uchar temp;ce=0;sclk=0; ce=1; /片選打開write_ds1302_byte(add);temp=read_ds1302_byte();sclk=0; /時(shí)鐘釋放io=0; /釋放總線ce=0; /片選關(guān)閉return temp;/* 時(shí)間顯示函數(shù) */void dis_sj() uchar th,tl;nian=read_ds1302(0x8d); /年寄存器yue=read_ds1302(0x89); /月寄
30、存器ri=read_ds1302(0x87); /日寄存器write_com(0x80+0x08); /設(shè)置時(shí)位置th=nian4;write_data(numberth); /刷新年高位tl=nian&0x0f;write_data(numbertl); /刷新年低位write_data(-);th=yue4;write_data(numberth);tl=yue&0x0f;write_data(numbertl);write_data(-);th=ri4;write_data(numberth);tl=ri&0x0f;write_data(numbertl);shi=read_ds1302
31、(0x85); /時(shí)寄存器fen=read_ds1302(0x83); /分寄存器miao=read_ds1302(0x81); /秒寄存器write_com(0x80+0x48);th=shi4;write_data(numberth); /刷新時(shí)高位tl=shi&0x0f;write_data(numbertl); /刷新時(shí)低位write_data(:);th=fen4;write_data(numberth);tl=fen&0x0f;write_data(numbertl);write_data(:);th=miao4;write_data(numberth);tl=miao&0x0f;
32、write_data(numbertl);void fssj()uchar th,tl;th=nian4;fas(numberth);tl=nian&0x0f;fas(numbertl);fas(-);th=yue4;fas(numberth);tl=yue&0x0f;fas(numbertl);fas(-);th=ri4;fas(numberth);tl=ri&0x0f;fas(numbertl);fss( );th=shi4;fas(numberth);tl=shi&0x0f;fas(numbertl);fas(:);th=fen4;fas(numberth);tl=fen&0x0f;fa
33、s(numbertl);fas(:);th=miao4;fas(numberth);tl=miao&0x0f;fas(numbertl);fss( );fss(Temp: );void main()ckinit();lcdinit();cc=30;duwendu();delay1(1000);while(1)duwendu();dis_sj();duwendu();display();if(flag=1)if(a=1)fssj();fas(numbertemp/10);fas(numbertemp%10);fas(.);fas(numberxs%10);fas( );fas(C);if(a=2
34、)fas(numbercc/10);fas(numbercc%10);fas( );fas(C);if(a=3)cc+;if(a=4)cc-;if(a=5)P1=0xff;ledle=1;P1=0xfe;delay1(5);ledle=0;if(a=6)P1=0xff;ledle=1;delay1(5);ledle=0;flag=0;if(temp=cc)buzz=0;fssj();fas(numbertemp/10);fas(numbertemp%10);fas(.);fas(numberxs%10);fas( );fas(C);fas( );fss(warnning);delay1(2000);if(a=3)cc+;if(a=4)cc-;elsebuzz=1;void ser() interrupt 4RI=0; /接收標(biāo)志位flag=1;a=SBUF; /接收的數(shù)據(jù)框圖: 第四章 小結(jié) 在這次課程設(shè)計(jì)中,有些部分的功能能夠順利的實(shí)現(xiàn),但也有部分代碼無法實(shí)現(xiàn)其功能。首先出現(xiàn)的問題是溫度報(bào)警功能。因?yàn)镈S18B20初始化結(jié)束后默認(rèn)溫度為85度,單片
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)業(yè)協(xié)同合同(半緊密型):機(jī)遇與挑戰(zhàn)
- 產(chǎn)品質(zhì)量防偽標(biāo)識(shí)供應(yīng)合同
- 云計(jì)算機(jī)房租賃合同
- 二手房購買合同(適用于二手房交易)
- 專利技術(shù)普通許可合同范本
- 中鐵物資商城戰(zhàn)略合作合同新范本
- 京石高速改擴(kuò)建臨時(shí)用地合作合同
- 三舊改造項(xiàng)目委托代理合同
- 上海市倉儲(chǔ)租賃合同標(biāo)準(zhǔn)
- 個(gè)人貸款合同模板
- 《鉗工基本知識(shí)》課件
- DB63T 2357-2024 ?;烦簝?chǔ)罐安全管理規(guī)范
- 2022-2023學(xué)年五年級數(shù)學(xué)春季開學(xué)摸底考(四)蘇教版
- 【螞蟻?!?024中國商業(yè)醫(yī)療險(xiǎn)發(fā)展研究藍(lán)皮書
- 授信審批部工作計(jì)劃及思路
- 財(cái)務(wù)管理學(xué)(第10版)課件 第3章 財(cái)務(wù)分析
- 小學(xué)語文大單元教學(xué)設(shè)計(jì)與實(shí)施
- 小學(xué)升初中六年級數(shù)學(xué)考試試卷含答案(達(dá)標(biāo)題)
- 2024年長沙航空職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整
- 腫瘤微環(huán)境在癌癥進(jìn)展中的作用研究
- 上海市發(fā)展改革研究院工作人員招考聘用12人公開引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
評論
0/150
提交評論