. .
实验六 外部中断实验一
一、实验要求
1. 在 Proteus 软件中画好 51 单片机最小核心电路,包括复位电路和晶振电路
2. P1 口上拉接 8 个 LED;
3. 在 Keil 软件中编写程序,对 LED 显示进行控制,显示方式有两种:(1)0、7 亮,1、
6 亮,2、5 亮,3、4 亮,0、7 亮循环;(2))3、4 亮,2、5 亮,1、6 亮,0、7 亮,
3、4 亮循环。
4. 在 P3.2 连接一个按键,当按键弹起时引脚为高电平,当按键按下时引脚为低时平
5.
编写程序:系统对 LED 显示进行控制,一开始显示方式为(1),当按下 P3.2 连接
的按键时,系统在(1)和(2)之间切换显示方式
二、实验目的
1.
2.
3.
4.
学习端口输入输出的高级应用
掌握 LED 查表显示法
掌握外部中断的工作原理
掌握外部中断程序设计
三.实验说明
(条理清晰,含程序的一些功能分析计算)
1. 程序中 void my_int(void) interrupt 0 using 1
{ flag=!flag;} //中断子程序是中断子程序,就是按键按下中断一次。
2. 以下是灯亮的方式改变,即 flag 取反一次就改变一次。通过 i++或 i—实现
变化。
while(1)
{ P1=LED[i]; //在 P1 口显示灯亮的方式
delay_ms(500); //延时 0.05s
if(flag) //判断 P3^2 开关是否按下
{i++;
if(i>=4) //如果灯显示从两边到中间要在回到两边
i=0;}
else{i--;
if(i<0)//同上
i=3;}
四、硬件原理图与程序设计
(一)硬件原理图设计
1 / 6