单片机技术课程设计报告简单计算器

上传人:xzh****18 文档编号:41762033 上传时间:2018-05-30 格式:DOC 页数:19 大小:225.13KB
返回 下载 相关 举报
单片机技术课程设计报告简单计算器_第1页
第1页 / 共19页
单片机技术课程设计报告简单计算器_第2页
第2页 / 共19页
单片机技术课程设计报告简单计算器_第3页
第3页 / 共19页
单片机技术课程设计报告简单计算器_第4页
第4页 / 共19页
单片机技术课程设计报告简单计算器_第5页
第5页 / 共19页
点击查看更多>>
资源描述

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

1、福建工程学院软件学院福建工程学院软件学院题题 目:目: 简单的整形计算器简单的整形计算器班班 级:级: 物联网物联网 2 2 班班姓姓 名:名: 孙建兴孙建兴学学 号:号: 31121132293112113229指导老师:指导老师: 郑旭丹郑旭丹日日 期:期: 20132013 年年 1212 月月 2424 日日 课课设设报报告告目录1 摘要 .32 设计要求 .32.1 功能需求 .32.2 设计要求 .33 硬件设计及描述 .53.1 总体描述 .53.2 系统总体框图 .63.3 Proteus 电路图.63.4 各部分硬件介绍 .64 软件设计流程及描述 .94.1 程序流程图 .

2、94.2 函数模块及功能 .95 功能实现(功能介绍+照片).196 心得体会 .197 源程序 .201 摘要摘要 通过本课程设计使学生进一步巩固单片机原理与技术的基本概念、理论,分析问题的基本方法;增强学生的软件编程实现能力和解决实际问题的能力,使学生能有效的将理论和实际紧密结合,拓展学生在工程实践方面的专业知识和相关技能。2 设计要求设计要求 分别对键盘输入检测模块;LCD 显示模块;算术运算模块;并用 Visio 画系统方框图,keil 与 protues 仿真分析其结果。 2.1 功能需求 现实生活中人们熟知的计算器,其功能主要如下:(1)键盘输入;(2)数值显示;(3)加、减、乘、

3、除四则运算。针对上述功能,计算器软件程序要完成以下模块的设计:(1)键盘输入检测模块;(2)LCD显示模块;(3)算术运算模块。2.2 设计要求本系统选用AT89C51单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计,具体设计如下:(1)由于设计的计算器要进行四则运算,为了得到较好的显示效果,经综合分析后,最后采用LCD 显示数据和结果。(2)采用键盘输入方式,键盘包括数字键(09)、符号键(+、-、)、清除键(onc)和等号键(=),故只需要16 个按键即可。(3)在执行过程中,开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执

4、行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。3、主体设计部分:、主体设计部分:3.1 系统总体框图 单片机运算模块显示模块输入模块图 3.1 系统总体框图 3.23.2、算术运算程序流程图:、算术运算程序流程图:加加开开始始判判断断运运算算符符?乘乘除除减减判判断断结结果果溢溢出出?除除数数为为0?错错误误信信息息送送显显示示缓缓冲冲数数值值送送显显示示缓缓冲冲YNNY图 3.2 算术运算程序流程图3.33.3、系统总流程图:系统总流程图:开始参数初始化根据运算符进 行相应的运算判断输入 的值把数值给a和b根据运算符和数 值进行运算得

5、出 结果把结果显示在液 晶1602中判断是否清屏图 3.33.3 系统总流程图系统总流程图4 、 各部分硬件介绍 ( (一)、一)、总体硬件设计:总体硬件设计:本设计选用 AT89C51 单片机为主控单元; 显示部分:采用 LCD 静态显示;按键部分:采用 4*4 键盘;用 LCD1602 为 4*4 键盘扫描 IC,读取输入的键值。总体设计效果如下图:图 4.41 总体设计效果如下图(二)(二) 、LCDLCD 显示模块:显示模块:本设计采用 LCD 液晶显示器来显示输出数据。通过 D0-D7 引脚向 LCD 写指令字或写数据以使 LCD 实现不同的功能或显示相应数据。图 4.42 LCD

6、显示模块(三)(三) 、排阻作用排阻作用第一个是为了加大传感器驱动电流。第二个只有在用p0口时才需要排阻作为上拉电阻图 4.43 排阻(四)(四) 、键盘接口电路:、键盘接口电路:计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为44个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。矩阵键盘的工作原理:计算器的键盘

7、布局如图1所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。图 4.44 矩阵键盘模块(五)(五) 、AT89C51 简介简介 AT89C51 是一种带 4K 字节 FLASH 存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS 8 位 微处理器,俗称 单片机。AT89C2051 是一种带 2K 字节闪存可编程可擦除 只读存储器的 单片机。 单片机的可擦除 只读存储器可以反复擦除 1000 次。该器件采用 ATMEL 高密度非易失 存储器制造技术

8、制造,与工业标准的 MCS-51指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁 存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简版本。AT89C51 单片机为很多 嵌入式控制系统提供了一种灵活性高且价廉的方案。图 4.45 AT89C51功能说明:外部中断 0 调用函数,计时开始并实时显示定时计数器跳变的时间及按键的判断。5 、功能实现(功能介绍+照片)5.1、加法功能:图 5.1加法功能5.2、减法功能:图 5.2减法功能5.3、乘法功能:图 5.3乘法功能5.4、除法功能:图 5.4除法功能6 、心得体会 通过本次

9、课程设计让我更加了解了单片机各模块的功能,包括数码管显示,4*4 键盘,独立按键。实验过程让我更加了解并进一步掌握了中断,定时计数,4*4 键盘输入等程序编写。以及掌握了通过 Proteus 构造自己所需要的外围电路,进行仿真实验。通过此次课程设计,初步掌握了使单片机多个模块进行工作的原理和方法。7 源程序 #include#include#define int8 unsigned char#define int16 unsigned intsbit EN=P23; /LCD 定义引脚sbit RS=P24;sbit RW=P20;sbit busy=P07; /矩阵键盘键值表 char co

10、de num=7,8,9,*,4,5,6,/,1,2,3,-,c,0,=,+;char code num1=0,1,2,3,4,5,6,7,8,9;static char ckey; /当前按键字符long a,b;/前后两数 char flag;/是否有符号键按下char f;/判断按下的是什么符号键(+,-,*,/)long result;/运算结果static int16 c=0;/字符显示位置void delay_ms(int8 z); / 延迟函数void wait_busy();/忙等待void write_cmd(int8 cmd);/写指令void write_data(int8 dat);/写数据void Initialize_LCD(); /LCD1602 初始化void LCD_ShowString(int8 r, int8 c,int8 *str); /在指定位置显示字符串void keyboard();/键盘按键扫描void digit_a();/加减乘除处理void digit_b();/a 和 b 运算的结果在 1602 上显示void digit_c();/把输入的数存入到 a 和 b/-

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

当前位置:首页 > 机械/制造/汽车 > 电气技术

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