一、任务简述
在CT107D单片机上实现蜂鸣器与继电器的基本控制,首先让8路LED指示灯闪烁3遍后熄灭,接着依次点亮LED指示灯,继电器吸合一会后断开,然后依次熄灭LED指示灯,蜂鸣器响一会后关闭,程序循环上述功能。
二、实现方法
逻辑路线:在LED跑马灯的基础上完成本次实验,首先完成跑马灯工程,初始化蜂鸣器与继电器,使其先处于关闭状态,然后因为要蜂鸣器与继电器打开,则需要两个低电平,即N_BUZZ和N_RELAY处于低电平,因为电平是通过ULN2003驱动管传输到OUT5和OUT7口,而OUT5和OUT7口是由P04和P06控制,又因为ULN2003驱动管输入和输出电平相反,所以P04和P06要输入两个高电平(即0x10和0x40)且Y5C处于高电平,而Y5C要处于高电平的话,则Y5需要处于低电平状态,则利用74HC138译码器使得P25,P26,P27为1,0,1,则三个输入端A,B,C为1,0,1。
三、参考代码
#include "reg52.h"
void initial_HC138(unsigned char n)
{
switch(n)
{
case 4:
P2 = (P2 & 0x1f) | 0x80;
break;
case 5:
P2 = (P2 & 0x1f) | 0xa0;
break;
case 6:
P2 = (P2 & 0x1f)