基于c51的节日彩灯控制器的设计
学完c51(其实是c52,功能上没多大区别),找些课程设计题目做做,看看有无大佬有更好的方法来讨论讨论。
一、设计要求
制作一个节日彩灯控制器,通过按下不同的按键来控制LED发光二极管(由上到下排列)的点亮规律,在P1.0~P1.3引脚上接有4个按键k0~k3,各按键功能如下;
(1)k0:开始,按此键彩灯开始由上向下流动显示。
(2)k1:停止,按此键彩灯停止流动显示,所有灯为暗。
(3)k2:由上向下,按此键则彩灯由上向下流动显示。
(4)k3:由下向上,按此键则彩灯由下向上流动显示。
彩灯运行的初始状态是彩灯由上向下流动显示。
二、代码
头文件 fesitival.h
#ifndef _FESTIVALLED_H
#define _FESTIVALLED_H
#ifndef uchar
#define uchar unsigned char
#endif
#ifndef uint
#define uint unsigned int
#endif
#include "reg52.h"
#define GPIO_PORT_LED P2 //定义led输出引脚
extern uchar value; //用来保存按键状态
sbit key0 = P3^1;
sbit key1 = P3^0;
sbit key2 = P3^2;
sbit key3 = P3^3; //定义按键引脚,用的板子,4个按键的引脚和题目不一样,但问题不大