STC/8051单片机2路74HC154模拟程序C51源码 (强推挽译码输出,用于临时代替该芯片)
/*
2路74HC154模拟程序 (此程序用于临时替代该芯片)
第一路:
P1.0:译码输入A P1.1:译码输入B
P1.2:译码输入C P1.3:译码输入D
P1.4:片选E1 P1.5 片选E2
P2:译码输出0~7 P3:译码输出8~15
第二路:
P4.0:译码输入A P4.1:译码输入B
P4.2:译码输入C P4.3:译码输入D
P4.4:片选E1 P4.5 片选E2
P5:译码输出0~7 P6:译码输出8~15
E1 E2 低电平译码有效,否则全部高电平,译码输出全部强推挽
*/
#include "stc8h.h"
void main() {
unsigned int j;
P2M0 = 0xFF;P2M1 = 0x00;
P3M0 = 0xFF;P3M1 = 0x00;
P5M0 = 0xFF;P5M1 = 0x00;
P6M0 = 0xFF;P6M1 = 0x00;
while (1) {
WDT_CONTR = 0x37;
if (!(P1 & 0x30)) {
j = ~(1 << (P1 & 0xF));
P2 = j;P3 = j >> 8;
}
else {
P2 = 0xFF; P3 = 0xFF;
}
if (!(P4 & 0x30)) {
j = ~(1 << (P4 & 0xF));
P5 = j; P6 = j >> 8;
}
else {
P5 = 0xFF; P6 = 0xFF;
}
}
}
页:
[1]