利用定时/计数器T0从P1.0输出周期为1s的方波,让发光二极管以1HZ闪烁,设晶振频率为12MHz.

问题描述:

利用定时/计数器T0从P1.0输出周期为1s的方波,让发光二极管以1HZ闪烁,设晶振频率为12MHz.
用定时器方式1写,
1个回答 分类:综合 2014-11-22

问题解答:

我来补答
#include
#define uchar unsigned char
#define uint unsigned int
sbit LED = P1^0;
uchar T_Count = 0;
void main()
{
TMOD = 0x01;
TH0 = (65536-50000)/256;
TL0 = (65536-50000)%256;
IE = 0x82;
TR0 = 1;
while(1);
}
void LED_Flash() interrupt 1
{
TH0 = (65536-50000)/256;
TL0 = (65536-50000)%256;
if(++T_Count == 10)
{
LED = !LED;
T_Count = 0;
}
}
再问: #define uint unsigned int 为啥要加这个宏定义没用到uint吧 printf()格式命令的一般形式为:%+/-0m.nl m最小宽度 指的是什么啊?+/-和0呢?请写下运行结果 main() { char c='a'; char str[]="see you"; int i=123; printf("1: %c,%s,%d\n",c,str,i); printf("2: %4c,%10s,%6d\n",c,str,i ); printf("3: %-4c,%-10s,%-6d\n",c,str,i); printf("4: %0c,%6s,%3d\n",c,str,i); }
再答: 习惯写法,这里确实没用到。
再问: 大神,请问 if(++T_Count == 10) { LED = !LED; T_Count = 0; } 这个发光二极管是以2HZ闪烁也不是1HZ啊?
再答: 我理解的是1秒一个周期(闪一次),这不是1HZ吗?
 
 
展开全文阅读
剩余:2000
上一页:椭圆简单性质
下一页:求解这个表格