您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 电子技术课程设计报告初稿
电子技术课程设计报告初稿简单计算器(实现整数的加减乘除)设计姓名:梁鸿儒张宣城学院:电子电器工程学院学号:021213201021213210完成时间:2015.0607摘要计算器在人们的日常中是比较的常见的电子产品之一。可是它还在发展之中,以后必将出现功能更加强大的计算器,基于这样的理念,本次设计是用单片机来设计的八位计算器。该设计系统是以AT89C51为单片机,用74LS245为显示位控制,P1口作为输入端,外接4X4的键盘,通过键盘扫描来对输入数的控制,并外接驱动电路,系统采用LED数码管作为显示器,软件程序采用均采用C++编写,便于移植与升级。报告详细介绍了整个系统的硬件组成结构、工作原理和系统的软件程序设计。计算器将完成的功能有整数的加,减,乘,除等功能。关键字计算器数码管74LS245晶振51单片机目录第一章设计目的与意义第二章方案论证与设计2.1设计目标和实现方法2.2方案论证与设计第三章硬件模块介绍3.1运算模块3.2单片机(AT89C51)3.3.引脚介绍3.3174ls245芯片74ls245芯片所示3.4输入模块3.4.1键盘介绍3.5显示模块第四章仿真及调试第五章总结第六章参考文献第1章设计的指标1.设计目的和意义1.1设计目的设计4*4的键盘,其中10个数字键0~9,其余6个为“+”“-”“*”“/”“=”和“C”,最大显示实现6位数,可以基本的运算(加减乘除),数据归零。1.2意义计算器在人们的日常中是比较的常见的电子产品之一。可是它还在发展之中,以后必将出现功能更加强大的计算器,基于这样的理念,本次设计是用单片机来设计的八位计算器。第二章方案论证与设计2.1方案论证2.1.1方案1根据功能和指标要求,本系统选用MCS-51系列单片机AT89C51为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。计算器电路包括三个部分:显示电路、4*4键扫描电路、单片机微控制电路。用七段数码管作为显示电路,矩阵键盘作为输入电路。模块图如下图1所示。图12.1.2方案二根据计算器的功能要求,选择AT89C51为主控机,通过扩展必要的外围接口电路,实现对计算器的设计。外部主要由4*4矩阵键盘和一个液晶显示屏构成,内部由一块AT89C51单片机构成。计算器电路包括四个部分:选用LED作为显示部分,矩阵键盘作为输入部分,运算模块,单片机控制部分。模块图如图2所示。图22.1.3对比选择从电路结果的准确角度来说方案二要优于方案一,因为方案二用LED作为显示电路,显示结果清楚明了,比用方案一的准确度更高,而且电路连线相对比较简单。为了得到更好的结果,所以选择方案二。2.2整体设计根据简易计算器的功能和指标要求,本设计系统选用MCS-51系列单片机AT89C51为主控机。通过扩展必要的外围接口电路,实现对简易计算器的设计。计算器电路包括三个部分:显示电路、4*4键扫描电路、单片机微控制电路。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用七段数码管显示数据和结果。(2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16个按键即可。(3)执行过程:开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。(4)错误提示:当计算器执行过程中有错误时,会在LED上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LED上提示溢出;当除数为0时,计算器会在七段数码管上提示错误。线路原理框图如图3所示图3第3章硬件模块介绍3.1运算模块电路原理框图如图4所示51系单片机统4*4键盘LED显示晶振电路复位电路开始初始化参数初始化LED显示有数输入读取键码LED显示数字键清零键功能键状态清零输入数值数值送入显示缓冲YN等待数值输入结果送入显示缓冲根据上次功能键和输入的数据计算结果本次功能键?等待数值输入结果送入显示缓冲等待数值输入结果送入显示缓冲图4系统总流程图3.2单片机(AT89C51)AT89C51是一种带4K字节FLASH存储器(FPEROM-FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。为本科单片机教学主要芯片TMS320F2812,DSP原理与应用技术.AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.2.1单片机主要特性及特性概括1)与MCS-51兼容2)4K字节可编程FLASH存储3)寿命:1000写/擦循环4)数据保留时间:10年5)全静态工作:0Hz-24MHz6)三级程序存储器锁定7)128×8位内部RAM8)32可编程I/O线9)两个16位定时器/计数器10)5个中断源11)可编程串行通道12)低功耗的闲置和掉电模式13)片内振荡器和时钟电路主要特性概括::AT89C51:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。3.2.2单片机原理图如下图所示图551单片机原理图3.2.3单片机源程序3.3引脚介绍3.3.1管脚图如图6所示Vcc:供电电压GND:接地P0口:P0口为一个8位漏极开路双向I/O口,每脚可吸收TTL门电流。当P0口的管脚第一次写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口也可作为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(外部数据存储器读选通)图6at89c51引脚图P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.3.2晶体振荡器特性:是指从一块石英晶体上按一定方位角切下薄片(简称为晶片),石英晶体谐振器,简称为石英晶体或晶体、晶振;而在封装内部添加IC组成振荡电路的晶体元件称为晶体振荡器。其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.3174ls245芯片当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)DIR=“1”,信号由A向B传输;(发送)当CE为高电平时,A、B均为高阻态。由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,E端接地,保证数据线畅通。74ls245芯片所图7所示74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器.当片选端/CE低电平有效时,DIR=0,信号由B向A传输;(接收)DIR=1,信号由A向B传输;(发送)当CE为高电平时,A、B均为高阻态。图774ls245管脚图由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,E端接地,保证数据线畅通。8051的/RD和/PSEN相与后接DIR,使得RD和PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)3.4输入模块3.4.1键盘介绍计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O线作为行线,四条I/O线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地
本文标题:电子技术课程设计报告初稿
链接地址:https://www.777doc.com/doc-2253437 .html