hc08/s08基本模块

上传人:第*** 文档编号:61502822 上传时间:2018-12-02 格式:PPT 页数:46 大小:7.29MB
返回 下载 相关 举报
hc08/s08基本模块_第1页
第1页 / 共46页
hc08/s08基本模块_第2页
第2页 / 共46页
hc08/s08基本模块_第3页
第3页 / 共46页
hc08/s08基本模块_第4页
第4页 / 共46页
hc08/s08基本模块_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《hc08/s08基本模块》由会员分享,可在线阅读,更多相关《hc08/s08基本模块(46页珍藏版)》请在金锄头文库上搜索。

1、HC08/S08的基本模块,HC08/S08的基本模块,2,一、目标定位,目标:以8位HC08/S08 MCUs为蓝本讲述嵌入 式系统软件硬件基础,让学生理解并 初步掌握嵌入式系统的基本开发方 法。 基本要求:理解硬件原理,掌握基本模块的 通用知识,从一般意义掌握基本编程 原理,看懂样例程序,正确使用样例,HC08/S08的基本模块,3,基本做法:每人一台仪器,入门程序后用一 个逐渐增加功能的作业要求学生完成 先导基础: (1)硬件基础:数字电路、模拟电路 (2)MCU软件基础:C语言 (3)PC软件基础:一门高级语言,HC08/S08的基本模块,4,为什么要有相关基础? (1)硬件基础:理解

2、基本硬件原理 (2)MCU软件基础:使用C语言编写MCU软件 (3)PC软件基础:通过PC机的屏幕操作发出MCU控制对象的运行指令,直观显示MCU的有关工作情况,HC08/S08的基本模块,5,如何对待基础较弱问题? (1)可安排一至两次的硬件补课,简要提纲式阐述 (2)通过具体内容逐渐补缺,不能要求首先补足基础,HC08/S08的基本模块,6,二、现有教学资料,教材:清华2007年11月版(十一五规划教材) 配套实验指导:清华2008年2月版 配套光盘:开发环境软件、嵌入式技术基础与实践一书的所有实例程序、实验指导书所涉及的源程序、相关芯片的技术手册及硬件评估板的技术资料等,HC08/S08

3、的基本模块,7,HC08/S08的基本模块,8,HC08/S08的基本模块,9,HC08/S08的基本模块,10,HC08/S08的基本模块,11,HC08/S08的基本模块,12,HC08/S08的基本模块,13,三、Freescale HC08/S08发展历程,历史情况:GP32 2008年后的发展趋势与大学计划选型: AW60 DZ60、QE128、QG8、KA2 我们的工作:逐步进行 教学选型定位: (1)教学资料成熟度 (2)自我消化原始资料的兴趣,HC08/S08的基本模块,14,四、入门导引1硬件体系,引 脚 分 类 简 介,1.电源类 2.控制类 3.I/O类 4.其他,HC0

4、8/S08的基本模块,15,最小系统,HC08/S08的基本模块,16,最 小 系 统,HC08/S08的基本模块,17,写入口,HC08/S08的基本模块,18,五、入门导引2编程结构,存储器 编程结构,HC08/S08的基本模块,19,堆栈结构:进栈 SP-1 RAM与Flash空间与作用: RAM:变量,堆栈空间 Flash:程序,常量 中断向量 映象寄存器,HC08/S08的基本模块,20,六、入门导引3CPU08,CPU、MPU、MCU、DSP概念区分 CPU08 内部寄存器 指令简表 寻址方式 指令系统 汇编与伪指令 (根据是否重点用汇编编程决定重点),HC08/S08的基本模块,

5、21,七、入门导引4C语言概要,(根据是否重点用C语言编程决定重点),HC08/S08的基本模块,22,八、入门导引5 I/O与第一个程序,I/O相关概念:通用I/O含义与作用,上拉电阻,下拉电阻,相关电路 LED:含义与接法,Output 引申作用 开关:接法, Iutput 引申作用 如何点量一盏小灯?,HC08/S08的基本模块,23,如何点量一盏小灯?方向寄存器、数据寄存器 如何获得一个开关的状态?方向寄存器、数据寄存器 内部上拉电阻的设置方法,HC08/S08的基本模块,24,实际寄存器: (只要以一个口为例) 方向寄存器DDRA 数据寄存器PTA “DDRA.3=1就定义PTA.3

6、为输出” 汇编:BSET 3,DDRA C语言:DDRA|=13 “令PTA.3=0,接在PTA.3脚的灯就亮(注意接法)” 汇编:BCLR 3,PTA C语言:PTA&=(13),HC08/S08的基本模块,25,小灯闪烁工程(实际程序): 为什么用宏定义? 工程文件的组织形式 为什么用闪烁? 不直接用亮?,HC08/S08的基本模块,26,/LED.h小灯驱动头文件- /小灯控制需要用到的头文件 #include “GP32C.h“ /映像寄存器名定义 #include “Type.h“ /类型别名定义 /小灯控制引脚定义 #define Light_P PTA /小灯(Light)接在P

7、TA口 #define Light_D DDRA /相应的方向寄存器 #define Light_Pin 1 /小灯接在相应口的1引脚 /小灯控制相关函数声明 void LEDinit(void); /定义控制小灯的MCU引脚为输出 void LED_L_A(INT8U flag); /驱动小灯“亮“,“暗“,HC08/S08的基本模块,27,/LED.c小灯驱动-* /本文件包含: * / (1)LEDinit:定义控制小灯的MCU的I/O引脚为输出 * / (2)LED_L_A:驱动小灯“亮“,“暗“ * /硬件连接: * / (1)本处的小灯是一个发光二极管,由MCU的I/O引脚控制 *

8、 / (2)控制引脚=高电平时,小灯“暗“;反之,小灯“亮“ * /-* #include “LED.h“ /该头文件中包含了小灯控制引脚定义和相关函数声明 /LEDinit:定义控制小灯的MCU引脚为输出-* /功能:定义控制小灯的MCU引脚为输出,并使小灯初始为暗 * /参数:无 * /返回:无 * /-* void LEDinit(void) Light_D |= 1Light_Pin; /令小灯引脚为输出 Light_P |= 1Light_Pin; /初始时,小灯“暗“ ,HC08/S08的基本模块,28,/LED_L_A:驱动小灯“亮“,“暗“-* /功能:根据flag的值控制小灯

9、的亮和暗 * /参数:flag(flag = A,小灯暗;flag = L,小灯亮) * /返回:无 * /-* void LED_L_A(INT8U flag) if (flag = A) Light_P |= 1Light_Pin; /小灯“暗“ else if (flag = L) Light_P /小灯“亮“ ,HC08/S08的基本模块,29,程序是如何执行的?(用汇编或用C语言工程) (环境与调试) 程序放在哪里? 什么是上电复位? 上电复位过程 C语言:开发环境目录中crt08.o 看List文件 (至此,完成基本入门要素),HC08/S08的基本模块,30,九、第一个需要详细讲

10、解的模块串行通信,串行通信通用知识基本概念: (1)每个字节之间是如何区分的?(格式) (2)发送一位的持续时间是多少?(波特率) (3)怎样知道传输是正确的?(奇偶校验) (4)单向还是双向?(传输方式) (5)可以传输多远?(电平转换),HC08/S08的基本模块,31,串行通信通用知识硬件:,2 接收数据线(RXD) 3 发送数据线(TXD) 5 信号地(SG),HC08/S08的基本模块,32,串行通信通用知识硬件:,HC08/S08的基本模块,33,串行通信通用知识编程结构:,HC08/S08的基本模块,34,串行通信通用知识编程步骤: 初始化 发送一个字节、发送N个字节 接收一个字

11、节、接收N个字节,HC08/S08的基本模块,35,串行通信芯片相关部分寄存器:,HC08/S08的基本模块,36,串行通信的编程实例:,HC08/S08的基本模块,37,中断与中断处理过程:,HC08/S08的基本模块,38,中断与中断处理过程: #include “Type.h“ /类型别名定义 #include “EnDisInt.h“ /开放或禁止MCU各模块中断的宏定义 #include “SCI.h“ /该头文件包含串行通信函数声明 /isrSCIre:接收中断处理函数-* /功能:接收1个字节数据, 发送接到的数据 * /参数:无 * /返回:无 * /内部调用函数:SCIreN

12、, SCIsendN * /-* #pragma interrupt_handler isrSCIre void isrSCIre(void) INT8U f; /标志是否接受到数据 INT8U SerialBuff1; /存放接收数据的数组 DisableMCUint(); /禁止总中断 /接收1个字节的数据 f = SCIreN(1, SerialBuff); /若收到数据,则发送接到的数据 if (f = 0) SCIsendN(1, SerialBuff); EnableMCUint(); /开放总中断 ,HC08/S08的基本模块,39,/此处为用户中断处理函数的存放处 /未定义的中

13、断处理函数,本函数不能删除 #pragma interrupt_handler isrDummy void isrDummy(void) /中断矢量表,需定义中断函数,可修改下表中的相应项目 /(interrupt service routine,isr 中断处理程序) #pragma abs_address:0xffdc /中断向量表起始地址 void (* const _vectab)(void) = isrDummy, /时基中断 isrDummy, /AD转换中断 isrDummy, /键盘中断 isrDummy, /SCI发送中断 isrSCIre, /SCI接收中断 isrDummy, /SCI错误中断 isrDummy, /SPI发送中断 isrDummy,

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

当前位置:首页 > 高等教育 > 大学课件

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