CT107D-让我们先从亮第一个LED灯开始吧!
我们从官方的SCH文件中,可以看到LED相关电路:

上面还很贴心的给标注了D1~D8连接的相应MCU引脚,真是非常方便,从原理图上可以看出,假如我们想让LED(L1)亮起来,由于LED组为共阳结构,需给Q1端推送一个低电平,才能使得L1亮起来。
于是我信心满满的打开keil,然后编写C程序:
#include <reg52.h>
sbit led_1=P0^0;
int main()
{
while(1)
led_1=0;
return 0;
}真是的,这么简单,怎么能难倒我!

???我的内心充满了迷茫,甚至开始怀疑自己是不是在做梦。。。
仔细一看,左边还有一个74HC573锁存器,按照人类正常的逻辑,这个锁存器就是为了LED能够亮起来服务的,所以我条件反射的把它们忽略掉了。
再仔细一看,板子上其实搭载了4个锁存器,分别控制LED,数码管段选,数码管位选,ULN2003,并且需要这个玩意儿(74HC138)来控制

所以哪怕我只是想让这个LED亮起来,还得先去选择LED的锁存器,然后再传低电平过去?
行吧,什么神仙设计,咱认输了。
发现一个小问题,那就是上电之后,蜂鸣器会一直响,而且继电器也吸附了。
网上说什么的都有,我这里给通过上电控制它们关闭的方式搞定它们!
#include <reg52.h>
sbit led_1=P0^0;
sbit relay=P0^4; //继电器
sbit buzzer=P0^6; //蜂鸣器
int main()
{
P2=0xa0;
buzzer=0;
relay=1;
P2=0x00;
P2 =(P2&0x1f)|0x80;
P0 = 0xfe;
return 0;
} 可以算是“半解决”了问题,因为通电的一瞬间,还是会响一下的,,,



