51单片机外部中断的C51编程
以下来自网址:http://bbs.cepark.com/forum.php?mod=viewthread&tid=35813&page=1
相关知识: 1、51单片机的5大中断源:串行口中断、定时中断1、外部中断1、定时中断0、外部中断0; 2、中断源的编号: 串行口中断为4、定时中断1为3、外部中断1为2、定时中断0为1、外部中断0为0; 3、中断源的优先级:按以上顺序排列,串行口中断最低、外部中断0最高; 4、使用外部中断0和1,必须TCON寄存器设置其触发方式是低电平触发(0)还是下降沿触发(1); 5、使用前必须通过IE寄存器打开总中断和自己的中断; |
//这是特意安排的一个例程,以便和使用外部中断的例程2进行对比
//用一个按键控制一个灯的亮灭,开始不亮,按一下则点亮,再按一下灭掉,再按又亮........
//广西民大物电学院 李映超 2010年4月12日
#include
sbit k1=P3^2;
sbit led=P2^7;
void delay_ms(unsigned int xms);
void key_scan();
//=================================================
void main()
{
led=1;
while(1)
}
//=================================================
void delay_ms(unsigned int xms)
//-------------------------------------------------
void key_scan()
{
}
//-------------------------------------------------
//外部中断基本例程-2 (单个键盘的外部中断0扫描处理)
//用一个按键控制一个灯的亮灭
//开始不亮,按一下则点亮,再按一下灭掉,再按又亮........
//广西民大物电学院 李映超 2010年4月12日
#include
sbit k1=P3^2;
sbit led=P2^7;
void delay_ms(unsigned int xms);
void key_scan() interrupt 0
{
}
//=================================================
void main()
{
led=1;
TCON=0x01;
IE=0x81;
while(1)
}
//=================================================
void delay_ms(unsigned int xms)
//-------------------------------------------------
//八个按钮通过8个二极管接到外部中断0脚进行中断扩展,
//从而解决外部中断口不够用的问题
//广西民大物电学院 李映超 2010年4月12日
#include
sbit k0=P2^0;
sbit k1=P2^1;
sbit k2=P2^2;
sbit k3=P2^3;
sbit k4=P2^4;
sbit k5=P2^5;
sbit k6=P2^6;
sbit k7=P2^7;
sbit led0=P0^0;
sbit led1=P0^1;
sbit led2=P0^2;
sbit led3=P0^3;
sbit led4=P0^4;
sbit led5=P0^5;
sbit led6=P0^6;
sbit led7=P0^7;
void delay_ms(unsigned int xms);
//=================================================
void main()
{
TCON=0x01;
IE=0x81;
while(1)
}
//=================================================
void delay_ms(unsigned int xms)
//-------------------------------------------------
void key_scan() interrupt 0
{
}
51单片机外部中断C51编 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)