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

正文內(nèi)容

單片機(jī)多機(jī)通信實(shí)現(xiàn)畢業(yè)論文-資料下載頁(yè)

2025-06-27 13:41本頁(yè)面
  

【正文】 dis)。//液晶顯示通信收發(fā)完成的數(shù)據(jù)void select_slav()。 //選擇從機(jī)函數(shù)void mu()。 //串口通信子程序 主機(jī)模式void mus()。 //串口通信子程序 從機(jī)模式void disp_State()。 //顯示本機(jī)狀態(tài)void lcd_mu1(uchar data h,uchar code *p1,uchar data m,uchar data s,uchar code *p2,uchar data n)。//液晶顯示通信信息/************** 鍵盤掃描函數(shù)*******************************/uchar keyscan(void){ uchar scancode,tmpcode。 P1 = 0xf1。 // 發(fā)全0行掃描碼 if ((P1amp。0xf0)!=0xf0) // 若有鍵按下 { delay(10)。 // 延時(shí)去抖動(dòng) if ((P1amp。0xf1)!=0xf1) // 延時(shí)后再判斷一次,去除抖動(dòng)影響 { scancode = 0xfd。 while((scancodeamp。0x10)!=0) // 逐行掃描 { P1 = scancode。 // 輸出行掃描碼 if ((P1amp。0xf1)!=0xf1) // 本行有鍵按下 {tmpcode = (P1amp。0xf0)|0x0f。 return((~scancode)+(~tmpcode))。// 返回特征字節(jié)碼,為1的位即對(duì)應(yīng)于行和列 } else scancode = (scancode1)|0x01。// 行掃描碼左移一位 } } } return(0)。 // 無(wú)鍵按下,返回值為0 }/***************定時(shí)器初始化函數(shù)***********************/void init_t() //定時(shí)器初始化函數(shù){ TMOD =0x20。 // 定時(shí)器T1使用工作方式2 TH1 = 0xfa。 //250 TL1 = 0xfa。 TR1 = 1。 // 開始計(jì)時(shí) ET1 = 0。 //關(guān)T1中斷 EA = 1。 //開總中斷}/***************串口初始化函數(shù)***********************/void init_scon() //串口初始化函數(shù){ PCON = 0x80。 // SMOD = 1 SCON = 0xd0。 // 工作方式3,9位數(shù)據(jù)位,波特率9600bit/s,REN=1允許接收 }/******************串口中斷服務(wù)********************/void scon() interrupt 4 //串口中斷服務(wù){(diào) ES = 0。 mus()。 //從機(jī)模式 串口通信 ES = 1。}/****************發(fā)送數(shù)據(jù)初始化**********************/void init_send() //發(fā)送數(shù)據(jù)初始化{ uchar data sen1[] = Wele!。 uchar data *sen2 = SendAddr。 uchar data *sen3 = sen1。 while(*sen3 != 39。\039。) { *sen2++ = *sen3++。 } *sen2 = 39。\039。 Scount = 0。 Rcount = 0。}/****************鍵盤處理****************************/void key() //鍵盤處理{ uchar data k。 SET = 1。 if(SET == 0) { delay(5)。 if(SET == 0) { HS_deal()。 } while(!SET)。 } if((k = keyscan()) != 0) { Keyval = getkey(k)。 disp_key(Keyval)。 if(Keyval = 39。039。 amp。amp。 Keyval 39。439。) lcd_disp2(key_fun[Keyval])。 else if(Keyval == 39。439。)。 else lcd_disp2(key_fun[4])。 while(keyscan())。 //消抖動(dòng),等待按鍵彈起 key_deal()。 }}/***************顯示按鍵函數(shù)*************************/void disp_key(uchar data key) //顯示按鍵函數(shù){ uchar code *dis = disp_key11。 writecmd(0x01)。 //清LCD delay(1)。 lcd_pos(0x00)。 while(*dis != 39。\039。) { writedata(*dis)。 dis++。 } if(key == 39。E39。) { dis = disp_keyen。 while(*dis != 39。\039。) { writedata(*dis)。 dis++。 } } else if(key == 39。C39。) { dis = disp_keyc。 while(*dis != 39。\039。) {writedata(*dis)。 dis++。 } } else writedata(key)。 writedata(39。.39。)。 while(!keyscan())。}/*****************按鍵處理函數(shù)***********************/void key_deal() //按鍵處理函數(shù){ switch(Keyval) { case 39。039。: HS_deal()。 //主從機(jī)設(shè)置 break。 case 39。139。: select_slav()。//選擇從機(jī) break。 case 39。239。: cmd_deal()。 //命令設(shè)置 break。 case 39。339。: mu()。 //主機(jī)模式串口通信 break。 case 39。439。: disp_State()。//顯示工作狀態(tài) break。 default: key_error()。 //按鍵出錯(cuò)顯示 }}/*****************按鍵錯(cuò)誤處理***********************/void key_error() //按鍵錯(cuò)誤處理{ uchar code *dis = disp_keye。 writecmd(0x01)。 //清LCD delay(1)。 lcd_pos(0x00)。 while(*dis != 39。\039。) { writedata(*dis)。 dis++。 } lcd_pos(0x41)。 dis = disp_keye2。 while(*dis != 39。\039。) { writedata(*dis)。 dis++。 }}/*****************主從機(jī)確認(rèn)處理*********************/void HS_deal() //主從機(jī)確認(rèn)處理{ uchar code *dis。 if(HSflag == 1) { HSflag = 0。 SM2 = 1。 HS = 1。 dis = disp_HS1。 writecmd(0x01)。 //清LCD delay(1)。 while(*dis != 39。\039。) { writedata(*dis)。 dis++。 } ES = 1。 } else { ES = 0。 HSflag = 1。 SM2 = 0。 HS = 0。 nop。 NEI = 0。 //使優(yōu)先編碼器失效 dis = disp_HS2。 writecmd(0x01)。 //清LCD delay(1)。 while(*dis != 39。\039。) { writedata(*dis)。 dis++。 } TI = 0。 //清標(biāo)志 }}/*************************************************/void disp_State() //顯示工作狀態(tài){ uchar code *dis = disp_key11。 writecmd(0x01)。 //清LCD delay(1)。 lcd_pos(0x00)。 while(*dis != 39。\039。) { writedata(*dis)。 dis++。 } writedata(39。439。)。 writedata(39。.39。)。 lcd_pos(0x40)。 if(HSflag == 1) { dis = disp_HS2。 writecmd(0x01)。 //清LCD delay(1)。 while(*dis != 39。\039。) { writedata(*dis)。 dis++。 } } else { dis = disp_HS1。 writecmd(0x01)。 //清LCD delay(1)。 while(*dis != 39。\039。) { writedata(*dis)。 dis++。 } }}/*****************通信方向處理***********************/void cmd_deal() //通信方向處理{ if(Command == 0) { Command = 0x01。 lcd_disp(disp_cmd1)。 } else if(Command== 1) { Command = 0x00。 lcd_disp(disp_cmd0)。 } else { Command = 0x00。 lcd_disp(disp_cmde)。 }}/*****************液晶顯示字符串1*********************/void lcd_disp(uchar code *dis) //液晶顯示字符串1{ writecmd(0x01)。 //清LCD delay(1)。 lcd_pos(0x00)。 while(*dis != 39。\039。) { writedata(*dis)。 dis++。 }}/*****************液晶顯示字符串2*********************/void lcd_disp2(uchar code *dis) //液晶顯示字符串2{ lcd_pos(0x40)。 while(*dis != 39。\039。) { writedata(*dis)。 dis++。 }}/*****************液晶顯示通信收發(fā)完成的數(shù)據(jù)*********/void lcd_mu(uchar data *dis) //液晶顯示通信收發(fā)完成的數(shù)據(jù){ writedata(39。:39。)。 while(*dis != 39。039。) { writedata(*dis)。 dis++。 } lcd_pos(0x40)。 dis++。 while(*dis != 39。\039。) { writedata(*dis)。 dis++。 } writedata(39。 39。)。 writedata(39。O39。)。 writedata(39。K39。)。 writedata(39。!39。)。}/*****************液晶顯示通信信息*******************/void lcd_mu1(uchar data h,uchar code *p1,uchar data m,uchar data s,uchar code *p2,uchar data n)//液晶顯示通信信息{ uchar code *dis。 writecmd(0x01)。 delay(1)。 lcd_pos(0x00)。 dis = lcd_1。 while(*dis != 39。\039。) { writedata(*dis)。 dis++。 } if(h == 1) writedata(39。139。)。 else if(h == 2) writedata(39。239。)。 else writedata(39。339。)。 dis = p1。 while(*dis != 39。\039。) { writedata(*dis)。 dis++。 } writedata(m/10 + 0x30)。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1