2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 单片机原理及应用实验报告

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

时间:2024-02-03 15:17:43

相关推荐

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

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

文章简介实验一: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单片机原理及应用实验报告,使用Proteus 7 Professional+keil5 for C51实现。主要使用汇编语言编写,实验2思考题使用C语言编写。


实验一:I /O口输出实验—LED流水灯实验

一、实验要求

利用单片机及8个发光二极管等器件,构成一个流水灯单片机系统

二、实验目的

1、掌握单片机最小系统的构成

2、掌握I/O口的使用及驱动能力的概念

3、熟悉移位指令和软件延时程序

三、实验电路及连线

1.硬件连接表

2.注意事项

(1)仿真电路需要先搭建好最小系统

(2)LED灯正极接5V,负极接P1口

四、实验说明

1、主要知识点概述

本实验涉及到三个知识点:单片机最小系统的构成、单片机I/O口的使用以及软件延时程序的编写。

(1)单片机最小系统由单片机芯片、时钟电路以及复位电路构成。

(2)I/O口的正确使用。

(3)延时子程序的延时计算问题。根据晶振时钟的大小以及指令周期,计算延时时间所要执行的指令数目。

2、实验效果说明

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

五、实验流程图

六、实验代码

代码如下:

ORG 0000hSTART:MOV R2,#8MOV A,#0FEHLOOP:MOV P2,ALCALL DELAYRL A ;循环左移DJNZ R2,LOOP ;判断移动是否超过8 位,未超过继续循环LJMP STARTDELAY:MOV R5,#20;延时程序,延时0.2sD1:MOV R6,#20D2:MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND

七、仿真效果图

八、思考题

增加LED灯的显示花样,丰富实验的效果

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

代码如下:

ORG 0000hSTART:MOV R2,#7MOVR3,#7MOV A,#0FEHLOOP:MOV P1,ALCALL DELAYRL A;循环左移DJNZ R2,LOOP ;判断移动是否超过7 位,未超过继续循环 LOOP1:MOV P1,ALCALL DELAYRR A;循环右移DJNZ R3,LOOP1 ;判断移动是否超过7 位,未超过继续循环LJMP STARTDELAY:MOV R5,#20 ;延时程序,延时0.2sD1:MOV R6,#20D2:MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND

实验二:定时器实验

1.实验要求

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

2.实验目的

1、学会定时器中断函数的处理

2、掌握定时器,计数器的寄存器设置

3、掌握单片机定时计数器计数方式的使用及编程方法

三、实验电路及连线

1.硬件连接表

2.注意事项:

(1)仿真电路需要先搭建好最小系统

(2)LED灯正极接5V,负极接P1口

四、实验说明

1、主要知识点概述

(1)关于内部计数器的编程,主要是设置定时常数和有关控制寄存器。内部计数器在单片机中包括定时器和计数器两个功能。本例使用的是定时器,定时1S。CPU运行定时中断方式,实现每1S输出状态发生一次反转,即发光二极管1S亮一次。

(2)内部计数器用于定时器时,是对机器周期计数。可根据单片机每个机器周期的长度、时钟晶振频率以及定时时间对定时常数进行计算。

2、实验效果说明

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

五、实验流程图

六、实验代码

代码如下:

ORG 0000H;程序由地址0开始执行LJMP STARTORG 000BH;设置定时器0中断矢量地址LJMP INT ;跳转到定时器中断控制入口处START: MOV TCON, #00000001BSETBET0SETBEATIMER0INIT: ;50毫秒@12.000MHzANL TMOD,#0F0H;设置定时器模式ORL TMOD,#01H;设置定时器模式MOV TL0,#0B0H;设置定时初值MOV TH0,#03CH;设置定时初值MOV A , #11111110B;反转电平MOV R5,AMOV A,#20CLR TF0 ;清除TF0标志SETB TR0 ;定时器0开始计时HERE: SJMP HERE;等待中断的到来INT: ;等待20个50msCLR TF0 ;清除TF0标志MOV TL0,#0B0H;设置定时初值MOV TH0,#03CH;设置定时初值SETB TR0 ;定时器0开始计时DEC AJZ LIGHTRETILIGHT:MOV P1 ,R5MOV A,R5CPL AORL A,#11111110BMOV R5,AMOV A,#20RETIEND

七、仿真效果图

八、思考题

用定时器T0 、数码管实现数字钟


采用共阴极数码管

实验三:外部中断实验

一、实验要求

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

二、实验目的

1、理解中断源、中断标志、中断入口等概念

2、掌握外部中断程序的分析与编写设计方法

三、实验电路及连线

1.硬件连接表

2.注意事项:

(1)仿真电路需要先搭建好最小系统

(2)LED灯正极接5V,负极接P1口

四、实验说明

1.主要知识点概述

外部中断的响应过程:

(1)中断采样:根据采样结果设置中断响应的状态。

(2)中断查询:查询标志位的状态,确定是否响应。

(3)中断响应:保护断点内容,装入中断入口地址,执行中断服务程序,返回中断点,继续执行原来程序。

2.实验效果说明

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

五、实验程序流程图

六、实验代码

代码如下:

ORG 0000hAJMP INITORG 0003HAJMP STARTINIT: ;中断初始化SETB EX0SETB IT1SETB EA NOMAL: ;P1口闪烁MOV A ,#00HMOV P1,ALCALL DELAYMOV A ,#0FFHMOV P1,ALCALL DELAYLJMP NOMALORG 0200H START: ;流水灯MOV A,#0FEHMOV R2,#8IT: MOV P1,ALCALL DELAYRL A ;循环左移DJNZ R2,IT ;判断移动是否超过8 位,未超过继续循环RETIDELAY: MOV R5,#10 ;延时程序,延时0.2sD1: MOV R6,#20D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND

七、仿真效果图

八、思考题

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

答:

硬件消抖:开关两侧并联一个0.1uF的电容。

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

部分代码来源网络!

水平有限,若有问题欢迎指出!


本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。