51单片机——静态数码管显示

1.数码管介绍

2.内部接线图

 

3.数码管引脚定义

 

 

4.驱动芯片74LS138

 

 注意,数据存储时按CBA顺序从高位到低位,三位二进制数对应Y0-7口位0其余位为1,控制数字位置

74HC245

A0对应B0 

根据原理图找到abcdefg dp的二进制数据赋给P0即可

5.模块化的代码

void shuma(int a,int b)
{
	switch(a)
	{
		case 1:P2_4=1;P2_3=1;P2_2=1;break;
		case 2:P2_4=1;P2_3=1;P2_2=0;break;
		case 3:P2_4=1;P2_3=0;P2_2=1;break;
		case 4:P2_4=1;P2_3=0;P2_2=0;break;
		case 5:P2_4=0;P2_3=1;P2_2=1;break;
		case 6:P2_4=0;P2_3=1;P2_2=0;break;
		case 7:P2_4=0;P2_3=0;P2_2=1;break;
		case 8:P2_4=0;P2_3=0;P2_2=0;break;
	}
	switch(b)
	{
		case 0:P0=0x3F;break;
		case 1:P0=0x06;break;
		case 2:P0=0x5B;break;
		case 3:P0=0x4F;break;
		case 4:P0=0x66;break;
		case 5:P0=0x6D;break;
	
	}
}

6.演示代码(在数码管第一位显示1)

#include <REGX51.H>
void delay(int xms)		//@11.0592MHz
{
	unsigned char i, j;
	while(xms)
	{
		i=2;
		j=239;
		do
		{
			while(--j);
		}while(--i);
		xms=xms-1;
	}
}

void shuma(int a,int b)
{
	switch(a)
	{
		case 1:P2_4=1;P2_3=1;P2_2=1;break;
		case 2:P2_4=1;P2_3=1;P2_2=0;break;
		case 3:P2_4=1;P2_3=0;P2_2=1;break;
		case 4:P2_4=1;P2_3=0;P2_2=0;break;
		case 5:P2_4=0;P2_3=1;P2_2=1;break;
		case 6:P2_4=0;P2_3=1;P2_2=0;break;
		case 7:P2_4=0;P2_3=0;P2_2=1;break;
		case 8:P2_4=0;P2_3=0;P2_2=0;break;
	}
	switch(b)
	{
		case 0:P0=0x3F;break;
		case 1:P0=0x06;break;
		case 2:P0=0x5B;break;
		case 3:P0=0x4F;break;
		case 4:P0=0x66;break;
		case 5:P0=0x6D;break;
	
	}
}
void main()
{
	while(1)
	{
		shuma(1,1);
	}
}

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
数码管显示与键盘扫描系统 摘要: 现如今已经跨越了三个"电"的时代,即电气时代、电子时代和现已进入的电脑时代。 不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。 还有一类计算机,这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。这 种计算机的最小系统只用了一片集成电路,就可进行简单运算和控制。因为它体积小, 通常都是放置在一个机械装置的内部。它在整个装置中,起着有如人类头脑的作用,它 出了毛病,整个装置就瘫痪了。各种产品一旦用上了单片机,就能起到使产品升级换代 的功效,常在产品名称前冠以形容词——"智能型",如智能型洗衣机等。现在有些工厂的 技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单 且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。数 码管显示与键盘扫描系统是单片机系统中十分典型的应用,可将4×4键盘的按键对应显示 在数码管上。 关键词:单片机 数码管 一、绪论 1. 研究意义 用单片机驱动LED数码管有很多方法,按显示方式可分静态显示和动态(扫描)显示 ;按译码方式可分硬件译码和软件译码。静态显示数据稳定,占用很少的CPU时间。动态 显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。LE D数码管的外围电路一般需要一个限流电阻和加大驱动电流的晶体管。 LED数码管是由发光二级管显示字段组成的显示器,有"8"字段和"米"字段之分,这种 显示器有共阳极和共阴极两种。实际上不用驱动电路即可达到正常亮度,为了可靠性设 计可采用晶体管构成驱动电路。 2. 设计目的 在单片机的产品设计中,人机界面是非常重要的部分,而且随着系统的日益复杂,以 及人们对产品的人机交互能力的要求不断提升,常握单片机系统中的人机界面基础设计 能力成为了学习单片机的基础课程,而4X4键盘的操作和LED数码管的动态显示是人机界 面设计的基础内容,掌握这些基础设计能力,加深对人机界面的认识,同时提高人机界 面系统设计能力。 3.研究范围及技术要求 半导体数码管,4×4键盘。做此实验用51板,因为51板提供了相应的LED模组,LED显 示器是单片机应用中常用的输出器件,4×4键盘的扩展显示也是在MCS- 51上进行实验。给 4×4 键盘的每个键定义一个功能,其中把定义为 0~9 的键盘称为数 字键,把定义成 DEL 的键称为删除键,把定义成 ENT 的键成为确认键,其他键称为保 留键。如果是数字键按下,把代表数字显示在数码管上:按键按下时,6 位数码管靠右 边显示该键的代表数字;继续按键时,已经显示在数码管上的数字左移一位,按键代表 的数字显示在最右边的数码管上。 4.发展及指导思想 单片机在开发过程中 ,常常会因为资源不足而不得不大量扩展接口芯片以满足应用系统的需要。国外主要采用 串行接口的键盘显示专用芯片,如BC7280/81、HD7279、CH451等。这类芯片占用CPU的资 源少,传输速度较快,外围器件要求也较少,在中小系统中都可得到广泛的应用。指导 思想主要是用串行接口使得键盘的扩展在LED上显示。 二、方案论述 1.数码管工作原理 数码管由 8 个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字 0~ 9,字符 A~F、H、L、P、R、U、Y 等符号及小数点"."。 数码管又分为共阴极和共阳极两种类型。共阳极数码管中 8 个发光二极管的阳极(二极管正端)连接一起,即为共阳极接法,简 称共阳数码管。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端 。 当某段驱动电路的输入端为低电平时,该端所连接的字段导通并点亮。根据发光字段的 不 同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还 需 根据外接电源及额定段导通电流来确定相应的限流电阻。 共阴极数码管中 8 个发光二极管的阴极(二极管负端)连接在一起,即为共阴极接法, 简称共阴数码管。通常,共阴极接低电平(一般接地),其它管脚接段驱动电路输出端 。 当某段驱动电路的输出端为高电平时,该端所连接的字符导通并点亮,根据发光字段的 不 同组合可显示出各种数字或字符。同样,要求段驱动电路能提供额定的段导通电流,还 需 根据外接电源及额定段导通电流来确定相应的限流电阻。 单片机数码管显示控制程序设计仿真图 2. 4×4行列式键盘的工作原理 行列式键盘的工作方式是先用列线发送扫描字,然后读取行线的状态,查看是否有按 键按下。键盘部分提供一种扫描的工作方式,可以和具有64个按键的矩阵键盘相连接, 能对键盘不断扫描、自动消抖、自动识别按下的键,并给出编码,能对双键或n个键同时 按下的情况实行保护。   在显示部分,它可以为发光二极管、荧光管及其他
电子技术基础课程设计报告 定 时 闹 钟 2014年12月24日 摘要 本设计是一个定时闹钟,它仅使用单片的40引脚单片机完成闹钟的全部功能。设计目 的是为了学习和巩固单片机知识,使对已学过的基础知识能有更深入的理解,学会独立 思考、独立思考、独立工作,以及提高对所学应用基本理论分析和解决实际问题的能力 。 本文设计的定时闹钟采用80c51芯片,用汇编语言进行编程,时、分、秒用6位LED数 码管显示。在电路中通过四个按键S1、S2、S3和S4来进行定时和调时,定时时间到通过 喇叭发出报警声。 设计系统的主要功能 · 能显示 时时-分分-秒秒。 · 能够设置定时时间、 修改定时时间。 · 到定时时间能发出报警 1 系统总体方案及硬件设计 1.1 系统总体方案 1)由于要显示数字时间,所以需要6位数码管。 2)时间的定时用时钟电路,修改时间和定时用手动按键控制,报警声通过喇叭发出 。 3)80c51单片机加上外围器件(2个3位共阳数码管,8个限流电阻和一个蜂鸣器)和 应用程序(ISIS 7 Professional软件和KEIL编译软件),构成相应的应用系统。 1.2系统设计方框图 1.3硬件设计 1.3.1芯片:80c51 80c51芯片内不包含一个8位中央处理器cpu,4kb程序存储器ROM,128B随机存取存储器 ,RAM,4个8位并行I/O接口,1个全双工串行通信接口,2个16 位定时器、计数器级及21个特殊功能寄存器。 由先进CMOS 工艺制造并带有非易失性Flash 程序存储器 全部支持12 时钟和6 时钟操作 P89C51X2 和P89C52X2/54X2/58X2 分别包含128 字节和256 字节RAM 32 条I/O 口线 3 个16 位定时/计数器 6 输入4 优先级嵌套中断结构 1 个串行I/O 口 可用于多机通信 I/O 扩展或全双工UART以及片内振荡器和时钟电路。此外,由于器件采用了静态设计,可提 供很宽的操作频率范围,频率可降至0 。可实现两个由软件选择的节电模式,空闲模式和掉电模式,空闲模式冻结CPU但RAM定 时器,串口和中断系统仍然工作掉电模式保存RAM的内容 但是冻结振荡器 导致所有其它的片内功能停止工作。由于设计是静态的时钟可停止而不会丢失用户数据 运行可从时钟停止处恢复。 .1.3.2蜂鸣器 由P3.7口控制蜂鸣器,使其定时时间到能发出报警声。 1.3.3时钟电路 单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。本系统中单片机采用 内部时钟方式。最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。振 荡晶体可在1.2MHz~12MHz之间。电容值无严格要求,但电容取值对振荡频率输出的稳定 性、大小和振荡电路起振速度有少许影响,一般可在20pF~100pF之间取值。 单片机的时钟电路:如图所示 限流电阻:8个10k电阻 控制按键:本系统要进行时间的调整和定时,因此用4个手动按键对其进行控制。 1.3.4显示器模块的设计 利用2个七段数码管6个选位引脚连接C51单片机 P2.5 –P2.0接口,其他8个引脚分别通过限流电阻与C51单片机的P0.0 - P0.7和共阳极数码管连接。 数码管: 单片机中通常使用7段LED,LED是发光二极管显示器的缩写。LED显示器由于结构简单 ,价格便宜,体积小,亮度高,电压低,可靠性高,寿命长,响应速度快,颜色鲜艳, 配置灵活,与单片机接口方便而得到广泛应用。LED显示器是由若干个发光二极管组成显 示字段的显示部件,当发光二极管导通时,相应的一个点或一个笔划发光,控制不同组 合的二极管导通,就能显示出各种字符。 如图所示 2软件设计 2.1划分模块 根据设计要求,定时闹钟程序可分为以下几个模块: 1)显示时间的设置; 2)闹钟时间的设置: 4)定时时间的响应。 3.2程序流程图 程序流程图 2.3汇编程序 ORG 0000H LJMP START ORG 000BH LJMP TIME ;;;;;;;;初始化;;;;;;;; START: MOV SP, #50H MOV 20H,#00H ;定义秒 MOV 21H,#00H ;定义分 MOV 22H,#00H ;定义时 MOV 23H,#01H ;定义闹钟分钟 MOV 24H,#01H ;定义闹钟小时 MOV 25H,#00H MOV 26H,#01H MOV 30H,#00H ;BCD SECOND MOV 31H,#00H MOV 32H,#00H ;BCD MINUTE MOV 33H,#00H MOV 34H,#00H ;BCD HOUR MOV 35H,#00H MOV 36H,#01H MOV 37H,#00H MOV 38H,#01H MOV 39H,#00H MOV 50H,

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值