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

正文內容

基于單片機溫度控制系統(tǒng)的設計畢業(yè)設計論文(文件)

2025-07-30 20:57 上一頁面

下一頁面
 

【正文】 。 ( 4)輸入 /輸出( I/O)引腳 P0 口、 P1 口、 P2 口及 P3 口 (A).P0 口( 39腳~ 22腳): ~ 統(tǒng)稱為 P0 口。 對于片內含有 EPROM 的單片機,當 EPROM 編程時,從 P0 口輸入指令字節(jié),而當檢驗程序時, 則輸出指令字節(jié)。 (C).P2 口( 21 腳~ 28 腳): ~ 統(tǒng)稱為 P2 口,一般可作為準雙向 I/O 接口。它為雙功能口,可以作為一般的準雙向 I/O 接口,也可以將每 1 位用于第 2 功能,而且 P3 口的每一條引腳均可獨立定義為第 1 功能的輸入輸出或第 2 功能。 DS18B20 溫度傳感器是美國達拉斯 (DALLAS)半導體公司推出的應用單總線技術的數字溫度傳感器。一支 DS18B20 的體積與普通三極管相差無幾,價格只有十元人民幣左右。 DS18B20 溫度傳感器只有三根外引線:單線數據傳輸總線端口 DQ ,外供電源線 VDD,共用地線 GND。 在本設計中采用外部供電方式實現 DS18B20 傳感器與單片機的連接,其接口電路如圖4所示。 4%的范圍內,振蕩頻率誤差在177。用的是循環(huán)查詢方式,來顯示和控制溫度,主程序的主要功能是負責溫度的實時顯示、讀出并處理 DS18B20 的測量的當前溫度值并負責調用各子程序 ,其程序流程如圖 10 系統(tǒng)程序流程圖。其程序流程框圖如圖 12 所示。 開始 溫度零下 ? 溫度值取補碼置“ — ”標志 計算小數位溫度 BCD 值 計算整數位溫度 BCD 值 結束 置“ +”標志 N Y 畢業(yè)論文設計 第 19 頁 共 49 頁 圖 14 數據刷新子程序 四、結束語 通過此次畢業(yè)論文的課題設計,我們學會了怎樣把所學的書本知識應用于實踐中去,并學會了如何去思考整個控制系統(tǒng)的軟硬件設計。老師在課題開題期間和論文寫作的過程中給予了我許多指導,導師總是以認真負責、一絲不茍的工作態(tài)度閱讀并修改文章中不足的地方,他優(yōu)良的作風和嚴謹治學的態(tài)度深深影響著我,至此 ,向恩師致以最真摯的感謝和最崇高的敬意! 同時我要感謝我的同學,特別是我的室友們,正是他們在這幾年里陪我一起成長,一起學習, 才讓我有了今天的成績。 Count=Coun。 } //復位 DS18B20 void DS1820_Reset(void) { TMDAT=0。 } //等待 DS18B20 應答 unsigned char DS1820_Answer(void) { data unsigned int i。 if (i==0) return(aban_return)。 if (i==0) if(j==0) return(aban_return)。 return(done_return)。i++。 TMDAT=1。i++。i++。 return dat。i++) { j=DS1820_Readbit()。 data unsigned char j。j++) { testb=dat amp。 i++。i++。 TMDAT=1。 //DS1820_DelayCount(8)。i++。i++。 DS1820_Reset()。 DS1820_Delayms(4)。i8。 return(done_return)。 data unsigned char i。 return(0xffff)。 //匹配 傳感器 畢業(yè)論文設計 第 28 頁 共 49 頁 // for(i=0。 //讀取溫度 for(i=0。 return(0xffff)。 y3 = (b 8)|a。 return((int)(y4))。 bdata unsigned char temp。 temp = ucDa。 /*相當于匯編中的 RRC */ rtc_sc = 1。 rtc_io=1。 /*相當于匯編中的 RRC */ temp_7 = rtc_io。 } //功能 : 往 DS1302 寫入 數據 void write1302(unsigned char ucAddr,unsigned char ucDa) { bit ea。=(~rtc_rs_bit)。 /* 地址 ,命令 */ v_RTInputByte(ucDa)。 EA = ea。 畢業(yè)論文設計 第 31 頁 共 49 頁 EA=0。 rtc_rs_port|=rtc_rs_bit。 rtc_rs_portamp。 } //功能 : 設置初始時間 void Set1302(pTime_S time_temp) { unsigned char i= 0x80。 write1302(i,time_tempmin)。 write1302(i,time_tempday)。 write1302(i,0x02)。 write1302(0x8e,0x80)。i7。 min=time_bcd_temp[1]。 yea=time_bcd_temp[6]。i6。 addr=addr*2+0x0c0。i++) { write1302(addr,*(ptr+i))。 bit ea。 tempamp。 write1302(0x90,0)。 sbit epr_sc=P3^2。 //存儲器驅動程序開始 void noack(void) { epr_sd=1。 epr_sc=0。 epr_sc=1。 i=0。 epr_sd=1。 epr_sc=1。 epr_sd=1。 epr_sd=1。 epr_sc=0。 for(i=0。 //左移一位 epr_sc=1。 epr_sc=0。 epr_sd=1。 epr_sc=1。 epr_sc=0。 wrby(0xa0)。 ask()。 return(temp1)。 unsigned m,n。 wrby(m )。 } /////////////////延時 void d5ms() { unsigned char a, b。b0x7f。 EA=0。 w16addr(x)。 } //24c256 寫入一字節(jié) void epr_write(unsigned int f,unsigned char x) { bit ea。 waddr()。 stop()。DS18B20 低 8 位 Buffer TEMPERATURE_H DATA 30H 。計算后的個位和小數位的 BCD 碼存放 TEMPERATURE_ZH DATA 34H 。數碼管十位 Buffer DIS_BUF_B DATA 38H 。鍵盤輸入后,的百位值 K_UP EQU 。讀取 DS18B20 的輸入端口 P_SWITCH EQU 。初始化 MOV KEY_BUF_G,00H 。不存在時顯示錯誤信息 AJMP NEXT NORMAL: LCALL DATA_DEA 。掃描鍵盤 LCALL SWITCH 。入口參數 :無 。程序名稱 :DATA_DEAL 。判溫度是否零下 ANL A,80H JZ TEMPC1 。取反加 1 ADD A,01H MOV TEMPERATURE_L,A MOV A,TEMPERATURE_H CPL A ADDC A,00H MOV TEMPERATURE_H,A 。小數位的 BCD 碼送入顯示 buffer 中 畢業(yè)論文設計 第 42 頁 共 49 頁 MOV A,TEMPERATURE_L 。組合后的值存入 TEMPERATURE_ZH LCALL HtoB 。小數部分碼表 TEMPDOTTAB: DB 00H,01H,01H,02H,03H,03H,04H,04H,05H,06H,06H,07H,08H,08H,09H,09H 。*4 = 02H 。功能 :十六進制轉 BCD 。a/100 MOV R7,A 。入口參數 :無 。等待 DS18B20 回應 DJNZ R0,TSR2 LJMP TSR4 。時序要求延時一段時間 TSR7: SETB P_DS18B20 RET 。出口參數 :無 READ_TEMP: SETB P_DS18B20 LCALL INIT_TEMP 。發(fā)出溫度轉換命令 LCALL WRITE_18B20 LCALL DISPLAY 。發(fā)出讀溫度命令 LCALL WRITE_18B20 LCALL READ_18B20 。出口參數 :無 WRITE_18B20: MOV R2,8 。A 里面一共是 8 位,所以要送 8 次 SETB P_DS18B20 。入口參數 :TEMPRATURE_L 。程序名稱 :SCAN_KEY 。如果又 Enter 鍵入,則開始鍵盤輸入 LCALL K_DELAY JB K_ENTER,QUIT CLR ENTER_FLAG 。序 JB K_ENTER,KUP CALL PRO_ENTER KUP: JB K_UP,KDOWN CALL PRO_UP KDOWN: JB K_DOWN,LOOPA CALL PRO_DOWN LOOPA: LCALL DISPLAY SJMP K_LOOP QUIT: RET 。出口參數 :ENTER_FLAG PRO_ENTER: CALL K_DELAY JB K_ENTER,K_LOOP 。功能 :確認鍵盤輸入和退出鍵盤 輸入 。將當前的溫度賦值給 KEY_BUF MOV KEY_BUF_S,DIS_BUF_S MOV KEY_BUF_B,DIS_BUF_B K_LOOP: JB ENTER_FLAG,QUIT 。入口參數 :DIS_BUF_G,DIS_BUF_S,DIS_BUF_B 。將溫度高位和低位從 DS18B20 中讀出 MOV R1,TEMPERATURE_L RE00: MOV R2,8 。程序名稱 :READ_18B20 。循環(huán)右移 MOV P_DS18B20,C MOV R3,3CH DJNZ R3,$ 。功 能 :將 A 保存的數值寫入 DS1820 中, 。準備讀溫度前先復位 MOV A,0CCH 。判斷 DS1820 是否存在 ?若 DS18B20 不存在則返回 TSS2: MOV A,0CCH 。功能 :讀取 DS18B20 的數據 。置標志位 ,表示 DS1820 存在 LJMP TSR5 TSR4: CLR FLAG 。主機發(fā)出延時 537 微秒的復位低脈沖 MOV R0,6BH MOV R1,04H TSR1: DJNZ R0,$ MOV 40,6BH DJNZ R1,TSR1 SETB P_DS18B20 。程序名稱 :INIT_TEMP 。出口參數 :R7 HtoB: MOV B,064H 。以此類推 .......... 。*2 = 01H 。TEMPERATURE_HC LOW 位 = 十位數 MOV TEMPERATURE_HC,A MOV A,TEMPERATURE_L ANL A,0FH SWAP A MOV R7,A MOV A,TEMPERATURE_HC 。得到個位 ‘單個
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1