跪求一个PIC单片机程序串口调试程序,要用PIC16F1823T-I/ST芯片的 70
PIC16F1823T-I/ST芯片的UATR和PC超级终端的调试程序,本来刚接触PIC,急需这个能用的程序调试。PIC芯片的哦,怎么来了个51的呢...
PIC16F1823T-I/ST芯片的UATR和PC超级终端的调试程序,本来刚接触PIC,急需这个能用的程序调试。
PIC芯片的哦,怎么来了个51的呢 展开
PIC芯片的哦,怎么来了个51的呢 展开
1个回答
展开全部
#include<reg52.h>
#define uchar unsigned char
uchar a,flag;
void main()
{
TMOD=0x20; //设置定时器1 为模式2
TH1=0xfd; //装初值设定波特率
TL1=0xfd;
TR1=1; //启动定时器
SM0=0; //串口通信模式设置
SM1=1;
REN=1; //串口允许接收数据
EA=1; //开总中断
ES=1; //开串行中断
while(1)
{
if(flag==1) //如果有数据则进入这个语句
{
ES=0; //进入发送数据时先关闭串行中断
flag=0;
SBUF=a; //将数据原样发回
while(!TI); //等待数据发完
TI=0;
ES=1; //退出进再开串行中断
}
}
}
void serial() interrupt 4 //串行中断函数
{
P1=SBUF; //将数据发送给P1 口显示(测试用)
a=SBUF; //收取数据
flag=1; //标志置位
RI=0;
#define uchar unsigned char
uchar a,flag;
void main()
{
TMOD=0x20; //设置定时器1 为模式2
TH1=0xfd; //装初值设定波特率
TL1=0xfd;
TR1=1; //启动定时器
SM0=0; //串口通信模式设置
SM1=1;
REN=1; //串口允许接收数据
EA=1; //开总中断
ES=1; //开串行中断
while(1)
{
if(flag==1) //如果有数据则进入这个语句
{
ES=0; //进入发送数据时先关闭串行中断
flag=0;
SBUF=a; //将数据原样发回
while(!TI); //等待数据发完
TI=0;
ES=1; //退出进再开串行中断
}
}
}
void serial() interrupt 4 //串行中断函数
{
P1=SBUF; //将数据发送给P1 口显示(测试用)
a=SBUF; //收取数据
flag=1; //标志置位
RI=0;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询