stc15和stc89c51有区别。
刚接触发现点亮一个led灯是没有问题的。接下来就是数码管显示,出现问题了。第一次接触需要推挽。查看说明发现I/O有多重选择。我这边使用作为正常的输入和输出使用。
需要设置P1M1和P1M0,来确定I/O的工作方式。如下图:
根据说明我选择00模式,及P1M1=0x00;P1M0=0x00;遮掩选择的是P1口全部都是传统的I/O模式。如果选择单个的I/O也可以。
用到74HC573D的8位锁存器,需要了解锁存器的工作原理。LE引脚需要一个上升沿才能把数据锁存。下图是真值表
贴上自己的代码,这个代码选择的不是P1口输出。数码管有位选和段选。要分清楚。
#include "stc15.h"
sbit ep = P2^7;
void main()
{
P4M1=0x00;
P4M0=0x00;
P0M1=0x00;
P0M0=0x00;
//P2M1=0x01;
//P2M0=0x00;
P2M1=0x0f;
P2M0=0x0f;
//P2=0xf0;
P4=0;
P0=0;
ep=1;
P0=0x06;
ep=0;
P4=0x1f;
while(1)
{
P0=0xff;
}
}