计算器模拟系统设计-毕业设计.doc

上传人:b****2 文档编号:1268785 上传时间:2022-10-19 格式:DOC 页数:26 大小:453.50KB
下载 相关 举报
计算器模拟系统设计-毕业设计.doc_第1页
第1页 / 共26页
计算器模拟系统设计-毕业设计.doc_第2页
第2页 / 共26页
计算器模拟系统设计-毕业设计.doc_第3页
第3页 / 共26页
计算器模拟系统设计-毕业设计.doc_第4页
第4页 / 共26页
计算器模拟系统设计-毕业设计.doc_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

计算器模拟系统设计-毕业设计.doc

《计算器模拟系统设计-毕业设计.doc》由会员分享,可在线阅读,更多相关《计算器模拟系统设计-毕业设计.doc(26页珍藏版)》请在冰豆网上搜索。

计算器模拟系统设计-毕业设计.doc

计算器模拟系统设计

学生:

XXX指导教师:

XXX

内容摘要:

本设计是基于51系列的单片机进行的简易计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。

设计过程在硬件与软件方面进行同步设计。

硬件选择AT89C51单片机和74lS164,输入用4×4矩阵键盘。

显示用5位7段共阴极LED静态显示。

软件从分析计算器功能、流程图设计,再到程序的编写进行系统设计。

选用编译效率最高的Keil软件用汇编语言进行编程,并用proteus仿真。

关键词:

LED计算器AT89C51芯片74LS164

Calculatorsimulationsystemdesign

Abstract:

Thedesignisasimplecalculatorbasedon51seriesmicrocontrollersystemdesign,tocompletethecalculatorkeyboardinput,add,subtract,multiply,andinadditiontothreeunsignednumericsimplefouroperations,andthecorrespondingresultwillbedisplayedontheLED.

Thedesignprocessofhardwareandsoftwareaspectsofthesynchronousdesign.HardwarechooseAT89C51microcontrollerand74ls164--enterthe4×4matrixkeyboard.Staticdisplaywithfive7-segmentcommoncathodeLEDdisplay.Softwarecalculatorfunctionfromtheanalysis,flowcharts,design,andthenprogramthepreparationofsystemdesign.SelectedtocompilethemostefficientKeilsoftwareinassemblylanguageprogramming,andwithproteussimulation.

Keywords:

LEDcalculatorAT89C51chip74LS164

目录

前言 1

1设计任务和要求 1

1.1设计要求 1

1.2设计方案的确定 2

2单片机简要原理 2

2.1AT89c51介绍 2

2.2芯片74LS164介绍 5

3硬件设计 6

3.1键盘电路的设计 6

3.2显示电路的设计 7

3.3其他电路设计 7

3.3.1复位、时钟电路设计 7

3.3.2多位数码管电路显示的驱动电路 8

4软件设计 9

4.1 主程序的设计 9

4.2显示、读键模块的设计 10

4.3其他内容说明 11

4.3.1定时查键的程序设计 11

4.3.2软件的可靠性设计 12

4.4源程序代码(见附录) 12

5调试与仿真 12

5.1 KeilC51单片机软件开发系统 12

5.2proteus的操作 12

5.2.1硬件电路图的接法操作 12

5.2.2单片机系统PROTEUS设计与仿真过程 13

6结束语 13

附录:

计算器程序代码 15

参考文献:

23

22

计算器模拟系统设计

前言

近年来,单片机以其体积小、价格廉、面向控制等独特优点,在各种工业控制、仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用。

与此同时,单片机应用系统的可靠性成为人们越来越关注的重要课题。

影响可靠性的因素是多方面的,如构成系统的元器件本身的可靠性、系统本身各部分之间的相互耦合因素等。

其中系统的抗干扰性能是系统可靠性的重要指标。

本设计采用AT89C51芯片,实现了利用单片机进行了一个简单计算器设计。

允许对输入数据进行加减乘除运算及LED显示。

如果设计对象是更为复杂的计算器系统,其实际原理与方法与本设计基本相同。

另外,实例所设计的计算器是用LED数码管显示的,当然也可以用其他的器件显示,如LED显示屏,这样就可以显示出更多的字符,在此基础上,还可以编写更加完善的程序来实现更多的计算功能。

设计的关键所在,必须非常熟悉单片机的原理与结构,同时还要对整个设计流程有很好的把握,将单片机和其他模块完整的衔接。

简易计算器的原理与设计是单片机课程设计课题中的一个。

在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用和单片机完整程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。

单片机课程设计既巩固了课本学到的理论,还学到了单片机硬件电路和程序设计,简易计算器课程设计通过自己动手用计算机电路设计软件,编写和调试,最后仿真,来加深对单片机的认识,充分发挥我们的个人创新和动手能力,并提高我们对单片机的兴趣,时学习查阅资料、参考资料的方

1设计任务和要求

1.1设计要求

本次课程设计,我选择的课题是单片机数字计算器硬软件设计,设计任务为:

◊扩展4*4键盘,其中10个数字,5个功能键,1个清零;

◊使用五位数码管接口电路;

◊完成十进制的四则运算(加、减、乘、除);

◊实现低于三位小于255数字的连续运算;

◊使用keil软件编写程序;

◊最后用ptoteus仿真;

1.2设计方案的确定

按照设计要求,本课题需要使用数码管显示和扩展4*4键盘,由于实验箱的硬件电路已经固定,故选择串行静态显示和用P1口扩展4*4键盘,扩展的4*4键盘定义十个数字键,六个功能键,使用串行静态显示显示运算结果。

主程序进行初始化,采用定时器0进行查键,每次按键后调用显示子程序。

2单片机简要原理

2.1AT89c51介绍

图2.1-1AT89C51管脚图

芯片AT89C51的外形结构和引脚图如2—1所示。

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

主要特性:

◊8051CPU与MCS-51兼容

◊4K字节可编程FLASH存储器(寿命:

1000写/擦循环)

◊全静态工作:

0Hz-24KHz

◊三级程序存储器保密锁定

◊128*8位内部RAM

◊32条可编程I/O线

◊两个16位定时器/计数器

◊5个中断源

◊可编程串行通道

◊低功耗的闲置和掉电模式

◊片内振荡器和时钟电路

管脚说明

◊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口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

◊P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

◊P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

管脚备选功能

◊P3.0RXD(串行输入口)

◊P3.1TXD(串行输出口)

◊P3.2/INT0(外部中断0)

◊P3.3/INT1(外部中断1)

◊P3.4T0(记时器0外部输入)

◊P3.5T1(记时器1外部输入)

◊P3.6/WR(外部数据存储器写选通)

◊P3.7/RD(外部数据存储器读选通)

◊P3口同时为闪烁编程和编程校验接收一些控制信号。

◊RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

◊ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令时才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

◊/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

◊/EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

◊XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

◊XTAL2:

来自反向振荡器的输出引脚。

2.2芯片74LS164介绍

74LS164是一个串入并出的8位移位寄存器,他常用于单片机系统中,下面结束一下这个元件的基本知识。

74LS164外部结构和引脚如图2—2所示:

图2.2-174LS164引脚图

主要特性:

◊串行输入带锁存

◊时钟输入,串行输入带缓冲

◊异步清除

◊最高时钟频率可高达36Mhz

◊功耗:

10mW/bit

◊74系列工作温度:

0Cto70C

◊Vcc最高电压:

7V

◊输入最高电压:

7V

◊最大输出驱动能力:

高电平:

-0.4mA;低电平:

8mA

引脚功能:

◊在单片机系统中,如果并行口的IO资源不够,而串行口又没有其他的作用,那

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

当前位置:首页 > 工程科技 > 材料科学

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

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