C#上位机控制51单片机LED灯开关
用C#上位机控制LED灯开关。
首先是下位机代码:

/**************************************************************************************
*                     串口通信实验                                                  *
实现现象:下载程序后打开串口调试助手,将波特率设置为4800
***************************************************************************************/#include "reg52.h"             //此文件中定义了单片机的一些特殊功能寄存器typedef unsigned int u16;      //对数据类型进行声明定义
typedef unsigned char u8;sbit LED=P2^0;/*******************************************************************************
* 函数名         :UsartInit()
* 函数功能         :设置串口
* 输入           : 无
* 输出             : 无
*******************************************************************************/
void UsartInit()
{SCON=0X50;            //设置为工作方式1TMOD=0X20;           //设置计数器工作方式2PCON=0X80;         //波特率加倍TH1=0XF3;               //计数器初始值设置,注意波特率是4800的TL1=0XF3;ES=1;                       //打开接收中断EA=1;                      //打开总中断TR1=1;                  //打开计数器
}/*******************************************************************************
* 函 数 名       : main
* 函数功能       : 主函数
* 输    入       : 无
* 输    出         : 无
*******************************************************************************/
void main()
{   LED=0;UsartInit();  // 串口初始化while(1){};
}/*******************************************************************************
* 函数名         : Usart() interrupt 4
* 函数功能        : 串口通信中断函数
根据上位机发的字符确定LED的开关
*******************************************************************************/
void Usart() interrupt 4
{if(SBUF=='A')LED=0;if(SBUF=='B')LED=1;//出去接收到的数据RI = 0;//清除接收中断标志位    }

上位机程序

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace WindowsFormsApplication8
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){serialPort1.PortName = "COM4";serialPort1.BaudRate = 4800;serialPort1.Open();}private void button1_Click(object sender, EventArgs e){serialPort1.Write("A");}private void button2_Click(object sender, EventArgs e){serialPort1.Write("B");}private void button3_Click(object sender, EventArgs e){serialPort1.Close();Close();}private void Form1_FormClosing(object sender, FormClosedEventArgs e){if (serialPort1.IsOpen)serialPort1.Close();}}
}

C#上位机控制51单片机LED灯开关相关推荐

  1. 【c#作为上位机控制51单片机(下位机)温度检测】

    文章目录 概要 C#上位机程序 51单片机(下位机)程序 使用DS18B20温度传感器实现测温 小结 概要 通过串口方式与下位机通信,通信协议自定上位机可以实时显示下位机采集到的温度数据  C#上位机 ...

  2. 基于Labview上位机的51单片机步进电机控制系统(上位机代码+下位机源码+ad原理图+51完整开发环境)

    功能说明: 1.步进电机运行状态通过VISA串口实时传输至上位机,上位机以曲线显示,并可存储数据. 2.上位机可发送步进电机运行角度.速度指令至下位机,控制步进电机. 3.按键控制电机正反转以及调速. ...

  3. 手机蓝牙控制51单片机实现对led灯的开关

    根据蓝牙模块通过手机蓝牙实现对51单片机led灯的控制. 1.器材 2.连线说明 3.源码 4.操作过程 5.成果展示 1.器材 51单片机,本人选用的为亚博的51单片机,不同的单片机在引脚的定义上有 ...

  4. 【TB-02模组专题⑤】微信小程序通讯TB02 模块控制 STM32 单片机LED灯

    本<安信可ble mesh蓝牙模组TB-02模组专题>系列博客学习由官方博客 CSDN安信可博客 潜心所力所写.如有不对之处,请留言,我们及时更改. 1.BLE MESH开发环境linux ...

  5. 打开单片机世界的大门——上位机控制下位机实例详解

    上位机控制下位机实例详解 一.基本概念 上位机与下位机 串口 数据表达 二.下位机程序 三.上位机程序 四.总结 一.基本概念 在开始讲解前,先来看几个基本概念,如果是有基础的大佬,请直接跳到下一节. ...

  6. 51单片机LED点阵屏逐帧显示和流动显示图像

    上一篇逐帧显示用的是定时和中断控制,碰到了一些麻烦,我觉得也是一种不错的办法,因为Delay的时间更短,而且如果不那么介意亮度的情况甚至可以不用Delay()函数,这里采用将要显示的图像按顺序存储在数 ...

  7. c语言如何控制上位机界面大小,电机上位机控制及界面设计参考.doc

    电机上位机控制及界面设计参考 PAGE 1 电机上位机控制及界面设计 吴牛俊 (自动化与电气工程学院 指导教师:周克宁) 摘要:随着计算机.电子.通讯技术的飞速发展,人们对于车间现场设备的运行管理控制 ...

  8. 51单片机-LED模块-来回流水灯

    51单片机-LED模块-来回流水灯 1. 视频 哔哩哔哩视频地址: https://www.bilibili.com/video/av89552821 51单片机-LED模块-来回流水灯 2. 文件 ...

  9. 51单片机LED模拟交通灯

    51单片机LED模拟交通灯 文章目录 51单片机LED模拟交通灯 实验环境 仿真图 代码解析 效果演示 实验环境 实验软件: Keil5 + Proteus7 实验元件: AT89C51 * 1, L ...

  10. LabVIEW编的上位机控制汇川PLCH5U和汇川伺服运动,海康威视相机视觉对位,LabVIEW通过网口控制汇川H5U和Ethercat伺服

    LabVIEW编的上位机控制汇川PLCH5U和汇川伺服运动,海康威视相机视觉对位,LabVIEW通过网口控制汇川H5U和Ethercat伺服,LabVIEW需要装视觉 和DSC模块. 因给的是LabV ...

最新文章

  1. 在一个字符串寻找另一个字符串,并且输出短字符串头字母在长字符串的下标...
  2. Framebuffer的配置及应用——先转载留着,以后一定要弄懂
  3. 职业规划纵向横向_金融行业之职业规划
  4. 列表推导式与生成表达式的区别
  5. 在阿里云Kubernetes上运行SpringCloud示例PiggyMetrics
  6. Zookeeper_原生API操作(一)
  7. TOAD连接Oracle数据库失败:OCI_INVALID_HANDLE解决
  8. linux执行命令提示缺少so,Linux软件缺少动态链接库.so怎么办
  9. 前端基础6:背景常用属性和定位以及BFC
  10. QT5开发及实例学习之十九图形视图体系结构
  11. Android应用程序窗口(Activity)的运行上下文环境(Context)的创建过程分析
  12. C#利用QrCode.Net生成二维码(Qr码)
  13. HDU_2082 找单词 (生成函数)
  14. 系统架构设计师之备考攻略(2022年修订版)——一篇就够
  15. 国内各大互联网公司相关技术博客3.0版 (集合腾讯、阿里、百度、搜狐、新浪、网易、360等共29个)
  16. 安卓bochs模拟linux_bochs下载-bochs模拟器 安卓版v2.5.1-PC6安卓网
  17. 用python自动制作ppt——第三讲——插入文本框
  18. 沟通中的情绪管理(演讲稿)
  19. 华东师范大学2020计算机研究生招生简章,2020华东师范大学计算机考研大纲
  20. ps保存图片logo背景透明

热门文章

  1. MPB:使用QIIME 2分析微生物组16S rRNA基因扩增子测序数据(视频)
  2. win7硬盘安装ubuntu经验
  3. setBackground()和setImageBitmap()看完就哦了
  4. 经典DP题目-滑雪问题
  5. BH1750光照传感器超详细攻略(从原理到代码讲解,看完你就懂了)
  6. Cython优化简介
  7. 海洋cms宝塔定时linux,海洋cms设置宝塔计划任务自动采集
  8. 关于安装SQLServer2012时遇到1402错误,未能打开注册表项的解决方法
  9. 【leetcode】出界的路径数----迭代问题与计算思维
  10. android编译系统分析一:source build/envsetup.sh与lunch