产品选型

51单片机led屏显示 51单片机实例讲解,彩灯键盘显示程序

小编 2024-10-09 产品选型 23 0

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单片机之LED灯

实验要求

LED灯以一秒的频率闪烁

众所众知,软件编程的第一个小程序就是打印“hello world”,同样硬件的编程也有他的第一个小程序,那就是LED灯的点亮,如果不做一个这样的小实验,学再多理论也是纸上谈兵。下面我们来实现LED灯闪烁的实验。

物料清单

电容

12M晶振

点阵开关

电阻

LED灯

AT89C52单片机(和51效果一样)

原理图

为了更形象的讲解LED灯闪烁的实验,笔者特意画了LED闪烁的原理图,他们的作用如下:

18脚和19脚接的是12M晶振系统,它是系统时序的由来;

9脚所接的是复位系统,当我们按下按键之后,系统会从程序最开始的代码开始运行;

P0.0接了一个电阻和一个LED灯,为什么接这个电阻呢?如果不加电阻,电流过大可能会烧坏LED灯,所以LED灯使用的时候一般都加限流电阻。

复位电路和晶振电路是单片机的固定外围电路,数据手册上已经给出,不需要我们花心思研究。

程序

我们要做的是让单片机控制LED灯以一秒的频率闪烁,这就避免不了写程序,看看现在的硬件产品吧,哪一个硬件产品里面没有集成电路,又有哪一个没有代码的“参与”。所以不要说硬件工程师就只做硬件,写单片机代码也是硬件工程师分内的事。下面把完整代码分享给大家。

#include <reg51.h>

void delay(void)

void main()

{

while(1)

{

P0=0x01;

delay();

P0=0x01;

}

void delay(void)

{

unsigned char a,b,c;

for(c=167;c>0;c--)

for(b=171;b>0;b--)

for(a=16;a>0;a--);

_nop_;

}

}

delay()函数是由单片机小精灵生成的,如果我们自己计算的话太麻烦了。

实验现象

视频加载中...

最后

我们实验的当中只用到了一个LED灯,所以直接用单片机驱动也可以,但是单片机的总的驱动电流就很小,如果LED灯多了的话,51单片机是驱动不了的,这时候就需要外加电源和开关管来驱动LED。

相关问答

...状态等.本文给出了一种基于MCS- 51单片机 的16×16点阵_作业帮

[最佳回答]IsbecomesbasedonthemonolithicintegratedcircuitLEDdisplaymonitorbymanyindependentLEDli...

51单片机 如何实现 led 的256级灰度 显示 ?

灰度传感器有三条线,VCC,GND,和信号线,他信号线输出的是模拟电压,普通的51只能通过电压比较器LM339来辨别两种不同的颜色,但是如果用增强的51就可以用他自带...

51单片机 led 是多大电阻?

51单片机控制LED的电阻大小通常取决于两个因素:供电电压和LED的额定工作电流。LED需要适当的电流来工作,过高的电流会损坏LED,过低的电流会导致LED不发光。...

51单片机 按住复位键时 led 亮但是松开就不亮了?

1.不亮2.这种情况可能是由于复位键按下时,导致51单片机的复位电平被拉低,从而导致系统重新启动。而当复位键松开时,复位电平恢复正常,但是由于程序中没有对...

51单片机 一个 LED 灯闪烁电路图原理-ZOL问答

3条回答:【推荐答案】图上是用R1、C3构成的复位电路,文字说明有点问题。。文字说明中的R2对应图上的R1,文中的C1对应图上的C3,文字说明没什么问题,主要是和图不是...

51单片机 sbitled=P1^0是什么意思?语句里面起什么作用,怎么看...

[最佳回答]sbit这个是说明你定义的类型为位.led=P1^0;这里表示定义单片机I/O口P1.0的伪名称叫led这样你要对P1.0控制时直接写led=1;或者=0让灯亮或者...

本人想把 led 灯接到 51单片机 上不知道肿么接,哪位师傅懂的,请...

很简单,led正极接1k左右的电阻,负极接单片机任意P端口(8位)找个51的电路图看看将led灯的正极加一个330欧的电阻接正5伏,负极接p口。接接51单片机和LED灯其实...

51单片机 灯从里至外依次点亮?

51单片机灯不是从里至外依次点亮而是从左到右依次点亮因为8个LED从左到右循环依次点亮(第①号灯亮、第①②号灯亮……第①②③④⑤⑥⑦⑧号灯亮),间隔1s,直到8...

对于下面的 51单片机LED 闪烁实验C程序,为什么 LED 会一直不停...

[最佳回答]因为你的代码后面的“空白”处都是复位命令,所以你的代码执行完了就复位了,就闪啦。。

用C语言控制 51单片机 P2口的8个 LED 小灯,2468亮,1357不亮?

P2=0xaa;即可(因为0xaa=10101010),好久没看过了,应该差不多这样P2=0xaa;即可(因为0xaa=10101010),好久没看过了,应该差不多这样

猜你喜欢