就是个简单的串口收发的51单片机源程序亲测可用。
单片机源程序如下:
- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- typedef signed char int8;
- typedef signed int int16;
- typedef signed long int32;
- //typedef unsigned char uint8;
- //typedef unsigned int uint16;
- typedef unsigned long uint32;
- sbit FM=P3^5; //HJ-C52 P1.2 把J5跳线接上
- sbit P10=P1^0;
- uchar buf;
- void delay(uint k)
- {
- uint j;
- for(;k>+0;k--)
- for(j=110;j>=0;j--);
- }
- void UartSendByte(uchar byte)
- {
- SBUF = byte;
- while(!TI);
- TI = 0;
- }
- void UartSendString(uchar *string)
- {
- while(*string)
- {
- UartSendByte(*string++);
- }
- }
- void main(void)
- {
- FM=1;
- P10=1;
- SCON=0x50;//设定串口工作方式0101 0000
- PCON=0x00;
- TMOD=0x20;
- EA=1;
- ES=1;
- TL1=0xfd;
- TH1=0xfd;
- TR1=1;
- while(1)
- {
- UartSendString("55468548545613843\r\n");
- delay(1);
- }
- }
- //串行中断服务函数
- void serial() interrupt 4
- {
- ES=0;
- RI=0;
- buf=SBUF;
- switch(buf)
- {
- case 0x31:P10=~P10;FM=~FM;break; //二进制 0011 0001 十进制 49 控制字符 1 16进制 0X31
- }
- ES=1;//串口中断
- }
复制代码
所有资料51hei提供下载:
36-1、串口通信实验.zip
(34.3 KB, 下载次数: 86)
|