利用定时/计数器T0产生定时时钟,由P1口控制8个指示灯。

编一个程序,使8个指示灯依次一个一个闪动,闪动频率为20次/秒。(8个灯依次亮一遍为一个周期)。为什么我编的成了8个指示灯依次一个一个闪动,间隔一个周期后8又个指示灯依次一个一个闪动,与要求不符,应怎么改。我的程序如下 #include<reg51.h> #include<intrins.h> #define uchar unsigned char uchar a,num; void main() { a=0xfe; num=0; TMOD=0X01; EA=1; TR0=1; ET0=1; TH0=(65536-6250)/256; TL0=(65536-6250)%256; while(1) { P1=a; if(num==1) a=_crol_(a,1); } } void int0() interrupt 3 { TH0=(65536-6250)/256; TL0=(65536-6250)%256; num++; }

约分的数是8÷(5-3)=4原来的分数是(3×4)分之(5×4)=12分之20
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-23
改为if(num==1){num=0; a=_crol_(a,1); } 即可。

利用定时\/计数器产生定时时钟,由P1口控制8个指示灯,编写程序(c语言写...
清除溢出位 } TR0=0; \/\/ 关闭定时器}void main(){ while(1) { P1=_crol_(P1); delay(); \/\/ 延时 } 你要告诉我你

利用定时\/计数器T1产生定时时钟, 由P1口控制8个发光二极管, 使8个指示...
TL1=(65536-10000)%256;if(++count>10) \/\/没次中断count计数一次,当计数到10,说明100ms到 { count=0;P1=_corl_(num,1);} } 希望我的回答能帮助到你。

用定时\/计数器T1产生定时时钟,P1口控制8个发光二极管使8个灯依次闪烁...
用定时\/计数器T1定时50ms,晶振频率取12MHz,定时器初值为3CB0H,采用中断方式,用变量计数中断次数。P1口控制8个发光二极管LED灯,每50ms中断,控制一个灯亮\/灭一次,中断两次为100ms,闪一次,一秒钟闪10次,闪烁频率为10。仿真图如下图所示。

利用单片机内部定时\/计数器T1产生定时时钟,试编程使P1口输出信号控制8...
include<intrins.h> define ch P1 int num;void init(){ EA=1;ET0=1;TMOD=0X01;TH0=(65536-50000)\/256;TL0=(65536-50000)%256;} void timer() interrupt 0 { TH0=(65536-50000)\/256;TL0=(65536-50000)%256;num++;if(num==10){ num=0;ch=_crol_(ch,1);} } void main(){ ...

求单片机中围绕五个中断的程序题目 ?急求!
1、利用定时\/计数器T0从P1.0输出周期为1s的方波,让发光二极管以1HZ闪烁,设晶振频率为12MHz。。2、利用定时\/计数器T1产生定时时钟,由P1口控制8个发光二极管,使8个指示灯依次一个一个闪动,闪动频率为10次\/秒(8个灯依次亮一遍为一个周期),循环。3、同时用两个定时器控制蜂鸣器发声,定时器0控制...

单片机编程题
定时器在12MHz的时钟时,每个机器周期(1us)+1,工作模式1时(16位模式)最大计数值为65536,所以定时时间最大在65.536ms,达不到500ms的要求!你可以设置50ms定时中断一次,在中断程序中计数够10次,让灯循环一次即可。1、计算计数初值X:由于晶振为12 MHz,所以机器周期Tcy为50 ms。所以:X=...

设置一个按键,功能是切换任务 任务1,8个发光二极管每隔1秒依次点亮_百...
方案一:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节...

51单片机实验(关于定时器计数器)
提示:长时间定时采用定时器和计数器结合。计数器设定用硬件方式,提议T0定时,T1计数T0的定时跳变信号P1.0的跳变次数,计... 用P1.7驱动发光二极管亮一秒灭一秒地闪烁。时钟频率为6MHz。提示:长时间定时采用定时器和计数器结合。计数器设定用硬件方式,提议T0定时,T1计数T0的定时跳变信号P1.0的跳变次数,计满五个跳...

利用定时器计数器设计一个电路,其功能是每输入1个脉冲,发光二极管状态...
可以先由一个555定时器产生一个脉冲信号,将555产生的脉冲信号送入到74LS90十进制计数器当中,由于74LS90具有二-五进制混合计数的功能,所以可以用它来实现五进制计数,将74LS90的输出接到3—8线译码器74LS138的输入端,再将译码器的输出端接上五个发光二极管,这样就可以实现硬件上的闸门时间控制。

单片机,10000H-7DH怎么计算的求详细计算过程
计数器 中断 程序一 利用定时 \/ 计数器 T0 从 P1.0 输出周期为 1s 的方波,让发光二极管以 1HZ 闪烁,include<reg52.h> \/\/52 单片机头文件 include <intrins.h> \/\/ 包含有左右循环移位子函数的库 define uint unsigned int \/\/ 宏定义 define uchar unsigned char \/\/ 宏定义 sbit P1_0=P1...

相似回答