2019-04-12 回答
1. 接电源:vcc(pin40)、gnd(pin20)。加接退耦电容0.1uf
2. 接晶体:x1(pin18)、x2(pin19)。注意标出晶体频率(选用12mhz),还有辅助电容30pf
3. 接复位:res(pin9)。接上电复位电路,以及手动复位电路,分析复位工作原理
4. 接配置:ea(pin31)。说明原因。
发光二极的控制:单片机i/o输出
将一发光二极管led的正极(阳极)接p1.1,led的负极(阴极)接地gnd。只要p1.1输出高电平vcc,led就正向导通(导通时led上的压降大于1v),有电流流过led,至发led发亮。实际上由于p1.1高电平输出电阻为10k,起到输出限流的作用,所以流过led的电流小于(5v-1v)/10k = 0.4ma。只要p1.1输出低电平gnd,实际小于0.3v,led就不能导通,结果led不亮。
开关双键的输入:输入先输出高
一个按键key_on接在p1.6与gnd之间,另一个按键key_off接p1.7与gnd之间,按key_on后led亮,按key_off后led灭。同时按下led半亮,led保持后松开键的状态,即on亮off灭。
代码
1. #include
2. #define led p1^1 //用符号led代替p1_1
3. #define key_on p1^6 //用符号key_on代替p1_6
4. #define key_off p1^7 //用符号key_off代替p1_7
5. void main( void ) //