历史上的今天
今天是:2025年08月04日(星期一)
2018年08月04日 | PIC RB0外部中断程序
2018-08-04 来源:eefocus
#include
#include
//__CONFIG (CP_OFF&WDTE_OFF& BOREN_OFF&PWRTE_OFF &FOSC_HS&WRT_OFF&LVP_OFF&CPD_OFF);
__CONFIG (CP_OFF&WDTE_OFF&BOREN_ON&PWRTE_OFF&FOSC_HS&WRT_OFF&LVP_OFF&CPD_OFF);
//__CONFIG (CP_OFF&WDTE_OFF& BOREN_OFF&PWRTE_OFF &FOSC_HS&WRT_OFF&LVP_OFF&CPD_OFF);
//__CONFIG (CP_OFF&WDTE_ON& BOREN_OFF&PWRTE_ON&FOSC_HS&WRT_OFF&LVP_OFF&CPD_OFF);
/*配置位
CP_OFF,代码保护位,程序存储器代码保护关闭;
WDTE_OFF,看门狗定时器使能位,看门狗定时器关闭,可以通过WDTCON寄存器的SWDTEN位使能;
BOREN_OFF,掉电复位选择位,掉电复位关闭;
PWRTE_OFF,上电定时器使能位,上电定时器关闭;
FOSC_HS,振荡器选择位,高速晶振或谐振器在RA6/OSC2/CLKOUT和RA7/OSC1/CLKIN;
WRT_OFF,闪存程序存储器自写使能位,写保护关闭;
LVP_OFF,低电压编程使能位,RB3引脚有数字I/O,使用MCLK上的HV(高电压)来编程;
CPD_OFF,数据代码保护位,数据存储器代码保护关闭;
*/
//__CONFIG (0x2FF2);
#define uchar unsigned char
#define uint unsigned int
#define LEDA RB3//定义灯1
#define RET RB0//定义灯1
void delay(unsigned int n);
void interrupt ISR(void);
uchar count;
main()
{
TRISB=0X01;
//
PORTB=0x09;
ANSEL=0x00;
ANSELH=0x00;
//
//
GIE = 1;
PEIE = 1; //允许外设中断
RBIE = 1;
//INTE = 1;
//IOCB = 0x01; //B0电平变化中断;
WPUB = 0X01;
OPTION_REG=0x00;
INTEDG=0;//当INTEDG位(OPTION<6>)被清零时在下降沿触发
INTE = 0;
INTF=0;
INTE = 1;
INTF=0;
//INTCON=
//WPUB = 0X0F;
//RBIF = 0;
//TRISB=0X01;
//PORTB=0X00;//红
RB3=0;//红灯
//count=0;
//RBIF = 0;
while(1)
{
if((count%2)==0)
{RB3=0;}
else
{RB3=1;}
//RB3=0;//红灯
////RET=0;
//delay(1000);
////delay(1000);
//
//RB3=1;
////RET=1;
//delay(1000);
////delay(1000);
}
}
//延时(n)ms
void delay(unsigned int n)
{
unsigned int j;
unsigned int k;
for(j=0;j for(k=264;k>0;k--) NOP(); } void interrupt ISR(void) { if(INTF==1) //电平变化中断 { // PortB0Intrupt = PortB0Intrupt+ 1; // PORTB = PORTB; // RD0 = ~RD0; // SendToPrin(&PortB0Intrupt,2); RB3=1;//黄 count++; INTF=0; // RBIF = 0; } }
上一篇:PIC单片机之按键错误汇总
下一篇:PIC单片机-蜂鸣器使用示例
史海拾趣
|
1)精通c/c++编程语言,编程习惯良好 2)熟悉软件开发开发流程,有较强的设计能力和文档编写能力 3)较强的团队意识和沟通能力 4)熟悉sqlite数据库(可选) 5)熟悉GSM或者3G协议(可选) 6)熟悉Wince操作系统及其开发平台(可选) ...… 查看全部问答> |
|
void CLODlg::OnBnClickedButton1() { pSubDlg->ShowWindow(SW_SHOW); Sleep(2000); AfxMessageBox(_T(\"\")); } 就是这样的几行代码,每次我运行时, ...… 查看全部问答> |
|
程序好像没有运行这一部分(红色显示) 下面是我的程序: #include #include #include sfr AUXR = 0x8e; #define X_ADDR XBYTE[0x0000] #define Y_ADDR XBYTE[0x0100] #define CMD XBYTE[0x0200] #define DAT XBYTE[0x0300] unsigne ...… 查看全部问答> |
|
既然T0是51规定的计时器,那么就不应该可以让它定义为全局变量,但却可以,咋回事? 既然T0是51规定的计时器,那么就不应该可以让它定义为全局变量,但却可以,咋回事? $ep T0 EQU 13 LF EQU 10 PUBLIC START SAMP SEGMEN ...… 查看全部问答> |
|
用示波器测试UART0的管脚,无波形。UART0和MII复用,故将MII的PINMUX屏蔽,而使用PINMUX3设置,经内核启动信息,查看UART0中断配置正常,并通过ehco \"test\">/dev/ttyS0,然后输入cat /proc/tty/driver/serial,发现TX发送数据增加,但无法测试到 ...… 查看全部问答> |
|
2012年IIC展于2月23日至25日在深圳会展中心举办,这是电子元器件原厂代理商和电子工程师的盛事,也是电子行业的风向标事件。阿牛哥在IIC展会第一天参加TriQuint新产品会议,TriQuint将分别针对移动设备的前端射频解决方案和针对基站集成的最新研发 ...… 查看全部问答> |
|
请求各位给我一个简单点的CPLD开发板原理图,我想学硬件电路和CPLD最小系统,请各位给我发到sxfyzhengtao@sina.com 谢谢各位了!… 查看全部问答> |




