单片机原理及应用 实验四 指示灯数码管的中断控制
单片机原理及应用(C51 版)
功能:开机后D1灭灯,LED1黑屏,随后单击K1→D1状态反转,单击K2→LED1从0开始循环显示0~F字符。
实验目的及要求:
1.掌握外部中断的工作原理,学会中断程序设计;
2.按照实验报告要求图,绘制本实验电路原理图;
3.要求采用外部中断原理完成本次实验,其中按键K1、K2均设置为下降沿触发方式,自然优先级;
4.编写C51程序实现如下功能:开机后D1灭灯,LED1黑屏,随后单击K1→D1状态反转,单击K2→LED1从0开始循环显示0~F字符。
5.观察仿真结果,完成实验报告。
步骤:
1.根据实验要求绘制电路图。
绘制时(1)选择并摆放电路元件
(2)摆放电源正负极
(3)连接各元件,根据需要绘制支线和总线,对于总线上的支线要进行标号
绘制完成后电路图如下:
2.在Keil中编写并编译C51程序。
(1)编写并编译程序,将以.c为后缀的程序文件添加到Source Group里
C51源程序:
#include"reg51.h"
unsigned char led_mod[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x71};
unsigned char count = 0;
sbit P04 = P0^4;int0_key() interrupt 0{
P04 = !P04;}int1_key() interrupt 2{
P2 = led_mod[count];
if (++count>=0x10)
count=0;}void main(){
IT0=IT1=EX0=EX1=EA=1;
P2 = 0;
while(1);
}
(2)导出.omf和.hex为后缀的工程文件
3.回到Proteus7中,为单片机添加工程文件并仿真。
添加工程文件:
仿真:开机后D1灭灯,LED1黑屏:
单击K1→D1状态反转:
单击K2→LED1从0开始循环显示0~F字符:
4.实验效果图
单片机原理及应用 实验四 指示灯数码管的中断控制相关推荐
- 单片机原理及应用 实验三 指示灯循环控制
单片机原理及应用(C51语言版) 实验三 指示灯循环控制 实验功能如下: 实现8个LED灯依次点亮的功能:P0.0→P0.1→P0.2→P0.3→ ┅ →P0.7→P0.6→P0.5→ ┅ →P0.0 ...
- 单片机实验四-七段数码管及键盘控制
动态显示0-15 ORG 0100HLCALL INIT START:MOV P1,#00H ;控制哪个7段数码管显示MOV R0,#16MOV R1,#30H;LOOP0:MOV P2,@R1;IN ...
- 山东大学单片机原理与应用实验 3.4 矩阵键盘扫描实验
目录 一.实验题目 二.实验要求 三.实验过程及结果记录 1. 在Proteus 环境下建立图1所示原理图,并将其保存为keyscan_self.DSN 文件. 2. 编写控制源程序,将其保存为key ...
- 山东大学单片机原理与应用实验 C语言程序实验
一.实验题目 C语言程序实验 二.试验要求 片内RAM30H开始的32个单元中分布着随机的有符号8位二进制数,按从小到大的顺序进行排序,排序后的数据仍然保存到30H开始的32个单元中(低地址存放小数据 ...
- 山东大学单片机原理与应用实验 汇编程序实验2
一.实验题目 汇编程序实验2 二.实验要求 片内RAM30H开始的32个单元中分布着随机的有符号8位二进制数,按从小到大的顺序进行排序,排序后的数据仍然保存到30H开始的32个单元中(低地址存放小数据 ...
- 山东大学单片机原理与应用实验 3.2 拓展并行I/O口实验
目录 一.实验题目 二.实验要求 三.实验过程及结果记录 1. 在Proteus环境下建立原理图,如图1所示,并保存为expandIO.DSN文件. 2. 将实验代码写入文本文档,并保存为expand ...
- 山东大学单片机原理与应用实验 3.7LCD 1602显示实验
目录 一.实验题目 二.实验要求 三.实验过程及结果分析 四.实验流程图 五.实验源代码 一.实验题目 3.7 LCD 1602显示实验 二.实验要求 1.画出实验的流程图 2.编写源程序并进行注释 ...
- 在c语言如何对拨码开关编程,实验四 指示灯和拨码开关实验_百度文库(15页)-原创力文档...
实验四 指示灯和拨码开关实验 一.实验目的 1.了解F2812-A 评估板在TMS320F2812DSP 外部扩展存储空间上的扩展. 2.了解F2812-A 评估板上指示灯扩展原理. 3.了解F281 ...
- 单片机原理及应用 实验六 双机通信与PCB设计
单片机原理及应用(C51版) 实验目的及要求: 1.掌握串口通信工作原理及程序开发方法,熟悉ARES软件PCB设计过程: 2.按照P241图A.72绘制电路原理图1,将第6章实例2中2#机的查询法收发 ...
最新文章
- 方法的运用_企业如何运用论坛做营销,千享科技分享技巧方法
- python面试常见问题-Python面试中最常见的25个问题
- awstats 简单日志分析
- vb 绘制图形/蝴蝶动画
- Vue父组件使用子组件时,需要携带参数,函数内如何获取子组件给的值
- MySQL学习(三)
- html 手机访问优化,移动端首屏优化
- linux egrep和grep区别,linux中grep和fgrep有什么区别
- java7 32位官方下载_【java7】64位+32位官方下载
- python自动刷网课_基于python和selenium的刷网课的代码。
- oracle 批量修改同义词,Oracle批量创建同义词
- 分享咖啡基础知识——从咖啡小白到咖啡发烧友需要了解的那些事儿!
- gmx一定要在linux下运行么,gmx_mmpbsa使用说明
- 机器学习之线性回归——OLS,岭回归,Lasso回归
- 作业1.1利用Audacity软件分析音频
- html页面宽度1920,网页banner尺寸1920
- Advanced IP Scanner教程 详细使用方法
- 图像的峰值信噪比(peak signal to noise ratio, PSNR)
- 360剑灵洪门崛起服务器维护,剑灵洪门崛起公益服,年度bt无限元宝满v平台,快速升级及上手攻略...
- 如何在Python中使用LightFM构建可扩展的电子商务推荐系统?
热门文章
- 2020 C++ priority_queue 最大堆与最小堆介绍
- 【英语阅读】纽约时报 | 马云正式退休,但仍将影响阿里帝国
- java古诗_java抓取古诗文的单线程爬虫
- get请求获取不到参数
- 有关3d引擎优化的一些搜索整理
- Java项目:JSP校园运动会管理系统
- 【解决方法汇总】SpringBoot项目报错 Could not resolve placeholder ‘‘ in value “${}“
- 去掉dt和dd默认间隔的方法
- Unity VR开发教程 OpenXR+XR Interaction Toolkit (六)手与物品交互(触摸、抓取)
- Unity XR初始化设置