Linux下的51单片机简单的外部中断实验
2016-12-10 13:50
316 查看
外部中断实验
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、 实验程序实现
外部中断程序:
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亮,按下复位键,可重复尝试。
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亮,按下复位键,可重复尝试。
相关文章推荐
- 51单片机 外部中断实验
- 实验:PIO外部中断
- 《划时代-51单片机C语言全新教程》-第八章 外部中断 概览
- AVR之最简单外部中断、定时器0、定时器1程序
- zigbee学习笔记3----cc2530 外部中断实验
- 【转】51单片机外部中断的C51编程
- 外部中断实验
- arm11 s3c6410 外部中断实验代码
- 51单片机(AT89C52)外部中断程序
- 蓝点中文_linux2.0 实验二 简单shell命令
- 一起学mini2440裸机开发(十)--mini2440外部中断实验
- AVR之最简单外部中断、定时器0、定时器1程序
- 关于51单片机“外部中断触发方式”的经验总结
- 51单片机外部中断的C51编程
- Linux外部中断的驱动初始化
- 【连载】【FPGA黑金开发板】NIOS II那些事儿--外部中断实验(五)
- STM32-外部中断实验
- s3c2440基于linux的按键和外部中断驱动实践及驱动机制分析含代码
- 嵌入式成长轨迹45【Zigbee项目】【CC2430基础实验】【外部中断】
- 51单片机外部中断实验