使用定时器0对小灯P2口进行闪烁
#include "reg52.h" [br][/br] typedef unsigned int u16; typedef unsigned char u8; [br][/br] sbit led=P2^0; { TMOD|=0X01; TH0=0XFC; TL0=0X18; ET0=1; EA=1; TR0=1; } [br][/br] void main() { Timer0Init(); while(1); } [br][/br] void Timer0() interrupt 1 { static u16 i; TH0=0XFC; TL0=0X18; i++; if(i==1000) { i=0; led=~led; } }
举一反三
- 任务2-3改进:改变输入、输出的端口。(开关0==1 小灯0闪烁,开关0==0,小灯0灭;开关1==1 小灯1闪烁,开关1==0,小灯1灭;) 说明:一个开关控制一个灯即开关0控制小灯0,开关1控制小灯1,主要修改的是if else语句;代码中加入注释,说明哪个P口是开关0或1,哪个P口是小灯0或1;代码主要参考任务3;闪烁可以调用任务1修改中写的shine 函数
- 请利用单片机定时器与中断编写小灯闪烁程序,要求:控制两个小灯,分别使其可以进行周期1秒和两秒的闪烁。
- 闪烁1个led灯(定时器)工程文件和仿真效果图(1)定时1s(1000*1ms=1s)(2)仿真图用之前的仿真图即可。(3)截取效果图(图片即可)。
- 若单片机P2口八个管脚接发光二极管负极,对P2口赋值为AA,个发光二极管点亮() A: 0 B: 2 C: 4 D: 6
- 使用T/C器0,方式2,定时250μs,给TH0和TL0赋初值?
内容
- 0
本节例程中,定时器0和定时器1哪个定时更短? A: 定时器0 B: 定时器1
- 1
编写单片机程序,让P2.0口控制LED灯的闪烁
- 2
在Linkboy中,为了实现小灯循环闪烁的效果,需要使用下列哪个事件?()。
- 3
单片机的P2^0、2^1口分别接发光二极管LED1、LED2,读下列程序:#include<;reg51.h>;sbitLED1=P2^0;sbitLED2=P2^1;unsignedcharCountor1=0,Countor2=0;voidmain(void){TMOD|=0x10;TL1 = 0x00;//设置定时初值 定时50msTH1 = 0x4C;//设置定时初值TR1=1;ET1=1;EA=1;while(1);}voidTime1(void)interrupt3{TL1 = 0x00;//设置定时初值 定时50msTH1 = 0x4C;//设置定时初值Countor1++;Countor2++;if(Countor1==2){LED1=~LED1;Countor1=0;}if(Countor2==8){LED2=~LED2;Countor2=0;}}程序运行结果:
- 4
【填空题】定时器工作方式 0 是 位定时 / 计数器,其最大计数值为 ,定时器工作方式1 是 位定时 / 计数器,其最大计数值为 ,定时器工作方式 2 可分为 2 个 位定时 / 计数器,其最大计数值为