《单片机原理及应用》期末课程设计计算器模拟系统

上传人:壹****1 文档编号:466287314 上传时间:2023-10-26 格式:DOC 页数:26 大小:836KB
返回 下载 相关 举报
《单片机原理及应用》期末课程设计计算器模拟系统_第1页
第1页 / 共26页
《单片机原理及应用》期末课程设计计算器模拟系统_第2页
第2页 / 共26页
《单片机原理及应用》期末课程设计计算器模拟系统_第3页
第3页 / 共26页
《单片机原理及应用》期末课程设计计算器模拟系统_第4页
第4页 / 共26页
《单片机原理及应用》期末课程设计计算器模拟系统_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《《单片机原理及应用》期末课程设计计算器模拟系统》由会员分享,可在线阅读,更多相关《《单片机原理及应用》期末课程设计计算器模拟系统(26页珍藏版)》请在金锄头文库上搜索。

1、数理与信息工程学院单片机原理及应用期末课程设计计算器模拟系统 数理与信息工程学院单片机原理及应用期末课程设计 题 目: 计算器模拟系统 专 业: 计算机科学与技术(专升本) 班 级: 07计专升本 姓 名: 学 号: 指导老师: 成 绩: ( 2008.6 )目 录 第一节 引 言21.1 AT89C51单片机介绍21.2 LED数码管显示器概述51.3 输入设备键盘的简述6第二节 系统总体方案及硬件设计72.1 设计要求72.2 设计方案72.3 硬件系统设计72.3.1时钟电路设计72.3.2复位电路82.3.3显示驱动电路82.3.4蜂鸣器提示9第三节 软件设计103.1键盘的扫描103

2、.2按键的处理113.3 动态数码显示12第四节 Proteus软件仿真134.1 Proteus ISIS简介134.2 Proteus工作过程134.2.1加法演示结果144.2.2减法演示结果144.2.3乘法演示结果154.2.4除法演示结果16结 束 语27参考文献28计算器模拟系统数理与信息工程学院 07计算机专升本 指导教师: 第一节 引 言 本设计是一个计算器模拟系统,可以实现加减乘除的运算以及对计算器的数字信息的输入和运算结果并且显示在相应的LED上,输入完毕要求有声音提示。对于计算器模拟系统的实现,很多种语言都可以实现,但C语言是我们学到的一种高级语言程序,用它来实现程序较

3、为简单,易于实现。又由于要求模拟的计算器显示8位数字,所以采用八位LED动态显示,为了简化线路采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。输出采用动态扫描的方式,每次中断时间一到,选通所要显示那一个的L ED ,并对其送相应的二进制代码,使其显示一位字符。中断时间很短,人眼分辨不出,所以可以实现数字一起显示出来由于输入采用4X4矩阵式键盘,所以本设计避免了I/O口扩展使程序简化。对于键盘为了消除抖动,需要进行延迟,再判断,确实有键按下后,可以根据该行不同的值用选择分支语句进行相应的操作。 八个引脚用来扫描键盘的输入,八个引脚用来驱动八位LED显示,八个引脚用作八

4、位LED的位选信号。当显示器输出大于八位时,可以在剩下的I/O口中任意选一个用来使一扬声器发出声音表示输出超出预定的范围。本设计实现功能:(1)计算器最多只能显示8位数字,开机运行时,只有数码管最低位显示为“0”,其余位全部不显示;(2)具有44键盘,分别表示09、/ 、和清零键CL,输入的数字从设计的键盘输入;(3)第一次按下时,显示“D1”;第二次按下时,显示“D1D2”;第三次按下时,显示“D1D2D3”,8个全显示完毕,再按下按键下时,发出“嘀”提示音;(4)可以对计算结果小于256的两个无符号数进行加、减、乘、除运算,并显示计算结果。(5)结果溢出时发出“嘀”报警声。1.1 AT89

5、C51单片机介绍AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片

6、机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图1-1 AT89C51结构图管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这

7、是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉

8、电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能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口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入

9、。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在

10、由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡

11、均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器

12、,禁止所用其他芯片功能,直到下一个硬件复位为止。1.2 LED数码管显示器概述LED,发光二极管,是一种固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个“P-N结”。当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。而光的波长也就是光的颜色,是由

13、形成P-N结的材料决定的。LED的内在特征决定了它是最理想的光源去代替传统的光源,它有着广泛的用途。七段LED有7个发光二极管按”日”字形排列,所有二极管的阳极或阴极连在一起。当某个发光二极管的阴极接低电平或阳极接高电平是时,对应二极管点亮,根据不同的组合。形成不同的字符0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f。 LED具有静态和动态显示之分,动态是一个字位一个字位各只LED轮流点亮,每个字位停留小于人的视觉,好像LED是点亮的。LCD显示器有分段式和点阵式两种结构。LCD是一种被动显示器,由于它的功耗极低,抗干扰能力强,因而在低功耗的单片机系统中大量使用。1.3 输入设

14、备键盘的简述键盘是有若干案件组成的开关矩阵,他能实现简单的人机对话。而与计算机系统的键盘有两类:一类是编码键盘,即键盘上比合建的识别由专门硬件来实现;另一类是非编码键盘,即键盘输入及闭合键的识别由软件来完成。图1-2 输入设备键盘图第二节 系统总体方案及硬件设计2.1 设计要求设计具体要求:(1)要求模拟的计算器至少显示8位数字,开机运行时,只有数码管最低位显示为“0”,其余位全部不显示;(2)设计44键盘,分别表示09、/ 、和清零键CL,输入的数字从设计的键盘输入;(3)第一次按下时,显示“D1”;第二次按下时,显示“D1D2”;第三次按下时,显示“D1D2D3”,8个全显示完毕,再按下按键下时,给出“嘀”提示音;(4)可以对计算结果小于256的两个无符号数进行加法运算,并显示计算结果。对于、/、和的运算为提高部分;(5)编写程序,用proteus软件进行仿真。报告中给出操作过程及运行效果图。2.2 设计方案(1)I/O口扩展问题本次设计要用到8个口作为输出显示LED的位选通信号,8个口用作LED的驱动而对于16个输入键,可以用矩阵式4X4键盘仅用8个口来实现,这样可以节省I/

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号