计算机软件可以控制单片机,一个电脑控制单片机通讯程序分享
/**********************单片机与PC机通讯例程************************
* STC89C52RC+
* 编写:颜
* 晶振:11.0592MHZ
******************************************************************/
#include
#define jingzhen 11059200UL /*使用22.1184M晶体*/
#define botelv 9600UL /*波特率定义为9600*/
volatile unsigned char sending;
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
uchar code LED_L[] = {0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f};
uchar code LED_R[] = {0x7f, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xfd, 0xfe};
uchar code LED_1[] = {0xe7, 0xe7, 0xdb, 0xdb, 0xbd, 0xbd, 0x7e, 0x7e};
uchar code LED_2[] = {0x7e, 0x7e, 0xbd, 0xbd, 0xdb, 0xdb, 0xe7, 0xe7};
#define u16 unsigned int
#define u8 unsigned char
//流水灯
u16 LED_Delay = 0;
u8 KeyFlag = 0;
u8 LEDState = 0;
u8 Data = 0;
u8 Flag = 0;
void delay(unsigned char i)
{
unsigned char j,k;
for(j=i;j>0;j--)
for(k=90;k>0;k--);
}
void init(void) //串口初始化
{
EA=0; //暂时关闭中断
TMOD&=0x01; //定时器0工作在16位模式
TMOD|=0x20; //定时器1工作在模式2,自动重装模式
SCON=0x50; //串口工作在模式1
TH1=256-jingzhen/(botelv*12*16); //计算定时器重装值
TL1=256-jingzhen/(botelv*12*16);
PCON|=0x80; //串口波特率加倍
ES=1; //串行中断允许
TR1=1; //启动定时器1
REN=1; //允许接收
//定时器0
TH0 = (65535 - 5000) >> 8; //写入定时器0初值
TL0 = (65535 - 5000);
ET0 = 1; //打开定时器0中断
TR0 = 1; //启动定时器0
EA=1; //允许中断
}
void main()
{
init();
while(1)
{
if(Flag != 0)
{
Flag = 0;
KeyFlag = 0;
switch(Data) //补充用户所需代码
{
case 0x00:P0 = 0xfe;break; //第一个按键
case 0x01:P0 = 0xfd;break;
case 0x02:P0 = 0xfb;break;
case 0x03:P0 = 0xf7;break;
case 0x04:P0 = 0xef;break;
case 0x05:P0 = 0xdf;break;
case 0x06:P0 = 0xbf;break;
case 0x07:P0 = 0x7f;break;
case 0x08:KeyFlag = 1;LEDState = 0;break;
case 0x09:KeyFlag = 2;LEDState = 0;break;
case 0x0A:KeyFlag = 3;break;
case 0x0B:KeyFlag = 4;break;
case 0x0C:break;
case 0x0D:break;
case 0x0E:break;
case 0x0F:break;
}
}
if(KeyFlag != 0)
{
switch(LEDState)
{
case 0:
case 2:
case 4:
case 6:
case 8:
case 10:
case 12:
case 14:
LED_Delay = 0;
switch(KeyFlag)
{
case 1:P0 = LED_L[LEDState/2];break; //流水灯左模式
case 2:P0 = LED_R[LEDState/2];break; //流水灯右模式
case 3:P0 = LED_1[LEDState/2];break;
case 4:P0 = LED_2[LEDState/2];break;
}
LEDState++;
break;
default:
if(LED_Delay >= 50)
{
LED_Delay = 0;
LEDState++;
if(LEDState == 16)
{
LEDState = 0;
}
}
break;
}
}
}
}
void uart(void) interrupt 4 //串口发送中断
{
if(RI) //收到数据
{
RI=0; //清中断请求
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
计算机软件可以控制单片机,一个电脑控制单片机通讯程序分享相关推荐
- java一个电脑控制4个屏幕_Synergy让一个鼠标一个键盘操作多台电脑
我有一台台式机和一台笔记本,经常要同时使用两台电脑.一般的做法就是将两个鼠标放到同一个鼠标垫上,使用不同的电脑就把手切换到不同的鼠标.今天突然觉得这很麻烦,就想有没有什么方法让一个鼠标(当然还有键盘) ...
- 通过按键控制二极管c语言,单片机一个按键控制一个发光二极管
满意答案 vs2026 2013.08.31 采纳率:58% 等级:12 已帮助:13269人 以下是用C语言实现的: #include sbit KEY=P1^0; sbit LED=P1^1 ...
- #单片机#一个小型的单片机控制系统——智能窗帘控制系统
介绍 涉及模块: 1.LCD1602液晶屏 2.DS18B20温度传感器 3.ADC0832数模转换芯片 4.TORCH_LDR光照度控件 5.步进电机 实现功能: 1.在LCD上显示实时温度与窗帘状 ...
- 单片机GPIO软件模拟I2C通讯程序
文章原始地址:http://feotech.com/?p=98 本程序主要用于使用可编程芯片自身的IO管脚,模拟I2C通信的协议,实现I2C总线数据的传输. /******************** ...
- 学计算机必须先学单片机吗,先有单片机还是先有电脑?
我们认识了单片机,电脑也很熟悉,在学习单片机时,我们知道,单片机中包括了: CPU,RAM,ROM这些东西. 电脑中好像也是这么几件,那单片机可以像电脑一样吗? 显然是不行的,我们可以这么理解单片机和 ...
- 如何使用计算机控制赤道仪,电脑控制赤道仪教程.pdf
电脑控制赤道仪教程 电脑控制赤道仪教程 适用于信达,艾顿,星特朗赤道仪 2015年3月 整体架构图 天文控制软件 RS232(串口) / USB 赤道仪驱动 各类常用赤道仪 基础软件 基础软件安装 应 ...
- 一台服务器最多多少个线程,一个电脑最多能开启多少个线程?
-- 一个进程可以开启的线程受可用内存限制,如果是32位的机器,那么默认一个进程有2G的可用内存,而每个线程默认分析1M的栈空间,所以这种情况下理论最线程数在2000多个.一个解决办法是创建线程时减少 ...
- 串口通信-电脑控制单片机点亮LED
前言 此篇只对各函数功能做通俗易懂的解释,适合初学者理解串口通信的功能. 一.串口通信 1.什么是串口通信 我们使用的usb转串口是经典的串口通信之一,实现了电脑与单片机之间的联系,将程序通过串口从电 ...
- 第01课 了解单片机的原理控制一个LED灯的亮和灭-----51单片机C语言试验教程
第一课,了解单片机及单片机的控制原理和DX516 的用法,控制一个LED 灯的亮和灭 本章学习内容: 单片机基本原理,如何使用DX516 仿真器,如何编程点亮和灭掉一个LED 灯,如何进入KEILC5 ...
- 单片机一个IO口如何控制两个发光二极管LED
单片机工程师在面试的过程中,经常会碰到一些相同的问题,笔者总结了十个提问率较高的问题,供大家参考.现在我们来分析单片机工程师常遇面试问题之一:一个单片机IO口如何控制两颗LED? 将两颗LED命名为D ...
最新文章
- gradle工程环境搭建---从SVN上导出项目源码
- Flashback Query笔记
- 深度学习:pytorch学习
- vue手势滚动_vue + any-touch实现一个iscroll 实现拖拽和滑动动画效果
- Windows 电脑命令一览
- java常见的定时任务
- FZU 2092 收集水晶 BFS记忆化搜索
- 关于心理的二十五种倾向(查理·芒格)-1
- oracle的sql硬解析和软解析,[ORACLE]oracle SQL执行过程 软解析(soft prase)硬解析(hard prase)以及 Soft Soft Parse...
- 北新建材被授予“亚洲最大石膏板产业集团”硅钙板吊顶
- 2020春招阿里一面
- 小文智能意图训练详解
- 计算机应用计论文,计算机应用专业毕业计(论文)格式要求.doc
- 看国家宝藏,顺便学习一下国密算法
- 计算机英语ppt演讲稿,英语ppt演讲稿
- 巨杉数据库5.0携手南天信息布局云业务
- 数制转换技巧(十进制 to 二进制)
- 拯救选择困难症2.0
- [sql server] win7 home basic 安装sql server 2005开发版与配置
- 第五十一讲 platform