一、原理分析
二、思维导图
三、代码参考
#include "HC573.h"
#include "reg52.h"
void Set_HC573(unsigned char channel, unsigned char dat)
{
P2 = (P2 & 0x1f) | 0x00; //赋值之前,关闭全部锁存器
P0 = dat; //保存待设置的数据
switch(channel)
{
case 4:
P2 = (P2 & 0x1f) | 0x80; //Y4输出0,控制LED
break;
case 5:
P2 = (P2 & 0x1f) | 0xa0; //Y5输出0,控制蜂鸣器和继电器
break;
case 6:
P2 = (P2 & 0X1f) | 0xc0; //Y6输出0,控制数码管位选
break;
case 7:
P2 = (P2 & 0X1F) | 0xe0; //Y7输出0,控制数码管段选
break;
}
P2 = (P2 & 0x1f) |0x00; //赋值完成,关闭全部锁存器
}