完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
中断基本概念
外部中断软件设计原理
void Int0Init() { //设置 INT0 IT0=1;//边沿触发方式(下降沿) EX0=1;//打开 INT0 的中断允许。 EA=1;//打开总中断 } /*当触发中断后即会进入中断服务函数,外部中断 0 中断服务函数如下:*6/ void Int0() interrupt 0 //外部中断 0 的中断函数 { //执行所需的功能 } 硬件实现原理
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器 typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; ***it k3=P3^2; //定义按键 K3 ***it led=P2^0; //定义 P20 口是 led /* * 函 数 名 : delay * 函数功能 : 延时函数,i=1 时,大约延时 10us */ void delay(u16 i) { while(i--); } /* * 函 数 名 : Int0Init() * 函数功能 : 设置外部中断 0 * 输 入 : 无 * 输 出 : 无 */ void Int0Init() { //设置 INT0 IT0=1;//跳变沿出发方式(下降沿) EX0=1;//打开 INT0 的中断允许。 EA=1;//打开总中断 } /* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出 : 无 */ void main() { Int0Init(); // 设置外部中断 0 while(1);//等待下降沿的产生,若k3按键按下,下降沿产生,立即进入中断服务函数 } /* * 函 数 名 : Int0() interrupt 0 * 函数功能 : 外部中断 0 的中断函数 * 输 入 : 无 * 输 出 : 无 */ void Int0() interrupt 0 //外部中断 0 的中断函数 { delay(1000); //延时消抖 if(k3==0) //判断按键是否按下 { led=~led; //控制灯亮或灯灭 } } |
|
|
|
只有小组成员才能发言,加入小组>>
2548 浏览 0 评论
1143浏览 2评论
744浏览 1评论
497浏览 0评论
262浏览 0评论
423浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 00:01 , Processed in 1.165128 second(s), Total 81, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号