PIC 16f877a PORTB State Change Interrupt仿真与源码

2019-11-09来源: 51hei关键字:PIC  16f877a  PORTB  State  Change  Interrupt

PORT Change Interrupt PIC 16f877A

单片机源程序如下:

#define      LED_1     PORTd.b0

#define      LED_2     PORTd.b1

void interrupt()

{

if(INTCON.RBIF)

  {

  INTCON.RBIF = 0;

  if(!PORTB.B4)

   {

    LED_1 = 0;

    LED_2 = 1;

   }

   if(!PORTB.B7 )

   {

    LED_1 = 1;

    LED_2 = 0;

   }

}

}


void main(){

  TRISB = 0XF0;

  TRISD = 0X00;

  PORTD = 0X00;

  OPTION_REG.B7=0;        // PORTB dahili pull-up aktif

  INTCON.GIE=1;           // b黷黱 kesmelere izin ver

  INTCON.RBIE=1;          // PORTB de餴m kesmesine izin ver

  INTCON.RBIF=0;          // RBIF bayra瘕n?temizle

  LED_1 = 1;

  delay_ms(1000);

  LED_1 = 0;

while(1)

        {


        }

}




关键字:PIC  16f877a  PORTB  State  Change  Interrupt 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic479502.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于pic16f877a的电压输出并显示
下一篇:dsPIC30F6014 CAN总线发送功能+DS18B20温度采集

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

直流有刷伺服控制系统(pic单片机,pid控制)
基于PIC18系列单片机的直流有刷伺控制系统:(来处于国外贴)1:原理图(PDF)2:原理图及PCB图(EAGLE)3:带pid + 编码器的控制程序。main.c电路原理图如下: 单片机源程序如下:// Vertical motor driver code // Oringially made by Kevin Wolfe 2009-2011// Modified by Matt Moses 2010-2011// #include <p18f1320.h>//#include <stdlib.h>//#include <delays.h>//#include
发表于 2019-11-11
直流有刷伺服控制系统(pic单片机,pid控制)
电池容量测试仪电路与源码(PIC16F1938单片机+AD623实现)
分享一个由PIC16F1938单片机芯片和AD623构成的电池容量测试仪.电路原理图如下:电池容量测试仪的pic单片机源码:#include    "main.h" //------------------------32MHZ---------------------------------------------- __CONFIG(FOSC_INTOSC & CLKOUTEN_OFF & BOREN_ON & PWRTE_ON & CPD_OFF          &CP_ON
发表于 2019-11-11
电池容量测试仪电路与源码(PIC16F1938单片机+AD623实现)
用PIC18F4520与发电机上的电表实现MUDBUS通信
说明:在了解了Modbus协议之后,开始编写Modbus-RTU通信函数。本系统所用的PIC18F4520单片机最小系统只有RS232通信接口,电力仪表提供的是串行异步半双工的RS485通信接口,故需用RS232转RS485转接器实现通信。本模块用USART来编写通信函数,且必须将其设置为串行异步半双工的通信方式,相关USART初始化函数如下://USART模块初始化void USARTinit(void){        TXSTAbits.SYNC=0;   //选择异步通信方式    TXSTAbits.TX9=0;   
发表于 2019-11-11
用PIC18F4520与发电机上的电表实现MUDBUS通信
PIC16F877A单片机PPM调制的激光通信Proteus仿真及源程序
modulation) 脉冲位置调制。通过改变脉冲的位置来传输不同的数据。如图1、PPM的编码:如图、利用单片机的PWM功能产生PWM1和PWM2连个脉冲。利用数字电路合成PPM脉冲。可以看出当PWM1的占空比是0时,PPM如下图的A,PWM1的占空比是1时,PPM如下图的B,PPM的合成:如第一个图可知,PPM可以将PPM1求反后和PWM2相与得到。故设计如上发送模块。接收模块结果波形整形送到单片机处理。PPM发送的数据(16位的双字节数)。定义占空比一定的脉冲为发送的数据。发送0,   0,   0,   0-3, 4-7,   8-11, 12-15前面是头
发表于 2019-11-09
PIC16F877A单片机PPM调制的激光通信Proteus仿真及源程序
PIC单片机ad采样在LCD上显示
/* Main.c file generated by New Project wizard** Created:   周二 4月 10 2018* Processor: PIC18F452* Compiler:  MPLAB C18*/#include <p18f452.h>#define RW PORTBbits.RB5#define RS PORTBbits.RB6#define EN PORTBbits.RB7#define P0 PORTD#define ADGO ADCON0bits.GOvoid tmr(void);void KeyInterrupt1 (void); //中断服务函数
发表于 2019-11-09
PIC单片机驱动LCD12864显示字符源代码
#include <pic.h>       //调用头文件,可以去PICC软件下去查找PIC16F87XA单片机的头文件__CONFIG(XT&WDTDIS&LVPDIS);    //定义配置字,晶振类型:XT,关闭开门狗,禁止低电压编程#define Rs  RB0 //并行数据/控制字选择 H:数据  L:控制字#define RW  RB1 //并行读/写选择       H:读    L:写#define E   RB2 //并行读写使能  
发表于 2019-11-09
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved