当前位置: 首页 > wzjs >正文

宝安网站建设深圳信科网络营销品牌推广

宝安网站建设深圳信科,网络营销品牌推广,咸宁网站建设公司,上海模板网建站C51的外部中断只用到TCON寄存器、IE寄存器、IP寄存器。 1. TCON定时器控制寄存器: TCON8FH8EH8DH8CH8BH8AH89H88H88HTF1TR1TF0TR0IE1IT1IE0IT0 外部中断用到TCON的低4位:IE1、IT1、IE0、IT0。 IE0:外部中断0的中断请求标志。 当外部中断引脚…

C51的外部中断只用到TCON寄存器、IE寄存器、IP寄存器。

1. TCON定时器控制寄存器:

TCON8FH8EH8DH8CH8BH8AH89H88H
88HTF1TR1TF0TR0IE1IT1IE0IT0

 外部中断用到TCON的低4位:IE1、IT1、IE0、IT0。


IE0:外部中断0的中断请求标志。

         当外部中断引脚0上存在有效的中断请求信号时,由硬件使IE1置1。

         CPU响应该中断请求时,由硬件使IE1清0。

IT0:外部中断0的中断触发方式控制位

   IT0=0时:外部中断0为低电平触发方式。

        CPU在每一个机械周期S5P2期间采样外部中断0引脚的输入电平。

        当引脚为低电平时IE0=1,引脚为高电平时IE0=0。

   IT0=1时:外部中断0为下降沿触发方式。

        CPU在每一个机械周期S5P2期间采样外部中 断0引脚的输入电平。

        如果相继两个机械周期采用过程中,一个为高电平,下一个为低电平。

        则使IE1=1,直到CPU响应该中断时,才由硬件使IE0清0。

同理,IE1,IT1的功能与IE0、IT0的完全一样,但分别控制外部中断1、外部中断0。


2. IE中断允许寄存器

IEAFHAEHADHACHABHAAHA9HA8H
88HEA未使用未使用ESET1EX1ET0EX0

外部中断使用到IE中断允许寄存器的:EA、EX1、EX0


EA:中断允许总控制位。

         EA=0屏蔽所有中断请求;EA=1,CPU开放中断。

EX0:外部中断0中断允许位。

         EX0=0屏蔽外部中断0中断请求;EX0=1,CPU开放外部中断0中断请求。

EX1:外部中断1中断允许位。

         EX1=0屏蔽外部中断1中断请求;EA=1,CPU开放外部中断1中断请求。


3. IP中断优先级寄存器 

IPBCHBBHBAHB9HD8H
D8H未使用未使用未使用PSPT1PX1PT0PX0

外部中断用到IP中断优先级寄存器的PX0、PX1

PX0:外部中断0中断优先级控制位;

PX1:外部中断1中断优先级控制位;

对应控制位置1则相应的中断源就规定为高优先级,反之为低优先级

当同时接收到几个同一优先级中断请求时,优先响应哪个中断源则取决于内部硬件查询顺序。

查询顺序:外部中断0、定时器0、外部中断1、定时器1、串行口中断。

例如:设置外部中断0和外部中断1为高优先级,当两个外部中断同时触发时,根据查询方式可确定优先响应外部中断0。


4.外部中断0和外部中断1——下降沿触发、低电平触发

4.1 main.c文件

#include "reg51.h"
#include "ExternalInterrupt.h"char Flag=0;
char Led_array[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF};void main(){ExternalInterrupt_Init(Ex_Interrupt0_1,Low_Trigger);while(1){P1=Led_array[Flag];
}}

 通过修改ExternalInterrupt_Init(Ex_Interrupt0,Low_Trigger);函数的参数,达到开启不同外部中断,不同触发方式。

参数1:设置开启的外部中断               参数2:设置触发方式

Ex_Interrupt0Ex_Interrupt1Ex_Interrupt0_1Low_TriggerFalling_Trigger
开启外部中断0开启外部中断1开启外部中断0和1下降沿触发低电平触发

Ex_Interrupt0、Ex_Interrupt1、Ex_Interrupt0_1,Low_Trigger、Falling_Trigger

都声明在ExternalInterrupt.h文件中。

4.2 ExternalInterrupt.c文件

#include "ExternalInterrupt.h"
#include "intrins.h"
extern char Flag;void Delay50ms()		//@11.0592MHz
{unsigned char i, j, k;_nop_();_nop_();i = 3;j = 26;k = 223;do{do{while (--k);} while (--j);} while (--i);
}void ExternalInterrupt_Init(char Flag,char Mode){if (Flag == 0) {  // 外部中断0IE |= 0x81;  // 使能外部中断0if (Mode == 1) {TCON |= 0x01;}  // 设置外部中断0为下降沿触发else {TCON &= ~0x01;}}  // 设置外部中断0为低电平触发 else if (Flag == 1) {  // 外部中断1IE |= 0x84;  // 使能外部中断1if (Mode == 1) {TCON |= 0x04;}  // 设置外部中断1为下降沿触发else {TCON &= ~0x04;}}  // 设置外部中断1为低电平触发else if (Flag == 2) {  // 外部中断1且设置为高优先级IE |= 0x85;  // 使能外部中断1、外部中断0if (Mode == 1) {TCON |= 0x05;}  // 设置外部中断1为下降沿触发else {TCON &= ~0x05;}  // 设置外部中断1为低电平触发IP |= 0x04;}  // 设置外部中断1为高优先级else IE &= 0x7F;
}void ExternalInterrupt0() interrupt 0 {Delay50ms();  // 延时一段时间Flag++;if(Flag>7){Flag=0;}}void ExternalInterrupt1() interrupt 2 {Delay50ms();  // 延时一段时间Flag--;if(Flag<0){Flag=7;}}

可以在 void ExternalInterrupt0() interrupt 0 和 void ExternalInterrupt1() interrupt 2 中断函数编写自己想要的功能函数。

4.3  ExternalInterrupt.h

#ifndef __EXTERNALINTERRUPT__H
#define __EXTERNALINTERRUPT__H
#include "reg51.h"
#define Ex_Interrupt0      0
#define Ex_Interrupt1      1
#define Ex_Interrupt0_1    2
#define Low_Trigger        0
#define Falling_Trigger    1
void ExternalInterrupt_Init(char Flag,char Mode);#endif

4.4 protues仿真 

5.注意事项

        当设置外部中断0和外部中断为低电平触发时,按下触发按键会导致发生多次触发中断。所以提供的代码中进行简单的延时消抖,快

速按下松开按键不会触发多次中断,但是长时间按下按键,还是会出发多次中断。

6. protues仿真文件下载

.........

http://www.dtcms.com/wzjs/420598.html

相关文章:

  • 自建网站卖东西苏州网站制作
  • java新闻网站开发南京怎样优化关键词排名
  • 网站的logo怎么换系统开发
  • 邢台做网站名列前茅培训机构怎么找
  • oa系统登录荆门网站seo
  • 网站js代码检测网站推广模式
  • sex169 wordpress北京seo服务商找行者seo
  • 旅游网站首页模板长沙企业seo优化
  • 建设网站松岗营销推广方案
  • 上海的外贸网站建设公司价格宁波seo教学
  • 网站建设和续费网络营销研究现状文献综述
  • 定制logo碉堡了seo博客
  • 公司怎么做网站需要多少钱seo国外英文论坛
  • 专门做电脑壁纸网站seo网站排名优化软件是什么
  • 可做设计任务的网站专业营销团队公司
  • 二元期权网站建设怎么建网站免费的
  • php做的一个网站怀来网站seo
  • 给诈骗公司做网站互联网营销推广方案
  • 免费在线设计平台上海专业优化排名工具
  • 如何制作简单网页上海网络seo公司
  • 海尔建设网站的目的北京seo优化诊断
  • 用来做网站的软件企业营销网站
  • 今日重庆网seo推广公司有哪些
  • 系统门窗品牌排行前十名对网站提出的优化建议
  • 积分交易所网站开发头条站长平台
  • 做物流网站的多少钱南宁网站优化
  • 网站改版介绍衡阳seo优化推荐
  • 中国联通网站备案网络推广工作怎么样
  • 记事本做网站文字居中广州抖音推广
  • 无锡建设局评职称网站跨境网站建站