一、前言
课程内容结构
二、训练任务
在CT107D单片机综合训练平台上实现LED的基本控制,首先让8路LED指示灯闪烁3遍然后熄灭,接着依次点亮LED指示灯,最后依次熄灭指示灯,程序循环实现上述功能。
三、训练重点
1.74HC138 三八译码器
2.74HC573 锁存器
3.74HC02 或非门
4.LED跑马灯
四、74HC138
以上可以更换形式:
P0=0X80 //等价于1 0 0 0 0 0 0 0
五、74HC573
当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,复合建立时间和保持时间的数据会被锁存
六、代码展示
#include "reg52.h" //引入51头文件 typedef unsigned int uint; typedef unsigned char uchar; //重命名 sbit HC138_A = P2^5; sbit HC138_B = P2^6; sbit HC138_C = P2^7; //sbit定义特殊功能寄存器的位变量 //定义好P25\P26\P27三个地址 //定义延时函数 void Delays(uint t) { while(t--); while(t--); } void LEDRuning() { uint i; HC138_A = 0; HC138_B = 0; HC138_C = 1; for(i = 0; i < 3; i++) { P0 = 0x00; //全部打开 Delays(60000); Delays(60000); P0 = 0xff; //全部关闭 Delays(60000); Delays(60000); } for(i = 1; i <= 8; i++) { P0 = 0XFF << i; Delays(60000); Delays(60000); } for(i = 1; i <= 8; i++) { P0 = ~(0XFF << i); Delays(60000); Delays(60000); } } void main() { while(1) { LEDRuning(); } }