信息与通信嵌入式单片机_第1页
信息与通信嵌入式单片机_第2页
信息与通信嵌入式单片机_第3页
信息与通信嵌入式单片机_第4页
信息与通信嵌入式单片机_第5页
已阅读5页,还剩130页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、信息与通信嵌入式单片机 华中科技大学 RENESAS嵌入式MCU联合实验室开课仪式课程名称: 嵌入式微控制器 及程序设计 主讲教师: 黄一夫 何顶新参考书:嵌入式微控制器程序设计(黄一夫等编)一.授课目的:通过瑞萨M16C学习板的教学和试验微型计算机原理 组成,存储构造,指令系统,中断技术,接口技术等汇编语言,C语言,程序设计根底知识 M16C学习板CPU,内置周边功能存储器配置复位根底操作程序设计根底2.集成开发环境:工具管理器TM运行环境TM的安装,启动工具的登陆(调试器KD30,编译器,编辑器,闪存ROM写入器)MAKE的编写方法工程的制作Build程序的写入及固化嵌入式用C语言开发前的

2、准备预处理程序设计步骤(结合范例)课程的安排:共计 32学时上课 24学时试验 8学时(集中进展)四.嵌入式系统(Embedded Systems) 概念狭义的概念 嵌入到各种机器中,执行控制功能的计算机系统,即将软硬件可剪裁的计算机系统,嵌入到应用环境的系统中,使之构成一种智能型装置的系统.广义的概念 为了专用目的设计的计算机系统都是嵌入式系统,换言之,是指嵌入到系统里面的计算机系统.家电(电饭锅,洗衣机,枯燥机,热水器,空调)AV (高清晰度电视,DVD,MP3,数码相机,数 字音像)娱乐/教育(游戏机,电子乐器,卡拉OK)个人数字助理(电子笔记本,汽车显示器)PC机周边设备(打印机,扫描

3、仪,读机卡,硬盘驱动器,光盘驱动器)OA机器(复印机, 机)通讯终端( ,手机)网络设备(交换机,路由器)运输设备(汽车,信号机,铁道,机车控制,飞机,船舶)工业控制(电机,生产机械,机床,机器人)设备机器(照明,空调,电力系统)医疗/福利器械(血压器,心电计,X射线透视仪,CT)航空/军事(火箭,人造卫星,导弹)其它业务用机器(数据终端,自动售货机)计测仪器(电炉测试,电流计,同步加速器)专用目的的系统 整个系统为完成一个专用目的而设计有严格的资源限制 低本钱,低功耗,小型化 内核:微控制器 软件:精简的微内核构造高可靠性的要求确保实时性 实时多任务系统嵌入式微控制器的现状嵌入式系统的内核是

4、微控制器 (Micro Contrller Unit 简称MCU) 微控制器是主要用于控制目的的一种专用微处理器,20世纪70年代首次出现,目前生产厂家有: RENESAS MOTOROLA INTEL NEC FUJITSU TOSHIBA 品种有4位,8位,16位,32位,瑞萨公司有720,740,7700,M16C,M32R系列, 预测到2021年,每人平均可接触到350片MCU.嵌入式微控制器的新技术开展低功耗可扩展总线型单片机型: 嵌入DRAM,嵌入SRAM,内置FLASH技术并行总线串行总线: 总线,SPI总线,CAN总线技术多CPU单MCU I/O控制,以太网络协议通讯,精简指令

5、集功能增强 数据采集,模糊控制.智能接口 适应工业对象,伺服驱动,人机对话,通讯网络的要求.M16C/62型单片机采用高性能硅栅CMOS工艺,是M16C/60系列单片机中的一种.它具有和所有M16C/60系列单片机一样的CPU内核,采用100脚塑料封装QFP.M16C/62型单片机包括各种产品,差异仅在于片内存储器类型和容量的不同,以及封装的形式不同. 我们常用的有两种QFP封装形式,分别是100P6S-A和100P6Q-A 下面是100P6S-A的引脚构造图,它有100个引脚CPU的存放器组成数据存放器(R0,R1,R2,R3) 这四个存放器为16位存放器.根据命令语句可以作为8位或32位存

6、放器用.地址存放器(A0,A1) A0,A1为具有和数据存放器一样功能的16位存放器,可用作相对寻址或间接寻址中的地址存放器.帧基址存放器(FB) FB为16位存放器,使用于帧相对寻址.程序计数器(PC) PC由20位组成,指示执行命令的地址中断表格存放器(INTB) 它由20位组成,指示有中断向量表的初始地址堆栈指针(USP/ISP) 由16位组成,有用户堆栈指针(USP)和中断堆栈指针(ISP)两种.用堆栈指针选择标志,可设定使用其中的一种. 静态基址存放器(SB)为16位的存放器,用于相对寻址.标志存放器(FLG)由11位组成,每位用作一个标志或用于汇编语言记叙程序时的分支判断条件,或用

7、于设定CPU的操作 如以下图所示:嵌入式微控制器M16C/32的组成构造M16C/32的芯片中,除了用来执行算法和逻辑操作的中央处理器(CPU)和存放指令以及数据的存储(ROM,RAM)外,内置有多种具有周边功能的单元,如定时器,监视定时器,数据传送控制器DMCA D/A转换器,A/D转换器,时钟同步/异步串行口,CRC运算电路,系统时钟发生器,时钟同步串行口等这些单元通过P0-P10等I/O接口进展数据的传送和控制.嵌入式微控制器M16C/62的组成构造如以下图所示:存储器配置地址空间从00000H-FFFFFH为止,共1MBM30620FCAFP有单片工作模式,存储器扩展工作模式,CPU工

8、作模式等三种工作模式.存储器可以扩展.但是M16C/62学习板仅有单片工作模式.下面是对单片工作模式的存储器配置加以说明:SFR(专用存放器区): 在此区内集中了CPU的工作模式,外部功能控制等存放器.内部RAM:M30620FCAFP中使用着128KB的闪存,内部ROM的一局部(FFFDCH-FFFFFH)是固定的向量地址.中断发生时存放执行程序的初始地址,如以下图所示:八、M16C/62的操作可执行根本操作过程如下: 的内容作为地址信息输出 4.将指定地址的内容作为指令取进PC 见下面框图:文件构成和生成目标文件 下面是从源文件到M16C/62学习板能执行的文件的流程加以说明。如下图, 在

9、M16C/62学习板中调试程序kd30使用的文件和Flashstart写入闪存软件处理的文件有区别,为了制成这些文件,需要用nc30WA来进展编译,实际上文件的生成是沿着编译汇编链接ROM化的顺序完成的。源文件有如下三种:test.cC语言源文件Start0.a30汇编语言源文件Sect30.inc汇编语言源文件开发流程如下:5.用4步做成的test.x30生成test.mot摩托罗拉S格式化文件供Flashstart用M16C/62学习板的开发步骤 下面是用集成开发环境TM进展操作的开发步骤,这些过程能使开发操作顺利进展.编码编译 包含编译,汇编,链接等操作.用C语言记述的程序用NC30WA

10、编译器变成汇编语言,然后用AS30汇编器变成机器语言.并且用LN30链接器,将机器语言文件加以归纳,决定地址,做成绝对目标文件(可执行文件)编译器NC30的介绍 NC30编译器的组成: NC30是供M16C60系列单片机用的C编译器。它由下面的四个程序组成: 1.编译驱动器nc30。它启动编译器,汇编器和连接器。 2.预处理器cpp30。它用来处理宏和条件编译。 3.编译器主体ccom30。它把c语言源文件转换成汇编语言源文件。 4.aopt30 汇编程序最优化5.StkViewer&stk它计算程序所用的堆栈的大小(StkViewer是GUI)6.utl30 用于SBDATA声明和专门页函数

11、的声明7.MapViewer图观测器(只包含在PC版本中)(图观测器是GUI(图形用户界面) NC30的编译流程 1.2.1 nc30 nc30是编译驱动器,通过设置选项它还可以完成一系列从编译到连接的操作。1.2.2 cpp30是预处理器,用来处理宏和条件编译1.2.3 ccom30 ccom30是编译器自带的执行文件。C源程序经cpp30转换成能在as30上运行的汇编源程序。1.2.4堆栈大小计算程序stk30,它用来就算程序所用的堆栈的大小。NC30管理的段NC30对数据和代码按段进展管理,段的类型如下表,各个段还按照属性进一步划分,各个属性及其意义如下表: Int I=1;/ data

12、 section char c=c;/ int j,k;/ bss section const char cc=a; / rom sectionVoid main()int m; / stack sectionI=I+k;/ program section 各个段还按照属性进一步划分,各个属性及其意义如下表:预处理命令:预处理命令是用“开场的一个字符串,其作用为包含文件,宏定义,条件编译和其它扩展功能。主要有: #define 串1 串2如: #define LED_off Oxff#progma ADDRESS 变量名 绝对地址如: #progma ADDRESS p7 3edH启动程序 为

13、了使编好的程序能正常工作在执行程序前需先对单片机进展初始化,并设置堆栈,这些处理通常不是用C语言 编写的,而是用汇编语言写的,单独构 成“启动程序,NC30的启动程序为“ncrt30.a30和“ sect30.inc其实现的功能如下:3。初始化静态变量区4.设置中断表格存放器“INTB堆栈大小的计算:在启动程序中要设置一个适当大小的堆栈区。堆栈过小会使程序失控,过大那么会浪费存储单元,在NC30中使用堆栈的有:堆栈的大小可以根据程序推算,但另一种较方便的方法是在启动NC30时使用开关量“showstackusage,这时在编译时会产生包含堆栈信息的文件“xxx.stk,由此文件即可计算出堆栈的

14、最大值,还可以运行stk30程序自动对堆栈的大小进展计算。启动程序的修改7.单片模式下不使用“near ROM和“far RAM,把它们删除。用NC运行例程的流程上图各局部的介绍:1.用nc30来编译C的源程序AA.c,然后用as30来汇编成可重定位的relocatable目标文件AA.r30;2.启动程序nctr0.30和sect30.inc,其中包含段中的信息,是通过改变段映射、段大小和中断向量表的设置来到达系统的要求的;3.修改后的启动程序汇编成可重定位的目标文件ncrt0.a30;4.两个可重定位的目标文件AA.r30和ncrt0.a30通过连接器ln30,创立绝对模块文件AA.x30

15、。而ln30是从nc30中运行的 调试 用KD30调试器确认程序的动作.KD30是运行于主机的调试器。KD30与存储于闪存的检测程序相通,提供高效率的调试环境。 KD30的特点: 1.汇编语言和构造汇编语言的源线路调试,并且C语言是可以应用的。 2.指向一个通道计数里,断点的两个指针可以同时设定。 3.当不具有程序执行的实时性能而执行目标程序时,RAM检测功能允许你检测内存的内容。4.你可以应用C语言变量,在一个构造变量和一个全局变量里,也可以应用一个成员变量5.在调试软件PD30时,KD30在操作上有兼容性。启动KD30 1.点击开场菜单 start - program - MITSUBIS

16、HI-TOOL - KD30启动KD30。 2.当KD30启动时,显示以下图所示的初始(Init)对话框。KD30的操作环境在这个窗口中设置。 以下图为初始对话框:初始对话框中操作环境工程填写完之后,点击“ OK按钮。当KD30能与OAKS16-BaordKit上检测程序连接(communicate)时,KD30自动启动,且KD30窗口(KD30的主窗口)如下图。 当KD30不能正常连接时,出现下面的窗口:点击错误窗口的“ok,按钮后,初始化对话框如再次显示,注意检测连接是否错误。KD的操作 指向菜单 File Download Load Module 然后下载窗口翻开,点击对象文件()以及“

17、Open按钮 2.显示源程序(the program source)点击程序窗口上的 “View,然后源程序窗口翻开,指向你想显示的源程序的名称。源程序被显示: 根本的窗口菜单 :设置存储地址 :设置启动地址到PC和中断地址,然后点击“GO双击BRK栏设置中断地址4.观察和改变C变量 为了改变变量的值,翻开当地窗口local window接着设置变量的值:写入ROM 将调试器上述符合标准的程序用Flashstart写入器写入到闪存ROM中,使其动作.到此开发工作完成. 见下面流程:M16C/62学习板的存储器配置与前面介绍的M30620FCAFP的存储器进展比较,其中RAM和ROM的一局部使用

18、了监控程序以下图是M16C/62学习板的存储配置写入ROM时存储的配置程序的写入要启动写入闪存用软件Flashstart,它写在M16C/62的bootROM中,bootROM是在通常使用的用户ROM之外,有8KB的内存.出厂时存放在标准I/O模式的程序中.以下图是写入ROM时存储的配置FlashSta的介绍:FlashSta被用来在flash存储器上写程序。当你写程序到flash存储器中的时候,与开场时写入flash存储器的KD30相通讯的监控程序被消除启动FlashSta 确保在启动FlashSta之前将你的PC与OAKS16-BoardKit连接好短接OAKS16-BoardKit的JP

19、1连接器,并选择复位按钮双击复制的“Flashsta.exe来启动FlashSta,当FlashSta启动时下面的窗口将翻开,设置所用的端口当下面的窗口出现时,就要检查 OAKS16-BoardKit连接是否正确或者电源是否翻开。之后点击“OK按钮,出现如下面的窗口:退出FlashSta 要退出FlashSta,选择“Exit按钮 集成开发环境TM(Tool Manager)是将编译器/汇编器/编辑器等工具群集成在图形界面内,改善软件开发效率的工具.在集成开发环境TM里,可以从TM工具栏里启动登陆在TM内的编辑器,编译器,调试器,闪存写入ROM等软件工具.编译器的启动用make来进展,以提高开

20、发效率TM的操作界面工程栏各按钮功能如下: Customize(制作)按钮工具的登录调节器KD30的登录:点击 会出现下面窗口点击按钮 会出现如下界面:点击选择KD30的文件夹,选择KD.EXE文件,将之放到文件名中.将会显示:点击OK,出现下面窗口在DEBUG TOOL里选中KD30,点击OK.那么调试器设定完毕编辑器的登陆点击工具栏中的会出现如下,选择EDIT TOOL显示出工具EDIT TOOL对话框,选上默认的Notepad即可.点击确定,那么编辑器登录了.闪存ROM写入工具(Flashstrat)的登录点击工具栏上的在出现的窗口中选择APPLICATION,点击ADD按钮指定文件fl

21、ashsta.exe,那么会在Tool information对话框中显示如下,追加flashsta.exe文件,点击OK,那么flashstart登陆成功.制作工程(新建工程)根本工程制作的步骤如下:2.显示工程编辑界面,如图:在Project中键入工程名,如sampleA.指定路径.在Target中选中M16C Family指定目录后,点击按钮下一步.会出现下面的对话框:3.选择C语言编辑器,点击下一步.出现下面的窗口:4.指定编译器启动程序,在Custom中指定M16C/62学习板的ncrt0.a30启动程序,然后点击下一步 5.显示工程确实认画面,点击按钮 ,那么设定完成.工程编辑工程

22、编辑是在工程编辑窗口中进展的,可进展包括在做成的工程内的源文件及编译时的任选项,生成顺序等的定义和更改.在TM中,即使不知道make的编写方法,也可以用工程编辑器添加文件,指定命令任选项,在内部可自动生成makefile,并且点击build按钮,可执行make.exe软件,生成目的文件.工程编辑窗口构成包括菜单栏,工具栏,生成顺序窗口,工程信息窗口,状态栏,成员栏窗口,文本窗口.以下图为工程信息栏窗口工程信息窗口用生成顺序窗口显示选择工程信息的详细内容.文件的添加下面介绍用工程编辑器添加文件的方法按照前面的方法新生成下面界面后:翻开工程文件,点击all前面的+标志符显示所要的文件.添加文件:

23、选择sampleb.X30,点击鼠标右键,依次选择Edit Item/Add File,出现下面的窗口.选择已编好的后缀名为.C的文件,我们这里是Test01.c文件.添加后,点击+符号,显示全部文件如下,至此,添加文件工作完成.摩托罗拉S格式文件的制作在TM中使用Lmc30进展工具使用设定步骤如下:1.翻开工程编辑器,确认sampleb.x30的命令,显示LN30的启动命令,如以下图2.从工程菜单上选择Information3.点击Tool,选择lmc30命令. 至此,就将绝对模块文件做成摩托罗拉S格式的文件了.在工程信息窗口的命令里添加了lmc30的启动文件.按钮build的使用Build是用工程编辑器执行工程(显示的内容)命令的程序TM的build有三种 1.build:和make一样,在目的文件不存在,或进展源文件变更的场合执行命令. 2.rebuild:执行记述有clean的命令以后,进展build(由于clean,中间生成文件,目的程序被删除) 3.局部build:用工程编辑器对选择的项进展buildbuild的启动选好工程文件名

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论