首页 > 工作范文 > 总结报告 >

单片机实验报告(优质4篇)

网友发表时间 484828

【路引】由阿拉题库网美丽的网友为您整理分享的“单片机实验报告(优质4篇)”文档资料,以供您学习参考之用,希望这篇范文对您有所帮助,喜欢就复制下载支持吧!

单片机实验报告【第一篇】

单片机实验报告

一、实验目的

1、熟练使用Keil、Protues两款软件 2.通过上机操作,增强个人动手实践能力 3.加深对理论知识的理解

4、培养运用汇编语言进行初步编写程序的能力

二、实验内容

1、将片外RAM3050-306FH中数据转移至片内70-8FH中。

要求:可以从Keil或Protues上看到RAM的数据转移结果。 2.设计一个外部中断触发流水灯系统:当外部中断来临时,启动流水灯,即令P2口的LED轮流循环点亮。

要求:开发板或Prrotues演示

3、将片内存储器80H中存放的BCD码转换为ASCII码,要求使用表格查询技术。

要求:在Keil或Protues上看到数据转换结果。

4、各使用中断方式和查询方式设计一个方波发生器,频率为50HZ。

要求:Protues使软件间示波器显示方波。

三、实验程序

1、 将片外RAM3050-306FH中数据转移至片内70-8FH中

ORG 0000H AJMP MAIN 上电,转向主程序

ORG 0030H 主程序入口

MAIN: MOV DPTR,#3050H 数据指针指向地址3050H MOV A,#04H 将立即数04H送A寄存器

MOV R0,#20H NEXT: MOVX @DPTR,A INC DPTR 数据指针DPTR自加一

DJNZ R0,NEXT 判断是否跳转到NEXT或继续向下执行

MOV DPTR,#3050H MOV R0,#70H MOV R2,#20H NEXT1: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 DJNZ R2,NEXT1

SJMP $ 等待

END 2. 设计一个外部中断触发流水灯系统:当外部中断来临时,启动流水灯,即令P2口的LED轮流循环点亮 ORG 0000H SJMP MAIN 上电,转向主程序

ORG 0003H 外部中断0向量入口

AJMP INSER ORG 0030H 主程序入口

MAIN: SETB EX0 SETB IT0

SETB EA CPUHERE: SJMP HERE ORG 0200H INSER: MOV R2,#08H MOV A,#01H NEXT: MOV P2,A LCALL DELAY RL A DJNZ R2,NEXT NEXT或继续向下执行

RETI DELAY: MOV R3,#0FFH DEL2: MOV R4,#0FFH DEL1: NOP

允许外部中断0中断 选择边沿触发方式 开中断 等待中断 设置循环次数 赋初值,设置高电平亮 将初值送往P2口 延时 左移一位

判断循环次数,是否跳转到中断返回 延时程序 DJNZ R4,DEL1 DJNZ R3,DEL2 RET END 3.将片内存储器80H中存放的BCD码转换为ASCII码,要求使用表格查询技术 ORG 0000H LJMP MAIN ORG 0030H主程序起始地址 MAIN: MOV 80H,#05H 将立即数50H转送内存单元80H MOV A,80H 将内存单元80H中的内容送寄存器A MOV DPTR,#TAB MOVC A,@A+DPTR A寄存器内容加指针偏移量后送A寄存器 MOV 80H,A RET TAB: DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H 中断方式产生50HZ方波

ORG 0000H

AJMP MAIN

ORG 0030H 主程序入口 MAIN: MOV TMOD,#10H 设置定时器工作模式为模式1 MOV TH1,#0D8H 装入T1计数初值

MOV TL1,#0F0H

SETB ET1 开中断

SETB EA CPU开中断

SETB TR1 启动定时器T1 HERE: SJMP HERE 等待中断 ORG 001BH T1中断向量地址

CLR TF1 将TF1清零

CPL 取反输出

MOV TH1,#0D8H 重装初值

MOV TH0,#0F0H

RETI;中断返回

END 查询方式产生50HZ方波

ORG 0000H

AJMP MAIN

ORG 0030H 主程序入口

MAIN: MOV TMOD,#10H 设置定时器的工作模式为模式1 SETB TR1 启动定时器T1 LOOP: MOV TH1,#0D8H 装入T1计数初值

MOV TH0,#0F0H JNB TF1,$ T1没有溢出则等待

CLR TF1

产生溢出,清标志位

CPL 取反输出

SJMP LOOP 循环

END

四、实验结果截图

1、

2

3、

单片机实验报告【第二篇】

单片机实验一

实验报告

课程名称: 姓

名: 系

别: 专

业: 年

级: 学

号: 指导教师:

单片机原理及应用实验

陈璐 信息系

电气工程及其自动化

2012级 120712041 李莉

2015 年 月 25

1.实验目的和要求

1)熟悉Keil 软件界面,以及编辑、编译、运行程序的步骤;

2)熟悉Proteus软件界面,掌握用Proteus画仿真图的方法。2.主要仪器设备

Keil 软件与Proteus仿真软件 3.实验设计要求

利用单片机、1个开关和1个发光二极管,构成一个简单的开关检测系统的仿真电路图。单片机引脚接按钮开关,引脚接发光二极管的阴极。当开关闭合时,发光二极管亮;开关打开时,发光二极管灭;按钮开关与发光二极管没有任何电气上的联系。

单片机对开关K的状态的检测由程序检测引脚的输入电平。当开关K闭合,即脚输入低电平;当开关K打开,即脚输入高电平。使用发光二极管,阳极接+5V,阴极接端口。当程序控制输出高电平时,发光二极管D1灭;当程序控制输出低电平时,发光二极管D1亮。4.操作方法与实验步骤

(1)Keil C51软件使用

在Keil C51集成开发环境下,建立一个工程并编辑以下源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。

#include “” #define uchar unsigned char #define uint unsigned int sbit in=P3^0;sbit out=P1^0;void main(void){ while(1){ in=1;if(in= =0)out=0;else out=1;} }(2)建立新文件

进入Proteus ISIS界面,单机主菜单项文件→“新建设计”选项,就会弹出“新建设计”窗口,窗口中提供了多种模版选择。其中横向图纸为Landscape,纵向图纸为Portrait,DEFAULT为默认模版。单击选择的模版图标,再单击“确定”按钮,即建立一个该模版的空白文件。如果直接单击“确定”按钮,即选用系统默认的DEAFAUILT模版。

单击保存按钮,在弹出的对话框“保存ISIS设计文件”中输入文件名再单击“保存”,则完成新建设计文件的保存操作,其后缀自动为“。DSN”。

(3)设定绘图纸大小 单击菜单中的系统→“设置图纸大小”,选择所需图纸的尺寸位A4。

(4)选取元器件并添加到对象选择窗口中

单击器件选择按钮,弹出选取元器件对话框。在其左上角“关键字”一栏中输入元器件名称“AT89C51”,则出现关键字匹配的元器件列表。选中AT89C51所在行或单击AT89C51所在行后,再单击“确定”按钮,便将元器件AT89C51加入到ISIS对象选择窗口中。按此操作方法逐一完成其他元器件的选取。本设计中使用的各元器件的关键字相应为“AT89C51”、“BUTTON”(按钮开关)、“CAP”(瓷片电容)、“CAP-ELEC”(电解电容)、“CRYSTAL”(晶振)、“RES”(电阻)等。被选取的元器件加入到ISIS对象选择窗口中。(5)放置、移动、旋转元器件

单击ISIS对象选择窗口中的元器件名,蓝色条出现在该元器件名上。把鼠标指针移到编辑区某位置后,单击就可放置元器件于该位置,每单击一次,就放置一个元器件。如果要移动元器件,先右击元器件使其处于选中状态,再按住鼠标左键进行拖动,达到目标处后,松开鼠标即可。如要调整元器件方向,先将指针指在元器件上单击鼠标右键选中,再单击相应的旋转按钮。若多个对象一起移动或转向,可选择相应的块操作命令。(6)放置电源、地(终端)

单击工具箱的终端模式按钮,然后在对象选择窗口中单击POWER来选中电源,然后使用元器件调整工具按钮进行方向调整,最后在编辑区中单击放置电源。(7)电路图布线

单击元器件引脚间、线间等接线处,自动生成连线。(8)电气检测

单击电器检查快捷键按钮,根据电气检查列表的指示修改设计中的错误,完成实验。5.实验内容及实验数据记录

每当按下K时,LED灯就会发光。

////////////////////////RD********* 6.实验数据处理与分析

每当按下K时,in()I/O口就会变为低电平,该信号使得CPU给out()I/O口发送低电平,使得LED灯发亮。7.实验过程中遇到的问题及解决方法

一开始安装软件的时候最后一步设置完通信设置时,鼠标点击“好”,但是屏幕一直显示“通信错误”的提示,经过重复操作,还是没有成功,结果是因为“端口选择”处选择错了,改正后最终安装成功。8.心得体会

对于这次单片机实验不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,例如对以前所学过的知识理解得不够深刻,掌握得不够牢固等,在以后的学习中尤其应该注意。

单片机实验报告【第三篇】

实 实 验 验 报 报 告

实验课程:

单片机原理及应用

级:

自动化 2 班

号:

名:

师:

成绩:

实 验 日 期 :

****年**月**日

实验名称:

实验 1-—计数显示器

一、实验目得:学习 Proteus 软件得使用,掌握单片机原理图得绘图方法。

二、实验内容:

ﻩ1、绘制“计数显示器”电路原理图;2、利用提供得hex 文件验证此电路得运行效果。

三、实验要求:

提交得实验报告中应包括:1、绘图方法简述,要求说明元件与电源得选取、摆放及属性编辑,总线与标签得画法等内容;2、电路原理图;3、仿真运行效果展示,要求就仿真文件加载方法及 3~4幅运行截图进行简要说明;4、实验小结,说明遇到得主要问题或实验 1 体会等。参考电路原理图如下:

元件类别 电路符号 元件名称 Microprocessor ICs “U1“ 80C51 Miscellaneous “X1”/12MHz CRYSTAL Capacitors “C1”~“C2”/1nF CAP Capacitors “C3”/22μF CAP—ELEC Resistors Packs “RP1“/7—100Ω RESPACK—7 Resistors “R1"/100Ω RES Optoelectronics “LED1”~“LED2” 7SEG--CAT-GRN Switches & Relays “BUT” BUTTON 1、、及 编程思路及 C51 源程序:

2、电路原理图:

3、仿真运行效果展示:

4、实验小结 :

熟悉Proteus 软件,了解软件得结构组成与功能;学习 ISIS 模块得使用方法,学会设置图纸、选元件、线画总线、修改属性等基本操作;学会可执行文件 加载及程序仿法;理解Proteus在单片机开发中得作用,完成单片机电路原 理图得绘制. 实验名称:

实验 2——LED 指示灯循环控制

一、实验目得 熟悉μVision3 编译软件、掌握 C51编程与调试方法。

二、

实验内容 1、按照教材 P243 得图 A、34,绘制实验二电路原理图; 2、编写 C51 程序,实现 8 个 LED 灯依次点亮得功能: P0、0→P0、1→ P0、2→P0、3→ ┅ →P0、7→P0、6→P0、5→ ┅ →P0、0 得顺序,无限循环,间隔约50ms; 3、观察仿真结果,完成实验报告。

三、

实验要求 1、采用两种加载并运行可执行文件得方法,即proteus独立运行与prote

us + Keil 联合运行,体会其中得差异与意义;2、练习采用单步、断点以及监视窗等手段进行程序调试得方法;3、观察仿真结果,完成实验报告:绘制得电路原理图、编程思路分析及 C51源程序、调试过程简述,仿真运行效果以及实验小结。、电路原理图:

及 2、编程思路及 C51 源程序:、仿真运行效果:、实验小结 :

通过本次实验我熟悉 uVision3 编译软件了解软件得结构组成与功能学习 C51 语言得程序设计方法)学会在 uVision3中进行 C51 程序录入、编译、与 调试理解 Proteus 与 Keil 联合得仿真原理实现 LED 指示灯循环控制功能。

更好得将 C 语言与 C51 语言联系在了一起)学到得知识能准确得利用了出来。

实验名称:

实验3——指示灯与数码管得中断控制

一、实 验目得 掌握外部中断得工作原理,学会中断程序设计。二、实验内容 1、按照教材帕图 A、53,绘制实验四电路原理图;2、要求采用外部中断原理完成本次实验,其中按键 K1、K2 均设置为下降沿触发方式,自然优先级; 3、编写 C51 程序实现如下功能:开机后 D1灭灯,LED1黑屏,随后单击 K1→D1状态反转,单击 K2 →LED1 从 0 开始循环显示0~F 字符。

4、观察仿真结果,完成实验报告。

三、

实验要求 提交得实验报告中应包括:电路原理图,外部中断工作原理阐述(以 K1 为例说明中断响应过程),C51 源程序(含流程图与注释语句),运行效果(含运行截图

与说明),实验小结. 1、电路原理图 :

2、外部中断工作原理阐述:

持续按下 K1 则 D1 将“亮→灭→亮→灭→„→亮→灭如此循环,表明实现了 K1 对应于 D1 状态反转这个功能;持续按下持续按 K2 则数码显示管依次显 示 1-F,实现了 K2 对应于 0~F 间得数码管加一计数显示.

3、、及编程思路及 C51 源 源 程序:、仿真运行效果:

5、实验小结:

通过实验对 Protues 有了更多得了解,同时了解到中断系统在实际中得更好 应用。经过编程操作起来更加熟练能很快得完成绘图,编程时也得心应手,能熟练得运用软件找出自己所编程中得语法问题及其她问题,并以改正。

实验名称:

实验4—-电子秒表显示器

一、实实 验目得 掌握定时/计数器得中断法工作原理,熟悉 C51 编程与调试方法

二、实验要求:

1、实验电路原理图如教材P260 A、65 图所示。程序开始时显示“00”;当1s 产生时,秒计数加1;秒计数到 59 后,自动从“00”开始。

2、采用12MHz晶振频率,T0定时方式 1、50ms 定时中断法编程(1s 需要经过 20 软循环)(流程图与参考程序模版如下所示)。//定时中断方式实现得电子秒表

15()件文头ﻩ(定义无符号字符型变量 t—-中断次数计数器,并赋初值0(定义无符号字符型变量 second—-秒计数器,并赋初值 0(定义位于 ROM 区得无符号字符型数组table-—显示字模)timer0()

(中断函数关键词){ ﻩ()0T 闭关ﻩ(初值重装载 0x3cb0)

()1增器数计数次断中ﻩ {)02==t(fiﻩﻩ

// 秒1于当相,次 02断中若ﻩ

;0=tﻩﻩﻩﻩﻩﻩﻩﻩ //中断次数计数器清零 ﻩ

;++dnocesﻩﻩ ﻩ // 零清器数计秒ﻩ

}()零清,06 到达值器数计秒若ﻩﻩ()值示显得 dnoces 量变出输别分口 2P与0Pﻩ()0T动启ﻩﻩ} main(){

;]01/dnoces[elbat=0Pﻩﻩ // 值示显出输别分口 2P 与 0Pﻩ

;]01%dnoces[elbat=2Pﻩ(定义T0 定时方式 1—-TMOD)05()0LT与0HT——载加0bc3x0值初出溢 smﻩ()AE,0TE——化始初断中ﻩ(启动 T0)

(死循环)3、编程思路及C1 51 源程序: :

4、仿真运行效果:

5、实验小结 :

本次实验进行得比较顺利,根据指导材料中提供得流程图完成了源程序得编 写,成功生成了、hex文件,经过仿真运行达到了预期得实验结果。通过本次得 实验,我更加深入得了解到单片机定时/计数功能实现得机理,通过与单片机中 断功能得结合,可以完成更多得预期功能。但就是进过讨论我也发现,程序还就是存 在很大得缺陷,想要实现更加准确实现计时功能还需综合利用各种知识完善程 序。

单片机实验报告【第四篇】

实验

四、中断交通灯实验

林立强

1000850116

一、实验目的

1、了解MCS-51单片机的组成、中断原理,中断处理过程、外部中断的中断方式。

2、掌握中断响应及处理的编程方法。

二、实验原理

MCS-51的中断系统中有5个中断源:外部中断INTO,INT1,定时器/计数器TO、T1中断和串口UART中断,它们对应不同的中断矢量。 如表:

IE是中断允许寄存器,其中EXO,ETO,EX1,ET1,ES分别是上述5个中断的允许控制位,EA位是中断总允许位,每个中断只有在相应中断允许且总中断也允许的情况下,才能得到中断响应。80XX51的5个中断都可以设为高低2个优先级,IP是中断优先级寄存器,其中PXO,PTO,PX1,PT1,PS位分别对应5个中断的优先级设置,置“1”时设为高优先级中断,为“0”时是低优先级中断。在有中断嵌套要求时,低优先级中断可被高优先级所中断。当同一级的中断同时到来时,先响应中断矢量排在前面的中断。

三、实验电路

电路原理图如下,所需元件为:AT89C51、SW-SPDT、LED-RED、LED-GREEN、 LED-YELLOW、RES、TRAFFICLIGHTS

四、实验内容

参照实验电路,设计交通灯控制系统。模拟交通信号灯控制:一般情况下正常显示,东西-南北交替放行,各方向通行时间为30秒。有救护车或警车到达时,两个方向交通信号灯全为红色,以便让急救车或警车通过,设通行时间为10秒,之后交通恢复正常。用单次脉冲模拟急救车或警车申请外部中断。

1、在生成HEX文件后,用Proteus软件对电路图进行计算机仿真;

2、程序下载到单片机实验板上验证; (实验板数码管的驱动程序见附件)。

五、程序流程图

仿真图:

紧急情况:

源程序:

ORG 0000H

AJMP START

ORG 0023H //串口中断地址

AJMP SBR1

START:MOV TMOD,#00100000B

//定时器方式2

MOV TL1,#0FDH //9600bps/

MOV TH1,#0FDH

SETB TR1

MOV SCON,#01100000B //方式1

MOV R0,#20H

MOV R1,#40H

ACALL SOUT

SJMP $

SBR1: JNB RI,SEND

ACALL SIN

SJMP NEXT SEND: ACALL SOUT NEXT: RETI

SOUT: MOV A,@R0

MOV C,P

CPL C

MOV ,C

INC R0

MOV SBUF,A

CLR TI

RET

SIN: MOV A,SBUF

MOV C,P

CPL C

ANL A,#7FH

MOV @R1,A

INC R1

CLR RI

RET

PLAY: MOV A,R7

MOV B,#10

RET

TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H

// 0

A B C D E F

END

相关推荐

热门文档

35 484828