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

正文內(nèi)容

長隧道定時通風(fēng)控制系統(tǒng)的設(shè)計與實(shí)現(xiàn)畢業(yè)論-資料下載頁

2025-06-04 21:47本頁面
  

【正文】 s. Transaction of ASAE,1997,40(2)423425. 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 27 附錄 本設(shè)計所設(shè)計到的全部程序。 主程序 include include include include unsigned char value。 unsigned char count=0,tt=5。 unsigned char hour=12,min=0,sec=0,timer0_count=0,timecount=0,m=0,time=0。 bit ff=1。 extern bit Flag。 void timer0() interrupt 1 { TH0=(6553650000)/256。 TL0=(6553650000)%256。 timer0_count ++。 timecount++。 time++。 if(time2) { time=0。 m++。 } if(timer0_count == 20) { timer0_count = 0。 sec++。 } } 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 28 void main() { TMOD=0x11。//定時器 0c 初始化 TH0=(6553550000)/256。 TL0=(6553550000)%256。 // TH1=(6553550000)/256。 // TL1=(6553550000)%256。 EA=1。 ET0=1。 // ET1=1。 TR0=1。 // TR1=1。 LCMInit()。 //LCM 初始化 Delay5Ms()。 //延時片刻 (可不要 ) P0=0xff。 //初始化 斷口 P1=0xff。 P3=0xff。 ledAlarm=1。 while(1) { Scan_Key()。 baojin()。 if(m==2) { m=0。 value = ReadAdc0832(0)。 } if((sec==tt)amp。Flag) { ff=0。 sec=0。 ledAlarm=~ledAlarm。 } 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 29 } } 子程 序 include include include extern unsigned char value,sec。 float nongdu。 unsigned char ad_data1,ad_data2,ad_data3。 unsigned int data dis[4]={0x00,0x00,0x00,0x00}。 //定義 3個顯示數(shù)據(jù)單元和一個數(shù)據(jù)存儲單元 sbit beep= P0^0。 extern unsigned char count,tt。 sbit SET = P2^6。 sbit UP = P2^5。 sbit DOWN = P2^4。 char disp_mode=0,teh=0,tel=0。 idata unsigned char id=0。 extern int nong,alarmnongdu。 extern bit ff。 bit Flag=1。 void delay_ms(unsigned char ms) // 延時毫秒 @12M,ms 最大值 255 { unsigned char i。 while(ms) for(i = 0。 i 100。 i++)。 } void jisuan(void)//顯示函數(shù) { dis[2]=value/51。 //AD 值轉(zhuǎn)換為 3 為 BCD 碼,最大為 。 dis[3]=value%51。 //余數(shù)暫存 dis[3]=dis[3]*10。 //計算小數(shù)第一位 dis[1]=dis[3]/51。 dis[3]=dis[3]%51。 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 30 dis[3]=dis[3]*10。 //計算小數(shù)第二位 dis[0]=dis[3]/51。 nongdu = dis[2]*+dis[1]*+dis[0]*。 nong=((int)(nongdu*1000))/(*10)。 } void Scan_Key(void) { //unsigned char dm,th,tl。 display()。 /*先檢測顯示模式鍵 */ jisuan()。 if(!SET) delay_ms(50)。 //防止干擾 if(!SET) { id++。 if(id 2) id = 0。 } while(SET == 0)。 if(id == 0) { teh = 0。 tel = 0。disp_mode=0。 } if(id == 1) { teh = 1。tel = 0。 id_case_key()。 } if(id == 2) { teh = 0。 tel = 1。 id_case_key()。 } } /******鍵盤處理函數(shù),只有按下 SET_MODE 鍵時才會進(jìn)入 *******/ 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 31 void id_case_key(void) { display()。 /*檢測減少鍵 */ if(!DOWN) delay_ms(50)。 //防止干擾 10ms if (!DOWN) //減少 { //re_disp=0。 Set_id(id,0)。 } while(DOWN == 0)。//釋放按鍵 /*檢測減少鍵 */ if(!UP) delay_ms(50)。 //防止干擾 if (!UP) //增加 { //re_disp=0。 Set_id(id,1)。 } while(UP ==0)。 } void Set_id(unsigned char id_number,unsigned char one_or_zero) { if(id_number==1) { if(one_or_zero==0) { tt。 if(tt == 0) tt = 0。 } else { 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 32 tt++。 if(tt == 99) tt = 99。 } } if(id_number==2) { if(one_or_zero==0) { alarmnongdu。 if(alarmnongdu == 0) alarmnongdu = 0。 } else { alarmnongdu++。 if(alarmnongdu == 99) alarmnongdu = 99。 } } } void baojin(void) { if(nongalarmnongdu) { //TR0=0。 Flag=0。 ledAlarm=0。 sec=0。 } else { //TR0=1。 Flag=1。 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 33 } } 1602 程序 include include define LCM_Data P1 define Busy 0x80 //用于檢測 LCM 狀態(tài)字中的 Busy 標(biāo)識 sbit LCM_RW= P3^1。 //定義引腳 sbit LCM_RS= P3^0。 sbit LCM_E= P3^2。 extern unsigned char count,tt。 extern bit ff。 extern float nongdu。 int zhi。 int alarmnongdu=5。 int nong=0。 //寫數(shù)據(jù) extern bit displayFlag。 void WriteDataLCM(unsigned char WDLCM) { ReadStatusLCM()。 //檢測忙 LCM_Data = WDLCM。 LCM_RS = 1。 LCM_RW = 0。 LCM_E = 0。 //若晶振速度太高可以在這后加小的延時 LCM_E = 0。 //延時 LCM_E = 1。 } //寫指令 void WriteCommandLCM(unsigned char WCLCM,BuysC) //BuysC 為 0 時忽略忙檢測 { if (BuysC) ReadStatusLCM()。 //根據(jù)需要檢測忙 LCM_Data = WCLCM。 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 34 LCM_RS = 0。 LCM_RW = 0。 LCM_E = 0。 LCM_E = 0。 LCM_E = 1。 } //讀數(shù)據(jù) unsigned char ReadDataLCM(void) { LCM_RS = 1。 LCM_RW = 1。 LCM_E = 0。 LCM_E = 0。 LCM_E = 1。 return(LCM_Data)。 } //讀狀態(tài) unsigned char ReadStatusLCM(void) { LCM_Data = 0xFF。 LCM_RS = 0。 LCM_RW = 1。 LCM_E = 0。 LCM_E = 0。 LCM_E = 1。 while (LCM_Data amp。 Busy)。 //檢測忙信號 return(LCM_Data)。 } void LCMInit(void) //LCM 初始化 { LCM_Data = 0。 WriteCommandLCM(0x38,0)。 //三次顯示模式設(shè)置,不檢測忙信號 Delay5Ms()。 WriteCommandLCM(0x38,0)。 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 35 Delay5Ms()。 WriteCommandLCM(0x38,0)。 Delay5Ms()。 WriteCommandLCM(0x38,1)。 //顯示模式設(shè)置 ,開始要求每次檢測忙信號 WriteCommandLCM(0x08,1)。 //關(guān)閉顯示 WriteCommandLCM(0x01,1)。 //顯示清屏 WriteCommandLCM(0x06,1)。 // 顯示光標(biāo)移動設(shè)置 WriteCommandLCM(0x0C,1)。 // 顯示開及光標(biāo)設(shè)置 } //按指定位置顯示一個字符 void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData) { Y amp。= 0x1。 X amp。= 0xF。 //限制 X 不能大于 15, Y 不能大于 1 if (Y) X |= 0x40。 //當(dāng)要顯示第二行時地址碼 0x40。 X |= 0x80。 // 算出指令碼 WriteCommandLCM(X, 0)。 //這里不檢測忙信號,發(fā)送地址碼 WriteDataLCM(DData)。 } //按指定位置顯示一串字符 void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData) { unsigned char ListLength。 ListLength = 0。 Y amp。= 0x1。 X amp。= 0xF。 //限制 X 不能大于 15, Y 不能大于 1 while (DData[ListLength]0x20) //若到達(dá)字串尾則退出 { if (X = 0xF) //X 坐標(biāo)應(yīng)小于 0xF { DisplayOneChar(X, Y, DData[ListLength])。 //顯示單個字 符 ListLength++。 X++。 } 杭州電子科技大學(xué)本科畢業(yè)設(shè)計 36 } } //5ms 延時 void Delay5Ms(void) { unsigned int TempCyc =
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1