《嵌入式系统-使用HCS12微控制器的设计与应用.docx》由会员分享,可在线阅读,更多相关《嵌入式系统-使用HCS12微控制器的设计与应用.docx(27页珍藏版)》请在优知文库上搜索。
1、嵌入式系统与单片机嵌入式系统的由来(通用计算机系统、嵌入式计算机系统)单片机的含义MCU与嵌入式系统的关系MCU的开展简史开展趋势大容量、高性能化小容量、低价格化外围电路内装化8位16位f32位f64位与硬件相关的术语封装(PaCkage)印刷电路板(PCB)动态可读/写随机存储器(DRAM)静态可读/写随机存储器(SRAM)只读存储器(RoM)Flash存储器(FIaShMemory)模拟量开关量1.2.2 与通信相关的术语并行通信串行通信串行外设接口(SPI)集成电路互连总线I2C通用串行总线USB控制器局域网CAN背景调试模式BDM边界扫描测试协议JTAG1.2.3 与功能模块相关的术语
2、通用输入/输出GPIOA/D与D/A脉冲宽度调制器PWM看门狗液晶显示器LCD发光二极管LED键盘1.2.4 与嵌入式软件相关的术语中断中断效劳程序实时操作系统RTOSCOS-II临界区嵌入式产品的一般构成嵌入式产品的一般开发方法1根本输入/输出分析2选择MCU的根本方法3选择评估系统并对与MCU相关的硬件进行初步评估4设计并制作硬件系统5进行硬件系统的模块测试6软件系统设计7系统测试8进一步工作嵌入式系统的特点资源受限开发需要专用工具和特殊方法要求较高可靠性和稳定性有实时约束通常极其关注本钱大多要求低功耗专用性很强技术含量高具有很长生命周期1.4.2 嵌入式系统的学习建议明确学习的目的选择好
3、入门的机型必要的记忆勤于实践学习各种接口的原理与时俱进,不断改良自己的学习方式从底层抓起,一点一滴打好根底FreescaleHCS12系列MCU的命名规那么MC9S12Dx256BxxxE:产品状态:存储器类型标志:CPU标志:系列标志:存储空间大小及版本工作温度范围标志:封装标志:无铅组装标志2.1.2HCS12各子系列MCU简介系列B系列C系列A系列D系列E系列GC系列H系列NE系列Q系列T系列UF系列相同点工作电压一般为5V不同点ROM大小RAM大小EEPROM大小Flash容量I/O口数串行借口A/D转换器FreescaleHCS12系列MCU的命名规那么MC9S12Dx256Bxxx
4、E:产品状态:存储器类型标志:CPU标志:系列标志:存储空间大小及版本工作温度范围标志:封装标志:无铅组装标志2.1.2HCS12各子系列MCU简介系列B系列C系列A系列D系列E系列GC系列H系列NE系列Q系列T系列UF系列相同点工作电压-一般为5V不同点ROM大小RAM大小EEPROM大小Flash容量I/O口数串行借口A/D转换器MCU性能概述1 .时钟和复位产生模块、存储器与封装形式2 .丰富的I/O接口3 .3.2运行模式1 .单片运行模式2 .扩展运行模式2.3.3内部结构简图、引脚图及引脚功能80引脚112引脚MC9S12DG128MCU的最小系统设计2.4MC9S12DG128的
5、存储器映像I/O接口的根本概念2.5.2AO.B口、E口和K口数据方向存放器分别为DDRA、DDRIkDDREDDRK0:定义输入1:定义输出I/O存放器分别为PORTA、PORTIkPORTE、PORTK输出时,0:输出低电平1:输出高电平输入时,0:外部输入低电平1:外部输入高电平上拉电阻控制存放器PUCR四口共用0:没有内部上拉电阻1:有内部上拉电阻2.5.3H口、J口、M口、P口、5口和1口1 .端口的存放器数据方向存放器I/O存放器输入存放器低功耗驱动存放器0:输出功耗正常1:输出功耗为正常的1/6上拉下拉使能存放器0:禁用上拉或下拉电阻1:允许上拉或下拉电阻上拉下拉选择存放器0:上
6、拉1:下拉2 .端口的复用功能T口:接收输入捕捉功能SD:SCESPl模块关联作为通信接口M:与ByteFIight、BDLCCAN、SPl模块关联作为通信接口P口:与PWM、SPI模块关联作为通信接口H口:与SPl模块关联作为通信接口J:与CAN、IlC模块关联作为通信接口3 .5.4其他I/O口A/D口:作为AD转换模块的模拟量输入口和外界触发脉冲的输入口也可以做为普通输入口3.1CPU12根本组成3.2寻址方式1 .内在寻址方式(INH)2 .立即寻址方式(IMM)3 .直接寻址方式(DIR)4 .扩展寻址方式(EXT)5 .相对变址寻址方式(REL)6 .变址寻址方式(IDX)7 .5
7、位偏移量变址方式8 .9位偏移量变址方式9 .16位偏移量变址方式10 .16位间接变址方式11 .自增自减变址寻址方式12 .累加器偏移变址寻址方式13 .累加器D间接寻址3.3指令系统1算术运算(加、减、乘、除、加1、减1、)2逻辑运算(与、或、异或、)3位操作(位测试、置位、)4移位(算术/逻辑/循环左/右移、)5程序控制(转移、比拟相等转移、)6模糊指令7数据传送(取数、存数、进栈、出栈、)8其他指令数据传送类指令取数指令存数指令传递指令交换指令MOVE指令堆栈指令算术运算类指令加、减法指令自增、自减指令比拟指令测试指令逻辑运算指令清零指令取反/求补指令乘/除法指令最大/最小值指令乘积
8、累加指令记忆标志位:C-进/借位标志V一溢出标志H-加法半字节进位标志N一正负标志位Z一零标志位3.3.3位操作类指令位测试指令BITA、BITB位置1指令BSET位清零指令BCLR移位类指令算术左移(ASL)逻辑左移(LSL)算术右移(ASR)逻辑右移(LSR)循环左移(ROL)循环右移(ROR)协助记忆:算术:Arithmetic逻辑:Logic左:Left右:Right循环:Rotate程序控制类指令短转移指令(地址偏移量:-128+127)长转移指令(地址偏移量:-32768+32767)位条件转移指令(地址偏移量:-128+127)BRCLRBREST循环控制指令跳转指令无条件转移J
9、MP绝对转移调用JSR相对转移调用BSR3.3.6模糊指令MEMREVREVWWAV3. 3.7其他指令表插补指令中断指令变址操作指令指针和变址计算指令条件码指令停止与等待模式指令后台模式与空操作3.4CPU12与CPUO8的比拟HCS12汇编源代码格式根本概念编译器伪指令语句元素标号操作码操作数(常数、#、圆点)注释MT-IDEforHCSI2开发环境中的汇编伪指令变量定义Al:.balign1A2:.baIignw1数字常数与字符串常数定义常数赋值与文本替代符伪指令,definePI=3.14存储定位伪指令文件包含伪指令.include3. 5.3CodeWarriorforHCSI2开发
10、环境中的汇编伪指令变量定义1.ABELl:DS.B1LABEL2:DS.W1数字常数与字符串常数定义常数赋值与文本替代符伪指令PI:EQU3.14存储定位伪指令文件包含伪指令INCLUDEMT-IDEforHCS12集成开发环境简称MT环境Freescale公司CodeWarriorforHCS12集成开发环境简称CW环境MT-IDEforHCS12集成开发环境CodeWarriorforHCS12集成开发环境嵌入式系统工程文件组织列表文件(*.LIS或*.LST)列表文件的行内容格式:目标代码文件(*S19)目标代码文件是以S记录(八种)格式表示的机器码文件与链接相关的地址信息文件小灯闪烁汇
11、编工程在MT环境下的文件组织1与芯片相关的程序文件DG128SM.h定义芯片映像存放器名Vector.s一定义中断向量表Isr.s-中断处理子程序Startl2.s一系统启动文件MCUInit.h芯片初始化头文件MCUInit.s芯片初始化文件2硬件对象控制文件1.ED.h-小灯控制引脚宏定义包含小灯驱动所需头文件小灯控制引脚宏定义小灯驱动子程序声明1.ED.s-小灯驱动子程序定义子程序LEDInit:初始化定义子程序LED_L_A:驱动小灯亮,暗3通用程序文件Includes,h-总头文件工程中用到的头文件有关常量命名GeneralFun.s-通用子程序定义子程序DeIayX:延时4主程序文
12、件main,s-主程序工程描述包含总头文件主程序内部直接调用子程序子程序编写标准(以LED.s为例)MT环境下第一个汇编工程的链接信息文件链接信息文件IinkerJd链接有两种模式内存直接模式内存扩展模式4. 3.3MT环境下第一个汇编工程的执行过程小灯闪烁C工程在MT环境下的文件组织MT环境下第一个C工程的链接信息文件链接信息文件Iinker.Id内容与汇编链接信息相同4.4.3MT环境下第一个C工程的执行过程小灯闪烁汇编工程在CW环境下的文件组织CW环境下第一个汇编工程中的链接信息文件CW环境下第一个汇编工程的执行过程小灯闪烁C工程在CW环境下的文件组织4.6.2CW环境下第一个C工程中的
13、链接信息文件CW环境下第一个C工程的执行过程小灯闪烁C工程在CW环境下的文件组织4.6.2CW环境下第一个C工程中的链接信息文件CW环境下第一个C工程的执行过程映像存放器名C工程中调用汇编语句的格式中断函数的声明根本概念1.异步串行通信的格式(NRZ)2 .串行通信的波特率定义:每秒内传送的位数。单位:b/s或bps常用:1200bpsX4800bpsX9600bps3 .奇偶校验奇校验:校验位为0或L使得1的数目是奇数偶校验:校验位为0或1,使得1的数目是偶数4.串行通信的传输方式单工:1根数据线全双工:2根数据线半双工:1根数据线RS-232C总线标准1 .采用负逻辑逻辑“1”:T5V-3V逻辑ii0ff:+3V15V2 .传输距离W30m,通信速率20Kbps3 .接口9芯、25芯地线、发送数据线、接收数据线SCI的外围硬件电路SCI的根本编程原理SCI的主要功能是:接收时,把外部的单线输入的数据变成一个字节的并行数据送入MCU内部;发送时,把需要发送的一个字节的并行数据转换为单线输出。SCI波特率存放器根据波特率设置存放器的公式:BR=fBUS(16Bt)举例:总线频率fBUS=19.6608MHz,定义波特率Bt=9600(针对SCIO)SCI0BDL=0x80;须先给低8位赋值Sciobdh=OxOO;再给高5位赋值SCI控制存放器1缩写:SCIOC