单片机总要点.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PIC单片机与其他单片机结构比较 第一章 PIC单片机硬件系统概况 1.2芯片引脚封装 1.3程序存储器和堆栈 1.4 RAM数据存储器(文件寄存器) STATUS状态寄存器 程序计数器PCL、PCLATH 1.5 复位和时钟外接电路 1.6 输入输出端口基本功能 第2章 指令系统(简述) 2.1 指令时序 指令流水线 第3章 汇编器和汇编程序设计 本章实际教学内容是: 1.汇编器:学习MPLAB8.0软件设计应用,在实验课学习。 2.汇编程序设计改为PICC程序设计,实际上是C语言程序设计,这将贯穿整门课程的学习。 所以本章内容不单独讲解 第4章 定时器TMR0 TMR0分给看门狗时 TMR0作定时器设计 TMR0设计入门----做计数器 #include pic.h main() {TRISC=0;PORTC=0; TRISA=0XFF;ADCON1=7;//计数信号从A口的RA4输入 OPTION=0 TMR0=0XFF;T0IF=0; LOOP:if(T0IF==0)goto LOOP; PORTC++; TMR0=0XFF;T0IF=0; goto LOOP; } 第5章 中断系统 TMR0中断示意图 TMR0中断的一个入门实例,TMR0工作在计时方式, PORTC上的发光条按一定频率闪光 TMR0中断的一个入门实例,TMR0工作在计数器方式, PORTC上的发光条按一定频率闪光 INT中断的简单应用入门程序,主程序运行时PORTC=F 子程序运行时PORTC=55H INT,TMR0中断的简单应用入门程序, 主程序运行时PORTC=0FH, INT子程序运行时PORTC=55H, TMR0子程序运行时PORTC=0XF0 实例设计:车辆里程表 已知: 1.车轮直径43CM 2.行走1千米740圈 3.磁敏传感器检测车轮转数 设计: 1.车轮转数的计数---TMR0,每计数740溢出一次 2.里程表显示,如要求最大显示600000千米 3.当前的公里数掉电后不丢失 车辆里程表程序设计流程 经过如下修改 重点在循环部分,但本处修改改善不多 最终修改结果如下,动态显示正常 显示图片 增加EEPROM,具有掉电记忆功能 程序运行仿真结果如下: 第一次进入中断,2b单元被加1 仿真软件中复位后,再运行可见,本程序具有掉电不丢失功能,最终修改结果如下 外部中断INTF和RB中断RBIF 四路抢答器设计程序设计流程 RBINT中断(RB4)程序编程入门,运行主程序时PORTC=1,运行中断子程序时PORTC=FFH #includepic.h void delay() {unsigned int i; for(i=50000;i0;i--);} void interrupt int_serve()//中断入口程序,保护现场,判断中断类型 {PORTC=0XFF;delay(); PORTB=PORTB;//RB电平锁定 RBIF=0;} main() {TRISC=0; TRISB=0XFF; RBPU=0;//启用RB口弱上拉功能 INTCON=0X88;//初始化GIE=1;RBIE=1; PORTC=0; PORTB=PORTB;//RB电平锁定 RBIF=0; loop:PORTC=1; goto loop; } RB4-7INT中断程序编程入门,运行主程序时PORTC=88h, 运行中断子程序时PORTC= 绝对定位方法定义flag7、flag5 #includepic.h unsigned char flag @0x60; bit flag7 @(unsigned)flag*8+7;bit flag6 @(unsigned)flag*8+6; bit flag5 @(unsigned)flag*8+5;bit flag4 @(unsigned)flag*8+4; void delay() {unsigned int i;for(i=20000;i0;i--);} void interrupt int_serve()//中断入口程序,保护现场,判断中断类型 {flag=flag^PORTB; if (flag7==1) PORTC=0 if (flag6==1) PORTC=0 if (flag5==1) PORTC=0 if (flag4==1) PORTC=0 flag=PORTB;//RB电平锁定 delay();RBIF=0;} main() {TRISC=0;TRISB=0XFF; RBPU=0;//启用RB口弱上拉功能 INTCON=0X88;//初始化GIE

文档评论(0)

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

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

1亿VIP精品文档

相关文档