51单片机实例讲解,彩灯键盘显示程序
彩灯键盘显示控制要求:用10个数字键控制选择彩灯的10种变化,并用数码管显示器显示按键号。
10种变化彩灯如下:
●花样一:一盏灯从右至左点亮,即从LED1开始向LED8方向流水移动点亮。
●花样二:一盏灯从左至右点亮,即从LED8开始向LED1方向流水移动点亮。
●花样三:要求一盏灯从左至右逐个点亮不灭,即从LED8开始向LED1方向逐个点亮不熄灭,直到全部点亮。
●花样四:让全亮的灯从右至左逐个熄灭,即从LED1开始向LED8方向,彩灯逐个熄灭。
●花样五:两盏灯从右至左点亮,即LED1+LED2→LED3+LED4→LED5+LED6→LED7+LED8。
●花样六:两盏灯从左至右点亮,即LED8+LED7→LED6+LED5→LED4+LED3→LED2+LED1。
●花样七:一盏灯从左至右先按单数流水点亮,后按双数流水点亮,即LED1→LED3→LED5→LED7→LED2→LED4→LED6→LED8。
●花样八:一盏灯从右至左先按双数流水点亮,后按单数流水点亮,即LED8→LED6→LED4→LED2→LED7→LED5→LED3→LED1。
●花样九:8只发光从左至右依次点亮一只,即LED1亮→LED1+LED2亮→LED1+ LED2+LED3亮→LED1+LED2+LED3+LED4亮→LED1+LED2+LED3+LED4+LED5亮→LED1+LED2+LED3+LED4+LED5+LED6亮→LED1+LED2+LED3+LED4+LED5+ LED6+LED7亮→LED1+LED2+LED3+LED4+LED5+LED6+LED7+LED8亮。
●花样十:8只发光二极管从右至左依次点亮一只,即LED8亮→LED8+LED7亮→LED8+LED7+LED6亮→LED8+LED7+LED6+LED5亮→LED8+LED7+LED6+LED5+ LED4亮→LED8+LED7+LED6+LED5+LED4+LED3亮→LED8+LED7+LED6+LED5+ LED4+LED3+LED2亮→LED8+LED7+LED6+LED5+LED4+LED3+LED2+LED1亮。
(1)彩灯键盘显示硬件电路(见图46)。
图46 彩灯键盘显示接线原理图
(2)彩灯键盘显示硬件电路元器件(见表19)。
表19 彩灯键盘显示硬件电路元器件表
(3)彩灯键盘显示程序流程图(见图47)。
图47 彩灯键盘显示程序流程图
(4)彩灯键盘显示程序。
51单片机PWM控制LED的亮度仿真程序图谱 (附仿真文件+源代码)
51单片机PWM控制LED的亮度仿真程序图谱
因为项目比较简单,我就没有做实物,只是用了仿真来实现,大家最重要的是要弄懂原理。
原理:单片机输出PWM斩波,控制LED的亮度并在图谱上面显示出来
仿真开启
参考代码:
#include "reg51.h"
unsigned int cd,dd;
unsigned char cc,ee;
sbit LED=P2^0;
void led_int() interrupt 1 using 0
{
TH0=0xf1;
TL0=0xf1;
TR0=1;
dd++;
if(dd==11)
{
if((cc==0x50)&&(ee==0)){cd=0;}
if((cc==0)&&(ee==0x50)){cd=1;}
if(cd){cc++;ee--;}
else {cc--;ee++;}
dd=0;
}
}
void delay(unsigned int i)
{
unsigned int j;
while(i--)
{
for(j=0;j<0x20;j++);
}
}
void main()
{
cc=0;
ee=0x50;
TMOD=0x01;
TH0=0xf0;
TL0=0xf0 ;
EA=1;
ET0=1;
TR0=1;
while(1)
{
LED=0;
delay(ee);
LED=1;
delay(cc);
}
}
最后,如果有什么意见或者建议欢迎您留言给我,让我们共同学习一起进步,
如果需要 程序完整源代码和 设计文件,请在下方留言或者私信我,看到后会第一时间回复。
谢谢!
感谢你的阅读,希望您有所收获,喜欢请点赞评论加关注!
相关问答
英语翻译 基于单片机的LED显示屏 是由多个独立的 LED 发光二极管...[最佳回答]IsbecomesbasedonthemonolithicintegratedcircuitLEDdisplaymonitorbymanyindependentLEDli...
LED显示 屏工程常用名词到底是什么意思?现在大屏幕LED显示屏的应用已越来越广泛。为了对成百、上千片的LED点阵片实现有序的、快速的显示控制,人们动了许多脑筋,当LED显示屏业内人士聚在一起,就很容...
atmega8 单片机控制的led 屏,怎么更改 显示的 文字?更改LED滚动字幕显示屏的字幕用USB更改字幕的LED显示屏,使用和控制卡相应配套的软件。LED电子显示屏作为新的媒体,运动的发光图文,更容易吸引人的注意力,信...
红绿灯讯号机怎么把倒计时 显示 到 LED 屏?我测量了下都是220V的...一般的进线到LED里面再接一条到倒计时器机里面,相同颜色相接就行了!描述的不是很详细,LED一般是弱电控制工作的,220V是强电了,或许LED灯内部有稳压装置和控制电...
单片机 问题,什么是 Led显示 模块?由若干个显示像素组成的,结构上独立、能组成LED显示屏的最小单元。典型有“8×8”、“5×7”、“5×8”等由若干个显示像素组成的,结构上独立、能组成LED显示...
51 单片机 输出pwm波 控制led 灯?使用51单片机可以通过输出PWM波来控制LED灯的亮度。PWM波是一种脉冲宽度调制信号,其占空比决定了电路输出信号的平均功率。具体实现方法如下:1.首先需要选...
单片机led 闪烁的原因?32单片机LED灯闪烁的原因可能有以下几种:程序设计问题:如果程序中存在错误或者逻辑不严谨,可能会导致LED灯闪烁。例如,程序中可能存在死循环或者延时不准确...
在mc s51系列 单片机 应用系统中 led 数码管 显示 电路通常有什么 显示 方式?在51系列单片机的应用系统中,LED数码管通常采用共阳扫描显示方式,选择单片机的一个8位IO口,作为数码管的段驱动,也就是a、b……dp段驱动,每段都需串联限流电...
单片机 是怎样 控制 发光二极管的亮与不亮?1.LED的阳极接地,阴极接单片机IO口,那么IO口高电平,LED灭,低电平,LED亮2.LED的阴极接地,阳极接单片机IO口,那么IO口高电平,LED亮,低电平,LED灭1.LED的阳极接...
用51 单片机 写一个C程序,红外线反射管开关程序 控制 一个 LED的 亮灭?红外反射管高低电平输出接P1.0led接P1.1程序如下:红外反射管高低电平输出接P1.0led接P1.1程序如下: