写在前面:以下涉及到的程序及电路图不保证为最优方案,会存在很多不足之处,望谅解。
正文
学习目标:使用51单片机实现数码管的显示。
学习内容:
了解数码管的静态显示
实现数码管动态显示
程序一:点亮数码管-静态数码管显示
根据数码管的结构,可以将数码管理解为数码管是由8个LED灯组成,并且这8个LED灯按照一定顺序排列且具有一个公共端。根据这样的结构,我们可以像点亮LED灯一样,将数码管点亮并显示所需内容。数码管又分为共阴和共阳,在这里使用的是共阴数码管。
源程序
#include "reg52.h"
typedef unsigned char uchar;
typedef unsigned int uint;
#define display P0
void main()
{
while(1)
{
display = 0x06; //显示数字1
}
}
仿真图
如图所示,将程序下载到单片机运行后,数码管显示数字1.
程序二:动态数码管
动态数码管与静态数码管相比,动态数码管在显示数字的同时,还需要将数码管上的内容不断刷新以显示新的数字,并且这个过程是自动进行的,而不是同静态数码管一样需要手动在程序中更改才能显示不同的数字。
源程序
#include "reg52.h"
typedef unsigned char uchar;
typedef unsigned int uint;
#define display P0
uchar i;
uchar code smg[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //定义数码管显示内容0~15(F)
void delay(uint t) //12MHz,t毫秒
{
uchar k;
while(t--)
{
for(k = 100;k > 0;k--);
}
}
void main()
{
while(1)
{
for(i = 0;i < 16;i++)
{
display = smg[i]; //显示数组中第i个数据
delay(1000); //延时大约1s
}
}
}
仿真图
如图所示,运行后会发现,数码管可以自动显示0~15(F),大约1s更换一次显示内容。
关键字:51单片机 数码管显示 静态显示
引用地址:
51单片机学习之路(二)-数码管显示
推荐阅读最新更新时间:2024-11-07 10:37
基于AT89S51单片机的监控与管理系统的设计
1 引言 在学校宿舍、课室、图书馆、商场等场所的出入口,如果采用监控与管理系统,就可以对进出的人数进行统计,可以利用录音设备或显示设备进行温馨提示的管理工作,也可以在非进入时间进行监控报警等处理。基于AT89S51单片机的监控与管理系统由于采用了单片机进行控制,大大简化了外围硬件电路的设计,系统结构简单。同时,该系统可以进行很多的扩展,如实现多机通讯,对更大的场合进行监控与管理等。 2 系统硬件结构 2 . 1 结构框图 600)this.style.width='600px';" border=0> 图1 基于AT89S51单片机的监控与管理系统的结构框图 图1所示是基于AT89S51单片机的监控与管
[单片机]
PIC单片机和51单片机谁更容易于学习
pic单片机是当前最实用工具之一,而对于pic单片机的探讨往往与其他类型单片机相联系。 51好学一些,但是PIC也没比51难多少。首先,PIC比51多个配置位,这个基本上看看就懂了。然后,PIC的端口要配置成输入或者输出,51单片机则不用。PIC的中断没有优先级,需要软件判断。最后,PIC比51多许多寄存器,你要使用PIC的各种功能,都需要去初始化寄存器。 再说说PIC相比与51单片机有哪些优点: 1:相同的晶振情况下,PIC比51速度快,PIC4个时钟周期为一个指令周期,51是12个。 2:PIC比51功能强大许多,比如自带AD转换,自带PWM,内置弱上拉(需设置)LCD接口等。。这样,你在用到许多功能的时候就很方便啦,
[单片机]
51单片机开发之串口通信
4.3 串口通信 4.3.1 通信的概念 通信一词按照传统的理解就是信息的传输与交换。 对于单片机来说,通信则与传感器、存储芯片、外围控制芯片等技术紧密结合,成为整个单片机系统的“神经中枢”;没有通信,单片机所实现的功能仅仅局限于单片机本身,就无法通过其它设备获得有用信息,也无法将自己产生的信息告诉其它设备。如果单片机通信没处理好的话,它和外围器件的合作程度就受到限制,最终整个系统也无法完成强大的功能,由此可见单片机通信技术的重要性。 UART(Universal Asynchronous Receiver/Transmitter,即通用异步收发器)串行通信是单片机最常用的一种通信技术,通常用于单片机和电脑之间以及单片机和单片机
[单片机]
51单片机总线编址电路
带总线扩展接口的单片机系统,包括外部32kRAM扩展、LCDl602接口、输入输出口。带编址扩展的单片机最小系统电路如下图所示。使用74HC573锁存低8位地址;74138实现8个地址扩展,74138的A、B、C接A8~A9,E1接Al5,E2、E3接地常有效,得到OF8FFH到OFFFFH8个地址或者8000H到8700H(无关位用0表示)。 32k接口如下图所示。DO~D7接数据总线p0口,地址线AO~Al4接单片机地址总线低15位,单片机地址线Al5接片选信号,低 电平 有效,这样地址分配从OOOOH到7FFFH,与74138译码地址不冲突。 LCD1602接口电路如下图所示。
[单片机]
51单片机实验12:EEPROM(IIC总线) 应用
开发板EEPROM模块电路图如下: 目的:实现单片机与开发板AT24C02芯片通信。 实验现象:下载程序后数码管后4位显示0,按K1保存显示的数据,按K2读取上次保存的数据,按K3显示数据加一,按K4显示数据清零。最大能写入的数据是255。 开发板独立按键的使用及原理图参考:https://blog.csdn.net/cax1165/article/details/86566884 开发板数码管的使用及原理图参考:https://blog.csdn.net/cax1165/article/details/86557551 EEPROM(IIC总线) 以及AT24C02工作原理参考:https://blog.cs
[单片机]
51单片机时钟与周期
单片机机中,有时钟周期,机器周期,指令周期,初学者往往不能弄清楚他们之间的关系,这里我就简单介绍一下. 在说明之前我首先要明确几个概念,既什么是周期和频率,相信大多数人都知道他们的含义,周期就是物体循环一周的时间,频率就是1 秒钟内循环的次数.单片机是靠脉冲工作的,既一个脉冲单片机产生一个操作.下面言归正传. 时钟周期:时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us), 既产生一个脉冲的时间,是计算机中最基本的、最小的时间单位。 在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则
[单片机]
一种简单基于51单片机的电子密码锁设计应用
单片机电子密码锁的背景和设计特点 在高科技迅速发展的今天,人们已经发明了密码锁、电子锁和激光锁等多种形式。这些锁在传统钥匙的基础上,利用磁场、声波和光束等多种方式来控制锁的开启和关闭,从而有效地增强了锁的安全性,保护了人们的生命财产和安全,有效地防止盗贼的光顾。 单片机 又称为单片微电脑或者单片微型计算机,它有效的集合了中央处理器、只读存储器、随机存取存储器和输入输出端口等计算机功能部件。计算机体积庞大,不易携带,导致单片机的应运而生,电子密码锁就是在单片机的外部接上简单的电路,人为的写入程序来完成其核心部分,这样不仅能够缩小锁的体积还能够降低成本,保持精度,并且能够有效的升级和改善 电子密码锁 。 单片机密码锁的系统设计
[电源管理]
用51单片机做简易PLC
最近在51hei单片机论坛上下载了一个PMW-HEX的软件,这个软件可以将三菱PLC编程软件编写的梯形图转换成HEX文件,再将这个HEX文件烧录到51 单片机上,这样51单片机就有了梯形图所编程的功能了。我觉得蛮有意思的,虽然该软件并不能兼容PLC的所有功能,甚至说很多功能不能兼容,但基本的一些指令和少量的软元件已经足够做一些简单控制功能了。基于这个我就想着自己动手做一个4入4出的简易PLC来玩玩吧,PMW-HEX的下载地址是:http://www.51hei.com/bbs/dpj-19820-1.html 想了就动手吧,否则以前学的一些电子知识就要荒废了。 因为手上只有AT89S52的单片机,那么就拿这款单片机来
[单片机]