博舍

单片机原理及应用实验报告 人工智能识图原理与应用实验报告怎么写好

单片机原理及应用实验报告

单片机原理及应用实验报告文章简介实验一:I/O口输出实验—LED流水灯实验一、实验要求利用单片机及8个发光二极管等器件,构成一个流水灯单片机系统二、实验目的1、掌握单片机最小系统的构成2、掌握I/O口的使用及驱动能力的概念3、熟悉移位指令和软件延时程序三、实验电路及连线1.硬件连接表2.注意事项四、实验说明1、主要知识点概述2、实验效果说明五、实验流程图六、实验代码七、仿真效果图八、思考题增加LED灯的显示花样,丰富实验的效果实验二:定时器实验1.实验要求2.实验目的1、学会定时器中断函数的处理2、掌握定时器,计数器的寄存器设置3、掌握单片机定时计数器计数方式的使用及编程方法三、实验电路及连线1.硬件连接表2.注意事项:四、实验说明1、主要知识点概述2、实验效果说明五、实验流程图六、实验代码七、仿真效果图八、思考题用定时器T0、数码管实现数字钟实验三:外部中断实验一、实验要求二、实验目的1、理解中断源、中断标志、中断入口等概念2、掌握外部中断程序的分析与编写设计方法三、实验电路及连线1.硬件连接表2.注意事项:四、实验说明1.主要知识点概述2.实验效果说明五、实验程序流程图六、实验代码七、仿真效果图八、思考题按键触发时可能导致多次中断发生,如何避免这种情况发生文章简介

51单片机原理及应用实验报告,使用Proteus7Professional+keil5forC51实现。主要使用汇编语言编写,实验2思考题使用C语言编写。

实验一:I/O口输出实验—LED流水灯实验一、实验要求利用单片机及8个发光二极管等器件,构成一个流水灯单片机系统二、实验目的1、掌握单片机最小系统的构成2、掌握I/O口的使用及驱动能力的概念3、熟悉移位指令和软件延时程序三、实验电路及连线1.硬件连接表MCUSTC89C51P1.0~P1.7D1~D85VVCCGNDGND2.注意事项

(1)仿真电路需要先搭建好最小系统(2)LED灯正极接5V,负极接P1口

四、实验说明1、主要知识点概述

本实验涉及到三个知识点:单片机最小系统的构成、单片机I/O口的使用以及软件延时程序的编写。(1)单片机最小系统由单片机芯片、时钟电路以及复位电路构成。(2)I/O口的正确使用。(3)延时子程序的延时计算问题。根据晶振时钟的大小以及指令周期,计算延时时间所要执行的指令数目。

2、实验效果说明

发光二级管进行流水灯操作,从上到下依次点亮。

五、实验流程图

六、实验代码

代码如下:

ORG0000hSTART:MOVR2,#8MOVA,#0FEHLOOP:MOVP2,ALCALLDELAYRLA;循环左移DJNZR2,LOOP;判断移动是否超过8位,未超过继续循环LJMPSTARTDELAY:MOVR5,#20;延时程序,延时0.2sD1:MOVR6,#20D2:MOVR7,#248DJNZR7,$DJNZR6,D2DJNZR5,D1RETEND七、仿真效果图

八、思考题增加LED灯的显示花样,丰富实验的效果

答:流水灯先正向流动,再反向流动,如此反复循环代码如下:

ORG0000hSTART:MOVR2,#7MOVR3,#7MOVA,#0FEHLOOP:MOVP1,ALCALLDELAYRLA;循环左移DJNZR2,LOOP;判断移动是否超过7位,未超过继续循环LOOP1:MOVP1,ALCALLDELAYRRA;循环右移DJNZR3,LOOP1;判断移动是否超过7位,未超过继续循环LJMPSTARTDELAY:MOVR5,#20;延时程序,延时0.2sD1:MOVR6,#20D2:MOVR7,#248DJNZR7,$DJNZR6,D2DJNZR5,D1RETEND实验二:定时器实验1.实验要求

单片机内部定时计数器T0,T0工作在定时模式,单片机的P1.0口接1个发光二极管,编写程序,控制发光二极管闪烁,时间间隔1S,要求使用单片机内部定时器定时1S。

2.实验目的1、学会定时器中断函数的处理2、掌握定时器,计数器的寄存器设置3、掌握单片机定时计数器计数方式的使用及编程方法三、实验电路及连线1.硬件连接表MCUSTC89C51P1.0D15VVCCGNDGND2.注意事项:

(1)仿真电路需要先搭建好最小系统(2)LED灯正极接5V,负极接P1口

四、实验说明1、主要知识点概述

(1)关于内部计数器的编程,主要是设置定时常数和有关控制寄存器。内部计数器在单片机中包括定时器和计数器两个功能。本例使用的是定时器,定时1S。CPU运行定时中断方式,实现每1S输出状态发生一次反转,即发光二极管1S亮一次。(2)内部计数器用于定时器时,是对机器周期计数。可根据单片机每个机器周期的长度、时钟晶振频率以及定时时间对定时常数进行计算。

2、实验效果说明

发光二极管按设定的定时时间闪烁

五、实验流程图

六、实验代码

代码如下:

ORG0000H;程序由地址0开始执行LJMPSTARTORG000BH;设置定时器0中断矢量地址LJMPINT;跳转到定时器中断控制入口处START:MOVTCON,#00000001BSETBET0SETBEATIMER0INIT:;50毫秒@12.000MHzANLTMOD,#0F0H;设置定时器模式ORLTMOD,#01H;设置定时器模式MOVTL0,#0B0H;设置定时初值MOVTH0,#03CH;设置定时初值MOVA,#11111110B;反转电平MOVR5,AMOVA,#20CLRTF0;清除TF0标志SETBTR0;定时器0开始计时HERE:SJMPHERE;等待中断的到来INT:;等待20个50msCLRTF0;清除TF0标志MOVTL0,#0B0H;设置定时初值MOVTH0,#03CH;设置定时初值SETBTR0;定时器0开始计时DECAJZLIGHTRETILIGHT:MOVP1,R5MOVA,R5CPLAORLA,#11111110BMOVR5,AMOVA,#20RETIEND七、仿真效果图

八、思考题用定时器T0、数码管实现数字钟

采用共阴极数码管

实验三:外部中断实验一、实验要求

用按键模拟单片机外部中断输入源,当按键按下时产生中断,进行中断处理,P1口连接8个发光二极管,用来反映中断程序处理过程。

二、实验目的1、理解中断源、中断标志、中断入口等概念2、掌握外部中断程序的分析与编写设计方法三、实验电路及连线1.硬件连接表MCUSTC89C51P1.0~P1.7D1~D8P3.2K15VVCCGNDGND2.注意事项:

(1)仿真电路需要先搭建好最小系统(2)LED灯正极接5V,负极接P1口

四、实验说明1.主要知识点概述

外部中断的响应过程:(1)中断采样:根据采样结果设置中断响应的状态。(2)中断查询:查询标志位的状态,确定是否响应。(3)中断响应:保护断点内容,装入中断入口地址,执行中断服务程序,返回中断点,继续执行原来程序。

2.实验效果说明

中断未发生时,LED做闪烁状态,当有中断产生,LED呈流水灯操作。

五、实验程序流程图

六、实验代码

代码如下:

ORG0000hAJMPINITORG0003HAJMPSTARTINIT:;中断初始化SETBEX0SETBIT1SETBEANOMAL:;P1口闪烁MOVA,#00HMOVP1,ALCALLDELAYMOVA,#0FFHMOVP1,ALCALLDELAYLJMPNOMALORG0200HSTART:;流水灯MOVA,#0FEHMOVR2,#8IT:MOVP1,ALCALLDELAYRLA;循环左移DJNZR2,IT;判断移动是否超过8位,未超过继续循环RETIDELAY:MOVR5,#10;延时程序,延时0.2sD1:MOVR6,#20D2:MOVR7,#248DJNZR7,$DJNZR6,D2DJNZR5,D1RETEND七、仿真效果图

八、思考题按键触发时可能导致多次中断发生,如何避免这种情况发生

答:硬件消抖:开关两侧并联一个0.1uF的电容。软件延时:启用一个定时中断,每2ms进一次中断,扫描一次按键状态并且存储起来,连续扫描8次后,看看这连续8次的按键状态是否是一致的。8次按键的时间大概是16ms,这16ms内如果按键状态一直保持一致,那就可以确定现在按键处于稳定的阶段,而非处于抖动的阶段。

部分代码来源网络!水平有限,若有问题欢迎指出!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇