苏州市职业大学课程设计说明书名称___模拟简单计算器_______________2011 年12月26 日至2011年12月31 日共1 周院系__ 计算机工程系班级10嵌入式姓名系主任____李金祥教研室主任刘文芝指导教师徐丽华、刘文芝目录一.课程设计的目的与要求 (2)1.课程设计的目的 (2)2.课程设计的要求 (2)二.题目说明 (2)2.1开发背景 (3)2.2 开发工具介绍 (4)2.3 小组成员分工 (4)三.硬件方案 (5)3.1硬件设计 (5)3.2电路原理图 (7)四.软件设计 (8)4.1 模块划分 (8)4.2 模块结构图 (9)4.3 液晶显示模块 (9)4. 4 定时器模块 (6)五.运行结果分析与系统改进 (10)六.遇到的问题和解决方法 (11)七.课程设计总结 (11)八.参考文献 (11)一.课程设计的目的与要求1.课程设计的目的《单片机原理与应用》是一门专业技术基础课,是一门实践性很强的课,单片机课程设计要求将所学的理论知识通过实践加强理解和认识,提高学生们对单片机的认识,同时提高同学们的设计能力和实践动手能力。
同时《单片机原理与应用》也是一门应用性很强的专业课,其理论与实践技能是从事嵌入式专业技术工作的人员所不可少的。
本次课程设计选择AW60实验板进行模拟应用设计与开发,要求学生掌握使用 C 语言进行单片机程序设计和调试的方法,提高综合运用所学的理论知识独立分析和解决问题的能力。
同时也为了提高学生的学习能力,锻炼同学之间的合作能力。
2.课程设计的要求在本课程设计过程中要求学生:重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;按照课程设计的题目要求,独立地完成各项任务,不允许相互抄袭;按时到机房上机,并接受教师的检查。
认真编写课程设计报告。
课程设计可以由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是Freescale 8位微处理器的主流产品,应用非常广泛。
MC9S08AW60微控制器具有多种封装形式,它们分别为44脚、48脚、64脚等,本评估板使用64引脚宽脚封装。
MC9S08AW60微控制器的主要特点概述如下:①2K片内RAM;60K片内Flash程序存储器,具有在线编程能力和保密功能。
②时钟发生器模块,具有PLL电路,可产生各种工作频率;内部总线频率最高可达20MHz。
③增强的HCS08 CPU结构;最高支持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:HCS08系列MCU是Freescale 8位微处理器的主流产品,应用非常广泛。
MC9S08AW60微控制器具有多种封装形式,它们分别为44脚、48脚、64脚等,本评估板使用64引脚宽脚封装,如图3-1。
【实物图】图3-1 写入调试器实物图3.1.2键盘:键盘是常用的输入设备,评估板以9个小按键模拟一个3*3 键盘,以掌握矩阵键盘的工作原理,如图3-2所示。
图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所示,实物及原理此型号液晶采用并口通信方式,评估板中使用PTB 口作为数据口,另外控制引脚采用PTA0~PTA3四个引脚控制,如图3-5右侧所示。
Vcc图3-3 调试小灯电路图3-4蜂鸣器电路-3.1.4写入调试器:评估板的左上角是写入器部分,通过6针插座和PC 机相连,与MT-IDE For HCS08写入器配套使用,原理图如图3-6所示。
图3-6 写入调试器实物图3.2电路原理图(1) 芯片:MC9S08AW60CB QFP 封装 64引脚,如图3-7所示。
(2) 最小系统电路:晶振电路、电源及PLL 滤波、复位电路。
晶振电路:接MCU 第57、58脚之间的电路为晶振电路,这里选用的晶振频率为f=4MHz 。
通过内部PLL 电路模块,可获得小于等于24MHz 的内部总线频率。
电路及其元件参数是由AW60参考手册确定的。
滤波电路的作用主要是增强电路工作稳定性。
AW60芯片的21、22脚(VDD 、VSS )为芯片的电源输入端。
接在电源与地之间的0.1µF 电容为滤波电容。
图3-5 LCD 实物图复位电路:接在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,第二行显示的是Welcome to MCU,8盏小灯一直流水亮;按键盘,按一个数字,蜂鸣器响一下,再按“+”或者“-”,蜂鸣器响一下,接着按个数字,蜂鸣器响一下,然后按“=”,在液晶显示器上显示出等式及结果。
我们制作的模拟简单计算器只能实现一位数的加或者减,不能叠加、叠减,每次按键,都需要判断按键是否符合要求,不满足时,会报错,提醒重新去按键。