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

正文內(nèi)容

畢業(yè)設(shè)計--單片機多機通信實現(xiàn)-資料下載頁

2024-12-01 20:13本頁面

【導讀】但研究最多的是上位機與下。位機的通信及多單片機構(gòu)成的主從式多機通信系統(tǒng)。平權(quán)式多機通信,使各單片機有相同的權(quán)限。機通信用按鍵控制,模擬實際應用中的觸發(fā)信號輸入。對于1號單片機,還可通。過液晶實時顯示工作狀態(tài),初始為主機。在不需置其他單片機為主機的情形下,啟動,通信結(jié)束即恢復之前的從機狀態(tài)。機液晶會顯示,2號和3號單片機收發(fā)數(shù)據(jù)無誤后會使LED指示燈亮起。本文研究了可切換雙向接口的實現(xiàn)方法。本研究已經(jīng)仿真通過,真實可行。具有一定的檢錯能力,串行通信的比特率。是9600bit/s,通信速度較快,且可靠性高。本研究通過硬件電路解決了通信過。程中多單片機爭用主機權(quán)的問題。在方式0時,SM2一定要等于0。SM21則只有接收到有效停止位時,RI才置1。在方式2或方式3中,RB8為接收到的第9位數(shù)據(jù)。TI置位既表示一幀信息發(fā)送結(jié)束,同時也。TI必須用軟件清0。在方式0,當接收完第8

  

【正文】 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 。 writedata m%10 + 0x30 。 writedata 39。B39。 。 lcd_pos 0x40 。 dis lcd_2。 while *dis ! 39。\039。 writedata *dis 。 dis++。 writedata s + 0x30 。 dis p2。 while *dis ! 39。\039。 writedata *dis 。 dis++。 writedata n/10 + 0x30 。 writedata n%10 + 0x30 。 writedata 39。B39。 。 /*****************液晶初始顯示 ***********************/ void lcd_dis //液晶初始顯示 uchar code *dis。 lcd_pos 0x04 。 dis dis1。 while *dis ! 39。\039。 writedata *dis 。 dis++。 lcd_pos 0x41 。 dis dis2。 while *dis ! 39。\039。 writedata *dis 。 dis++。 /*****************初始化全局變量 *********************/ void init_globe //初始化全局變量 Command 0x00。 Slave 2。 Keyval 0。 HSflag 1。 HScount 0。 HRcount 0。 SScount 0。 SRcount 0。 /*****************選擇從機函數(shù) ***********************/ void select_slav //選擇從機函數(shù) uchar data key。 while key keyscan 0 。 key getkey key 。 while keyscan 。 //消抖動 if key 39。239。 Slave 2。 else if key 39。339。 Slave 3。 else lcd_disp disp_se2 。 return。 lcd_disp disp_se1 。 if Slave 2 writedata 39。239。 。 else writedata 39。339。 。 /*****************獲取鍵值函數(shù) ***********************/ uchar getkey uchar data keyin //獲取鍵值函數(shù) uchar key。 switch keyin case 0x12: // 1 行 1 列,數(shù)字 0 key 39。039。 break。 case 0x22: // 1 行 2 列,數(shù)字 1 key 39。139。 break。 case 0x42: // 1 行 3 列,數(shù)字 2 key 39。239。 break。 case 0x82: // 1 行 4 列,數(shù)字 3 key 39。339。 break。 case 0x14: // 2 行 1 列,數(shù)字 4 key 39。439。 break。 case 0x24: // 2 行 2 列,數(shù)字 5 key 39。539。 break。 case 0x44: // 2 行 3 列,數(shù)字 6 key 39。639。 break。 case 0x84: // 2 行 4 列,數(shù)字 7 key 39。739。 break。 case 0x18: // 3 行 1 列,數(shù)字 8 key 39。839。 break。 case 0x28: // 3 行 2 列,數(shù)字 9 key 39。939。 break。 case 0x48: // 3 行 3 列, enter key 39。E39。 break。 case 0x88: // 3 行 4 列, cancel key 39。C39。 break。 default:key 39。F39。 //錯誤 return key。 /**************串口通信子程序 主機模式 **********************/ void mu //串口通信子程序 主機模式 uchar data *dat。 while HSflag //主機模式 SBUF Slave。 while !RI 。 RI 0。 if SBUF ! Slave SBUF 0xff。 //從機復位 TB8 1。 continue。 TB8 0。 SBUF Command。 while !RI 。 RI 0。 ACC SBUF。 if ACC7 1 SBUF 0xff。 TB8 1。 continue。 if Command 0x00 ACC SBUF。 if ACC0 0 SBUF 0xff。 TB8 1。 continue。 TI 0。 Scount 0。 dat SendAddr。//發(fā) while *dat ! 39。\039。 SBUF *dat。 while !TI 。 TI 0。 dat++。 Scount++。 SBUF 39。\039。 //發(fā) 39。\039。結(jié)束 while !TI 。 TI 0。 SBUF ID。 while !TI 。 TI 0。 while !RI 。 SRcount SBUF。 RI 0。 SBUF Scount。 while !TI 。 TI 0。 if SRcount Scount LED1 0。 LED2 1。 else LED1 1。 LED2 0。 lcd_mu1 ID,lcd_3,Scount,Slave,lcd_4,SRcount 。 else ACC SBUF。 if ACC1 0 SBUF 0xff。 TB8 1。 continue。 RI 0。 Rcount 0。 dat RecAddr。 while !RI 。//收 RI 0。 *dat SBUF。 while *dat ! 39。\039。 dat ++。 Rcount++。 while !RI 。 RI 0。 *dat SBUF。 SBUF ID。 while !TI 。 TI 0。 while !RI 。 SScount SBUF。 RI 0。 SBUF Rcount。 while !TI 。 TI 0。 if SScount Rcount LED1 0。 LED2 1。 else LED1 1。 LED2 0。 lcd_mu1 ID,lcd_4,Rcount,Slave,lcd_3,SScount 。 HSflag 0。 /
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1