|
51单片机串口通信
- #include <reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar a;
- sbit d = P2^3;
- void send(unsigned char dat)
- {
- SBUF = dat;
- while(!TI);
- TI=0;
- }
- void init()
- {
- TMOD = 0x20; //设置定时器1为工作方式2
- TH1 = 0xfd;
- TL1 = 0xfd;
- TR1 = 1; //开定时器1
- REN = 1; //开串口通信.
- SM0 = 0; //设置串口通信方式1
- SM1 = 1;
- EA = 1; //开总中断.
- ES = 1; //开串口中断.
- }
- void delay(uint z)
- {
- uint x, y;
- for(x = z; x > 0; x--)
- for(y = 110; y > 0; y--);
- }
- void main()
- {
- init();
- a = '4';
- while(1)
- {
- if(a == '1')
- {
- d = 0; delay(400);
- d = 1; delay(400);
- }
- else if(a == '2')
- {
- d = 0; delay(200);
- d = 1; delay(200);
- }
- else if(a == '3')
- {
- d = 0; delay(100);
- d = 1; delay(100);
- }
- else if(a == '4')
- {
- d = 1;
- }
- }
- }
- void ser() interrupt 4
- {
- if (RI == 1)
- {
- RI = 0;
- a = SBUF; //中间变量.
- send(a);
- }
- }
复制代码
|
-
-
串口通信.rar
20.15 KB, 下载次数: 16, 下载积分: 黑币 -5
|