外部中断INT0就是在外部条件满足的情况下,简单的讲,就是对单片机内部的一个寄存器INT0IF会制1的操作
#include
__CONFIG(1,XT) ; //晶振为外部4M
__CONFIG(2,WDTDIS) ; //看门狗关闭
__CONFIG(4,LVPDIS) ; //禁止低电压编程
#define uchar unsigned char
#define uint unsigned int
char shuma[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
char num=0;
void delayms(uint x)
{
uint i,j;
for(i=0;i<=110;i++)
for(j=0;j<=x;j++);
}
//中断函数
void interrupt k(void)
{
if(INT0IF==1) //判断是否产生中断
{
INT0IF=0;
num=-1;
}
}
void display()
{
PORTD=shuma[num];
delayms(700);
}
void main(void)
{
ADCON1=0X06;
TRISD=0B00000000;
IPEN=0; //关闭中断优先级
GIEL=0; //禁止所有外设中断
INTEDG0=0; //外部中断0用下降沿触发
INT0IE=1; //使能外部中断0
GIE=1; //开总中断
num=0;
while(1)
{
display();
num++;
if(num>9)
num=0;
}
关键字:PIC 外部中断 INT0
引用地址:
PIC 外部中断INT0
推荐阅读最新更新时间:2024-03-16 14:49
PIC单片机A/D转换过程
PIC单片机A/D转换过程 1、设定ADCON1和TRISx寄存器,配置引脚的工作模式; 2、若需要转换完毕中断响应,需设定相关的中断控制寄存器; 3、设置ADCON0寄存器,选择A/D转换的时钟,选择模拟信号输入通道,打开A/D模块,注意此时GO/DONE位不要置1; 4、等待足够长的采样延时; 5、将ADCON0中的GO/DONE控制位置1,启动一次A/D转换过程; 6、查询A/D转换结束标志:GO/DONE位在A/D转换结束时会自动清0,ADIF标志位在A/D转换结束后会自动置1,这两个位都可以作为软件查询A/D转换是否结束的标志,使用ADIF标志时记得要用软件将其清除; 7、若用中断来响应A/D转换的结束,则上一
[单片机]
Cortex-M3处理器的外部中断程序自学
无论是哪款单片机应该都有对应的中断的功能,中断在嵌入式系统的地位毋庸置疑。LPC1768微处理器包括4个外部中断,分别是EINT0、EINT1、EINT2、EINT3对应的引脚分别是P2.10~P2.13,这几个引脚也可以作为通用IO口使用。名个外部中断可以设置成低电平/高电平或上升沿/下降沿有效,它们还有一个功能就是可用于将处理器从睡眠、深度睡眠或掉电模式中唤醒。涉及到外部中断的寄存器主要有以下几个: 寄存器名称 描述 功能 默认值 EXTINT 外部中断标志寄存器 设置或查看中断标志 0x00 EXTMODE 外部中断模式寄存器 设置电平触发或边沿触发
[单片机]
外部中断EXTI的配置注意事项
1,EXTI_InitTypeDef 定义于文件“stm32f10x_exti.h”: typedef struct { u32 EXTI_Line; EXTIMode_TypeDef EXTI_Mode; EXTIrigger_TypeDef EXTI_Trigger; FunctionalState EXTI_LineCmd; } EXTI_InitTypeDef; 2,例子: void EXTI_Configuration(void) { EXTI_InitTypeDef EXTI_InitStructure; EXTI_ClearITPendingBit(EXTI_Line2);//清除外部中断线2
[单片机]
PIC单片机-锁报警器
振动传感器拾取到振动信号后经Q1放大给IC1,JS83就是一个PIC12C508单片机,它的6脚按照程序输出所需要的音调波形,经Q2推动升压变压器升压,驱动压电蜂鸣器发声。 原理图: 下面是用PIC16C54做的测试程序,程序按照音调波形图编制。 PIC54 EQU 1FFH PIC57 EQU 7FFH SUB EQU 0 PORTA EQU 05H RA EQU 05H PORTB EQU 06H RB EQU 06H STATUS EQU 03H PA2 EQU 7 PA1 EQU 6 PA0 EQU 5 TO EQU 4 PD EQU 3 Z EQU 2 DC EQU 1 C EQU 0 DE
[单片机]
PIC C语言编程_PICC中的指针
PICC中指针的基本概念和标准C语法没有太多的差别。但是在PIC单片机这一特定的架构上,指针的定义方式还是有几点需要特别注意。 1) 指向RAM的指针 如果是汇编语言编程,实现指针寻址的方法肯定就是用FSR寄存器,PICC也不例外。为了生成高效的代码,PICC在编译C原程序时将指向RAM的指针操作最终用FSR来实现间接寻址。这样就势必产生一个问题:FSR能够直接连续寻址的范围是256字节(bank0/1或bank2/3),要覆盖最大512字节的内部数据存储空间,又该如何让定义指针?PICC还是将这一问题留给编程员自己解决:在定义指针时必须明确指定该指针所适用的寻址区域,例如: unsignedchar*ptr0;//①
[单片机]
14、PIC32系列-内核定时器
1、使用Harmony配置内核定时器 1、在Available Components组件中将CORE TIMER添加到Project Graph中; 2、组件添加后,组件初始内容如下; 其中Enable Interrupt Mode是使能中断模式,勾选后会自动生成中断相关代码; Stop Timer in Debug mode是在空闲模式下的操作,勾选后在空闲模式下停止模块; Compare period(milliseconds)是比较周期,系统时间频率是4MHz; Enable Interrupt Mode显示如下 3、点击Generate Code生成代码; 4、代码生成后需要的操作; 1、
[单片机]
PIC单片机片内EEPROM运用方法
/*============================================================================= 访问PIC16F877A片内EEPROM,运行程序: Begin Test - LED0亮, EEPROM Test OK- LED7亮, Write&Read OK - LED0/2/4/6亮。 =============================================================================*/ //////////////////////////////////////////////
[单片机]
采用PIC16F877单片机的汽车电动助力转向系统
1 引言 随着电子控制技术的发展及其在汽车领域的广泛应用, 电动助力转向系统(Electric Power Steering, 简称EPS)越来越成为目前汽车电子技术研究的热点之一。与传统的转向系统相比,EPS系统结构简单,灵活性大,可以获得理想的操纵稳定性,能动态地适应汽车行驶状况的变化,在操纵舒适性、安全性、环保、节能、易于维修等方面也充分显示了其优越性 。目前, 电动助力转向已部分取代液压助力转向并获得广泛应用,如日本的大发、三菱、本田汽车公司,美国的Delphi汽车系统公司,德国的ZF公司等都相继研制出各自的EPS并装配使用。国内对EPS 系统的研究起步较晚,仅有清华、华中科大、吉林大学、合肥工大等高校开展了系统
[单片机]