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

正文內容

基于單片機的電阻爐溫度控制系統(tǒng)設計--畢業(yè)設計說明書-閱讀頁

2024-08-25 08:13本頁面
  

【正文】 xA00x600x250x3C0x230x340x740xF70xFF 0x880x830xC60xA10x860x8E 共陽led顯示段碼1~15段碼表uchar shigedanweidangdang_dis 定義溫度十位個位攝氏度單位及檔位變量名稱及顯示檔位的查表變量void delay1 uchar MS 延時函數unsigned char ReadTemperature void 讀溫度子函數void Init_DS18B20 void DS18B20初始化unsigned char ReadOneChar void 讀字節(jié)子函數void WriteOneChar unsigned char dat 寫字節(jié)子函數void delay unsigned int i 延時void del unsigned int void drive_moto 由P1低四位輸出控制信號void initial unsigned int TempBuffer[5]BYTE code dis1[] Temperature BYTE code dis2[] Set_Temper BYTE code dis3[] 0123456789 BYTE code dis4[] 0xdfBYTE code dis5[] C delay2 BYTE ms BYTE i while ms for i 0 i 250 i _nop_ _nop_ _nop_ _nop_ BOOL lcd_bz 測試LCD忙碌狀態(tài) BOOL result rs 0 rw 1 ep 1 _nop_ _nop_ _nop_ _nop_ result BOOL P0 0x80 ep 0 return result lcd_wcmd BYTE cmd 寫入指令數據到LCD while lcd_bz rs 0 rw 0 ep 0 _nop_ _nop_ P0 cmd _nop_ _nop_ _nop_ _nop_ ep 1 _nop_ _nop_ _nop_ _nop_ ep 0 lcd_pos BYTE pos 設定顯示位置 lcd_wcmd pos 0x80 lcd_wdat BYTE dat 寫入字符顯示數據到LCD while lcd_bz rs 1 rw 0 ep 0 P0 dat _nop_ _nop_ _nop_ _nop_ ep 1 _nop_ _nop_ _nop_ _nop_ ep 0 lcd_init LCD初始化設定 lcd_wcmd 0x38 delay2 1 lcd_wcmd 0x0c delay2 1 lcd_wcmd 0x06 delay2 1 lcd_wcmd 0x01 清除LCD的顯示內容 delay2 1 void initial EA 1TMOD 0x11定時器設置皆工作在16定時計數器模式TH0 0xefT0賦初值TL0 0xf0TH1 655361000 256T1賦初值TL1 655361000 256ET1 1ET0 1TR0 1TR1 1P2 0xff count 0counter 0pwm占空比控制變量IP 0x08 T1優(yōu)先級高于T0 后來證明此語句是多余的因為當加入此句后反而pwm調速和溫度檢測都變得有點不穩(wěn)定 void delay unsigned int i 延時函數 while i 18b20初始化函數檢測總線上是否有從屬器件DS的存在若存在則通訊成功void Init_DS18B20 void unsigned char x 0 DQ 1 DQ復位 delay 8 稍做延時 DQ 0 單片機將DQ拉低 delay 80 延時 大于 480us DQ 1 拉高總線 delay 10 x DQ 稍做延時后 如果x 0則初始化成功 x 1則初始化失敗因為DQ復位成功的回答信號即存在信號是低電平 delay 5 讀一個字節(jié)ROMunsigned char ReadOneChar void unsigned char i 0unsigned char dat 0for i 8i 0i DQ 0 給脈沖信號 dat 1 DQ 1 給脈沖信號 if DQ dat 0x80 delay 5 return dat 寫一個字節(jié)void WriteOneChar unsigned char dat unsigned char i 0 for i 8 i 0 i DQ 0 DQ dat0x01 delay 5 DQ 1 dat 1 delay 5 讀取溫度unsigned char ReadTemperature void unsigned char a 0unsigned char b 0unsigned char t 0Init_DS18B20 復位WriteOneChar 0xCC 跳過讀序號列號的操作WriteOneChar 0x44 啟動溫度轉換delay 100 Init_DS18B20 每次操作前都要進行復位WriteOneChar 0xCC 跳過讀序號列號的操作 WriteOneChar 0xBE 讀取溫度寄存器等共可讀9個寄存器 前兩個就是溫度a ReadOneChar b ReadOneChar s unsigned int a0x0f b 4取高字節(jié)的第四位因為高四位為符號位1111為負0000為正b a0xf0 4忽略小數位取a的高四位與b的相加就是此時所測得到整數溫度值t breturn t 返回溫度值給這個函數 void printf BYTE i delay2 10 lcd_pos 0x00 設置顯示位置為第一行的第5個字符 i 0 while dis1[i] \0 顯示字符wele lcd_wdat dis1[i] i lcd_pos 0x40 設置顯示位置為第二行第二個字符 i 0 while dis2[i] \0 lcd_wdat dis2[i] 顯示字符 i TempBuffer[0] temp10 十位 TempBuffer[1] temp10 個位 lcd_pos 0x0c lcd_wdat dis3[TempBuffer[0]] 測試溫度十位 lcd_pos 0x0d lcd_wdat dis3[TempBuffer[1]] 測試溫度個位 lcd_pos 0x0e lcd_wdat dis4[0] lcd_pos 0x0f lcd_wdat dis5[0] TempBuffer[2] set_temper10 十位 TempBuffer[3] set_temper10 個位 lcd_pos 0x4c lcd_wdat dis3[TempBuffer[2]] 設置溫度十位 lcd_pos 0x4d lcd_wdat dis3[TempBuffer[3]] 設置溫度個位 lcd_pos 0x4e lcd_wdat dis4[0] lcd_pos 0x4f lcd_wdat dis5[0] void keyscan if key1 0 delay 200 if key1 0 set_temper if key2 0 delay 200 if key2 0 set_temper void tim void interrupt 1 using 1中斷用于數碼管掃描和溫度檢測間隔 TH0 0xef定時器重裝值 TL0 0xf0 num if num 100 num 0 flag_get 1標志位有效 void into void interrupt 3 T1定時中斷服務程序 TH1 655361000 256初值重裝 TL1 655361000 256 counter if counter CIRCLE counter 0限定周期為T 100X001ms 10ms if counter high_time 取得查表參數以調節(jié)pwm的占空比 pwm 1PWM高電平 else pwm 0 pare_temper unsigned char i if set_temper temp if set_tempertemp 10 high_time 100 else for i 0i 10i rin s Read Input rout PIDCalc spidrin Perform PID Interati
點擊復制文檔內容
教學教案相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1