2.9 传统外部中断实验 -- INT0,INT1,INT2,INT3
2.9.1 中断实验1(外部中断INT0/P3.2,INT1/P3.3控制点灯并USB仿真)
1、 了解传统的外部中断INT0/P3.2,INT1/P3.3的使用 2、 了解STC8H8K64U对传统外部中断INT0/P3.2,INT1/P3.3功能的扩展 3、 学习使用USB进行仿真 4、 学习使用在中断中设置标志位,在主循环中查询并处理中断事件的处理方式
2.9.1.1 实验介绍
1,边缘触发中断,INT0/P3.2 外部中断实验演示程序: P3.2设置为高阻输入 或 P3.2设置为准双向口 INT0/P3.2设置为边缘触发中断。 【实验步骤】: Ø 先点击Run(运行)按钮,按下P3.2按键,保持不松开(为了验证下一步的实验), 进INT0中断后,读到INT0/P3.2口是 低,下降沿,点亮 P6.7,退出中断服务程序。 Ø 点击Run(运行)按钮,松开P3.2按键 进INT0中断后,读到INT0/P3.2口是 高,上升沿,点亮 P6.0,退出中断服务程序。 Ø 利用仿真,可以设置运行到断点处,捕捉当前程序运行到哪,是下降沿,还是上升沿
2,下降沿触发中断,INT1/P3.3 外部中断实验演示程序: P3.3设置为高阻输入 或 P3.3设置为准双向口 INT1/P3.3设置为下降沿触发中断。 【实验步骤】: Ø 先点击Run(运行)按钮,按一下P3.3按键 进INT1中断后,点亮 P6.4,退出中断服务程序。 Ø 利用仿真,可以设置运行到断点处,捕捉当前程序运行到哪。
2.9.1.2 原理图
将[INT0/P3.2,INT1/P3.3]设置为:高阻输入 或 准双向口 或 开漏模式 [INT0/P3.2,INT1/P3.3]设置为边缘触发中断。
Ø 外部中断实验辅助显示LED灯原理图 I/O口P4.0控制PNP三极管的通断,控制这8个灯的整体供电。 如果P4.0输出1,则PNP三极管不导通,这8个灯都不会获得电源,都不会有电流流过,都不会被点亮。 如果P4.0输出0,则PNP三极管导通,这8个灯才有可能会流过电流,才有可能会被点亮。 如果P4.0输出0,PNP三极管导通,特定LED灯的控制I/O口如输出0,则该LED灯会有电流流过,会被点亮。
如P6.0输出0,LED60灯就会被点亮;如P6.0输出1,LED60灯就会熄灭; 如P6.1输出0,LED61灯就会被点亮;如P6.1输出1,LED61灯就会熄灭; 如P6.2输出0,LED62灯就会被点亮;如P6.2输出1,LED62灯就会熄灭; 如P6.3输出0,LED63灯就会被点亮;如P6.3输出1,LED63灯就会熄灭; 如P6.4输出0,LED64灯就会被点亮;如P6.4输出1,LED64灯就会熄灭; 如P6.5输出0,LED65灯就会被点亮;如P6.5输出1,LED65灯就会熄灭; 如P6.6输出0,LED66灯就会被点亮;如P6.6输出1,LED66灯就会熄灭; 如P6.7输出0,LED67灯就会被点亮;如P6.7输出1,LED67灯就会熄灭
如P6口对外全部送0,则这8个灯全亮; 如P6口对外全部送1,则这8个灯全灭
如果P4.0输出1,则PNP三极管不导通,不管P6口对外全部送0或送1,这8个灯都不会有电流流过,都不会亮。 P4.0控制PNP三极管,作为这8个LED指示灯的总电源开关。
|