数码管显示设计Word格式.docx

上传人:b****5 文档编号:19766839 上传时间:2023-01-09 格式:DOCX 页数:16 大小:163.69KB
下载 相关 举报
数码管显示设计Word格式.docx_第1页
第1页 / 共16页
数码管显示设计Word格式.docx_第2页
第2页 / 共16页
数码管显示设计Word格式.docx_第3页
第3页 / 共16页
数码管显示设计Word格式.docx_第4页
第4页 / 共16页
数码管显示设计Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

数码管显示设计Word格式.docx

《数码管显示设计Word格式.docx》由会员分享,可在线阅读,更多相关《数码管显示设计Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

数码管显示设计Word格式.docx

单片机介绍及程序设

摘要

单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。

单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。

通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:

中央处理器、存储器和I/O接口电路等。

因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。

AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。

它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域

关键词:

单片机AT89s51数码管proteuskeil3

第一章单片机介绍

单片机是一种集

成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

1.一、传送操作

2.二、算术操作

3.三、逻辑操作

4.四、控制程序转移

5.五、布尔变量操作

  

  单片机也被称为微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。

单片机由芯片内仅有CPU的专用处理器发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

  早期的单片机都是8位或4位的。

其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。

此后在8031上发展出了MCS51系列单片机系统。

基于这一系统的单片机系统直到现在还在广泛使用。

随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。

90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。

随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。

而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。

目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端[1]的型号也只有10美元。

当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。

而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。

  单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。

事实上单片机是世界上数量最多的计算机。

现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。

手机、、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。

而个人电脑中也会有为数不少的单片机在工作。

汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!

单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。

  单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。

概括的讲:

一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

  单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。

我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!

......它主要是作为控制部分的核心部件。

  它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。

单片机芯片

  单片机是靠程序运行的,并且可以修改。

通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。

一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!

但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!

只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!

  由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?

很多高级的语言已经达到了可视化编程的水平为什么不用呢?

原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。

一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!

对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。

单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。

一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。

  可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。

不过,这种电脑,通常是指个人计算机,简称PC机。

它由主机、键盘、显示器等组成。

还有一类计算机,大多数人却不怎么熟悉。

这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。

顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。

因为它体积小,通常都藏在被控机械的“肚子”里。

它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。

现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。

各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。

现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。

究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。

1.1单片机基础知识学习

  目前,很多人对汇编语言并不认可。

可以说,掌握用C语言单片机编程很重要,可以大大提高开发的效率。

不过初学者可以不了解单片机的汇编语言,但一定要了解单片机具体性能和特点,不然在单片机领域是比较致命的。

如果不考虑单片机硬件资源,在KEIL中用C胡乱编程,结果只能是出了问题无法解决!

可以肯定的说,最好的C语言单片机工程师都是从汇编走出来的编程者因为单片机的C语言虽然是高级语言,但是它不同于台式机个人电脑上的VC++什么的单片机的硬件资源不是非常强大,不同于我们用VC、VB等高级语言在台式PC上写程序毕竟台式电脑的硬件非常强大,所以才可以不考虑硬件资源的问题。

还有就是在单片机编程中C语言虽然编程方便,便于人们阅读,但是在执行效率上是要比汇编语言低10%到20%,所以用什么语言编写程序是要看具体用在什么场合下。

总的来说做单片机编程要灵活使用汇编语言与C语言,让单片机的强大功能以最高是效率展示给用户。

 

第二章AT89S51介绍

2.1AT89S51单片机的主要性能参数和主要引脚

主要性能参数

与单片机产品兼容8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:

0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。

2.2AT89S51芯片内部结构简介

·

中央处理器:

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

·

数据存储器(内部RAM):

数据存储器用于存放变化的数据。

AT89S51中数据存储器的地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。

程序存储器(内部ROM):

程序存储器用于存放程序和固定不变的常数等。

通常采用只读存储器,且其又多种类型,在89系列单片机中全部采用闪存。

AT89S51内部配置了4KB闪存。

定时/计数器(ROM):

定时/计数器用于实现定时和计数功能。

AT89S51共有2个16位定时/计数器。

并行输入输出(I/O)口:

8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。

每个口都由1个锁存器和一个驱动器组成。

它们主要用于实现与外部设备中数据的并行输入与输出,有些I/O口还有其他功能。

全双工串行口:

A89S51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

时钟电路:

时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。

中断系统:

中断系统的作用主要是对外部或内部的终端请求进行管理与处理。

AT89S51共有5个中断源,其中又2个外部中断源和3个内部中断源。

图3-2是AT89S51系列单片机的内部结构示意图。

图3-2AT89S51系列单片机的内部结构示意图

2.3主要引脚功能

AT89S51引脚图如图3-1所示:

VCC:

电源电压

GND:

P0口:

P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。

作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

P1口:

Pl是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

Flash编程和程序校验期间,Pl接收低8位地址。

表1具有第二功能的P1口引脚

端口引脚

第二功能:

P1.5

MOSI(用于ISP编程)

P1.6

P1.7

P2口:

P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器(如执行MOVXRi指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。

Flash编程或校验时,P2亦接收高位地址和其它控制信号。

P3口:

P3口是一组带有内部上拉电阻的8位双向I/0口。

P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。

作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。

P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如下表所示:

表2具有第二功能的P1口引脚

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

/INT0(外中断0)

P3.3

/INT1(外中断1)

P3.4

T0(定时/计数器0外部输入)

P3.5

T1(定时/计数器1外部输入)

P3.6

/WR(外部数据存储器写选通)

P3.7

/RD外部数据存储器读选通)

P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRT0位(地址8EH)可打开或关闭该功能。

DISRT0位缺省为RESET输出高电平打开状态。

ALE/————PROG:

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲。

对F1ash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。

该位置位后,只有一条M0VX和M0VC指令ALE才会被激活。

此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。

————PSEN程序储存允许(————PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次————PSEN有效,即输出两个脉冲。

当访问外部数据存储器,没有两次有效的————PSEN信号。

——EA/VPP:

外部访问允许。

欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。

需注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。

F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。

XTAL1:

振荡器反相放大器及内部时钟发生器的输入端。

第三章数码管的介绍

3.1数码管结构及原理

单片机LED共阳/阴极全部段码表【0-F\H\L\P\R\U\Y\-\.\熄灭】

数码管结构

数码管由8个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字0~9,字符A~F、H、L、P、R、U、Y等符号及小数点“.”。

数码管又分为共阴极和共阳极两种类型。

数码管工作原理

共阳极数码管中8个发光二极管的阳极(二极管正端)连接一起,即为共阳极接法,简称共阳数码管。

通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。

当某段驱动电路的输入端为低电平时,该端所连接的字段导通并点亮。

根据发光字段的不同组合可显示出各种数字或字符。

此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

共阴极数码管中8个发光二极管的阴极(二极管负端)连接在一起,即为共阴极接法,简称共阴数码管。

通常,共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。

当某段驱动电路的输出端为高电平时,该端所连接的字符导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。

同样,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

单片机LED共阳极段码表【0-F】

DB 

0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H 

[0-7]

80H,90H,88H,83H,0c6H,0a1H,86H,8eH 

[8-F]

单片机LED共阴极段码表【0-F】

3FH,06H,5BH,4FH,66H,6DH,7DH,07H 

[0-7]

7FH,6FH,77H,7CH,39H,5EH,79H,71H,76H 

[8-F]

为了满足某些特殊用户需要有时也会用到以下特别字符的段码表

单片机LED共阳极段码表【HLPRUY-.熄灭】

89H,0C7H,8CH,0CEH,0C1H,91H,0BFH,7FH,0FFH 

[HLPRUY-.熄灭]

单片机LED共阴极段码表【HLPRUY-.熄灭】

76H,38H,73H,31H,3EH,6EH,40H,80H,00H 

[HLPRUY-.熄灭]

其中[HLPRUY-,熄灭],这些特殊字符中有些看起来不是很形象,但有时不可避免的会用到.

第四章单片机数码管显示控制程序设计

4.1设计要求

要求利用单片机中断功能控制数码管显示,状态:

当无外中断时,主程序运行状态为七段数码管的A到G段依次点亮,不断循环,有外中断输入时,显示为0到9,然后返回主程序原断点,继续执行,数码管继续段点亮

4.2利用proyeus仿真软件画出电路图

如图3-3

4.3用kiel3设计程序

ORG0

SJMPSTAR

ORG3

SJMPINT0S

STAR:

MOVIE,#81H

MOVTCON,#1

MOVA,#0FEH

MOVP3,#0FFH

ST:

MOVP2,A

ACALLDELAY

RLA

SJMPST

INT0S:

PUSHACC

MOVR2,#16

STT1:

MOVDPTR,#TAB

MOVR0,#0

STT2:

MOVA,R0

MOVCA,A+DPTR

INCR0

DJNZR2,STT2

POPACC

RETI

DELAY:

MOVR7,#250

D1:

MOVR6,#250

D2:

NOP

DJNZR6,D2

DJNZR7,D1

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH

END

无外中断输入时显示为循环段点亮

T图3-4

当输入外中断时显示为0-F

当外中断显示完后返回主程序如图3-4

结论

经过几天的设计,我们的两位数码管倒计时器终于达到了预期的要求,感触颇深的是解决问题的方法,技巧。

在设计制作过程我们遇到许多问题,诸如软件重复更改,调试,硬件稳定性差等方面的问题,但是我们从中学会了对待问题要多方法处理,多角度处理,使我们不仅增强了实践能力和协作精神,而且懂得了联系实际的重要性,这对我们今后的学习和工作是不无裨益。

我们坚信:

爱拼才会赢,阳光总在风雨后!

致谢

我要感谢哈尔滨江南职业技术学院职业技术学院信息工程学院的老师们以及在本学习期间所有教过我的老师们,是你们教导与经验给我打下了知识基础,也促使了我论文的顺利完成。

还有2009届应用电子专业的全部同学,是你们构筑了浓厚的学术氛围与和谐的集体环境,让我能满怀信心地挑战每一个困难。

且行且珍惜,在今后的人生道路上,希望我们都能取得更大的进步与成绩。

参考文献

[1]余发山,王福忠等.《单片机道理及应用技术》.神州矿业大学出书社,2003

[2]何立平易近等.《单片机应用技术选》.北京航空航天大学出书社,1995

[3]吴金戍,沈庆阳等.《8051单片机实践与应用》.清华大学出书社,2004

[4]何立平易近.《MCS-51系列单片机应用系统预设》.北京航空航天大学出书社

[5]孙和平.《单片机道理及其接口技术》.冶金工业出书社,2003年

哈尔滨江南职业技术学院毕业论文指导教师评语

学生姓名

所在班级

论文题目

指导教师评语:

成绩(共100分):

指导教师签字

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1