该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
keil4,51单片机环境下做的一个程序 “可由串行口控制的可调led” 实际操作的时候不能用,求解
如题,程序可编译,但是实际操作时,上位机发送数据后单片机没有反应
自己找了一下发现可能是定时器1对定时器0有干扰,但是能力有限实在不知道怎么调整,求大神帮忙
程序如下
#include//包含52系列头文件
#define uchar unsigned char//定义 无符号字符型
#define uint unsigned int//定义 无符号整型
#define DutyDeno10//定义 占空比分母 为:10
#define TRUE1//定义 逻辑真
#define FALSE0//定义 逻辑假
#define th00xfc//100Hz(10ms),占空比分母10,则其最小时间单位应该为10ms/10=1ms,故定时器T0定时时间为 1ms
#define tl00x18//1ms at 12HMz Fosc
sbit WaveOut=P1^0;//定义 方波输出 接口
sbit led=P1^2;
sbit Key1=P3^4;//定义 按键Key1 接口
uchar DutyNume=1;//定义 占空比分子 变量,并初始化为 1(即 占空比 为:1/10)
uchar buf;
void Time () interrupt 1//定时器T1 中断 函数
{
ES = 0; //关闭串行中断
RI = 0; //清除串行接受标志位
buf = SBUF; //从串口缓