单片机原理及应用(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.实验效果图

单片机原理及应用 实验四 指示灯数码管的中断控制相关推荐

  1. 单片机原理及应用 实验三 指示灯循环控制

    单片机原理及应用(C51语言版) 实验三 指示灯循环控制 实验功能如下: 实现8个LED灯依次点亮的功能:P0.0→P0.1→P0.2→P0.3→ ┅ →P0.7→P0.6→P0.5→ ┅ →P0.0 ...

  2. 单片机实验四-七段数码管及键盘控制

    动态显示0-15 ORG 0100HLCALL INIT START:MOV P1,#00H ;控制哪个7段数码管显示MOV R0,#16MOV R1,#30H;LOOP0:MOV P2,@R1;IN ...

  3. 山东大学单片机原理与应用实验 3.4 矩阵键盘扫描实验

    目录 一.实验题目 二.实验要求 三.实验过程及结果记录 1. 在Proteus 环境下建立图1所示原理图,并将其保存为keyscan_self.DSN 文件. 2. 编写控制源程序,将其保存为key ...

  4. 山东大学单片机原理与应用实验 C语言程序实验

    一.实验题目 C语言程序实验 二.试验要求 片内RAM30H开始的32个单元中分布着随机的有符号8位二进制数,按从小到大的顺序进行排序,排序后的数据仍然保存到30H开始的32个单元中(低地址存放小数据 ...

  5. 山东大学单片机原理与应用实验 汇编程序实验2

    一.实验题目 汇编程序实验2 二.实验要求 片内RAM30H开始的32个单元中分布着随机的有符号8位二进制数,按从小到大的顺序进行排序,排序后的数据仍然保存到30H开始的32个单元中(低地址存放小数据 ...

  6. 山东大学单片机原理与应用实验 3.2 拓展并行I/O口实验

    目录 一.实验题目 二.实验要求 三.实验过程及结果记录 1. 在Proteus环境下建立原理图,如图1所示,并保存为expandIO.DSN文件. 2. 将实验代码写入文本文档,并保存为expand ...

  7. 山东大学单片机原理与应用实验 3.7LCD 1602显示实验

    目录 一.实验题目 二.实验要求 三.实验过程及结果分析 四.实验流程图 五.实验源代码 一.实验题目 3.7 LCD 1602显示实验 二.实验要求 1.画出实验的流程图 2.编写源程序并进行注释 ...

  8. 在c语言如何对拨码开关编程,实验四 指示灯和拨码开关实验_百度文库(15页)-原创力文档...

    实验四 指示灯和拨码开关实验 一.实验目的 1.了解F2812-A 评估板在TMS320F2812DSP 外部扩展存储空间上的扩展. 2.了解F2812-A 评估板上指示灯扩展原理. 3.了解F281 ...

  9. 单片机原理及应用 实验六 双机通信与PCB设计

    单片机原理及应用(C51版) 实验目的及要求: 1.掌握串口通信工作原理及程序开发方法,熟悉ARES软件PCB设计过程: 2.按照P241图A.72绘制电路原理图1,将第6章实例2中2#机的查询法收发 ...

最新文章

  1. 方法的运用_企业如何运用论坛做营销,千享科技分享技巧方法
  2. python面试常见问题-Python面试中最常见的25个问题
  3. awstats 简单日志分析
  4. vb 绘制图形/蝴蝶动画
  5. Vue父组件使用子组件时,需要携带参数,函数内如何获取子组件给的值
  6. MySQL学习(三)
  7. html 手机访问优化,移动端首屏优化
  8. linux egrep和grep区别,linux中grep和fgrep有什么区别
  9. java7 32位官方下载_【java7】64位+32位官方下载
  10. python自动刷网课_基于python和selenium的刷网课的代码。
  11. oracle 批量修改同义词,Oracle批量创建同义词
  12. 分享咖啡基础知识——从咖啡小白到咖啡发烧友需要了解的那些事儿!
  13. gmx一定要在linux下运行么,gmx_mmpbsa使用说明
  14. 机器学习之线性回归——OLS,岭回归,Lasso回归
  15. 作业1.1利用Audacity软件分析音频
  16. html页面宽度1920,网页banner尺寸1920
  17. Advanced IP Scanner教程 详细使用方法
  18. 图像的峰值信噪比(peak signal to noise ratio, PSNR)
  19. 360剑灵洪门崛起服务器维护,剑灵洪门崛起公益服,年度bt无限元宝满v平台,快速升级及上手攻略...
  20. 如何在Python中使用LightFM构建可扩展的电子商务推荐系统?

热门文章

  1. 2020 C++ priority_queue 最大堆与最小堆介绍
  2. 【英语阅读】纽约时报 | 马云正式退休,但仍将影响阿里帝国
  3. java古诗_java抓取古诗文的单线程爬虫
  4. get请求获取不到参数
  5. 有关3d引擎优化的一些搜索整理
  6. Java项目:JSP校园运动会管理系统
  7. 【解决方法汇总】SpringBoot项目报错 Could not resolve placeholder ‘‘ in value “${}“
  8. 去掉dt和dd默认间隔的方法
  9. Unity VR开发教程 OpenXR+XR Interaction Toolkit (六)手与物品交互(触摸、抓取)
  10. Unity XR初始化设置