b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

单片机串口发送程序_单片机串口接收程序_avr单片机串口接收程序

电脑杂谈  发布时间:2017-02-23 06:00:54  来源:网络整理

赞助商链接

发一个用串口命令单片机控制开关输出的小程序,如串口发送led0_open回车后,单片机点亮led0

程序波特率设为2400bps(12Mhz晶振),请根据需要自行修改

[attachment=2332028]

#include <reg52.h>

#include "string.h"

sbit led0=P0^0; //定义led接口

sbit led1=P0^1; //同上

sbit led2=P0^2; //同上

sbit led3=P0^3; //同上

sbit led4=P0^4; //同上

sbit led5=P0^5; //同上

sbit led6=P0^6; //同上

sbit led7=P0^7; //同上

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

// 定义各种变量

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

unsigned char cmd_buf[40];//串口命令的缓冲区

unsigned char data counter=0;//用于数据接收计数

unsigned char data flag=0;//命令接收结束标记,为1时说明接收到了个完整的命令,进入到主函数中进行解析和执行

/**************************************************************************

- 功能描述:51单片机的串口初始化

- 隶属模块:STC51串口操作

- 函数属性:外部,使用户使用

- 参数说明:无

- 返回说明:无

- 注:正确的初始化串口十分重要

**************************************************************************/

void Com_init()

{

/******************设定定时器*********************/

TMOD = 0x20;//设定定时器的工作方式(方式2)

TH1= 0xf3;//设定波特率为 9600 bps (在11.0592MHZ晶振时)

TL1= 0xf3;

/*******************设定串口**********************/

SM0= 0; //SM0 和 SM1 设定串口的工作方式(方式1)

SM1= 1;

REN= 1; //允许串口接收外部传来的数据

/******************设定中断**********************/

ES = 1; //允许串口收到数据后产生中断通知我们

EA = 1; //因为总中断开关是控制所有中断的,所以要把它打开

TR1= 1; //启动定时器,串口就开始工作喽!

}

/**************************************************************************

- 功能描述:51单片机的串口发送字节的函数

- 隶属模块:STC51串口操作

- 函数属性:外部,使用户使用

- 参数说明:mydata:要发送的一个字节

- 返回说明:无

- 注:发送一个字节,是串口发送的基础操作

**************************************************************************/


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-33992-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 韩刚栋
      韩刚栋

      我们加紧建设我们的

    • 尧员外
      尧员外

      它也无法预料中国是否会和当初的苏联一样---我舰奉命撞击你舰

    每日福利
    热点图片
    拼命载入中...