单片机应用项目2.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文档。上传文档
查看更多
(三)中断的响应过程 单片机在每个机器周期顺序采样每个中断源,在下一个机器周期按优先级顺序检测中断标志,如果发现某个中断标志为1,将在接下来的机器周期按优先级进行处理。中断系统通过硬件自动将当前的PC值压入堆栈,以保护断点,再将相应的中断服务程序的入口地址装入PC,使CPU转到中断服务程序的入口处开始执行程序。 中断服务程序从向量地址开始,一直到返回指令RETI为止,RETI指令一方面告诉中断系统该中断服务程序已执行完毕,另一方面把压入堆栈的断点地址从堆栈中弹出,装入程序计数器PC,使程序返回到被中断的程序的断点处继续执行。 (四)中断程序的设计 用户对中断的控制和管理,实际是围绕寄存器IE、TCON、IP、SCON进行的,这几个寄存器在单片机复位时是清零的,因此必须根据需要对这几个寄存器的相关位进行设置。 编写中断服务程序时应注意: (1)开中断总控开关EA,置位中断源的中断允许位; (2)根据外部中断请求信号/INT0、/INT1的特性选择 中断触发方式,是低电平触发还是下降沿触发; (3)如果有多个中断源中断,应设置中断优先级,预 置IP。 使用C51可以编写出高效的中断服务程序,中断服务程序定义为函数,函数的定义如下: void 函数名(void)interrupt n [using m] 其中,interrupt n表示将函数声明为中断服务函数,n为中断号,通常取以下值: 0:外中断0 1:定时/计数器T0中断 2:外中断 3:定时/计数器T1中断 4:串行口发送与接收中断 5:定时/计数器T2中断 using m: 定义中断函数使用的工作寄存器组,m的取值范围为0-3,可以默认。它对目标代码的影响是:函数的入口处将切换到m指定的寄存器组,函数退出时,原寄存器组恢复,选不同的工作寄存器组,可方便实现寄存器组的现场保护。 [案例1] 如图所示,P0口控制发光二极管D1~D8每隔一段时间左移或右移一位,当单脉冲按钮PLUSE按下时,单脉冲电路将产生一个负脉冲作为中断请求信号,控制发光二极管的移动方向。 void main(void) { uchar led; EX0=1; IT0=1; EA=1; led=0xfe; while(1) {P0=led; delay(250); if(dir) led=_crol_(led,1); else led=_cror_(led,1); } } void chdir (void) interrupt 0 { dir=~dir; } 允许外部中断0中断 负跳变触发 CPU开中断 如果dir标志为1,左移 否则右移 外部中断0服务程序 每次中断,将方向标志求反 从表面上看,主程序和中断服务程序似乎没有关系,当按下PLUSE键时,将产生中断请求,由于中断号为0,当前中断又是开放的,CPU自动会找到属性为“interrupt 0”的函数运行,即进入外部中断0的服务程序,将变量dir(设进入中断前取值为0)取反,当CPU回到主程序再次检测dir时,其值已变为1,D1-D8因此开始左移。 任务六 设计动态LED显示器 一、认识LED显示器 在单片机应用系统中,常用的显示器主要有LED数码管显示器及LCD液晶显示器。LED显示器由于亮度高、价格低、寿命长、对电流、电压要求低,与单片机的连接方便等优点,得到了非常广泛的应用。 LED显示器由7个条形发光二极管及一个小圆点发光二极管组成,每个发光二极管又称为字段,根据各字段的亮暗组合成相应的字符。 根据内部的连接方式可分成共阳极型和共阴极型图。 共阳极LED数码管的阳极连在一起,接正电压,当某个发光二极管的阴极为低电平时,该二极管所表示的字段被点亮;共阴极LED数码管的阴极连在一起接地,当某个发光二极管的阳极为高电平时,对应字段被点亮。 数码管不同的亮暗组合就能形成不同的字形,这种组合称之为字形码,共阳极和共阴极的字形码是不同的,对应的字形码如表2-7所示。 二、动态显示方式 动态显示方式是应用最为广泛的一种显示方式,其接口电路是把所有数码管的8个字段a~g、dp的同名端并联在一起,由一个8位的字段输出口控制;而每一个数码管的公共极(位选线)各自独立地受位选口控制,实现各位的

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档