使用keiL中的printf和scanf进行串口的调试

2020-07-01 10:21

使用keiL中的printf和scanf进行串口的调试

1、printf( )和scanf(在包含在stdio.h中

库函数printf( )的发送原理:首先在初始化时要把TI置1,如果不这样做,你的程序是会一直在JNB TI,$这条指令上跑,:

printf( ) 库函数发送流程图

2、使用

C51输入输出函数都是通过串行口工作的,因此,要使用这类函数必须对单片机的串行口进行设置和初始化,如串口模式的选择和波特率的设定等等。 在需要使用printf函数时需要对串口进行初始化:

SCON= 0x52; /*0101,0010:方式1,REN=1允许接收,8-bit UART,TI= 1; RI=0 */ PCON=0; /*SMOD=0*/

TMOD |= 0x20; /*TMOD:定时器T1,工作模式2, 8位自动重载方式,在这里用\是为不影响T0的工作*/

TH1= 0xf3; /*当波特率为2400时,定时器初值*/ TL1= 0xf3;

TR1= 1; /*定时器T1开始运行*/

TI= 1; /*在SCON中已经设置,允许发送数据*/

3、proteus中仿真电路 RXDTXD库函数scanf( )的接收原理:

U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617RTSCTS18XTAL2P116273849DCDDSRRXDRTSTXDCTSDTRRI9RST293031PSENALEEAERRORCOMPIM12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.780C31RXDTXDRTSCTS

1

(1) (2) (3) (4)

数码管,用于观察是否从串口读得数据

上面虚拟终端观察单片机接受的外部信号是否有 下面虚拟终端观察单片机发送的信号

P1是虚拟串口COMPIM,必须与虚拟串口软件联用

软件

虚拟仪器设置

2

运行

(1)产生HEX

(2)装载HEX

(3)打开虚拟串口

3

实验结果:

实现了单片机此案串口发送提示信号,please input(1-9),等待从串口反馈的的信号,当在串口调试器中发送去输入7,发送后,上面一个虚拟终端显示7,当单片机接受该信号后,显示出来,并进行运算,结果再次送到串口。

4


使用keiL中的printf和scanf进行串口的调试.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:用生理习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: