微处理器原理与应用实验(51单片机部分)——实验4.1 按键声光报警实验
实验具体内容
本实验联系静态按键识别,发光二极管驱动,以及外部中断的使用方法,实验原理图如下图 4.1.1 所示(注:图中元件编号中括号里面的内容表示该元件所在的板子名称,如CPU 表示该元器件位于 CPU 板,以下类同)。
要求利用外部硬件中断,按键按下一次产生一次外部中断,在中断服务程序中计数器加 1,同时,通过发光二极管的闪烁和蜂鸣器响的次数,指示计数器的当前值。当计数到10 时,再次按键将重新从 1 开始计。
连线关系:
实验中端子连接关系如下:
流程图
实验过程
- 关掉实验箱电源。将 MCU 板插接在母板上,按照前面连接关系表将硬件连接好。
- 在仿真器断电情况下将仿真器的仿真头插在 MCU 板的 MCU 插座上。将仿真器与开发 PC 机的通信口连接好,打开实验箱及仿真器的电源。
- 运行 Keil uVision2 开发环境,建立工程 int0_c.uV2,MCU 为 AT89S51,包含启动文件 STARTUP.A51。
- 按照实验功能要求创建源程序 int0.c 并加入到工程 int0_c.uV2,并设置工程int0_c.uV2 属性,将其晶振频率设置为 11.0592MHz,选择输出可执行文件,DEBUG方式选择硬件 DEBUG,并选择其中的“WAVE V series MCS51 Driver”仿真器。
- 构造(Build)工程 int0_c.uV2。如果编程有误进行修改,直至构造正确为止。
- 运行程序,按下 MCU 板上的 KEY0 按键,观察每次按键按下时主板上的发光二极管的闪烁和蜂鸣器响的次数,是否符合程序要求,若不符合要求,分析出错原因,继续重复第 4、5 步的步骤,直至结果正确。
实验验证结果正确。
总结C语言实现中断控制及中断服务的方法:
首先要对中断进行初始化配置(例如中断开关、中断触发方式等)。
编写中断服务函数,将中断源与AT89C51的中断端口连接,当中断源产生中断信号时,AT89C51会执行一次中断服务函数。
实验源程序
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 wen's Blog!