久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

51和VB數字量簡易測試

作者:佚名   來源:本站原創   點擊數:  更新時間:2013年10月23日   【字體:


//51代碼
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint k)
{
 while(k--);
}
 
uchar rec;//接受到的數據
sbit q1=P1^0; //輸出點
sbit q2=P1^1;  //輸出點
sbit q3=P1^2;  //輸出點
sbit q4=P1^3;  //輸出點
sbit fk=P1^4;  //反饋點
sbit j1=P2^4; //反饋發光指示

void light()
{
 if(rec=='1')q1=0;
 else if(rec=='2')q2=0;
 else if(rec=='3')q3=0;
 else if(rec=='4')q4=0;
 else if(rec=='5')q1=1;
 else if(rec=='6')q2=1;
 else if(rec=='7')q3=1;
 else if(rec=='8')q4=1;
}
void serial_init()    //串口初始化
{
  SM2=0;
  SM1=1;
  SM0=0;
  TMOD|=0x20;  //自動重裝載
  TH1=TL1=253;
  TR1=1;
  REN=1;
}
void str_init() //串口中斷初始化
{          
  EA=1;
  ES=1;
}
void str_send(uchar u)    //串口發送函數
{
 bit es;
 es=ES;    //保存現場
 ES=0;
 SBUF=u;
 while(TI==0);
 TI=0;
 ES=es;
}
void str_event() interrupt 4
{
   if(RI)
   {
 rec=SBUF;
 RI=0;
   }
   else
   {
 ;
   }
}

void main()
{
 serial_init();
 str_init();
 fk=0;
 while(1)
 {
   if(fk==1)  //正常
   {
 str_send('9');
 j1=0;
 delay(400);
   }
   if(fk==0)
   {
 str_send('a');   //故障
 j1=1;
 delay(400);
   }
   light();
 }
}
 
51單片機端口全部源碼可以
從這里 http://m.zg4o1577.cn/f/51vbcs.rar 下載.
//---------- VB代碼--------------------------------------------------------

Private Sub Command1_Click()
On Error GoTo errline:
MSComm1.Output = "1"
Shape1.FillColor = vbGreen
Exit Sub
errline:
       If Err.Number = 8018 Then
       Text3.Text = "串口已關"
       End If
       Err.Clear
End Sub
Private Sub Command10_Click()
On Error GoTo errline:
MSComm1.Output = "5"
MSComm1.Output = "6"
MSComm1.Output = "7"
MSComm1.Output = "8"

Shape1.FillColor = vbRed
Shape2.FillColor = vbRed
Shape3.FillColor = vbRed
Shape4.FillColor = vbRed
MSComm1.PortOpen = False
Timer2.Enabled = False
Timer3.Enabled = False

Text3.Text = "串口已關"
errline:
       If Err.Number = 8018 Then
       Text3.Text = "串口已關"
       End If
       Err.Clear
End Sub
Private Sub Command11_Click()
On Error GoTo errline
If Text1.Text < 0 Then
Text1.Text = 0
End If
Timer1.Enabled = True
errline:
       If Err.Number = 13 Then
       MsgBox ("輸入出錯")
       Text1.Text = 0
      
       End If
      
      

End Sub
Private Sub Command12_Click()
Text1.Text = 0
Timer1.Enabled = False
End Sub
Private Sub Command2_Click()
On Error GoTo errline:
MSComm1.Output = "5"
Shape1.FillColor = vbRed
Exit Sub
errline:
       If Err.Number = 8018 Then
       Text3.Text = "串口已關"
       End If
       Err.Clear
End Sub

Private Sub Command3_Click()
On Error GoTo errline:
MSComm1.Output = "2"
Shape2.FillColor = vbGreen
Exit Sub
errline:
       If Err.Number = 8018 Then
       Text3.Text = "串口已關"
       End If
       Err.Clear
End Sub

Private Sub Command4_Click()
On Error GoTo errline:
MSComm1.Output = "6"
Shape2.FillColor = vbRed
Exit Sub
errline:
       If Err.Number = 8018 Then
       Text3.Text = "串口已關"
       End If
       Err.Clear
End Sub

Private Sub Command5_Click()
On Error GoTo errline:
MSComm1.Output = "3"
Shape3.FillColor = vbGreen
Exit Sub
errline:
       If Err.Number = 8018 Then
       Text3.Text = "串口已關"
       End If
       Err.Clear
End Sub

Private Sub Command6_Click()
On Error GoTo errline:
MSComm1.Output = "7"
Shape3.FillColor = vbRed
Exit Sub
errline:
       If Err.Number = 8018 Then
       Text3.Text = "串口已關"
       End If
       Err.Clear
End Sub

Private Sub Command7_Click()
On Error GoTo errline:
MSComm1.Output = "4"
Shape4.FillColor = vbGreen
Exit Sub
errline:
       If Err.Number = 8018 Then
       Text3.Text = "串口已關"
       End If
       Err.Clear
End Sub

Private Sub Command8_Click()
On Error GoTo errline:
MSComm1.Output = "8"
Shape4.FillColor = vbRed
Exit Sub
errline:
       If Err.Number = 8018 Then
       Text3.Text = "串口已關"
       End If
       Err.Clear
End Sub

Private Sub Command9_Click()
On Error GoTo errline:
MSComm1.CommPort = 6
MSComm1.Settings = "9600,n,8,1"
MSComm1.InputMode = comInputModeText
MSComm1.InputLen = 0
MSComm1.PortOpen = True
Timer2.Enabled = True
Timer3.Enabled = True

Text3.Text = "串口已開"
Exit Sub
errline:
        If Err.Number = 8013 Then
        Text3.Text = "串口已開"
        End If
        Err.Clear
End Sub

Private Sub Form_Load()
End Sub
Private Sub Text1_Change()
On Error GoTo errline:
errline:
If Err.Number = 13 Then
Text1.Text = "輸入錯誤"
End If
Err.Clear
End Sub
Private Sub Timer1_Timer()
On Error GoTo errline
If Text1.Text < 0 Then
Text1.Text = 0
End If
 
If Text1.Text = 0 Then
MSComm1.Output = "5"
MSComm1.Output = "6"
MSComm1.Output = "7"
MSComm1.Output = "8"
Shape1.FillColor = vbRed
Shape2.FillColor = vbRed
Shape3.FillColor = vbRed
Shape4.FillColor = vbRed
Timer1.Enabled = False
Exit Sub
End If
Text1.Text = Text1.Text - 1
errline:
        If Err.Number = 8018 Then
        Text3.Text = "串口已關"
        End If
        Err.Clear
End Sub
Private Sub Timer2_Timer()
On Error GoTo errline
If MSComm1.Input = "9" Then
Text2.Text = "有反饋"
End If
If MSComm1.Input = "a" Then
Text2.Text = "無反饋"
End If
errline:
       If Err.Number = 8018 Then
       Text3.Text = "串口已關"
       End If
       Err.Clear
End Sub
Private Sub Timer3_Timer()
If Shape4.FillColor = vbGreen And Text2.Text = "有反饋" Then
Text4.Text = "運行"
End If
If Shape4.FillColor = vbGreen And Text2.Text = "無反饋" Then
Text4.Text = "故障"
End If
If Shape4.FillColor = vbRed And Text2.Text = "無反饋" Then
Text4.Text = "停止"
End If

End Sub
Private Sub Timer4_Timer()
Timer4.Enabled = False
End Sub
關閉窗口

相關文章

主站蜘蛛池模板: 五月婷综合 | 免费黄色av | 全部免费毛片在线播放高潮 | 精品免费 | 中文字幕av一区二区三区谷原希美 | 激情网五月天 | 成人性色生活片 | 真实人妻互换毛片视频 | 夜夜操夜夜 | www久久| 天堂在线观看av | 欧美亚洲三级 | 精品一区二区三区在线观看 | 青青草网站 | 色综合久久天天综合网 | 免费观看av| 国产不卡在线 | 亚洲一区日韩 | 中文字幕在线免费观看 | 日韩国产中文字幕 | 午夜黄色剧场 | 二区在线观看 | 国产一区二区三区免费播放 | 国产福利在线观看 | 午夜在线 | 成人免费视频网址 | 激情六月婷婷 | 中文字幕理论片 | 国产成人av网站 | 性色av一区二区 | 四虎毛片 | 成人一区二区三区 | 俺去俺来也在线www色官网 | 欧美另类激情 | 特级黄色片 | 久久久久久91 | 成人黄色录像 | 在线播放毛片 | 国产在线观看一区二区三区 | 欧美一区二区在线 | 成人动漫在线观看 |