JP3和P0口连接。用中断的方式来接收数据。
#include<reg51.h> //声明初始化子函数 void initSer(); void main() { //初始化子函数调用 initSer(); while(1) { //一句话都没有 } } //定义初始化子函数 void initSer() { //定时器工作方式为2 TMOD = 0x20; //波特率9600,SMOD=0 TH1 = 0xfd; TL1 = 0xfd; //启动定时器 TR1 = 1; //串口工作方式1 SM0 = 0; SM1 = 1; //允许接收数据 REN = 1; //开启中断允许 ES = 1; EA = 1; } //中断服务程序 void ser() interrupt 4 { //接收到数据就会来这里,这是要软件清零 RI = 0; //从缓冲器中读取数据 P0 = SBUF; }
串口通信的中断方式---从计算机接收数据步骤
1---确定定时器T1的工作方式为2,并装初值,并启动
2---串口的工作方式为1,允许接收为REN为1,开启中断允许位
3----写中断服务程序,不需要重新装初值,是因为这是自动重装的,注意RI软件清零
时间: 2024-10-20 14:44:25