4.4.3 例5:方波输出
如图4-10(a)所示的电路,由PD口的第五位输出方波,如图4-10(b)所示。
(a)(b)图4-10 方波信号发生电路
方波的高电平时间和低电平时间是相等的,如果高电平时间为X毫秒,则方波周期为2X毫秒,方波频率为P=1000/(2X)=500/X。如果循环执行下面的过程就能连续的输出方波。
PORTD.5=1;
延时X毫妙; PORTD.5=0; 延时X毫妙;
如延时时间为500毫秒,则程序如下:
#include
DDRD=0xFF; //定义D口为输出口 x=500; //确定速度 while (1)
{ PORTD.5=1; //输出方波信号的高电平1 delay_ms(x); //方波高电平宽度 PORTD.5=0; //输出方波信号的低电平0 delay_ms(x); //方波低电平宽度 }
改变 x 的值,能改变方波的频率。
练习
1、 ATmega16单片机有那些I/O接口?
2、 编写用PA口控制的彩灯控制程序,并使彩灯移动方向向右。
3、 改写例4的程序,用J06键作加键,J07键作减键。两键在数据线的D0行,D6和D7列。