基于stc11f04e编写一个用电位器改变PFM输出的程序
时间: 2023-11-27 20:53:36 浏览: 58
以下是基于STC11F04E编写的用电位器改变PFM输出的程序:
```c
#include <STC11F04E.h>
#define FOSC 11059200L
#define BAUD 9600
unsigned char buf;
void init()
{
P1M0 = 0x00; // P1口设置为准双向口
P1M1 = 0x00;
TMOD = 0x20; // 定时器1工作在方式2
TH1 = TL1 = -(FOSC/12/32/BAUD); // 波特率9600
TR1 = 1; // 开启定时器1
P_SW2 = 0x80; // 将P3.0/P3.1切换到串口1
SCON = 0x50; // 设置为模式1,允许接收
EA = 1; // 开启总中断
ES = 1; // 开启串口中断
}
void main()
{
unsigned int adc_val;
init();
while (1)
{
ADC_CONTR = 0x90; // 启动AD转换
_nop_();
_nop_();
_nop_();
_nop_();
while (!(ADC_CONTR & 0x20)); // 等待转换完成
adc_val = ADC_RES;
adc_val = (adc_val << 2) | ADC_RESL; // 获取AD转换结果
P_SW2 = 0x00; // 将P3.0/P3.1切换回GPIO模式
P1_5 = adc_val > 512; // 根据AD值控制P1.5输出高低电平
P_SW2 = 0x80; // 将P3.0/P3.1切换回串口1模式
buf = P1_5 ? '1' : '0'; // 将P1.5输出转换为字符
SBUF = buf; // 发送到串口
while (!TI); // 等待发送完成
TI = 0; // 清除发送完成标志位
}
}
void ser() interrupt 4
{
if (RI)
{
RI = 0; // 清除接收完成标志位
buf = SBUF; // 读取接收到的数据
if (buf == '1') // 如果接收到的是字符'1'
{
P_SW2 = 0x00; // 将P3.0/P3.1切换回GPIO模式
P1_0 = 1; // 控制P1.0输出高电平
P_SW2 = 0x80; // 将P3.0/P3.1切换回串口1模式
}
else if (buf == '0') // 如果接收到的是字符'0'
{
P_SW2 = 0x00; // 将P3.0/P3.1切换回GPIO模式
P1_0 = 0; // 控制P1.0输出低电平
P_SW2 = 0x80; // 将P3.0/P3.1切换回串口1模式
}
}
}
```
程序中使用了STC11F04E的一个模拟输入口P1.5作为电位器的输入端,使用了一个数字输出口P1.0作为PFM信号的输出端,同时使用了一个串口来进行调试和控制。程序通过ADC模块读取P1.5口的电压值,根据电压值判断输出高低电平,并将输出结果转换为字符发送到串口。同时,程序还通过串口接收字符'0'和'1'来控制P1.0口的输出状态。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![c](https://img-home.csdnimg.cn/images/20250102104920.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)