嵌入式技术基础与实践.doc
《嵌入式技术基础与实践.doc》由会员分享,可在线阅读,更多相关《嵌入式技术基础与实践.doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 课 程 设 计 报 告课程设计名称:嵌入式技术基础与实践 系 别 : 三 系 学 生 姓 名: 班 级: 09通信工程 学 号: 成 绩: 指 导 教 师: 王志超 开 课 时 间: 2012-2013学年 1 学期 第一章 嵌入式系统的需求分析HC08和HCS08单片机是Freescale(飞思卡尔)公司于2000年前后推出的新一代单片机。HC08、HCS08系列单片机使用相当的广泛,集成度高不需外扩,减少外扩带来的干扰,符合嵌入式单片机的要求,性能稳定、性价比高。飞思卡尔半导体是全球领先的半导体公司,为汽车、消费、工业、网络和无线市场设计并制造嵌入式半导体产品。在全球30多个国家和地区拥
2、有设计、研发、制造和销售机构。飞思卡尔半导体是全球最大的半导体公司之一。Freescale公司(2004年7月之前称为Motorola公司的半导体事业部)为全球提供的各种MCU已 突破170片,广泛用于各大品牌的产品:摩托罗拉手机、索尼电子、惠尔普电器、罗技(Logitech)键盘与鼠标、美国力健(Lifefitness)心血管与力量训练器材、思科(Cisco)路由器、Bose音响、Trane供暖与制冷设备以及奔驰、宝马、福特、现代和通用汽车。然而我国国内大多数“熟悉”单片机的人却不知晓这一底细,国内的微控制器市场从20世纪80年代开始,一直由Intel公司推出的MCS-51占据着绝对的统治地
3、位。人们又逐渐发现,从进口的电子信息类产品,特别是各类通信产品中,其中有MCU的,多数使用了Freescale的产品,而不是MCS-51。因此学习Freescale HCS08是非常重要,本报告描述一个Freescale HCS08单片机实验系统软件实例,通过各个不同模块,验证单片机各模块工作是否正常。可以独立工作观察MCU工作是否正常,也可以通过串行通信与PC机连接,实现与PC机的相互控制。 嵌入式系统设计的学习,首先把嵌入式系统软件与硬件基础打好了,再根据实际需要,选择一种实时操作系统(RTOS)进行学习实践。使用RTOS也是视实际情况而定,使用RTOS适合实时多任务多线程的情况。 在此设
4、计,MCU与PC机间通信的数据是几种不同外设,为了区分,需给不同的外设数据前标识不同的标识符,用于确定不同外设的数据。编程之前确定每个模块硬件正常与否,测试方法参考“实验指导”教材相应章节。编程设计方法:MCU端每个模块程序编写完成后,及时用串行通信软件通过SCI连接PC机调试MCU端程序。MCU的每个模块调试成功后,再使用高级语言开发编写PC端的相应通信模块程序,直至综合实验系统完全实现。 完成普通I/O口输入输出、驱动LCD显示、串行通信数据接收与发送、定时器计时、PWM、键盘输入、AD转换、FLASH读写模块等功能。第二章 系统构成2.1 硬件原理图图C-1 系统硬件原理图(最小系统)系
5、统使用MC9S08AW60 MCU 为核心,其最小原理图见图C-1 所示。 (1)用 PTC 口的 2 引脚连接1 号小灯; (2)用 PTD 口的 1 引脚连接拨码开关; (3)用 PTE 口的 0 引脚、 1 引脚分别连接SCI 串行通信的发射口、接收口; (4)用 PTA 口的 07 引脚连接LCD 的数据口, PTC 口的 4、6 引脚、 PTF 口的 6 引脚连接LCD 的控制引脚RS、RW、E,共 3 个引脚驱动LCD 显示; (5)用 PTD 口的 2、3、7 引脚以及 PTG 口的 04 引脚共 8 个引脚连接键盘;其中 PTD 口的 2、3、7 引脚和 PTG 口的 4 引脚
6、定义为输入线, PTG 口的 03 引脚定义为输出线,利用扫描方式获取健值; (6)用 PTD 口的 6 引脚定义为AD 采样线,MCU 读取该引脚,显示对象的量化值; (7) PTE 口的 2 引脚输出PWM 波,控制连接在该引脚小灯的亮度。 具体连线方式见图C-2。 图C-2 系统连线图2.2 软件结构图 软件包括MCU端与PC端2部分组成,下面分别介绍2部分软件的结构。2.2.1 MCU端软件结构 图C-3 MCU端软件结构图 根据需求分析,选择MCU端所需资源,MCU可以开关控制、小灯显示、LCD显示、LED显示、键盘输入、AD转换、定时器溢出计时、产生PWM波、FLASH读写、SCI
7、串行通信数据发送与接收等。 MCU端软件结构图,如图C-3所示。 硬件组建的方法:测试所选择的每个模块,成功一个添加一个,同时做好测试软件的备份,并注释日期。模块验证的方法见各实验的章节。 2.2.2 PC端软件结构 图C-4 PC端软件结构图 PC端使用C#编程,以串行通信为核心,使用串行通信与MCU进行通信实现,对MCU的控制和对MCU反馈信息进行处理,并反映在用户界面上。 根据MCU提供的功能,编写程序匹配其工作。PC端程序包括串行通信数据输入输出、开关小灯控制、AD转换数据显示、Time(定时器)、PWM控制、FLASH读写、键盘数据显示模块。软件结构图如图C-4所示。 第三章 MCU
8、方的程序设计 本章节将详细介绍MCU端的主程序和中断程序,利用各个模块完成本实验的各个功能,其中包括串行通信数据输入输出、LCD显示、键盘、AD转换、PWM、定时器计时、FLASH读写。 程序基于C语言编写,使用面向硬件对象模块封装的思想。面向硬件对象模块的封装是对系统中的每个硬件对象建立相对应的头文件和硬件驱动程序文件。头文件中主要包含该硬件的接口和相应的寄存器设置参数,硬件驱动程序文件主要是对该硬件的驱动,同时标注出各个功能模块的功能,入口,出口和堆栈深度。所以编程人员可以不用了解模块的编程方法,即可利用这些模块程序。于是剩下的编程工作只是面向总体各模块配合以及PC显示与控制的主程序和中断
9、程序的编程。硬件模块封装屏蔽了具体硬件对象的差异性,提高了程序的移植性和复用性。 各个模块的驱动程序见随书光盘。 3.1 串行通信数据接收与发送 interrupt void SCI1_Recv(void) uint8 f,i,flag; /标志是否接受到数据 DisableInterrupt(); /禁止总中断 /接收32个字节的数据 f = SCIReN(1,1, SerialBuff); /若收到数据,则发送接到的数据 if (f = 0) if(SerialBuff0=130 & SerialBuff0=137 ) flag=SerialBuff0; if(flag=130) /lig
10、ht模块 LightBuff =SCIRe1(1,&i); else if(flag=131) /LCD标志 /连续接收可以,代码如下 LCDLen=SCIRe1(1,&i); /LCD显示字符长度 SCIReN(1,LCDLen,ShowBuff);/LCD显示的内容 else if(flag=132)/时钟标志 /接收3个字节的数据 SCIReN(1,3, time); else if(flag=133) /LED标志 /pwm处理模块 pwmDutyPC = SCIRe1(1,&i); else if(flag=135)/LED标志 /接收4个字节的数据 i=SCIReN(1,4, LE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 技术 基础 实践
限制150内