- 打卡等级:以坛为家III
- 打卡总天数:622
- 最近打卡:2025-12-18 09:28:18
已绑定手机
金牌会员
- 积分
- 1682
|
【项目名称】STC89C52RC串口接收超时实验(软件模拟)
【项目配置】所有的STC89/90系列单片机可以直接使用这个代码,其他型号的单片机请自行修改头文件与波特率发生器
的头文件,保证适配性;
串口:串口1
串口波特率:9600(因为传统8051单片机不允许太高的波特率,所以为了适配,本实验采用9600)
串口波特率发生器:定时器2(STC89/90专用定时器2)
串口数据编码格式:GB2312,串口数据不能有中文,中文打印请自行修改为UTF-8格式
【项目描述】使用STC89C52RC单片机核心板,用CH340转串口模块,或者使用STC官方的一箭双雕/双串口工具
接到计算机,打开串口,单片机上电时会用串口1打印"System OK\r\n"的上电成功信息,并且需
要注意!因为串口1的发送和接收均采用中断形式进行收发,所以在初始化时需要开启EA,否则设备
就会卡死在串口1发送代码上,【注意】需要在STC-ISP勾选“使用片内拓展RAM可用”打开访问拓展
寄存器XSFR;然后在串口工具上发送小于接收缓冲区和发送缓冲区的字符串(代码中默认缓冲区均
为64个字节),会发现一收一发,不会丢包,这就是串口超时接收的好处,不定长接收,而且基本
不会丢包,并且程序采用定时器0当作串口1超时计数定时器,和任务调度系统一起,不占用额外
的硬件定时器资源!
【项目日期】2025年12月16日
【项目作者】陈家乐
|
|