网站大量收购闲置独家精品文档,联系QQ:2885784924

PIC的存储器编程结构和单片机C语言使用入门.ppt

PIC的存储器编程结构和单片机C语言使用入门.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PIC的存储器编程结构和单片机C语言使用入门

PIC的存储器编程结构和 单片机C语言使用入门 PIC的存储器编程结构 PIC16 F877单片机内部配置了较 完善的多种存储器: 数据存储器(RAM): File Registers 程序存储器(ROM):FLASH 非易失性数据存储器:EEPROM 随机数据存储器(RAM) PIC单片机的数据存储器很特别,在配置结构上可分为通用寄存器和特殊功能寄存器(SFR)两大类,前者给用户存储变量使用,而后者用来控制特定功能模块(定时,中断模块等等),是一种具有特殊目的的功能寄存器。 16F877内部RAM总的地址空间为368个单元,其中包括部分无效单元,但每一个有效单元均可以象寄存器一样进行操作. PIC单片机架构 文件寄存器概念 非易失性数据存储器 掉电保持数据存储器: EEPROM (256 ×8 bits= Bytes) Electric Erase Programming ROM 2.2.1 程序存储器(ROM) F877/F877A单片机内部配置了8K ×l4位的闪烁(FLASH)程序存储器,可以很方便进行在线擦除和烧写,寿命可达10万次以上(F877A)。非常适合单片机教学实验和科研开发。 程序存储器结构 P13 图1-7 汇编指令简介 用汇编实现加法,用汇编实现跳转就行 MOVLW MOVWF ADDWF BTFSC STATUS,0 GOTO NOT_ZERO GOTO $ 提问时间 请提问 为什么用C语言? 单片机ROM/RAM越来越大。 群众基础好,不需要了解基层工作。 实现模块化编程,代码效率较高。 便于移植,大规模项目开发,管理方便. 常见PIC的C编译器简介 HITECH-C V9.50 for PIC,C51,ARM,AVR CCS-C V3.241 for PIC PIC-C16 ME for PIC16 PIC-C18 v2.40.01 for PIC18 IAR-C IDE for PIC,C51,ARM,AVR HITECH-C的安装步骤 安装picc8.05-pl.exe和mplab plugin 运行Compiler Activation 运行HtKeyGen.exe进行注册 在MPLAB中用Project Wizard 在language toolsuite 中选择: HI-TECH PICC Toolsuite HI-TECH C快速入门 找帮助文件和Samples 根据例程学习之 如何声明变量? 如何声明函数? 如何声明中断? C语言基本框架 #include “pic.h” char function2(char a); char globlevar=0; void main(void) { char i=0; TRISD=0x00; while(1) { for(i=0;i=255;i++) { PORTD=I; } } } pic.h头文件 (C:\HT-PIC\include) 包含各种型号的头文件 相应头文件内包含: 变量声明 char i=0; //必须初始化, 注意全局变量声明位置; char 为 8位,int 为 16位; bit flag=0; //位变量必须为全局量 volatile 修饰,不允许优化的变量 const,默认被定义在ROM里的常量 C语言源码级调试 与Turbo C类似!? 单步跟踪 可以查看变量 设置断点 编程限制 不要用递归。 不要用大数组。 网上资源 * * General Purpose Registers (RAM) Other SFRs PORTA FSR STATUS PCL TMR0 INDF W Register ALU RAM被看作是一组通用的寄存器. 周边模块的寄存器都在数据存储器中. RAM分为四个体: BANK0; BANK1; BANK2; BANK3. (12页-图1.6) 大多数特殊寄存器在数据存储器中 特例 256 ASM C // 必需加的头文件 // 自定义函数声明 // 主函数声明 // 函数内部变量声明 // 自定义全局变量声明 // 直接使用寄存器名称访问 // 主函数内必须是个死循环 特殊寄存器定义 常量定义 配置字定义等等 pic1687x.h * *

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档