单片机 数码管的发光

发布者:脑电狂潮最新更新时间:2017-01-06 来源: eefocus关键字:单片机  数码管 手机看文章 扫描二维码
随时随地手机看文章

数码管的显示原理都一样,都靠点亮内部发光二极管来发光。TX-1C 的单片机开发板是6位数码管。数码管的引脚是10个,显示8字需要7个小段,外加一个小数点,共有8个发光二极管,还有一个公共端。公共端分为共阳极和共阴极,共阴极即8个二极管的阴极连在一起,共阳极即8个二极管的阳极连在一起。TX-1C开发板的数码管位共阴极。多为一体的数码管,内部的公共端是独立的,而负责显示什么数字的断线是全部连在一起的,独立的公共端可以控制多位一体中的哪一位数码管点亮,而连在一起的段线可以能控制这位数码管能亮出什么数字。公共端叫作位选线,连在一起的段线叫作段选线。有了这两根线,就能通过单片机控制任意的数码管显示任意的数字。

(1) 数码管的静态显示

在同一时刻,位选选通的数码管显示的数字始终是相同的,因为它们的段选是连在一起的,所以送入的数码管的段选信号是相同的。数码管的这种显示方法叫静态显示法。

6个数码管的位选端与74HC573锁存器U2的低六位连接,锁存器的数据输入端连接到P0口。6个数码管的a、b、c、d、e、f、g、h的引脚分别连在一       起,然后与74HC573锁存器U1的数据输出端连接,锁存器的数据输入端也与P0口相连。U1 、U2的锁存端与P2口的6、7位相连。

      代码

      #include

      sbit dula=P2^6;    // 申明U1锁存器的锁存端

      sbit wela=P2^7;    // 申明U2锁存器的锁存端

      void main()

      {

          wela=1;      //打开U2锁存器

          P0=0xfe;      //送入位选信号

          wela=0;      //关闭U2锁存器

          dula=1;      //打开U1锁存器

          P0=0x7f;      //送入段选信号

          dula=0;      //关闭U1锁存器

      }

以上就是数码管静态显示的代码。

(2)数码管的动态显示

第一个数码管显示1,时间为0.5秒,然后关闭它。第二个数码管显示2,时间为0.5秒………………

代码如下:

#include

#define uchar unsigned char

#define uint unsigned int

uchar code table_1[]={ 0x1, 0x2, 0x4, 0x8, 0x10, 0x20 };      //位选信号

uchar code table_2[]={ 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71 };    //段选信号

void delays(uint);    //延时函数

uint h;

void main()

{

   while(1)

 {   for( h=1; h<=6; h++)

    {    dula=1;            //打开段选

        P0=table_2[h];         // 送入段选信号

        dula=0;            // 关闭段选

        P0=0xff;          // 消影语句,每次送入段选信号后,P0口仍然保留着上次的段选数据,若不加 P0=0xff;  在执行打开位选锁存器命令后,P0口

                        段选数据会立即加在数码管上,,接下来才是再次通过P0口给位选锁存器送入位选数据。这个过程很短暂,但我们仍能看见                         数码管显示混乱的现象。加上消影语句后就能避免这样的状况发生

        wela=1;            // 打开位选

        P0=table_2[h];        //送入位选信号

        wela=0;           // 关闭位选

        delay(500);

    } 

  }  

}

void delay( uint xms)          // 延时函数  (在下篇会和锁存器一并作出叙述)

{

    uint i,j;

    for( i=mxs; i>0; i--)

      for( j=110; j>0; j--);

}


关键字:单片机  数码管 引用地址:单片机 数码管的发光

上一篇:单片机滤波
下一篇:单片机 中断( 定时器/计数器详说 )

推荐阅读最新更新时间:2024-03-16 15:29

51单片机矩阵键盘扫描和显示按下的次数
KEYCARD BIT 00H ;用于标志是否有键按下 KEYCOU EQU 5AH ;用于记录按下键的次数 ORG 0000H ;程序开始 AJMP START ORG 30H ;为避免占用中断向量区,主程序从30H开始 START: MOV SP,#5FH ;设置堆栈的初始地址 MOV P3,#0FH ;P3,P2,P0的初始化 MOV P2,#00H MOV P0,#0FFH CLR KEYCARD ;有按键标志清0 MOV KEYCOU,#0 ;计数初值赋0 LOOP: ;循环扫描键盘 ACALL KEY
[单片机]
ADS_LPC2103开发板SPI 4位数码管测试试验
#include config.h #define HC595_CS (1 7) #define NixieTube_CS (1 11) void DelayMS(uint32 dly) { uint32 i; for(; dly 0; dly--) { for(i = 0; i 50000; i++); } } void MSPI_Init(void) { PINSEL0 = (PINSEL0 & 0xFFFF00FF) | 0x00001500; SPCCR = 0x52; // 设置SPI时钟分频 SPCR = (0 3) | // CP
[单片机]
单片机型FM有线/无线遥控广播系统
引言 在许多单片机应用系统中,常常利用电信号与非电信号,来传送控制信号和数据信息,以实现遥控或遥测的功能,例如光信号、超声波信号、电脉冲信号等。而本FM有线/无线遥控广播系统中,是使用双音频电信号发送接收挖出,实现对FM有线/无线广播的远程控制管理。这种双音频通信具有控制简单,实施方便,传输可靠,而且造价低廉的特点,也是一种较为常用的通信方式。实现单片机系统双音频通信的关键在于双音频接收电路设计和应用,以及检测程序的设计。 1 遥控广播系统的基本原理 基本原理如图1所示。 遥控广播系统的通信是电话拨号收发的一种双音频通信方式,是一项可靠、成熟的通信技术。它取代了传统的电话拨号脉冲通信方式,成为现代电话通信拨号的主要通信方式
[单片机]
<font color='red'>单片机</font>型FM有线/无线遥控广播系统
使用8051单片机原理的步进电机控制
步进电机是一种无刷同步电机,它将完整的旋转分为若干步。每个步进电动机将具有一些固定的步进角,并且电动机以该角度旋转。在本文中,我将向您展示如何使用两个不同的驱动器(L293D和ULN 2003)将步进电机与8051连接。此外,此处还将说明使用8051单片机的步进电机控制。 使用8051单片机原理的步进电机控制 这些电路的主要原理是使步进电机以特定的步进角步进旋转。由于控制器无法提供电动机所需的电流,因此ULN2003 IC和L293D电动机驱动器用于驱动步进电动机。 电路1:使用8051单片机和L293D进行步进电机控制 该项目中的第一个电路是使用L293D电机驱动器IC实现的。由于L293D电动机驱动器具有四个输出引脚的
[单片机]
使用8051<font color='red'>单片机</font>原理的步进电机控制
温度监控器单片机设计
结构图如下所示: 参数要求如下: 部分代码展示:
[单片机]
温度监控器<font color='red'>单片机</font>设计
FPGA与单片机实现数据RS232串口通信的设计
1 前言 现场可编程逻辑器件(FPGA)在高速采集系统中的应用越来越广,由于FPGA对采集到的数据的处理能力比较差,故需要将其采集到的数据送到其他CPU系统来实现数据的处理功能,这就使FPGA系统与其他CPU系统之间的数据通信提到日程上,得到人们的急切关注。本文介绍利用VHDL语言实现 FPGA与单片机的串口异步通信电路。 整个设计采用模块化的设计思想,可分为四个模块:FPGA数据发送模块,FPGA波特率发生控制模块,FPGA总体接口模块以及单片机数据接收模块。本文着重对FPGA数据发送模块实现进行说明。 2 FPGA数据发送模块的设计 根据RS232 异步串行通信来的帧格式,在FPGA发送模块中采用的每一帧格式为:1位开始位 8
[单片机]
FPGA与<font color='red'>单片机</font>实现数据RS232串口通信的设计
使用AVR单片机驱动舵机
1.舵机驱动的基本原理   (可以参考http://blog.sina.com.cn/s/blog_8240cbef01018hu1.html)    控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。 简单的来讲,就是输出一个周期为20Ms,不同的占空比对应舵机转过不同的角度。 难点主要在于 舵机控制信号需要保持,这样就比用脉冲控制步进电机要复杂一些。 你需要
[单片机]
使用AVR<font color='red'>单片机</font>驱动舵机
基于C8051F410单片机实现双频固定式阅读器的应用方案
随着当前物流行业的快速发展。作为物流主要运输方式的集装箱运输.其运输效率及货运安全性日益受到人们关注。近几年来,随着RFID技术的发展和推广,将RFID技术用于集装箱信息识别.实现集装箱运输的智能化已经成为各集装箱厂家竞相开发的目标。RFID技术是一种利用射频通信方法实现的非接触式、快速、实时和准确的采集与处理信息的自动射频识别技术。目前集装箱运输上对RFlD技术的应用仅仅限于利用阅读器射频信道识别电子标签内集装箱信息.并有实现其运输安全上的保证。本文设计了一种基于C8051F410单片机的双频固定式阅读器。该阅读器与智能集装箱安全设备及路标设备配合实用.不仅能快速识别集装箱信息,而且能监测集装箱内货物的安全。一旦集装箱被非法打开
[单片机]
基于C8051F410<font color='red'>单片机</font>实现双频固定式阅读器的应用方案
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved