基于Proteus虚拟终端51单片机仿真:串口发送和接收字符串
5页精品文档先上图:实验程序:/* 【编写时间】:2016年6月12日* 【作者】:小瓶子* 【实验平台】:Proteus 7* 【内部晶振】:11.0592mhz* 【主控芯片】:STC89C51* 【编译环境】:Keil(iVisio4*【程序功能】:利用虚拟中断实现串口数据的发送和接收*#include #define uint unsigned int#define uchar unsigned char/ 毫秒级延时函数void delay(uint x)uchar i;while(x-)for(i = 0;i 120;i+);/ 字符发送函数void putchar(uchar data1)SBUF = data1; / 将待发送的字符送入发送缓冲器while(!TI);/ 等待发送完成TI = 0;/ 发送中断标志请0/ 字符串发送函数void putstring(uchar *dat)while(*dat != 0) / 判断字符串是否发送完毕putchar(*dat); / 发送单个字符dat+;/ 字符地址加1 ,指向先下一个字符delay(5); / 串口初始化函数void serial_init()uchar c = 0;SCON = 0x50;/ 串口方式 1 ,允许接收TMOD= 0x20;/T1 工作于方式2PCON= 0x00;/ 波特率不倍增TL1 =0xfd;TH1 =0xfd;/ 波特率设置为 9600EA = 1;/ 开总中断ES = 1;/ 开串口接收中断/ 主函数void main()serial_init();/ 串口初始化TR1 = 1;/ 定时器开启随意编辑delay(200);putstring(Receiving from 8051.rn);/ 串口向终端发送字符串,结尾处回车换行putstring(rn);delay(50);while(1);/ 串口中断void revdata() interrupt 4uchar temp;if(RI = 0) return; / 如果没有接收中断标志,退出中断ES = 0;/ 关闭串口中断RI = 0;/ 清串行中断标志位temp = SBUF; / 接收缓冲器中的字符putchar(temp); / 将接收的字符发送出去ES = 1;/ 开启串口中断仿真:
《基于Proteus虚拟终端51单片机仿真:串口发送和接收字符串》由会员桔****分享,可在线阅读,更多相关《基于Proteus虚拟终端51单片机仿真:串口发送和接收字符串》请在金锄头文库上搜索。
幼儿中班健康说课稿:多吃蔬菜
饮料药品管项目创业计划书写作模板
2015年分部分项工程划分最新版
XX公司员工辞职报告范文
产品审核计划(F8)
初中数学分层教学研究结题报告
Word素材文件资料
优秀招生专员具备的能力
六年级上数学期末模拟试卷
[精选汇编]班级女生节活动策划书5篇
混合动力叉车的设计毕业论文
发改委降成本优环境工作汇报
冬男女装流行趋势
建设工程勘察合同模板(三)
观《宝葫芦的秘密》有感
2017-2018年八年级上期中考试英语试题
以自然为主题的中考作文自然优秀作文
信用社个人工作总结参考范本(3篇).doc
1#间冷塔塔吊拆除方案(10仓)7.30讲解(共18页)
关于导游词15篇
2023-02-05 39页
2022-09-02 18页
2023-02-19 9页
2023-11-14 3页
2023-04-04 40页
2022-08-12 5页
2023-08-05 64页
2022-12-12 22页
2022-09-15 6页
2023-04-11 11页