手把手教你单片机——串口

串口

目的:实现pc通过串口助手发给单片机的信息,单片机转发给pc、

代码

#include"reg51.h"
#include"intrins.h"
typedef unsigned int u16;
typedef unsigned char u8;

void usart_init()     //串口初始化函数
{
	TMOD=0x20;          //用定时器T1  方式一  高四位是T1 低四位是T0
	SCON=0x50;          //串口控制寄存器SCON   高四位是sm0 sm1 sm2 允许位(ren)   
	TH1=0xe6;           //因为是自动重装载  所以高低八位一样
	TL1=0xe6;           
	EA=1;               //中断总允许位
	ES=1;               //串口中断允许位
	TR1=1;              //开启定时
}

void main()          //主函数
{
	usart_init();
	while(1);
}

void usart()  interrupt 4      //串口分组是4
{
	u16 a;
	a=SBUF;                       //接收完成
	RI=0;                         //自动清零
	SBUF=a;                       //开始发送
	while(!TI);                   //判断是否发送完成
	TI=0;	                        //自动清零
}

仿真图

在这里插入图片描述

元器件名称:

compim (标准端口)
AT89C51 (AT89C52)

串口助手

在这里插入图片描述

注意端口的设置和波特率的设置

备注

由于是用protues 仿真软件 所以端口也需要模拟出来 可以用Configure Virtual Serial Port Driver 产生虚拟端口。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值