按键发音论文报告.docx
- 文档编号:8726621
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:19
- 大小:160.06KB
按键发音论文报告.docx
《按键发音论文报告.docx》由会员分享,可在线阅读,更多相关《按键发音论文报告.docx(19页珍藏版)》请在冰豆网上搜索。
按键发音论文报告
漳州职业技术学院
计算机应用专业单片机产品设计报告
题目:
按键发音
年级:
11级1班
专业:
嵌入式
学号:
1106003127
学生姓名:
林伏忠
指导教师:
林隽生
2013年6月5日
摘要
近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
本次单片机按键发声器是以单片机(AT89C51)为核心,结合相关的元器件(共阴极LED数码显示器、蜂鸣器,多路开关组成的键盘等),再配以相应的PROTEUS仿真软件,达到制作简易按键发声器的目的,该系统的主要功能是按下键盘按键对应显示出按键符号在LED上并驱动蜂鸣器发出不同的方波。
通过对本次单片机的简单设计以达到认识其结构和熟悉单片机编程,这对单片机的开发有非常重要的意义。
关键词:
AT89C51PROTEUS共阴极LED数码显示器矩阵键盘
目录
1绪论1
1.1单片机发展史1
1.2 单片机的特点2
1.3课程设计目的2
2MCS-51单片机结构功能3
2.1单片机的主要功能3
2.2芯片引脚描述3
2.2.1主电源引脚VCC和VSS4
2.2.2外接晶体引脚XTAL1和XTAL24
2.2.3控制或与其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPP4
2.3MSC-51硬件结构6
3AT89C51功能及特点7
3.1AT89C51单片机简介7
3.2单片机的构成7
3.3AT89C51单片机性能及特点8
3.4AT89C51单片机的引脚说明8
4程序设计11
4.1程序流程框图11
4.2源程序12
5仿真调试15
5.1KeiL调试15
5.2Proteus仿真16
总结17
参考文献18
附图19
1绪论
1.1单片机发展史
如果将8位单片机的推出作为起点,那么单片机的发展历史大致可分为以下几个阶段:
(1)第一阶段(1976-1978):
单片机的控索阶段。
以Intel公司的MCS – 48为代表。
MCS–48的推出是在工控领域的控索,参与这一控索的公司还有Motorola 、Zilog等,都取得了满意的效果。
这就是SCM的诞生年代,“单机片”一词即由此而来。
(2)第二阶段(1978-1982)单片机的完善阶段。
Intel公司在MCS–48 基础上推出了完善的、典型的单片机系列MCS–51。
它在以下几个方面奠定了典型的通用总线型单片机体系结构。
①完善的外部总线。
MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有很多机通信功能的串行通信接口。
②CPU外围功能单元的集中管理模式。
③体现工控特性的位地址空间及位操作方式。
④指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。
(3)第三阶段(1982-1990):
8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。
Intel公司推出的MCS – 96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。
随着MCS – 51系列的广应用,许多电气厂商竞相使用80C51为内核,将许多测控系统中使用的电路技术、接口技术、多通道A/D转换部件、可靠性技术等应用到单片机中,增强了外围电路路功能,强化了智能控制的特征。
(4)第四阶段(1990—):
微控制器的全面发展阶段。
随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。
1.2 单片机的特点
由于单片机的这种结构形式及它所采取的半导体工艺,使其具有很多显著的特点,因而在各个领域都得到了迅猛的发展。
单片机主要发如下特点:
(1)有优异的性能价格比。
(2)集成度高、体积小、有很高的可靠性。
单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。
另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。
(3)控制功能强。
为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。
单片机的逻辑控制功能及运行速度均高于同一档次的微机。
(4)低功耗、低电压,便于生产便携式产品。
(5)外部总线增加了IC(Inter-IntegratedCircuit)及SPI(SerialPeripheralInterface)等串行总线方式,进一步缩小了体积,简化了结构。
(6)单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。
1.3课程设计目的
(1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;
(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;
(3)过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤;
(4)掌握按键扫描原理,了解单片机各个I/O口的相关功能和用途,熟悉使用Proteus和Keil仿真调试软件。
2MCS-51单片机结构功能
2.1单片机的主要功能
MCS-51系列单片机是美国Intel公司在1980年推出的高性能8位单片机。
主要有8031、8051、8751等机型,它们的指令系统与芯片引脚完全兼容,仅片内ROM不同。
51系列主要功能有:
1、8位CPU
2、片内带振荡器,振荡频率fosc范围为1.2-12MHz
3、128个字节的片内数据存储器
4、4K字节的程序存储器(8031无)
5、程序存储器的寻址范围为64K(0000H-FFFFH)
6、片外数据存储器的寻址范围为64K
7、21个字节专用寄存器
8、4个8位并行I/O接口:
P0、P1、P2、P3
9、1个全双工串行I/O接口,可多机通信
10、2个16位定时器/计数器
11、中断系统有5个中断源,可编程为两个优先级
12、111条指令、含乘法指令和除法指令
13、有强的位寻址、位处理能力
14、片内采用单总线结构
15、用单一+5V电源
2.2芯片引脚描述
HMOS制造工艺的MCS-51单片机都采用40引脚的直插封装(DIP方式),制造工艺为CHMOS的80C51/80C31芯片除采用DIP封装方式外,还采用方型封装工艺,引脚排列如图。
其中方型封装的CHMOS芯片有44只引脚,但其中4只引脚(标有NC的引脚1、12、23、34)是不使用的。
在以后的讨论中,除有特殊说明以外,所述内容皆适用于CHMOS芯片。
如图2.1,是MCS-51的引脚图。
在单片机的40条引脚中有2条专用于主电源的引脚,2条外接晶体的引脚,4条控制或与其它电源复用的引脚,32条输入/输出(I/O)引脚。
下面按其引脚功能分为四部分叙述这40条引脚的功能。
图2.1MCS-51单片机芯片引脚图
2.2.1主电源引脚VCC和VSS
VCC——(40脚)接+5V电压;
VSS——(20脚)接地;
2.2.2外接晶体引脚XTAL1和XTAL2
XTAL1(19脚)接外部晶体的一个引脚。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。
当采用外部振荡器时,对HMOS单片机,此引脚应接地;对CHMOS单片机,此引脚作为驱动端。
XTAL2(18脚)接外晶体的另一端。
在单片机内部,接至上述振荡器的反相放大器的输出端。
采用外部振荡器时,对HMOS单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;对XHMOS,此引脚应悬浮。
2.2.3控制或与其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPP
2.2.3.1RST/VPD(9脚):
当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。
推荐在此引脚与VSS引脚之间连接一个约8.2k的下拉电阻,与VCC引脚之间连接一个约10μF的电容,以保证可靠地复位。
VCC掉电期间,此引脚可接上备用电源,以保证内部RAM的数据不丢失。
当VCC主电源下掉到低于规定的电平,而VPD在其规定的电压范围(5±0.5V)内,VPD就向内部RAM提供备用电源。
2.2.3.2ALE/PROG(30脚):
当访问外部存贮器时,ALE(允许地址锁存)的输出用于锁存地址的低位字节。
即使不访问外部存储器,ALE端仍以不变的频率周期性地出现正脉冲信号,此频率为振荡器频率的1/6。
因此,它可用作对外输出的时钟,或用于定时目的。
然而要注意的是,每当访问外部数据存储器时,将跳过一个ALE脉冲。
ALE端可以驱动(吸收或输出电流)8个LS型的TTL输入电路。
对于EPROM单片机(如8751),在EPROM编程期间,此引脚用于输入编程脉冲(PROG)。
2.2.3.3PSEN(29脚):
此脚的输出是外部程序存储器的读选通信号。
在从外部程序存储器取指令(或常数)期间,每个机器周期两次PSEN有效。
但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。
PSEN同样可以驱动(吸收或输出)8个LS型的TTL输入。
2.2.3.4EA/VPP(引脚):
当EA端保持高电平时,访问内部程序存储器,但在PC(程序计数器)值超过0FFFH(对851/8751/80C51)或1FFFH(对8052)时,将自动转向执行外部程序存储器内的程序。
当EA保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。
对于常用的8031来说,无内部程序存储器,所以EA脚必须常接地,这样才能只选择外部程序存储器。
对于EPROM型的单片机(如8751),在EPROM编程期间,此引脚也用于施加21V的编程电源(VPP)。
2.2.3.5输入/输出(I/O)引脚P0、P1、P2、P3(共32根):
①P0口(39脚至32脚):
是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LS型的TTL负载。
②P1口(1脚至8脚):
是准双向8位I/O口。
由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。
P1口能驱动(吸收或输出电流)4个LS型的TTL负载。
对8052、8032,P1.0引脚的第二功能为T2定时/计数器的外部输入,P1.1引脚的第二功能为T2EX捕捉、重装触发,即T2的外部控制端。
对EPROM编程和程序验证时,它接收低8位地址。
③P2口(21脚至28脚):
是准双向8位I/O口。
在访问外部存储器时,它可以作为扩展电路高8位地址总线送出高8位地址。
在对EPROM编程和程序验证期间,它接收高8位地址。
P2可以驱动(吸收或输出电流)4个LS型的TTL负载。
④P3口(10脚至17脚):
是准双向8位I/O口,在MCS-51中,这8个引脚还用于专门功能,是复用双功能口。
P3能驱动(吸收或输出电流)4个LS型的TTL负载。
作为第一功能使用时,就作为普通I/O口用,功能和操作方法与P1口相同。
作为第二功能使用时,各引脚的定义如表所示。
值得强调的是,P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。
下表2.1是各口的第二功能定义
表2.1P3口的第二功能
引脚
线第二功能
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(外部数据存储器读脉冲)
2.3MSC-51硬件结构
MCS-51系列内部结构框图如下图2.3.1所示:
图2.3.1MCS-51硬件电路
含有运算器、控制器、片内存储器、4个I/O接口、串行接口、定时器/计数器、中断系统、振荡器等功能部件,SP堆栈指针寄存器、PSW程序状态字、DPTR数据指针、B寄存器。
MCS-51系列单片机是在一块芯片上集成了CPU,RAM,ROM、定时器/计数器和多功能I/O口等基本功能部件的一台计算机。
单片机必须配备部分外围元件才能使用,其系统核心是单片机芯片,今后的课程将围绕8051芯片讲解单片机原理和应用。
3AT89C51功能及特点
3.1AT89C51单片机简介
AT89C51单片机是一种低功耗,高性能的片内含有4KB可编程/擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的8位COMS微控制器,使用高密度,非易失存储技术制造,并且与AT89C51引脚和指令系统完全兼容。
芯片上的FPEROM允许在线编程或采用通用的非易失存储编程器对存储器重复编程。
AT89C51单片机带有2K字节闪烁可编程可擦除只读存储器的单片机,其内部的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51单片机是一种高效微控制器,也为嵌入式控制系统提供了一种灵活性高且价廉的方案,这就显示出了AT89C51单片机的优越性。
3.2单片机的构成
AT89C51单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多种功能的I/O线等一台计算机所需要的基本功能部件,AT89C51单片机单片机内包含下列几个部件:
(1)一个8位CPU;
(2)一个片内振荡器及时钟电路;
(3)4K字节ROM程序存储器;
(4)128字节RAM数据存储器;
(5)两个16位定时器/计数器;
(6)可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;
(7)32条可编程的I/O线(四个8位并行I/O端口);
(8)一个可编程全双工串行口;
(9)具有五个中断源、两个优先级嵌套中断结构。
其内部机构框图如图3.1所示:
3.3AT89C51单片机性能及特点
(1)与MCS-51微控制器产品系列兼容。
(2)片内有4KB可在线重复编程的快闪擦写存储器(FlashMemory)。
(3)存储器可循环写入/擦除1000次。
(4)存储数据保存时间为10年。
(5)工作电压范围:
Vcc可为2.7V~6V。
(6)全静态工作:
可从0HZ到16MHZ。
(7)程序存储器具有3级加密保护。
(8)128﹡8位内部RAM。
(9)32条可编程I/O线。
(10)两个16位定时器/计数器。
(11)中断结构具有5个中断源和2个优先级。
(12)可编程全双工串行通道。
(13)空闲状态维持低功耗和掉电状态保存存储内容。
3.4AT89C51单片机的引脚说明
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。
图3.3AT89C51单片机引脚图
AT89C51单片机的内部硬件结构中除了程序存储器由FPEROM取代了87C51单片机的EPROM外,其余部分完全相同,其管脚说明如下:
(1)VCC:
供电电压
(2)GND:
接地
(3)时钟电路
XTAL1(19脚)——芯片内部振荡电路(单级反相放大器)输入端。
XTAL2(18脚)——芯片内部振荡电路(单级反相放大器)输出端。
(4)控制信号
RST(9脚)复位信号:
时钟电路工作后,在此引脚上将出现两个机器周期的高电平,芯片内部进行初始复位,P0口~P3口输出高电平,将初值07H写入堆栈指针。
ALE(30脚)地址锁存信号:
当访问外部存储器时,P0口输出的低8位地址由ALE输出的控制信号锁存到片外地址锁存器,P0口输出地址低8位后,又能与片外存储器之间传送信息。
另外,ALE可驱动4个TTL门。
(29脚)片外程序存储器读选通:
低电平有效,
作为程序存储器的读信号,输出负脉冲,将相应的存储单元的指令读出并送到P0口,
可驱动8个TTL门。
/Vpp(30脚):
当
为高电平且PC值小于0FFFH时,CPU执行内部程序存储器程序;当
为低电平时,CPU仅执行外部程序存储器程序。
(5)I/O接口
P0口(P0.0~P0.7,39~32脚)三态双向口:
P0口结构包括一个输出锁存器、两个三态缓冲器、一个输出驱动电路和一个输出控制端。
P0口做地址/数据复用总线使用。
若从P0口输出地址数据信息,此时控制端为高电平,若从P0口输入数据指令信息时,引脚信号应从输入三态缓冲器进入地址总线,它可驱动8个TTL门。
P0~P3口上的“读-修改-写”功能,其操作是先将字节的全部8位数读入,再通过指令修改某些位,然后将新的数据写回到口锁存器中。
P1口(P1.0~P1.7,1~8脚)准双向口:
P1口做通用I/O接口使用,P1口的每一位口线能独立地作用于输入线,P1口可驱动4个TTL门。
P2口(P2.0~P2.7,21~28脚)通用I/O接口:
它做通用I/O接口使用时,是一个准双向口,此时转换开关MUX倒向左边,输出极与锁存器相连,引脚可作为用户I/O口线使用,输入/输出操作与P1口完全相同,P2口做地址总线使用。
当系统中接有外部存储器时,P2口用于输出高8位地址A8~A15,这时在CPU控制下,转换开关MUX倒向右边,接通内部地址总线。
P2口的口线状态取决于片内输出的地址信息,这些信息来源于PC、DPTR等。
在外接程序存储器中,由于访问外部存储器操作连续不断,P2口不断送出地址高8位。
AT89C51单片机的P2口一般只做地址总线使用,不做I/O接口直接连外部设备使用。
P3口(P3.0~P3.7,10~17脚)双功能口:
P3口做通用I/O接口使用,输出功能控制线为高电平,与非门的输出取决于锁存器的状态,此时锁存器Q端的状态与其引脚状态是一致的。
在这种情况下,P3口的结构和操作与P1口相同。
P3口第二功能是可作为系统具有控制功能的控制线,另外P3口可驱动4个LSTTL门电路。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口使用如:
P3.0RXD(串行输入口);
P3.1TXD(串行输出口);
P3.2/INT0(外部中断0);
P3.3/INT1(外部中断1);
P3.4T0(记时器0外部输入);
P3.5T1(记时器1外部输入);
P3.6/WR(外部数据存储器写选通);
P3.7/RD(外部数据存储器读选通);
4程序设计
4.1程序流程框图
开始
初始化
调用显示
有键按下?
N
识别按键
显示字符和发出声音
输出方波
状态处理完?
NY
4.2源程序
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitBEEP=P3^4
sbitK1=P1^1;
sbitK2=P1^2;
sbitK3=P1^3;
sbitK4=P1^4;
voidDelayMS(uintx)
{
uchart;
while(x--)
{
for(t=0;t<120;t++);
}
}
voidPlay(uchart)
{
uchari;
for(i=0;i<100;i++)
{
BEEP=~BEEP;
DelayMS(t);
}
BEEP=0;
}
voidmain()
{
P1=0xff;
while
(1)
{
if(K1==0)Play
(1);
if(K2==0)Play
(2);
if(K3==0)Play(3);
if(K4==0)Play(4);
}
}
5仿真调试
5.1KeiL调试
(1)在Windows下运行KeilµVisiion2软件,进入KeilµVisiion2开发环境。
(2)在KeilµVisiion2选择Project/NewPreject…,建立一个新的工程项目。
(3)给工程项目取名为lock,然后保存。
(4)紧接着自动化弹出器件选择窗,选择Atmel公司的AT89C51,并在弹出窗口中选择否。
(5)在KeilµVisiion2中选择File/New,打开程序编辑器。
(6)输入程序,检查无误后保存文件(扩展名.asm)在工程项目相同的目录中。
(7)在PrejectWorkspace窗口中,选择SourceGroup1条目并单击右键,在弹出的菜单在选择AddFilestoGroup‘SourceGroup1’。
(8)加入刚才保存的汇编程序源文件led88.asm。
注意,按一次Add按键即可,选完后单击Close退出。
(9)在ProjectWorkspace窗口中,选择Target1条目并单击右键,在弹出的菜单中选择OptionforTarget‘Target1‘,准备为Target1配置编译环境。
(10)在Output页为CreateHEXFile项打勾,以便输出单片机烧写用HEX格式文件。
(11)选项配置好后,在KeilµVisiion2中选择Project/Buildtarget,编译工程项目。
(12)编译结果显示在OutputWindows中,若有错,可双击错误提示行,然后定位到源程序中修改;若无误就可进行下面的软件调试。
5.2Proteus仿真
元件清单:
元件名单
所属类
所属子类
AT89C51
Microproessor
8051Family
CAP
Capacitors
Generic
CAP-ELEC
Capacitors
Generic
CRYSTAL
Miscellaneous
Generic
RES
Resistor
Generi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 按键 发音 论文 报告