基于Proteus学习单片机系列(二)——驱动数码管

获取更多资源,请关注微信公众号:嵌入式基地

获取项目资源:公众号后台回复:单片机仿真

基于Proteus学习单片机系列(一)——点亮LED

基于Proteus学习单片机系列(二)——驱动数码管

基于Proteus学习单片机系列(三)——按键

基于Proteus学习单片机系列(四)——中断

基于Proteus学习单片机系列(五)——定时器实现电子表

基于Proteus学习单片机系列(六)——I2C总线AT24C04

基于Proteus学习单片机系列(七)——实时时钟DS1302

基于Proteus学习单片机系列(八)——AD转换及其应用--TLC549

基于Proteus学习单片机系列(九)——DA转换及其应用--TLC5615

基于Proteus学习单片机系列(十)——LCD1602

基于Proteus学习单片机系列(十一)——LCD12864

本文程序以及仿真下载

例程下载

   1. 数码管显示原理

      1.1 数码管结构原理

           单片机系统常用的数码管有共阳和共阴两种。两种类型的数码管外形和结构类似,只是数码管内部组成数码段和标点的LED接法不同,两种极性的数码管内部电路结构见图3-3-1所示,其中(a)为数码管引脚排列。共阳型数码管的内部所有LED的正极接在一起为公共极引脚    COM,称为位选端,负极分别引出,依次命名为a、b、c、d、e、f、g、dot,称为段选端。

           共阳型数码管使用时,其公共极接电源负极或加低电平电平,段选端分别接驱动电路,段选端加低电平时,对应的段发光二极管才亮。

           共阴型数码管与共阳型数码管解法刚好相反,由于内部所有LED的负极接在一起,所以数码管显示时需要在数码管的公共端接电源正极或加高电平,段选高电平有效。

             

(a)

 

      

            (b)

(c)

 

    1.2 数码管的字型码

         数码管可以显示0到9共十个数字,如果加上小数点的显示,驱动一个数码管显示的段选信号共需要8位数据。驱动数码管显示数字所需的8位段选数据编码见图1-2-1和1-2-2所示,其中图1-2-1为共阳型数码管数字编码,图1-2-2为共阴型编码。图中dot为高位,a为低位。在单片机系统中,一组I/O的输出(如P0)刚好可以作为数码管的段选信号。

(1-2-1)

(1-2-2)

   1.3 数码管驱动原理

        小尺寸数码管的每一段都是由1个LED组成,段驱动电流一般较小,如SM11050K型0.56英寸的数码管寸每段电流在5毫安左右即可点亮,其驱动与LED一样可以直接由单片机的I/O口驱动。利用P0口直接驱动共阳型数码管电路见图3-3-2所示,其中数码管的共阳极(位选端)接电源正极,段选端a~dot依次接P0.0~P0.7,R0~7是限流电阻,一般取几百欧姆。只要段选端出现有低电平,数码管对应的段就会亮,通过组合就可以形成一定的数字。例如,让数码管显示1,即让数码管b、c段亮,程序控制让P0输出0xbe十六进制编码即可,因此共阳数码管显示0~9十进制数字,需要把显示0~9的10个数字编码放在一个数组中,如seven_seg[10] = {0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80, 0x90}。

                             (单只数码管驱动)

   2. Protuess 设计电路

        

   3.程序设计 

#include<reg51.h>
unsigned char code seven_seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
			0x82,0xf8,0x80,0x90};//共阳数码管 0 - 9
unsigned char i = 0;
void delay(unsigned int x)//延时函数
{
	while(x--);
}
void main()
{
	while(1)
	{
		P0 = seven_seg[i];//显示数字
		delay(50000);//延时
		i++;
		if(i>9)i = 0;
	}
}

 

 

 

  • 9
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点灯师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值