第三节课打卡。
小灯点亮:电流从电源正极流到开关,电流再从开关流到LED灯,LED灯流到电源负极,电源正极可以用3v来代替,电源负极用0v来代替,灯泡两端加一个3v电压,灯泡点亮。
电源VCC3.3v经过一个三极管Q2(当开关使用)连接LED灯,根据小灯点亮原理则P0.0和P4.0需要接0v,三极管箭头从高电压指向低电压,根据这个信息可以通过看电路图知道什么时候给高电平什么时候给低电平,例如蜂鸣器中三极管箭头指向下端,意思就是从低电平指向高电平。
每个io口配置都需要两个寄存器设置,配置00为准双向口,配置01为推挽输出,配置10为高阻输入(电流既不流入也不流出),配置11为开漏模式,老式单片机刚刚上电即为准双向口,新款为高阻输入,p00m0和p00m1控制p00端口模式,想要p0.0和p4.0为0v,则需要将其配置成准双向口模式,p0m0=0000 0000(8个led灯都点亮则全部配置为0) 0x00(16进制写法),p0m0=0;(端口模式配置为准双向口)p0m1=0000 0000 0x00,二进制原因所以pxx,xx上只能写0或者1,逢二进一,语句结束要加分号p0m0=0x00;,大括号要换行缩进{tab换行}
P0m0=0x00;p0m1=0x00;(配置全为准双向口)
P40=0;(打开开关)
P00=0;(又打开开关)
#include"ai8051u.h"
void main(void)
{
P0M0=0;//p0(P00到p07)端口为准双向口
P0M1=0;
P4M0=0;
P4M1=0;//p4端口为准双向口
while(1)
{
P40=0;//p40端口输出0v
P00=0;//p00端口输出0v
}
}



