任务一:按下P33,P01的LED改变原来的状态
#include "config.h"
#include "task.h"
#include "io.h"
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
void Delay3000ms(void) //@24.000MHz
{
unsigned long edata i;
_nop_();
_nop_();
i = 17999998UL;
while (i) i--;
}
void main(void)
{
Sys_init(); //系统初始化
usb_init(); //USB CDC 接口配置
IE2 |= 0x80;
Timer0_Init();
Init_595();
INT1_Init();
EA = 1;
P40 = 0;
while (DeviceState!=DEVSTATE_CONFIGURED);
while(1)
{
if (bUsbOutReady)
{
usb_OUT_done();
}
P00=!P00;
Delay3000ms();
}
}
void Timer0_Isr(void) interrupt 1 //1毫秒执行一次
{
Task_Marks_Handler_Callback (); //系统计时
}
测试视频:
第十四集IO中断,已手敲代码测试成功
任务一:IO中断程序,LED灯亮灭
#include "io.h"
void P3_IO_Init(void)
{ P3IM0=0X00;
P3IM1=0X00;
P3INTE=0X08;
}
voidP3_IO_ISR(void) interrupt 40
{ u8 intf;
intf=P3INTF;
if(intf)
{
P3INTF=0;
if(intf&0x08)
{
P01=!P01;
}
}
P01=!P01;
}
学习视频:
任务二:P33口显示数字1,P47显示数字2
#include "config.h"
#include "task.h"
#include "io.h"
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
void Delay3000ms(void) //@24.000MHz
{
unsigned long edata i;
_nop_();
_nop_();
i = 17999998UL;
while (i) i--;
}
void main(void)
{
Sys_init(); //系统初始化
usb_init(); //USB CDC 接口配置
IE2 |= 0x80;
Timer0_Init();
Init_595();
//INT1_Init();
P3_IO_Init();
P4_IO_Init();
EA = 1;
P40 = 0;
while (DeviceState!=DEVSTATE_CONFIGURED);
while(1)
{
if (bUsbOutReady)
{
//USB_SendData(UsbOutBuffer,OutNumber);
usb_OUT_done();
}
Task_Pro_Handler_Callback(); //执行功能函数
passward=0;
}
}
void Timer0_Isr(void) interrupt 1 //1毫秒执行一次
{
Task_Marks_Handler_Callback (); //系统计时
}
学习视频:
任务三:实现P33,P47口的I0中断 ,P47口中断优先P33口中断
#include "io.h"
void P3_IO_Init(void)
{ P3IM0=0X00;
P3IM1=0Xff;
P3INTE=0X08;
}
voidP3_IO_ISR(void) interrupt 40
{ u8 intf;
intf=P3INTF;
if(intf)
{
P3INTF=0;
if(intf&0x08)
{
passward=1;
}
}
}
void P4_IO_Init(void)
{ P4IM0=0X00;
P4IM1=0Xff;
P4INTE=0X80;
PINIPH |=(1<<4);
PINIPL |=(1<<4);
}
voidP4_IO_ISR(void) interrupt 41
{ u8 intf;
intf=P4INTF;
if(intf)
{
P4INTF=0;
if(intf&0x80)
{
passward=2;
}
}
}
学习视频:
页:
1
[2]