- 打卡等级:初来乍到
- 打卡总天数:8
- 最近打卡:2025-04-27 09:57:04
已绑定手机
版主
- 积分
- 352
|
第一集:I/O口模式设置,传统外部中断【INT0, INT1, INT2, INT3, INT4】
1.学习截图
2.代码
#include <AI8051U.H>
#include "set_int.h"
#include "set_io.h"
#include "intrins.h"
void Delay1ms(void) //@40MHz
{
unsigned long edata i;
_nop_();
_nop_();
_nop_();
i = 9998UL;
while (i) i--;
}
void main(void)
{
EAXFR=1;
CKCON=0;
WTST=0;
set_io_mode(pu_mode,Pin40,Pin00,Pin01,Pin02,Pin03,Pin_End);
P40=0;
//set_io_mode(pp_mode,Pin40,Pin00,Pin01,Pin_End);
set_io_mode(hz_mode,Pin32,Pin33,Pin34,Pin35,Pin_End);
set_io_mode(en_pur,Pin32,Pin33,Pin34,Pin35,Pin_End);
//打开内部上拉电阻后,最好加一段1ms延时,以等待端口被拉高
Delay1ms();//1ms的延时
//set_io_mode(dis_pur,Pin32,Pin33,Pin_End);
//set_io_mode(en_pur,Pin33,Pin32,Pin_End);//参数顺序无所谓
set_int_mode(falling_edge_mode,Int0,Int1,Int_End);
EA=1;
while(1)
{
if(get_int_state(Int0))
{
P00=~P00;
}
if(get_int_state(Int1))
{
P01=~P01;
}
P02=P34;
P03=P35;
}
}
3.学习视频
|
|