手把手教学51单片机第三课 | 复位电路、数码管静态显示

最新更新时间:2022-04-18来源: eefocus关键字:51单片机  复位电路  数码管  静态显示 手机看文章 扫描二维码
随时随地手机看文章

1.复位电路

1个机器周期=12个震荡周期(晶振)

51单片机复位要求:高电平>=2个机器周期

时间常数τ


复位电路要求是RST引脚高电平有效大于2个机器周期,相当于24个震荡周期,假设震荡频率是12Mhz。τ=根号RC,其中R是10KΩ,C是10uf,实际值是τ=0.12s,理论上要大于等于12us(晶振频率分之一),这样就一定成立了。


以下是复位电路图

在这里插入图片描述

---------------------------------------------------------------------------------------分割线-----------------------------------------------------------------------------------


首先关闭S2,相当于单片机上电 用示波器观察R1右侧的节点电压,S2闭合瞬间电容相当于导线,RST触发高电平,上电复位持续时间相29ms,接着电容慢慢充电,节点电压变低,变成低电平,结束复位。1

在这里插入图片描述

---------------------------------------------------------------------------------------分割线-----------------------------------------------------------------------------------

在这里插入图片描述

当此时按下按钮(相当于S1闭合),此时电容放电,R1分到的电压升高,到达0.7VCC仅用了15ms,此时RST引脚又到达高电平,电路复位

在这里插入图片描述

1法拉(F)= 1000毫法(mF)

1毫法(mF)=1000微法(μF)

1微法(μF)=1000纳法(nF)

1纳法(nF)=1000皮法(pF)


数码管

我们用到的是八段数码管,即七段表示数字的二极管还有一个表示小数点的dp


静态显示


静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。


(1)上拉电阻

单片机输出的电流是非常小的,点亮二极管的时候是5-10mA的电流 ,而I/O口输出的时候不到一个毫安,不满足点亮条件,这时候需要一个Vcc来提供电流,

当我们给单片机的P0^0口送高电平,给P20送低电平的时候,在这条线路上会产生一个电势差,此时通过额外5v的Vcc结合1k的排阻,就能送出5mA的电流,点亮二极管。

在这里插入图片描述

(2)共阴极 共阳极

在这里插入图片描述

共阴极和共阳极是相对于一个8位的数码管而言(上面只画出了4个),此时阴极连接在一起,阴极就叫位选(即哪一位数码管亮),阳极就是段选。共阳极就是反过来的。


(3)锁存器(74HC573)

锁存器的第11管脚,即锁存端,是高电平的时候 ,输入端和输出端是直通的;低电平,输出端保持原来的值。本开发板采用的是共阴极的数码管接法,相同段的段选全部接在一起,8个位选分别于锁存器的8个输出端连接。所以:先决定第几个8位数码管亮,那一位数码管显示什么数字


2.实例

#include

#define uchar unsigned char 

#define uint unsigned int 

sbit dula=P2^6;

sbit wela=P2^7;

uchar num;

uchar code table[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};//16个数字

void delay(uint);

void main()

{

wela=1;

P0=0xc0;

wela=0;

while(1)

{

for(num=0;num<16;num++)

{

dula=1;

P0=table[num];

dula=0;

delay(1000);

}

}

}


void delay(uint z)

{

uchar x,y;

for(x=z;x>0;x--)

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

}


关键字:51单片机  复位电路  数码管  静态显示 编辑:什么鱼 引用地址:手把手教学51单片机第三课 | 复位电路、数码管静态显示

上一篇:手把手教学51单片机 | 第三课之 定时器中断
下一篇:手把手教学51单片机第二课 | 流水灯 蜂鸣器 继电器

推荐阅读

用AT89C51单片机显示倒计时程序
;可设定时间的倒计时定时器,可选择5/15/20/30/35/45/50分钟倒计时;倒计时时间由四位拨码开关的2/3/4位来控制,;第2位表示5分钟,第3位表示15分钟,第4位表示30分钟,;通过不同的组合可以产生5/15/20/30/35/45/50分钟倒计时;P1.0口的外接的发光二极管为状态LED,定时未开始时LED常亮,定时过程中LED闪烁;K1为开始按钮,K2为停止按钮适用STM8S/STM8L/STM8A N76E003 脱机编程器/烧录器/下载器/SP_00【包邮】m.tb.cn/h.UlXVKiOa_bit equ 20h ;数码管个位数存放内存位置b_bit equ 21h ;数码管十位数存放内存位置temp eq
发表于 2023-01-13
用C语言写一个驱动数码管程序
/****** 本程序功能说明 *****用STC的MCU的IO方式控制74HC595驱动8位数码管。显示效果为: 数码时钟。使用Timer0的16位自动重装来产生1ms节拍,程序运行于这个节拍下, 用户修改MCU主时钟频率时,自动定时于1ms.*****/#define MAIN_Fosc 22118400L //定义主时钟#include "STC15Fxxxx.H"#define Timer0_Reload (65536UL -(MAIN_Fosc / 1000)) //Timer 0 中断频率, 1000次/秒#define DIS_DOT 0x20#define DIS_BLACK 0x10#defin
发表于 2023-01-13
用单片机AT89C51驱动两位数码管显示00--99依次循环程序代码
;两位数码管显示00--99依次循环org 0000ha_bit equ 20h ;数码管个位数存放内存位置b_bit equ 21h ;数码管十位数存放内存位置temp equ 22h ;计数器数值存放内存位置star: mov temp,#0 ;初始化计数器,从0开始stlop: acall display;调用显示子程序inc temp;对计数器加1mov a,tempcjne a,#100,next ;判断计数器是否满100?mov temp,#0;满100就清零重新开始next: ljmp stlop;不满就循环执行;显示子程序display: mov a,temp ;将temp中的十六进制数转换成10进制mov b,#1
发表于 2023-01-12
51单片机数码管静态显示和动态显示原理及实验 夜猫子
数码管多位数码管,即是两个或两个以上单个数码管并列集中在一起形成一体的数码管。当多位一体时,它们内部的公共端是独立的,而负责显示什么数字的段线全部是连接在一起的,独立的公共端可以控制多位一体中的哪一位数码管点亮,而连接在一起的段线可以控制这个能点亮数码管亮什么数字,通常我们把公共端叫做“位选线”,连接在一起的段线叫做“段选线”有了这两个线后,通过单片机及外部驱动电路就可以控制任意的数码管显示。一般一位数码管有10个引脚,二位数码管也是10个引脚,四位数码管是12个引脚。为了更方便区分段选和位选,请看下原理图:如图为两个4位一体的数码管,可以看到与8个com相连的是两个数码管的位选,位选与引脚相连,所以位选控制那个灯亮。段选可以看到a
发表于 2023-01-12
<font color='red'>51单片机</font><font color='red'>数码管</font><font color='red'>静态</font><font color='red'>显示</font>和动态<font color='red'>显示</font>原理及实验 夜猫子
51单片机独立按键和矩阵按键实现
独立按键实验按键是一种电子开关,使用时轻轻按开关按钮就可使开关接通,当松开手时,开关断开。我们开发板上使用的按键及内部简易图如下图所示管脚与管脚之间(注意是距离)距离长的是导通状态,短的是接通状态。通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,电压信号如下图所示:如图所示,按键闭合式不会立刻稳定的接通,断开时也不会一下子断开,会伴随一些抖动。抖动的时间长短有按键特性决定,一般为5Ms到10ms.按键抖动会引起按键被误读多次。为了确保 CPU 对按键的一次闭合仅作一次处理,必须进行消抖。消抖消抖可分为硬件消抖和软件消抖。为了使电路更加简单,通常采用软件消抖。一般来说一个简单的按键消抖就是先读取按键的状态, 如果得到按键按下
发表于 2023-01-12
51单片机8*8点阵原理及实现
LED点阵(8*8)LED 点阵是由发光二极管排列组成的显示器件,在我们日常生活的电器中随处可见,被广泛应用于汽车报站器,广告屏等。通常应用较多的是 8* 8 点阵,然后使用多个 8 * 8 点阵可组成不同分辨率的 LED点阵显示屏,比如 16* 16 点阵可以使用 4 个 8* 8 点阵构成。因此理解了 8* 8LED点阵的工作原理,其他分辨率的 LED 点阵显示屏都是一样的。这里以 8* 8LED 点阵来做介绍。发光原理8* 8 点阵共由 64 个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置 1 电平(行所接的是二极管的阳极,所以为高电平),某一列置 0 电平(列所接的是二极管的阴极极,所以为低
发表于 2023-01-12

推荐帖子

BeagleBone-Black团购在即,想购买的亲来报下名啊~
回顾一下,我来到论坛已经整整两个月,这段时间,我认识了不少热心的朋友,也曾帮过一些坛友的小忙,在论坛的互动中我收获了快乐和满足感 BeagleBone-BlackEE团开团在即,这是我来到论坛负责的第一个团购活动,一想到又能为可爱的网友们带来这么实惠强大的开发板,我小激动啊。为了庆祝自己这两个月的论坛工作风调雨顺,同时也想笨鸟先飞一把,所以我提前几天开贴预热,有购买意向的朋友都来跟帖捧场啊:carnation:BeagleBone-Black团购在即,想购买的亲来报下名啊~
phantom7 DSP 与 ARM 处理器
各种开发板甩卖,走过路过不要错过!
给家里腾地方,手上不用的开发板甩卖了,交易走闲鱼。看上的给我回复或私信均可。总价超过100元包邮。 1.SK-M32F407开发板+7寸液晶屏模块+光盘+赠送OV2640摄像头(七八个)(350元) 板子具体配置可看http://twarm.com/commerce/produc...6c2bfc7363169bb995c 2.MarsBoard开发板(英蓓特出的飞思卡尔i.MX6DualARMCORTEX-A9处理器开发板)(280元) 3.各种新唐开发板 NANO130
anning865 淘e淘
嵌入式实时操作系统μCOS-II(第二版)
嵌入式实时操作系统μCOS-II(第二版)嵌入式实时操作系统μCOS-II(第二版)
richarming 嵌入式系统
STM8AD值读不准?不知道是什么原因
单片机STM8S903K3 本人采用单次扫描模式,可以读的到AD值的变化,但是AD值不准 具体来说,测量到AD口的电压为0.65V理论计算AD值应该为133,但是程序运行中AD转化器读的AD值是46。差别太大了。 程序如下,请大侠们指点问题出在哪? AD转换程序 voidad_equel_value(void) { uchara,x,n,m,y; ADC_CR1|=0x01;唤醒AD转换器 ADC_CR2=0X0a;//使能扫描模式,A/D转换为单次扫描模式,
chen_elppa stm32/stm8
德州仪器再度荣获全球“最佳企业公民 100 强”称号
014年5月8日,北京讯日前,德州仪器(TI)公司被《企业责任杂志》(简称《CR杂志》)推选为全球最佳企业公民100强,在该杂志的第15届年度最佳企业公民100强榜单上排名第31位,较之去年的第38位进一步攀升。这是TI第12次获得此项殊荣。 TI首席公益事务官TrishaCunningham说:“能再度登上这个具有广泛影响力的榜单,TI感到十分荣幸,因为这反映了我们公司和我们的员工对于高道德标准、环境管理和积极服务于社会的承诺。我们
azhiking TI技术论坛
提高ADC采样精度的方法
提高ADC采样精度的方法 提高ADC采样精度的方法
QWE4562009 电路观察室
小广播
设计资源 培训 开发板 精华推荐

何立民专栏 单片机及嵌入式宝典

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

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