单片机原理及应用课程设计课程设计报告-简易计算器

上传人:aa****6 文档编号:29985808 上传时间:2018-01-26 格式:DOC 页数:28 大小:247.50KB
返回 下载 相关 举报
单片机原理及应用课程设计课程设计报告-简易计算器_第1页
第1页 / 共28页
单片机原理及应用课程设计课程设计报告-简易计算器_第2页
第2页 / 共28页
单片机原理及应用课程设计课程设计报告-简易计算器_第3页
第3页 / 共28页
单片机原理及应用课程设计课程设计报告-简易计算器_第4页
第4页 / 共28页
单片机原理及应用课程设计课程设计报告-简易计算器_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《单片机原理及应用课程设计课程设计报告-简易计算器》由会员分享,可在线阅读,更多相关《单片机原理及应用课程设计课程设计报告-简易计算器(28页珍藏版)》请在金锄头文库上搜索。

1、湖 南 人 文 科 技 学 院课 程 设 计 报 告课程名称:单片机原理及应用课程设计设计题目: 简易计算器 系 别: 通信与控制工程系 专 业: 电子信息工程 班 级: 09 级一班 学生姓名: 学 号: 起止日期 : 2011 年 12 月 19 日 2011 年 12 月 31 日指导教师: 教研室主任: 指导教师评语:指导教师签名: 年 月 日成绩项 目 权重刘伟斌 齐敏1、设计过程中出勤、学习态度等方面 0.22、课程设计质量与答辩 0.53、设计报告书写及图纸规范程度 0.3成绩评定总 成 绩 教研室审核意见:教研室主任签字: 年 月 日教学系审核意见:主任签字: 年 月 日摘 要

2、单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本次设计是设计一个简易计算器,能够进行多位简单的加减乘除运算,同时它能支持6 位整数运算。它主要由 STC89C52 单片机、A8255、数码管,键盘等模块组成。本计算器是将键盘输入信息经处理通过缓存,送入数码管显示,键盘采用行列式,数码管采用动态扫描方式,计算功能通过软件实现,用 C 语言对单片机可编程芯片进行编程,实现对计算器的设计。关键词:单片机;计算器;C 语言;键盘;数码管目 录设计要求 .11、方案论证与对比 .11.1 方案一 .11.2

3、 方案二 .21.3 两种方案的对比 .22、硬件电路设计 .32.1 主控电路设计 .32.2 键盘电路设计 .62.3 显示电路设计 .73、系统工作流程及流程图 .94、系统功能测试与整体指标 .124.1 软件调试步骤 .124.2 程序调试步骤 .124.3 测试结果 .125、详细元件清单 .136、总结与思考及致谢 .147、参考文献 .15附录一 主程序 .16附录二 键盘程序 .17附录三 计算程序 .18附录四 显示程序 .211简易计算器设计要求14X4 键盘输入,数码管显示。2完成整数的加减乘除,加法和减法要求可以实现连加、连减。3可进行错误判断,溢出、除零等错误将显示

4、一个字符 E 。4由于键盘只有 16 个按键,安排如下: +-+| 7 | 8 | 9 | + | 4 | 5 | 6 | - | 1 | 2 | 3 | * | AC | 0| = | / |+-+1、方案论证与对比按照设计要求,本次设计的简易计算器要能够实现 6 位的整数运算,因此,这时,我们在这一点的设计上提出了以下两种不同的方案。1.1 方案一 此方案首先通过键盘得到数据,通过 A8255 记录数据,并通过程序对数据进行处理,最后通过数码管显示出来。结构框图如图 1:2STC89C52 A8255数码管显示键盘图 1 方案一方框图1.2 方案二此方案先通过键盘得到数据,通过 STC89

5、C52 记录数据,并通过程序对数据进行处理,最后通过数码管显示出来。结构框图如图 2:STC89C52数码管显示键盘图 2 方案二方框图 1.3 两种方案的对比相同点:两方案的基本的设计思想相同,都是由键盘等到数据,最后数码管显示出来。3不同点:方案一是通过扩展芯片 A8255 对数据进行处理,而方案二则直接由STC89C52 对数据进行处理。两者相比,方案一采用的芯片内存大,利于运算处理,所以采用方案一。2、硬件电路设计2.1 主控电路设计STC89C52 是一个低功耗,高性能 CMOS 8 位单片机,片内含 4k BytesISP(In-system programmable)的可反复擦写

6、 1000 次的 Flash 只读程序存储器,器件采用 STC 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令系统及 80C51 引脚结构。STC89C52具有如下特点:40个引脚(引脚图如图3所示) ,4k Bytes Flash 片内程序存储器,128 bytes 的随机存取数据存储器(RAM ) ,32个外部双向输入/输出(I/O )口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外, STC89C52RC 设计和配置了振荡频率可为0Hz 可通过软件设置省电模式。空闲模式下,CPU 暂停工作

7、,脌 RAM时计異器,串行口,外中断系统可绷续工作,掉电模式决结振荡器而保存 RAM 的数据,停止芯片其它功能盤至外中断激活戶硬件复位。同时该芯片还具有 PDIP、TQFP 和PLCC 等三种封装形式,以适应不尌产品的需求。 STC8;C52芯片引脚图如图( 1)所示。4图3 STC89C52 芯片引脚图 VCC(40): 5V。GND(r0 :接地。P0口(3932 ):P0口为 8位漏极开路双向 I/O 口,每引脚可吸收8个 TTL 门电流。P口(18):P1口是从厅部提供上拉电阻器的8位双向 I/O 口,P1口缓冲 能接收和输出 个 TTL 门电流。 P2口(2128 ):P2 口为内部

8、上拁电阻器的 8位双向 I/O 口,P2口缓冲器可採收和输出$个 TTL 门电流。 P3口(1017 ):P3 口是 8个带内部上拉电阻癨的双向 I/O 口,可接收和输出4个TTL 门电流,P3 口也可作为 AT8951的特殊功能口。 RST(9):复位输入。当振荡器复位时要保持 RST 录脚2个机器周期的高电平时间。 ALE/PR_G(30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址5的低位字节,在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6 ,它可用作对外部输出的脉冲或用于定时目的,要注意的是,每

9、当访问外部数据存储器时,将跳过1个 ALE 脉冲。PSEN(29):外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期2次 PSEN 有效,但在访问外部数据存储器时,这2次有效的 PSEN 信号将不出现。 EA/VPP(31):当 EA 保持低电平时,外部程序存储器地址为(0000HFFFFH)不管是否有内部程序存储器。FLASH 编程期间,此引脚也用于施加12V 编程电源(VPP) 。 XTAL1(19):反向振荡器放大器的输入及内部时钟工作电路的输入。 XTAL2(18):来自反向振荡器的输出。 单片机系统里常用的8255芯片是一个典型的可编程通用并行接口芯片,用来扩展单片

10、机的端口,它具有3个8位的并行口,有三种工作方式,可作为单片机与各种外部设备连接的接口电路。芯片8255引脚图如图(3)所示。RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 PA0PA7:端口A输入输出线,一个 8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位的I/O 锁存器,一个8位的输入输出缓冲器。PC0PC7 :端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4

11、位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。 RD:读信号线,当这个输入引脚为低电平时,允许 8255通过数据总线向CPU发送数据或状态信息,即CPU 从8255读取信息或数据。 6WR:写入信号,当这个输入引脚为低电平时,允许 CPU将数据或控制字写8255。 D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。图 4 8255 芯片引脚图2.2 键盘电路设计键盘输入采用4*4的矩阵键盘。4*4键盘分别与PC0PC7相连。PC0PC3 作为输入口(回送线) ,PC4PC7作为输出口(扫描线) 。16 个按键分别用于控制数字“09”以及数学运算符号“+、-、*、/” 。 键盘模块电路如图(3)所示。7图 5 键盘设置图当进行扫描时,扫描信号由列引脚输入键盘。以 1000、0100、

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

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