定义中断处理函数.PPTVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
定义中断处理函数

第9 章 微控制器的C 语言程序设计 * * College of Electronics Information Engineering 9.1.1 微控制器的编程语言 BASIC 语言简单易学,适用于对编程效率或运行速度要求不高的场合,但是BASIC 采用浮点运算,导致程序复杂且执行时间长, 即使用BASIC 编译器也未能解决这个问题。 PL/M 可以说是“高级汇编语言” ,详细控制着代码的生成。但对很多微控制器, PL/ M 不支持复杂的算术运算和浮点变量, 也没有丰富的库函数。 9.1.1 微控制器的编程语言 用C 语言进行微控制器程序设计的优点: (1) 开发速度大大加快。 (2) 可以实现复杂的算法。 (3) 可移植性强。 (4) 程序易读易改, 调试方便。 (5) 可以与汇编语言混编, 发挥各自的优点。 9.1.2 C语言编译器与程序开发过程 9.2.1  KEIL 编译器 KEIL 编译器是基于80C51内核的微处理器软件开发平台,其中, μVision2集成开发环境是将编辑、编译、汇编、链接和调试等各阶段都集成在一个程序内的集成开发环境, 它将项目管理、源代码编辑和程序调试等组合在一个功能强大的环境中, 编写程序、编译和链接后可直接运行。避免了不必要的分散重复作业,缩短了开发周期。 9.2.2 C51 程序设计基础 数据类型 变量 在C51中对变量进行定义的格式如下: [存储种类]  数据类型 [存储器类型]  变量名表 其中, “存储种类” 和“存储器类型” 是可选项。变量的存储种类有四种: 自动(auto) 、外部(extern) 、静态(static) 、寄存器(register) 。若省略存储种类选项定义变量, 则该变量将为自动(auto) 变量。在定义一个变量时, 除了需要说明其数据类型外, C51 编译器还允许说明变量的存储器类型。 存储模式 C51 编译器的三种存储模式SMALL 、COMPACT 和LARGE 决定了变量的默认存储类型和参数传递区域 9.3.1 ICC08编译器和08C语言 Motorola 微控制器常用的C 语言编译器有ICC 编译器, Hiware C 编译器和Small C 编译器等。 ICC08是ImageCraft Creations 公司推出的一款针对MOTOROLA HC08的商业化C语言编译器,可以生成如 .S19、.MAP 和 .LST 等多种格式的文件,但其内部并不包含调试工具, 编译后只能用其他的调试软件来调试它生成的目标文件或下载到芯片中进行在线运行和调试。 ICC08支持的数据类型 I/O 口和寄存器的定义 在08C 语言中操作寄存器及I/O 口时, 通常预先在头文件中使用宏定义 # define I/O 口名  (volatile unsigned char  ) I/O 口地址 # define 寄存器名  (volatile unsigned char  ) 寄存器地址  / 并口A 、B 、C 、D 的定义/   # define PTA   (volatile unsigned char  ) 0x00  / A 口 /   # define PTB   (volatile unsigned char  ) 0x01  / B 口 /   # define PTC   (volatile unsigned char  ) 0x02  / C 口 /   # define PTD   (volatile unsigned char  ) 0x03  / D 口 /  / SPI 寄存器的定义/ # define SPCR  (volatile unsigned char  ) 0x10 /SPI控制寄存器/ # define SPSCR (volatile unsigned char  ) 0x11 /SPI 控制/状态寄存器/ # define SPDR  (volatile unsigned char  ) 0x12 /SPI 数据寄存器/ 中断处理 在HC08系列微控制器Flash 地址空间中,有一段专门用来存储所有的中断向量的地址空间,每个中断处理函数占用两个字节的中断向量地址。 中断函数用#pragma interrupt _ handler 定义, 编译器会用rti而不是rts 作为返回指令。中断向量用#pragma abs _ address 定义。 中断处理函数: (1) 新建一个vectors.c , 并加入工程中; (2) 定义中断处理函数; (3) 定义中断向量; (4) 在中断

文档评论(0)

2105194781 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档