找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3590|回复: 5
打印 上一主题 下一主题
收起左侧

VB上位机控制单片机8位led灯亮灭

[复制链接]
跳转到指定楼层
楼主
ID:193992 发表于 2017-5-17 15:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本例实现用VB上位机来控制51单片机8位led灯的亮和灭

单片机端的程序:
  1. #include<reg52.h>
  2. sbit LED1=P0^0;
  3. sbit LED2=P0^1;
  4. sbit LED3=P0^2;
  5. sbit LED4=P0^3;
  6. sbit LED5=P0^4;
  7. sbit LED6=P0^5;
  8. sbit LED7=P0^6;
  9. sbit LED8=P0^7;
  10. void Uartconfiguration();
  11. void main()
  12. {
  13. Uartconfiguration();
  14. while(1);

  15. }
  16. void ser() interrupt 4
  17. {
  18.   if(RI)
  19.         {
  20.          RI=0;
  21.          if(SBUF=='1')
  22.          LED1=~LED1;
  23.          else if(SBUF=='2')
  24.          {LED2=~LED2;}
  25.    else if(SBUF=='3')
  26.          {LED3=~LED3;}
  27.          else if(SBUF=='4')
  28.          {LED4=~LED4;}
  29.          else if(SBUF=='5')
  30.          LED5=~LED5;
  31.          else if(SBUF=='6')
  32.          LED6=~LED6;
  33.          else if(SBUF=='7')
  34.          LED7=~LED7;
  35.          else if(SBUF=='8')
  36.          LED8=~LED8;
  37.          }
  38.          else
  39.           TI=0;
  40. }
  41. void Uartconfiguration()
  42. {
  43.   TMOD=0x20;
  44.         TH1=0xfd;
  45.         TL1=0xfd;
  46.         PCON=0x00;
  47.         TR1=1;
  48.         EA=1;
  49.         ES=1;
  50.   SCON=0x50;
  51. }
复制代码



VB上位机程序
Private Sub Command1_Click()               
strBuff = "1"                             
MSComm1.Output = strBuff                  
End Sub                                    

Private Sub Command2_Click()         
strBuff = "2"
MSComm1.Output = strBuff
End Sub

Private Sub Command3_Click()
strBuff = "3"
MSComm1.Output = strBuff
End Sub

Private Sub Command4_Click()
strBuff = "4"
MSComm1.Output = strBuff
End Sub

Private Sub Command5_Click()
strBuff = "5"
MSComm1.Output = strBuff
End Sub

Private Sub Command6_Click()
strBuff = "6"
MSComm1.Output = strBuff
End Sub

Private Sub Command7_Click()
strBuff = "7"
MSComm1.Output = strBuff
End Sub

Private Sub Command8_Click()
strBuff = "8"
MSComm1.Output = strBuff
End Sub

Private Sub Command9_Click()
End
End Sub

Private Sub Form_Load()
form1.WindowState = 2 '界面设置为最大
MSComm1.Settings = "9600,n,8,1"
MSComm1.OutBufferSize = 2   '设置MSComm1发送缓冲区为2字节
MSComm1.OutBufferCount = 0 '清除发送缓冲区
MSComm1.CommPort = 4  '指定使用com4
MSComm1.PortOpen = True '打开接口


End Sub
Private Sub Form_Resize()
Me.PaintPicture Me.Picture, 0, 0, Me.ScaleWidth, Me.ScaleHeight
End Sub

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:130231 发表于 2017-5-18 00:27 | 只看该作者
要是有个截图就好了,方便初学者
回复

使用道具 举报

板凳
ID:165814 发表于 2017-5-18 00:59 | 只看该作者
本例实现用VB上位机来控制51单片机8位led灯的亮和灭
回复

使用道具 举报

地板
ID:257635 发表于 2017-12-5 18:01 | 只看该作者
谢谢呵呵学习一下
回复

使用道具 举报

5#
ID:312654 发表于 2018-5-25 15:08 | 只看该作者
前来学习
回复

使用道具 举报

6#
ID:452173 发表于 2018-12-27 22:46 | 只看该作者
感谢分享,谢谢楼主,收藏了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表