Linux下的51单片机简单的外部中断实验
来源:互联网 发布:淘宝网结算页面进不去 编辑:程序博客网 时间:2024/06/10 03:58
外部中断实验
1、 实验目的
了解外部中断原理
学会单片机外部中断的用法;
2、 实验设备
装有 Linux系统的电脑,已装好SDCC交叉编译环境,并带有Python烧写工具;
51单片机开发板 1 个,USB 数据线 1 根。
3、 实验内容
了解外部中断的概念;
编写程序实现外部中断;
下载程序,验证单片机外部中断;
4、 实验原理
中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的,51 单片机内
部一共有 5 个中断源,本实验主要讲解外部中断 1,要使用外部中断主要要设置三个控制位,
一是打开全局中断控制 EA=1;二是打开外部中断控制位 EX1=0;三是设置外部中断触发方
式 IT=0,低电平触发, IT=1,下降沿触发。本程序采用低电平触发。单片机的 PIN12 和 PIN13
分别是外部中断 0 和外部中断 1,KEY1 按键连接的是外部中断 1,所以 KEY1 按键具有触
发外部中断的功能。
5、 实验相应寄存器
6、 实验电路图
图 6_1 独立按键电路图
引脚对应表:
KEY1
P3_3
7、 实验程序实现
外部中断程序:
#include<8051.h> //包含特殊功能寄存器的定义#define LED P1//宏定义 LED 代表 P1/********************************************************主程序*********************************************************/void main(){LED=0xff;//P1 口初始值,关闭 led 灯EA=1;//全局中断开EX1=1;//外部中断 1 开IT1=0;//低电平触发while(1){//在此添加其他程序,中断程序可以跟此处的程序同步执行}}/****************************************************外部中断程序*****************************************************/void Key_INT(void) interrupt 2 using 1{LED =0; //LED 状态改变}
8、 实验步骤
1、了解外部中断原理;
2、编写程序,编译无错误,并生成 HEX 文件;
vim interrupt.c (输入代码)
sdcc interrupt.c(会生成.ihx文件)
packihx interrupt.ihx >interrupt.hex (重定向为十六进制文件)
hex2bin key.hex (生成二进制文件)
3、烧写程序,按下KEY2。
sudo python ./stcflash.py ./interrupt.bin (注意电源要关闭一次,再打开会进行数据的烧写)
3、用跳线帽短接 J3,运行程序;
9、 实验结果
当按下KEY1时,触发中断,P1口LED亮,按下复位键,可重复尝试。
- Linux下的51单片机简单的外部中断实验
- 51单片机的外部中断
- 51单片机 外部中断实验
- 51单片机外部中断的C51编程
- Linux下的51单片机蜂鸣器实验
- 简单的单片机实验
- 51单片机的外部中断的学习(一)
- 51单片机外部中断
- 关于51单片机“外部中断触发方式”的经验总结
- 关于51单片机“外部中断触发方式”的经验总结
- 基于51单片机的外部中断实例1
- 关于51单片机外部中断的触发方式
- 51单片机2个外部中断的应用
- 单片机实验期末考试-使用两个外部中断控制8只LED显示的电路
- Linux下的51单片机独立按键控制显像管实验
- LINUX下的51单片机LED 渐亮渐灭实验
- LINUX下使用简单的中断程序使单片机精确计时
- 单片机实验3(外部中断)
- 【动画演示】Sublime Text 3 mac 高频使用技巧 mark!!
- iOS开发最新之CocoaPods环境配置教程
- android wifi---------------广播
- 用for循环自动生成新闻
- Anroid中使用SVG图像以及向下兼容问题的解决
- Linux下的51单片机简单的外部中断实验
- Deep Learning(深度学习)学习笔记整理系列之(八)
- OpenCV学习笔记(五)图像掩码操作
- 智能车竞赛平衡组三种滤波方案
- ekl 参考资料
- 为App内容开启深度链接
- 设计模式中的六大设计原则
- [JNI] 开发基础(3)指针操作
- pandas get_dummy