模拟简单计算器实训Word格式文档下载.docx
《模拟简单计算器实训Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《模拟简单计算器实训Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
按时到机房上机,并接受教师的检查。
认真编写课程设计报告。
课程设计可以由2~4名同学合作完成一个课题。
全体成员应共同完成选题,确定设计思想,进行功能模块划分,然后由组长为各成员分配任务。
整个设计期间,组长负责协调工作。
各小组成员明确自己的任务后,应独立完成设计、编码和调试。
课题设计完成后,小组成员要理解同组其他成员设计的源程序,熟练操作本组设计,各自完成课程设计说明书。
1、对系统进行功能需求分析;
2、设计合理的模块结构和系统框架;
3、编程简练,程序功能齐全,能正确运行;
4、说明书、流程图要清楚;
5、课题完成后必须按要求提交课程设计报告;
二.题目说明
我们选择的题目是:
模拟简单计算器。
题目描述:
用AW60实验板模拟计算器。
模拟一个简单计算器的功能,通过键盘按键输入参加运算的运算数和运算符号,运算算式及结果均在液晶显示器上输出。
1)输入:
AW60实验板上有3*3键盘,自定义、分配键盘的9个按键,模拟简单计算器的按键输入。
2)输出:
运算算式及结果均在液晶显示器上输出。
若输入不正确导致不能运算,输出提示信息。
在液晶显示的位置及方式自行定义。
3)时间要求:
利用定时器实现将每次运算及结果显示控制在1分钟内完成,到一分钟后实现自动清屏并显示相关提示信息。
2.1开发背景
在中国,嵌入式软件发展过程中,政府已充分认识到它的重要作用,并在政策、资金等方面给予了大力支持。
2004年国家发改委、科技部、商务部联合颁布的《当前优先发展的高技术产业化重点领域指南》,把嵌入式软件产业作为国家发展的一个重要领域。
最近几年来,中国的嵌入式软件发展速度一直高于中国软件产业的发展速度和全球嵌入式软件的发展速度,在中国软件产业和全球嵌入式软件产业中所占的比重越来越大。
目前,中国嵌入式软件产业在整个软件产业中的比重已经超过了三分之一强。
从2006年至2010年,中国嵌入式软件产业规模仍将保持快速增长态势,年均复合增长率为25.8%,到2010年将达到3339.6亿元的规模。
中国嵌入式软件产业的发展面临着良好的发展环境与机遇,这包括政府的重视与扶植、信息产业与传统产业的融合机遇、垄断局面尚未形成、中国制造的良好基础、自由软件运动的兴起等等。
同时,不可否认的是长期以来,由于人才、宣传、资金等诸多问题以及嵌入式本身所特有的软硬结合特性,使嵌入式软件人才一直处于供不应求的状态。
《单片机原理与应用》这本书,第一章讲的是概述,一些关于嵌入式系统的知识;
下一章讲的是AW60硬件最小系统与S08CPU,介绍AW60和S08CPU的特点、寻址方式、内部寄存器、指令系统;
接着说的是第一个样例程序及CODEWARRIOR,在CW下实现对小灯的控制;
然后又讲的是串口通信接口SCI,说了一些关于中断处理的概念以及在S08CPU中怎么实现中断的、AW60中的中断编程方法;
第五章讲的是GPIO的应用实例——键盘、LED、LCD,使用逐行扫描发去判断被按下的是哪个键值,八段数码管怎么去工作,实现显示效果的,点阵字符型LCD的特点和它的编程案例;
第六章介绍定时器模块,实现了电子表的正常运行,知道了它的基本原理;
还有串行外设接口SPI、A/D转换模块、I2C模块、内部时钟发生模块ICG、FLASH存储器在线编程。
2.2开发工具介绍
MC9S08AW60评估板是一款以学习HCS08系列微控制器为应用目标的评估板。
MC9S08AW60评估板(简称MC9S08AW60EVB)包含MC9S08AW60(以下简称AW60)最小系统、SCI、LED、蜂鸣器、按键、写入调试接口。
评估板配套资料提供了部分硬件模块的以用于实际系统开发中。
开发环境可使用CodeWarrior6.0,可选配写入器。
HCS08系列MCU是Freescale8位微处理器的主流产品,应用非常广泛。
MC9S08AW60微控制器具有多种封装形式,它们分别为44脚、48脚、64脚等,本评估板使用64引脚宽脚封装。
MC9S08AW60微控制器的主要特点概述如下:
①2K片内RAM;
60K片内Flash程序存储器,具有在线编程能力和保密功能。
②时钟发生器模块,具有PLL电路,可产生各种工作频率;
内部总线频率最高可达20MHz。
③增强的HCS08CPU结构;
最高支持26个中断源。
④54根通用I/O脚,部分I/O口有可选择的内部上拉电阻,并且可以选择引脚的驱动能力。
⑤两个增强型串行通讯口SCI;
一个串行外围接口SPI;
一个集成电路内部通信接口IIC;
两个16位双通道定时器接口模块(TIM1和TIM2),每个通道可选择为输入捕捉、输出比较和PWM;
一个模拟信号比较器ACMP;
16路10位AD转换模块;
8位键盘唤醒口;
一个实时时钟计数器模块;
一个计算机工作正常(COP)复位模块。
⑥优化用于控制应用;
优化支持C语言。
2.3小组成员分工
小组成员有:
孙健、薄跃耀、潘贝,孙健负责的是蜂鸣器模块,薄跃耀负责的是键盘模块、LED模块,我负责的是液晶显示模块、定时器模块。
三.硬件方案
3.1硬件设计
3.1.1主控MCU:
MC9S08AW60微控制器具有多种封装形式,它们分别为44脚、48脚、64脚等,本评估板使用64引脚宽脚封装,如图3-1。
【实物图】
图3-1写入调试器实物图
3.1.2键盘:
键盘是常用的输入设备,评估板以9个小按键模拟一个3*3键盘,以掌握矩阵键盘的工作原理,如图3-2所示。
3.1.3调试小灯LED及蜂鸣器:
(1)调试小灯
评估板用LED提供8位数字量的输出。
原理图如图3-3所示
导线接插点为高电平时LED是暗的,低电平时LED是亮的。
2)蜂鸣器输出,原理图如图23所示。
为了节约I/O口,蜂鸣器也采用插孔方式设计,如图3-4所示,当使用蜂鸣器模块时,1孔插地,2孔插接控制I/O口,3孔插接VCC(5V),当控制点为高电平时蜂鸣器响,当控制点为低电平时蜂鸣器不响。
LCD显示:
LCD即液晶,是常用的嵌入式输出设备。
评估板上配置两种LCD,一种使用1602点阵字符型LCD,LCD管脚定义如表1所示,实物及原理图如图3-5所示。
表1LCD1602管脚定义
管脚号
符号
电平
方向
引脚含义说明
1
Vss
电源地
2
Vdd
电源(+5V)
3
V0
液晶驱动电源
4
RS
H/L
输入
寄存器选择;
1-数据寄存器0-数据寄存器
5
R/W
读写操作选择:
1-读操作0-写操作
6
E
H→L
使能信号:
R/W=0,E下降沿有效
R/W=1,E=1有效
7~14
DB0~DB7
三态
8位数据总线
15
NC
空脚,未定义
16
GND
地
此型号液晶采用并口通信方式,评估板中使用PTB口作为数据口,另外控制引脚采用PTA0~PTA3四个引脚控制,如图3-5右侧所示。
-
3.1.4写入调试器:
评估板的左上角是写入器部分,通过6针插座和PC机相连,与MT-IDEForHCS08写入器配套使用,原理图如图3-6所示。
图3-6写入调试器实物图
3.2电路原理图
(1)芯片:
MC9S08AW60CBQFP封装64引脚,如图3-7所示。
(2)最小系统电路:
晶振电路、电源及PLL滤波、复位电路。
晶振电路:
接MCU第57、58脚之间的电路为晶振电路,这里选用的晶振频率为f=4MHz。
通过内部PLL电路模块,可获得小于等于24MHz的内部总线频率。
电路及其元件参数是由AW60参考手册确定的。
滤波电路的作用主要是增强电路工作稳定性。
AW60芯片的21、22脚(VDD、VSS)为芯片的电源输入端。
接在电源与地之间的0.1µ
F电容为滤波电容。
复位电路:
接在MCU第3脚的电路为芯片硬件复位电路。
正常工作时该脚通过10K电阻接到电源正极(这里设为5V电源供电),所以应为高电平。
若按下复位按钮,则第3脚通过接地,为低电平,芯片复位。
(3)I/O口:
每个I/O口都外接到了MCU四周的接线排孔上,用户可以任意使用任何一个I/O口,但要注意不能多个模块同时使用一个口。
注意:
电路板上ADC模块、液晶模块和数码管模块共用一些I/O口,使用时要防止冲突。
四.软件设计
4.1模块划分
模拟简单计算器中涉及的模块有:
LED模块、液晶显示模块、蜂鸣器模块、键盘模块、定时器模块,如图4-1所示。
4.2模块结构图
图4-1模块结构图
4.3液晶显示模块
通过键盘按键,在液晶上显示出来,键盘是3*3的小键盘,能按出来的数字是0、1、2、3、4、5,接着按“+”或者是“-”,继续按的是数字,然后是“=”,就会在液晶显示器上显示结果,如图4-2所示。
图4-2液晶显示
4.4定时器模块
利用定时器可以实现将每次运算及结果显示控制在1分钟内完成;
在液晶显示器上显示的算式,等待30秒后,屏幕会自动清屏,如图4-3所示。
图4-3定时器显示
五.运行结果分析与系统改进
把东西连接好,编译、运行,结果显示:
液晶有二行,第一行是MC9S08AW60,第二行显示的是WelcometoMCU,8盏小灯一直流水亮;
按键盘,按一个数字,蜂鸣器响一下,再按“+”或者“-”,蜂鸣器响一下,接着按个数字,蜂鸣器响一下,然后按“=”,在液晶显示器上显示出等式及结果。
我们制作的模拟简单计算器只能实现一位数的加或者减,不能叠加、叠减,每次按键,都需要判断按键是否符合要求,不满足时,会报错,提醒重新去按键。
在按键的过程中,蜂鸣器可能会响不止一次,这也要我们需要改进程序,减少报错。
多加一些语句,我们也可以实现多位数字进行加或者减,由于键盘上的按键太少了,不能实现一些特别的计算。
该程序运行时,有时候可能会报错,是程序不稳定的原因。
六.遇到的问题和解决方法
1.键盘按键一下,蜂鸣器响好几次。
解决方法:
这是抖动问题,加延时就可以了。
2.LED有的闪烁,有的一点不亮。
连接线路的问题,检查一下线子是否正确连接了。
3.键盘按键时,液晶显示器上没有现象或者是出错。
按键不对,该按数字时你按键的是加或者减或者等于,这都会导致报错。
七.课程设计总结
在生活中,我们对计算器并不陌生,但是要通过程序去实现计算器计算效果的,我们都没有做过,本次课程设计给了我们这个机会,让我们自己动手去实现计算器计算的功能。
我们齐心协力,一起去完成,过程中,我们遇到了许多问题,问同学,问老师,困难一个一个地被我们解决,我们还是很开心、快乐。
通过本次课程设计,学习到了许多知识,同时又把课堂学习到的知识用于实训,充分地表现了个人平时学习的怎么样,分组去做,培养团队合作,互相帮助,一起把各自的课题去攻破,实现了所要求的效果。
短短的一周实训很快结束了,非常感谢老师以及同学的帮助,没有你们的帮助,可能我们的进程就会卡住,停滞不前,导致我们丧失信心,不去思考问题,结果什么都没有实现,就不会得到成功的喜悦。
我想对老师说:
“你们辛苦了!
”
八.参考文献
[1]及力.电子CAD——基于Protel99SE[M].北京:
北京邮电大学出版社.2008
[2]徐丽华,郑洪静.嵌入式应用与实践基础(讲义).2010
[3]王宜怀,张书奎,王林,吴瑾.嵌入式技术基础与实践.北京:
清华大学出版社.2011
[4]Freescale.MC9S08AW60DataSheet,Rev.2,2006