喜歡單片夾的伙伴一定會想自己開發(fā)上位機(jī),,這期就詳細(xì)介紹,效果如下,。作用是點擊上位機(jī)按鈕,,控制下位機(jī)的一個【燈】開與關(guān) 這個軟件是用VS2015開發(fā)的 第一步 選擇【文件】添加【項目】 第二步 選擇c#窗口 第三步 第四步 添加按鈕控件,在TEXT屬性更改按鈕名字 第五步 添加串口控件,,【COM1是默認(rèn)串口端口】,,需要根據(jù)你的單片機(jī)端口號而相應(yīng)更改 第六 步 雙擊按鈕控件,,會出現(xiàn)代碼區(qū) 第七步 寫入如圖的代碼,就可以 第十步 更改一下圖標(biāo)字體屬性 工作原理如下 根據(jù)發(fā)送一個字節(jié),,跟下位機(jī)代碼做比較,,如果下位機(jī)有發(fā)送的字節(jié),就執(zhí)行,,如圖發(fā)送的是0x01 現(xiàn)在是上位機(jī)的代碼 private void button1_Click(object sender, EventArgs e) { byte[] buffer = new byte[1];//實例化 buffer[0] = 0x01;//發(fā)送的數(shù)據(jù) try { serialPort1.Open();//打開串口 serialPort1.Write(buffer,0,1);//發(fā)送數(shù)據(jù) serialPort1.Close();//關(guān)閉串口 } catch { if (serialPort1.IsOpen)//判斷串口是否正確 serialPort1.Close();//不正確就關(guān)閉串口 MessageBox.Show('端口打開錯誤', '錯誤'); } } } } 下位機(jī)源代碼,,下載到單片機(jī) #include<reg51.h> #define uint unsigned int #define uchar unsigned char uchar i ; sbit K=P1^3; void DELAY _MS (unsigned int a) { unsigned int i ; while (a--!=0) { for (i=0; i<600; i++); } void dd( ) { TMOD=0X20; SCON=0X50; TH1=0XFD; TL1=0XFD; TR1=1; ES=1; } void main (void) { DELAY_MS(1000); dd( ); while ( 1 ) { while ( ! RI ); RI=0; i=SBUF; switch( i ) { case 0x01: K=~K; break ; default: break; } } } 代碼注意英文大小寫 |
|