项目:用按键控制单片机与电脑通信。用计数器0,工作方式1:每按下一次按键,计数值加1,当按下3次之后,单片机向电脑端的串行软件发送一次0xaa。,写出适配于Kiel uVision4的代码
时间: 2024-03-02 10:49:26 浏览: 30
以下是适配于 Keil uVision4 的代码:
```c
#include <reg52.h>
sbit key = P1^0;
sbit led = P1^1;
unsigned char count;
void SendData(unsigned char dat)
{
SBUF = dat;
while(TI == 0);
TI = 0;
}
void main()
{
TMOD = 0x01;
TH0 = 0xFC;
TL0 = 0x66;
TR0 = 1;
ET0 = 1;
EA = 1;
SCON = 0x50;
ES = 1;
while(1)
{
if(key == 0)
{
while(key == 0);
count++;
if(count == 3)
{
SendData(0xaa);
count = 0;
}
}
}
}
void timer0_isr() interrupt 1
{
TH0 = 0xFC;
TL0 = 0x66;
led = ~led;
}
```
在上面的代码中,我们使用了计数器0和一个按键。按下按键时,计数器值加1,当计数器值等于3时,向电脑端发送数据0xaa。同时,我们使用了一个LED灯来指示程序运行状态。
需要注意的是,在程序中我们使用了定时器0来控制LED灯的闪烁,同时使用了串口模块来与电脑进行通信。在程序中,我们通过中断服务程序来实现定时器0的中断处理,以及串口数据的发送。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)