单片机控制数码管显示的设计与实现.docx
- 文档编号:6060637
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:8
- 大小:78.59KB
单片机控制数码管显示的设计与实现.docx
《单片机控制数码管显示的设计与实现.docx》由会员分享,可在线阅读,更多相关《单片机控制数码管显示的设计与实现.docx(8页珍藏版)》请在冰豆网上搜索。
单片机控制数码管显示的设计与实现
单片机控制数码管显示的设计与实现
作者:
段丽丽
【摘要】随着计算机技术的发展,现代的计算机都是大规模集成电路计算机它们具有功能强、结构紧凑、系统可靠等特点,其发展趋势是巨型化、微型化、网络化及智能化。
微型化是计算机发展的重要方向,也就是把计算机的运算器、控制器、存储器、I/O接口四个组成部分集成在一个硅片内,于是就出现了一个以大规模集成电路为主要组成的微型计算机即单片机(SingleChipMicrocomputer)。
正是由于单片机技术的发展,才能使LED七段数码管能够在减少驱动器的情况下能够直接被驱动。
由于LED数码管显示技术的优势使得它被广泛应用在工业过程控制系统、智能仪表,智能产品等领域。
本论文重点介绍了LED(lightemissiondiode)数码管显示技术,并且编写了这种显示技术在单片机中实现的关键编码以及提供了参考原理简图。
【关键词】LED技术计算机硬件单片机数码管
SCMcontrolofthedigitaldisplayoftheDesignandImplementation
【Abstract】Withthedevelopmentofcomputertechnology,moderncomputersarelarge-scaleintegratedcircuitcomputerfunctionstheyhavestrong,compactandreliablesystem,andothercharacteristics,anditsdevelopmenttrendishuge,miniaturization,networkingandintelligent.Micro-computerdevelopmentisanimportantdirection,thatis,thecomputeroperator,controller,memory,I/Ointerfaceinthefourcomponentsoftheintegratedwithinasiliconchip,sotherehavebeenalarge-scaleintegratedcircuitsforThemaincomponentsofthemicro-computerthatisSCM(SingleChipMicrocomputer).ItispreciselybecausethedevelopmentofSCMtechnologytomakedigitalLEDQiduanthedrivetoreducethecasetobedrivendirectly.AsLEDdigitaldisplaytechnologyoftheadvantagesofmakingitwidelyusedinindustrialprocesscontrolsystems,smartinstrumentation,smartproducts,andotherfields.ThispaperfocusesontheLED(lightemissiondiode)displayofdigitaltechnology,andthepreparationofthisdisplaytechnologyinSCMinachievingthekeycodesandtoprovideareferenceprinciplesketch.
【Keywords】LEDtechnology;Computerhardware;scm;Digitalcontrol
单片机控制数码管显示的应用面积很广泛,实用性极强,而其的设计是基于嵌入式的控制器设计。
嵌入式应用涉及面较广,想要进入嵌入式应用系统的开发,就必须打好嵌入式应用设计与编程基础。
本课题是设计单片机最底层设置,通过实现本课题来培养自身嵌入式设计能力锻炼设计者设计一个完整项目的实际思路。
本论文共分四章即:
基本概念;数码管显示原理;硬件及软件设计部分;总结.
1基本概念
1.1单片机
微型计算机的出现是电子数字计算机广泛应用到人们日常工作、生活领域中去的一个重大的转折点。
它已经深入应用到非微型计算机所无法应用的领域,对社会产生了极大的影响。
单片机微型计算机是微型计算机发展中的一个重要的分支,它以其独特的结构和性能,越来越普及地应用到国民经济的各个领域。
随着大规模、超大规模集成电路技术的发展和计算机微型化的需要,将微型计算机的基本功能部件:
中央处理器(CPU)、存储器、输入/输出接口、定时器/计数器、中断系统等多种资源集成在一个半导体芯片上,使得一块集成电路芯片就能构成一个完整的微型计算机。
这种集成电路芯片被称为单片微型计算机。
由于它的结构及功能均是按照工业控制要求设计的,所以其确切的名称应是单片微型控制器。
在单片机的结构设计上,它的硬、软件系统及I/O接口控制能力等方面都有独到之处,具有较强而有效的功能。
从其组成、逻辑功能上来看,单片机都具备了微型系统的基本部件。
但需要指出的是,单片机毕竟还只是一个芯片,只有在配置了应用系统所需的接口芯片、输入/输出设备后,才能构成使用的单片机应用系统。
1.2数码管
在单片机应用系统中,显示器是一个不可缺少的人机交互设备之一,是单片机应用系统中最基本的输出装置。
通常需要用显示器显示运行状态以及中间结果等信息,便于人们观察和监视单片机系统的运行状况。
而单片机系统中最为常见的显示器是发光二极管数码显示器(简称LED显示器)。
LED显示器具有低成本、配置简单、安装方便和寿命长等特点。
但显示内容比较有限,一般不能用于显示图形。
LED显示器是由若干个发光二极管组成,数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);当发光二极管导通时,相应的一个点或一个笔画发亮。
控制不同组合的二极管导通,就能显示出各种字符。
2数码管显示原理
2.1显示原理
数码管显示器有共阳极和共阴极两种。
共阴极LED显示器的发光二极管的阴极连接在一起,通常是其公共阴极接地当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。
同样,共阳极LED显示器的发光二极管的阳极连接在一起,通常是其公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段就被显示。
在控制LED数码管过程中,将不同的8位二进制数送到数码管中就可以使数码管显示不同的数字了。
在单片机应用系统中,单片机与数码管的连接可以分为静态显示和动态显示。
静态显示时,较小的电流能得到较高的亮度且字符不闪烁。
在单片机系统设计时,静态显示通常利用单片机的串行口实现。
当显示器位数较少时,采用静态显示的方法比较适合。
N位静态显示器要求有N*8根I/O口线,占用I/O口线较多。
所以在位数较多时往往采用动态显示方式。
所谓动态显示方式就是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方法称为位扫描。
通常,各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的位选线(公共阴极或阳极)由另外的I/O口线控制。
动态方式显示时,各数码管分时轮流选通。
要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码。
依此规律循环,即可使各位数码管显示将要显示的字符。
虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。
2.2图解(以下为具体图解说扫描法LED的显示原理)
8段数码管一般由8个发光二极管(Llight-emittingdiode,LED)组成,每一个位段就是一个发光二极管。
一个8段数码管分别由a、b、c、d、e、f、g位段,外加上一个小数点的位段h(或记为dp)组成。
根据公共端所接电平的高低,可分为共阳极和共阴极两种,如图2-1所示。
实物外型见图2-2。
有时数码管不需要小数点,只有7个位段,称7段数码管。
共阴极8段数码管的信号端高电平有效,只要在各个位段上加上相应的信号即可使相应的位段发光,比如:
要使a段发光,则在a段加上高电平即可。
共阳极的8段数码管则相反,在相应的位段加上低电平即可使该位段发光。
因而,一个8段数码管就必须有8位(即1个字节)数据来控制各个位段的
亮灭。
比如:
对共阴极8段数码管,PTA0~7分别接a~g、dp,即PTA=0b011111111时,a段亮;当PTA=0b00000001时,除h位段外,其他位段均亮。
如此推算,有几个8段数码管,就必须有几个字节的数据来控制各个数码管的亮灭。
这样控制虽然简单,却不切实际,MCU也不可能提供这么多的端口用来控制数码管,为此,往往是将几个8段数码管合在一起使用,通过一个称为数据口的8位数据端口来控制段位。
而一个8段数码管的公共端,原来接到固定的电平(对共阴极是GND,对共阳极是Vcc),现在接MCU的一个输出引脚,由MCU来控制,通常叫“位选信号”,而把这些由n个数码管合在一起的数码管组称为n连排数码管。
这样,MCU的两个8位端口就可以控制一个8连排的数码管。
若是要控制更多的数码管,则可以考虑外加一个译码芯片。
例如:
一个4连排的共阴极数码管,它们的位段信号端(称为数据端)接在一起,可以由MCU的一个8位端口控制,同时还有4个位选信号(称为控制端),用于分别选中要显示数据的数码管,可用MCU另一个端口的4个引脚来控制。
如图2-3所示。
对于图2-3所示的4连排数码管,利用CS3、CS2、CS1、CS0控制各个数码管的位选信号,每个时刻只能让一个数码管有效,即CS3、CS2、CS1、CS0只能有一个为0,例如令CS3=0,CS2、CS1、CS0=111,则数据线上的数据体现在第一个数码管上,其他则不受影响。
要让各个数据管均显示需要的数字,则必须逐个使相应位选信号为0,其他位选信号为1,并将要显示的一位数字送到数据线上。
这种方法叫“位选线扫描法”。
虽然每个时刻只有一个数码管有效,但只要延时适当,由于人眼的“视觉暂留效应”(约100ms左右),看起来则是同时显示的。
3硬件及软件设计
3.1硬件设计
硬件设计的任务是根据总体设计要求,在所选定的单片机类型的基础上,具体确定系统中所用的元器件及系统构成方式。
单片机应用系统中可用的各种元器件的种类繁多、功能各异、价格不等,这就为用户在元器件功能、特性等方面的选择提供了较大的自由度。
本次设计选用的主控芯片是Freescale公司推出的MC68HC980GP32芯片
图3-1给出了一个4连排共阴极8段数码管的编程实例。
在硬件连接上,利用MCU的A口控制8个位段(数据),用B口的低四位控制数码管的位选信号。
图中,PTA7~0分别接h~a位段,PTB3~0分别过1K电阻与CS3~0位选端相接,这样PTB3就控制最左边一个数码管的显示,PTB0则控制最右边一个数码管的显示。
接在位选线上的1K电阻是限流电阻,避免电流过大烧坏数码管。
3.2软件设计
LED编程汇编语言例
实例编号:
A08路径:
\ASM\A08_数码管LED(LEDMain.asm)
*------------------------------------------------------*
*文件名:
LEDMain.asm*
*硬件连接:
PTA7-0分别接LED的数据线hgfedcba*
*PTB3-0分别接各LED的位选线(自左到右)*
*程序描述:
在4连排数码管上从左至右显示3568*
*目的:
实现数码管的显示*
*说明:
SD-HC08实验仪器未提供LED的固定接线,也未提供LED,可*
*自行购买,在IC扩展区接线,同时注意LCD及键盘的可能影响*
*-------《嵌入式应用技术基础教程》教学实例-------------*
*[头文件]
$include"GP32ASM.H";包含GP32的头文件
*[两个起始地址名]
RAMstartAddrequ$0040;RAM的起始地址
FlashStartAddrequ$8000;程序开始地址
*[LED相关信号口]
LEDdataequPTA;LED数据线接口
LEDdata_DequDDRA;数据线相应方向寄存器
LEDcsequPTB;位选线接口
LEDcs_DequDDRB;位选线相应方向寄存器
*[内存变量]
orgRAMstartAddr;RAM的起始地址
CSrmb1;位选信号
LEDbufrmb4;LED显示缓冲区
I1rmb1;临时变量
I2rmb1;临时变量
*======================================================
*[主程序]
orgFlashStartAddr;程序起始地址
start:
;复位后程序从此开始执行
;[堆栈初始化]
SEI
LDHX#$023F
TXS
JSRGP32Init;调系统初始化子程序GP32Init
;[LED口初始化]
XX文库-让每个人平等地提升自我LDA#%11111111
STALEDdata_D;数据口为输出到LED
STALEDcs_D;位选口为输出到LED
MainLoop:
;LEDbuf[0-3]中放入要显示的数字
MOV#!
3,LEDbuf
MOV#!
5,{LEDbuf+1}
MOV#!
6,{LEDbuf+2}
MOV#!
8,{LEDbuf+3}
;在4位共阴极LED上显示LEDbuf中的4个数据(只允许0-9)
MOV#%11110111,I1;初始位选信号(共阴极情况)
MOV#!
4,I2;显示个数
LDHX#LEDBuf
LEDShow:
PSHH;保护数据地址
PSHX
LDX,X;数据
LDAI1;位选信号
JSRLEDshow1;显示一个数据
LDAI1;变动位选信号
SEC
RORA
STAI1
;延时
LDHX#!
10
JSRDelay_ms
PULX;恢复数据地址
PULH
AIX#!
1;指向下一个数据
DBNZI2,LEDShow
JMPMainLoop
*LEDshow1:
在1个LED上显示数字---------------------------*
*功能:
在第A个LED上显示数字X(本处转码)*
*入口:
A(LED信号,决定位选)X(要显示的数字)*
*出口:
无*
*------------------------------------------------------*
LEDshow1:
PSHH;保护HX
CLRH
STALEDcs;送位选信号
LDATable,X;取显示码
STALEDdata;送到LED数据线
PULH;恢复H
RTS
*[显示码表]0123456789
Table:
FCB$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F
*[外部子程序存放处,这些子程序都在当前目录中]
$INCLUDE"GP32init.asm"
$INCLUDE"Delay.asm"
*[中断向量]
ORG$FFFE
DWstart;复位向量
4总结
本文设计的单片机控制数码管显示,已经在我们设计的系统中成功应用,基本达到设计要求。
致谢
首先,要衷心感谢的是我的指导老师,刘雪兰老师!
从我刚接触题目到最终完成,刘老师一直保持着密切关注的态度,给我提出很多宝贵的意见和建议,在此,向刘老师致以最挚的谢意!
感谢刘老师的耐心辅导!
我还要感谢所有教导过我的老师们!
你们传授给我的专业知识是我不断成长的源泉,也是完成本论文的基础,谢谢你们!
此刻,我向在座的所有老师说一声”谢谢老师,老师你们辛苦了!
”
参考文献
1毛谦敏.单片机原理及应用系统设计[M].北京:
国防工业出版社,2005.
2陈光东,赵性初.单片微型计算机原理与接口技术(第二版)[M].武汉:
华中科技大学出版社.1999
3李华等.MCS-51系列单片机实用接口技术[M].北京:
北京航空航天大学出版社,1993
4戴胜华等.单片机原理与应用[M].北京:
清华大学出版社,2005
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 控制 数码管 显示 设计 实现