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

正文內(nèi)容

基于單片機的溫度控制系統(tǒng)課程設(shè)計報告書(已改無錯字)

2022-10-09 14:45:49 本頁面
  

【正文】 系統(tǒng)整體流程圖: 附錄二 程序代碼: 。 include define ui unsigned int define uc unsigned char //宏定義 sbit SET=P3^1。 //定義 調(diào)整鍵 sbit DEC=P3^2。 //定義減少鍵 sbit ADD=P3^3。 //定義增加鍵 sbit BEEP=P3^6。 //定義蜂鳴器 sbit ALAM=P1^2。 //定義燈光報警 sbit DQ =P3^7。 //定義 DS18B20 總線 I/O sbit SCL=P1^6。 sbit SDA=P1^7。 sbit DIAN=P0^5。 //小數(shù)點 bit bdata shanshuo_st。 //閃爍間隔 標(biāo)志 bit bdata beep_st。 //蜂鳴器間隔標(biāo)志 uc x=0。 //計數(shù)器 ui bai,shi,ge。 uc set_st=0。 //狀態(tài)標(biāo)志 char shangxian,xiaxian。 //uc code LEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff}。 uc code LEDData[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x8B}。 //============================================================================================ //====================================DS18B20================================================= //============================================================================================ /*****延時子程序 *****/ void Delay_DS18B20(int num) { while(num) 。 } void delay()//5 微秒延時函數(shù) { 。 } void start() //開始信號 { SDA=1。 delay()。 SCL=1。 delay()。 SDA=0。 delay()。 } void stop() //終止信號 { SDA=0。 delay()。 SCL=1。 delay()。 SDA=1。 delay()。 } void respons() //應(yīng)答 { uc i。 SCL=1。 delay()。 while((SDA==1)amp。amp。(i250))i++。//如果 SDA 為低應(yīng)答有效,或者超過一定時間默認(rèn)應(yīng)答有效 SCL=0。 delay()。 } void init24c04()//I2C 總線初始化 { SDA=1。 delay()。 SCL=1。 delay()。 } void write_byte(uc date)//寫操作 { uc i,temp。 temp=date。 for(i=0。i8。i++) { temp=temp1。 SCL=0。 delay()。 SDA=CY。 delay()。 SCL=1。 delay()。 } SCL=0。 delay()。 SDA=1。 delay()。 } uc read_byte()//讀操作 { uc i,k。 SCL=0。 delay()。 SDA=1。 delay()。 for(i=0。i8。i++) { SCL=1。 delay()。 k=(k1)|SDA。 SCL=0。 delay()。 } return k。 } void write_add(uc address,uc date)//往任意地址存數(shù)據(jù) { start()。 write_byte(0xa0)。//0xa0 代表寫入 respons()。 write_byte(address)。 respons()。 write_byte(date)。 respons()。 stop()。 } uc read_add(uc address)//讀隨意地址內(nèi)容 { uc date。 start()。 write_byte(0xa0)。//0xa0 代表寫入 respons()。 write_byte(address)。 respons()。 start()。 write_byte(0xa1)。//0xa1 代表讀出 respons()。 date=read_byte()。 stop()。 return date。//返回值 } /*****初始化 DS18B20*****/ void Init_DS18B20(void) { uc w=0。 DQ = 1。 //DQ 復(fù)位 Delay_DS18B20(8)。 //稍做延時 DQ = 0。 //單片機將 DQ 拉低 Delay_DS18B20(78)。 //精確延時,大于 480us DQ = 1。 //拉高總線 Delay_DS18B20(14)。 w = DQ。 //稍做延時后,如果 x=0 則初始化成功, x=1 則初始化失敗 Delay_DS18B20(20)。 } /*****讀一個字節(jié) *****/ unsigned char ReadOneChar(void) { uc i=0。 uc dat = 0。 for (i=8。i0。i) { DQ = 0。 // 給脈沖信號 dat=1。 DQ = 1。 // 給脈沖信號 if(DQ) dat|=0x80。 Delay_DS18B20(4)。 } return(dat)。 } /*****寫一個字節(jié) *****/ void WriteOneChar(uc dat) { uc i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = datamp。0x01。 Delay_DS18B20(5)。 DQ = 1。 dat=1。 } } /*****讀取溫度 *****/ ui ReadTemperature(void) { ui b=0。 ui t=0。 ui a=0。 float tt=0。 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0x44)。 //啟動溫度轉(zhuǎn)換 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器 a=ReadOneChar()。 //讀低 8 位 b=ReadOneChar()。 //讀高 8 位 t=b。 t=8。 t=t|a。 tt=t*。 t=tt*10+。 //放大 10 倍輸出并四舍五入 return(t)。 } //===================================================================================== //===================================================================================== //===================================================================================== /*****延時子程序 *****/
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1