单片机AT89C2051制作的LED流水灯电路

发布者:数字之舞最新更新时间:2023-05-10 来源: elecfans关键字:单片机  AT89C2051  LED流水灯 手机看文章 扫描二维码
随时随地手机看文章

一、电路图

按照下图购买元器件及面包板,在面包实验板上参考右图搭成电路。将已经固化好最简程序的AT89C2051单片机芯片插到实验板中缝左右。


LC3911BH型LED数码管高约13mm,宽10mm,引线排列在两侧,正好能骑插在面包实验板中缝左右。然后用细硬线按照图2将数码管与单片机Pl口连接好,并接入电阻、电容、晶振、按钮开关等。


下图中LED数码管公共阳极接了1只限流电阻。

显示0—9共10个阿拉伯数字,显示1时段数最少为2个。设每段电流最大为5mA,则2段总电流I=2×5mA =10 mA,公共限流电阻R=(UCC-ULED)/I=(5V-2V)/10 mA =300Ω

显示8时段数最多为7个,每段电流最小为10/7=1.43mA,显得较暗。

由于LED电流大时正向压降亦大些,故显示数字在0~9之间变化时,亮度变化不是预期那样厉害。因此,下图电路数码管每段电流在1.5~5mA之间。公共限流电阻方案适合于业余制作。


下图中AT89C2051晶振频率为6MHz。没有两个33p电容,由于面包板的分布电容,单片机仍然能起振并工作。0.1μ电容功能是防高频干扰。1μ电容、10k电阻与lk电阻组成最常用的复位电路


AT89系列51单片机要求直流电源电压3—6V。目前有下列电源可供选用:

●手机锂电池3.6-4.1V

●万能手机充电器4.3-5V

●新稳压电源

二、固定字符显示的程序编制

普通数字电子电路都有特定功能,如与、或、非逻辑功能。计算机包括单片机本身没有特定功能,只有执行特定指令的能力,指令让它干什么,它就干什么;没有指令组成的程序,它什么也不能干。没有配备任何程序的计算机叫做“裸机”。“裸机什么事情也不能做。

普通数字电子电路功能单一,计算机用执行程序模式所能完成的任务却是无限的。关键是选指令编制程序。计算机能执行的所有特定指令就叫做指令系统。

计算机芯片设计时已经配备了指令系统,包括数据传送、算术运算、逻辑运算、指令转移等应有尽有。

编程并不复杂。选指令就像儿童选积木,编程就像儿童搭积木。编程前只要简单地熟悉所用计算机的指令系统就可以,编程时再根据自己的任务去琢磨如何选合适的指令。一个计算机编程老手,也很难说指令系统中的所有指令都用过了,新手更是要慢慢来。

计算机的优点是快,其实很多人也被计算机的“快”搞晕了。但是编程或分析程序时,完全可以认为计算机执行一条条指令时,就像我们人走步一样有条不紊。实际上AT89C2051单片机确实可以慢慢地运行,1秒钟甚至更长时间才执行l条指令,就像影视节目中的慢镜头一样。“慢到”如此慢,每个人都有足够时间来分析计算机一步步究竟在于什么,硬件电路有什么反应。

还有,分析指令执行过程时,只需要关心其已知条件和执行结果。把计算机复位即自动进行的硬件初始化后的状态作为第一条指令的已知条件,把第一条指令的执行结果作为第二条指令的已知条件……把第n条指令的执行结果作为第n+l条指令的已知条件。就这样用熟悉的已知、求、解、答的模式,就能知道程序功能。

上图所示属于单片机最小系统。其任务是显示某固定字符,如显示“2”,只要把“2”的字模二进制数“10100100B”送到P1口,然后停止机器即可。用助记符“MOV P1,#10100100B”表示。汇编程序把MOV P1,#10100100B的助记符汇编成机器码,以写进程序存储器中让计算机执行。这种助记符编写的程序也称为汇编语言程序,简称为汇编语言。

二进制数“10100100B”送到P1口之后,需要使机器停止。但2051单片机没有专用的停止指令。

全部程序如下:

MOV P1.#10100100B

HERE: SJMP HERE

该最简程序已经写在图2中的单片机符号中。像右图这样既有完整的硬件又有完整的软件,就是一个典型的单片机最小系统。

用C语言编制该程序如下:

include

main0

{P1=0xa4;

while(1);}

改变P1赋值,观察显示状态有什么变化,把程序编译后固化到2051中,图3中间黑色长条就是AT89C2051单片机,单片机右边发白的小长条是晶振,单片机下方是复位电容及按钮,面包板右侧红色长方块是一块手机锂电池,用两根两端接有带塑皮套的夹子线,通称双夹线,可以很方便地给单片机系统加上电源。该系统工作情况见下图(略)。

整个电路搭好后,上电即能显示“2”。按压复位键,显示全部熄灭,可以验证复位后单片机口线均为高电平,本设计属于低电平驱动,所以复位期间显示全部熄灭。手压复位键时间不限,可以充分观察复位期间口线输出的高电平。

电路保持不变,修改控制程序,就能用本电路制成一块一位LED秒表。LED秒表参考汇编语言程序如下:

字库(读者可改为16进制字库做试验)

本制作的目的仅仅是演示单片机工作原理,因此采用了方便插拔的面包实验板。


关键字:单片机  AT89C2051  LED流水灯 引用地址:单片机AT89C2051制作的LED流水灯电路

上一篇:80C51单片机模拟I2C总线的主机程序分享
下一篇:AT89S51单片机串行口的内部结构解析

推荐阅读最新更新时间:2024-11-10 11:24

全球主流8位MCU芯片详细解剖No.3:微芯 PIC16F877
  PIC16F877简介   PIC16F877是由Microchip公司所生产开发的8位MCU,属于PICmicro系列单片微机,具有Flash program程序内存功能,可以重复烧录程序,适合教学、开发新产品等用途;而其内建ICD(In Circuit Debug)功能,可以让使用者直接在单片机电路或产品上,进行如暂停微处理器执行、观看缓存器内容等,让使用者能快速地进行程序除错与开发。   如图为PIC16F877的40根引脚图,PDIP是指一般最常见的DIP(Dual In Line Package)包装,而PIC单片机也有PLCC(Plastic Leaded Chip Carrier)与QFP(Quad Flat
[单片机]
全球主流8位<font color='red'>MCU</font>芯片详细解剖No.3:微芯 PIC16F877
51单片机和52单片机有什么区别
  本文主要是关于51单片机和52单片机的相关介绍,并着重对51单片机和52单片机进行了相近的对比分析。   51单片机   51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。      功能   ·8位CPU·4kb
[单片机]
单片机串行通信中波特率的自动整定
  串行通信在波特率误差超过一定范围时,会产生错误。本节介绍的内容在51 单片机 上仅用软件就实现了波特率自动整定,最大程度地减小了波特率误差,因而可使串行通信的可靠性得到提高。      51单片机具有一个全双工的串行接口,提供了多机通信功能,可方便地构成多机系统(多机容错系统、集散型多级系统),为完成大型的控制任务提供了有效的手段。用51单片机组成的多机控制系统,国内已出现多例。在这样的系统中,可靠地实现多处理器间的信息交换(串行通信)是十分重要的。本节的研究发现,波特率作为串行通信的速率,同时对通信的可靠性有重要影响。 一、正常串行通信的实现条件      串行通信是按位传送数据的。每个数据有8或9个数据位,加上起始位和
[单片机]
<font color='red'>单片机</font>串行通信中波特率的自动整定
PIC16F877A单片机led的动态显示
list p=16F877A,R=DEC include p16F877A.inc ;;;;;user variables;;;;;;;; Count2 equ 23H Count3 equ 24H data_out1 equ 25H data_out2 equ 26H ;;;;;;;reset vector;;;;;;;;; org 0x00 goto mainline ;;;;;;delay program;;;;;;; delay_2ms movlw 0x05 movwf Count2 lp0 movlw 0xff movwf Count3 lp1 decfsz Count3,F goto lp1 decfsz Count2
[单片机]
基于STM32单片机的DLP1700显示电路、光路系统改进设计
DLP投影技术是应用美国德州仪器公司开发的数字微镜元件--DMD(Digital Micromirror Device)作为主要关键处理元件以实现数字光学处理过程的技术。DLP显示的色彩清晰度高、艳丽、细腻、逼真,且为全数字显示即可靠性极高,能在各类产品(如大屏幕数字电视、公司/家庭/专业会议投影机和数码相机(DLP Cinema))中提供最佳图像效果。目前,大部分的家用或商用DLP投影机都采用了单片结构,使得其便于移动携带,因而得到越来越广泛的应用。在目前应用发展的基础上,又对其结构的精简性、携带的方便性提出了更高的要求。传统的DLP投影仪是通过DVI接口接收外部信号,并且经过信号转换传送给DLP控制器来控制DLP的显示,占用的
[单片机]
基于STM32<font color='red'>单片机</font>的DLP1700显示电路、光路系统改进设计
51单片机之数码管静态显示
在对单片机编程以实现数码管静态显示数字之前,我们先来了解一下数码管的结构以及一些常识,对于数码管,有称八段数码管的,也有称七段数码管的,其实无非就是多在一个小数点h , 如上图所示,我们就拿带小数点的八段数码管来说 ,其实我们没必要说对数码管很陌生,因为数码管无非就是八块发光二极管集成在了一起,另外数码管有共阴极和共阳极数码管之分,说起共阴,共阳,大家可能会有所陌生,这里我们简单介绍一下: 共阴极数码管:将八只发光二极管的负极通过一根总线连接在了一起 , 然后每只二极管的正极被引了出来,通过二极管的单向导通性可知,当对应数码管的二极管段接入高电平时,二极管点亮。(换句话说,也就是说想让哪一只二极管点亮,就给哪只二极管高电平。下
[单片机]
51<font color='red'>单片机</font>之数码管静态显示
GD32 MCU内部温度传感器如何使用,以及适合哪种应用场景?
GD32 MCU全系列产品均内置温度传感器,内部温度传感器可以用于测量器件周围温度及变化,传感器的输出电压连接到ADC的第16通道,可被ADC转换成数字量。 温度传感器输出电压随温度线性变化,由于生产过程中的多样化,温度变化曲线的偏移在不同的芯片上会存在不同,但斜率基本一致,因而内部温度传感器更适合测量温度变化,即相对温度,而不太适合测量绝对温度。如果需要测量绝对温度,且对温度的精度要求并不是很高的情况下,可以使用外置温度传感器来校准不同芯片出厂的偏移误差,这样就可以用于环境温度的测量。 下面为大家介绍内置温度传感器参数以及如何使用。 内置温度传感器参数如下图所示,其中TL为温度线性误差,Avg_Slope为斜率,V25为
[单片机]
GD32 <font color='red'>MCU</font>内部温度传感器如何使用,以及适合哪种应用场景?
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved