单片机实验报告

2022-07-31

很多人对于写报告感到头疼,不了解报告的内容与格式,该怎么写出格式正确、内容合理的报告呢?今天小编给大家找来了《单片机实验报告18》仅供参考,大家一起来看看吧。

第一篇:单片机实验报告18

单片机实验报告

实验

四、中断交通灯实验

林立强

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”时是低优先级中断。在有中断嵌套要求时,低优先级中断可被高优先级所中断。当同一级的中断同时到来时,先响应中断矢量排在前面的中断。

三、实验电路

电路原理图如下,所需元件为:AT89C

51、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/11.0592MHz

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 ACC.7,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

第二篇:单片机实验报告

单片机实验一

实验报告

课程名称: 姓

名: 系

别: 专

业: 年

级: 学

号: 指导教师:

单片机原理及应用实验

陈璐 信息系

电气工程及其自动化

2012级 120712041 李莉

2015 年

6 月 25

1.实验目的和要求

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

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

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

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

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

(1)Keil C51软件使用

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

#include "reg51.h" #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灯就会发光。

C2U130pF19XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617X112MHz18XTAL2D1R24.7K930pFRSTR4220293031C310uFPSENALEEAKR310K10K12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51LED-GREENC1R1220 6.实验数据处理与分析

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

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

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

第三篇:单片机实验报告

实验一 uVision2 集成开发环境的使用

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验原理、方法与步骤

五、实验小结:1.简述生成应用程序的过程。2.记录程序调试过程中所出现的错误及改正方法。

3. 请简述单片机C语言与微机C语言之异同。

实验二 uVision2 集成开发环境的仿真与调试

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验原理、方法与步骤

五、实验小结: 1.简述监控程序下载过程;2.简述实验程序调试过程及调试结果。

实验三 单片机I/O口控制

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验方法与步骤

五、实验小结: 1.绘制实验程序的流程图;2.简述实现上述硬件控制功能的其它方法。

实验四 74HC138译码实验

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验方法与步骤

五、实验小结: 1.简述74LS138译码条件;2.绘制实验程序的流程图。

实验五 16 X 16 LED扫描输出实验

一、 实验目的和要求

二、实验设备与与仪器

三、实验内容

四、实验方法与步骤

五、实验小结:1.简述在LED上显示汉字的方法;2.绘制实验5程序的主程序流程图。

实验六RS232串行口实验

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验方法与步骤

五、实验小结: 1.简述单片机串行口波特率的设置方法。2.绘制单片机发送与接收程序的流程图。

实验七 图形液晶显示实验

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验方法与步骤

五、实验小结: 1.简述图形液晶显示汉字与图形的方法; 2.绘制实验7参考程序主程序的流程图。

实验八 串行模数转换实验

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验方法与步骤

五、实验小结 : 1.输入电压为值200mv,则A/D转换后的结果为多少?2.请绘出用TLC549芯片进行A/D转换的程序流程图.

实验九 串行数模转换实验

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验方法与步骤

五、实验小结:1.简述TLC5620的控制方法;2.如果要使TLC5620的通道1输出1V的电压,则送给通道1的控制数据是多少?

实验十 最小单片机系统制作

一、 实验目的和要求

二、实验设备与仪器

三、实验内容

四、实验原理、方法与步骤

五、实验小结:1.简述最小单片机系统的制作过程.2.最小单片机系统调试过程中遇到的问题及解决方法.

第四篇:单片机实验报告(三)

实验报告书

信息工程系

电气自动化

11班

姓名:张青

日期:2014.10.14 实验一:完成AT89S51单片机与PC机的RS232串行通信接口电路实物制作。该部分电路可在实物电路板Ⅰ上进行搭建。

实验二:设计串口初始化程序,要求:工作方式

1、查询方式、允许接收、波特率为2400bps,设时钟频率为12MHz。

实验三:串口查询方式设计带参数字符发送子程序,并在此基础上利用MOVC查表指令完成带参数串发送子函数设计,自定义被发送字符串。要求工作方式1,波特率4800,时钟频率为11.0592MHz。 实验四:串口中断方式编写单字符接收程序,存储收接收并进行回显,波特率设为9600,时钟频率为11.0592MHz。 实验五:完成PC机远程控制小灯系统的软硬件仿真设计,并在实物电路板上测试程序的功能实现。 实验六:利用MOVC查表指令在试验电路板Ⅰ上拓展完成小灯多种显示功能的实现。

实验七:拓展题:结合定时器中断程序拓展完成PC机远程控制小灯闪烁、左右移动等功能的实现。

实验二:ORG 0000H LJMP START ORG 0030H START: LCALL INIT_S ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;串行口初始化子程序 ;;;;;;;;;;

INIT_S: MOV SCON,#40H MOV TMOD,#20H

MOV TH1,#0FAH

MOV TL1,#0FAH

SETB TR1

SETB REN

RET END

实验三:

ORG 0000H

LJMP START

ORG 0030H START:

LCALL INIT_S

MOV DPTR,#HELLO_TAB

LCALL

SEND_STRENG

LJMP $

INIT_S: MOV

SCON,#40H

MOV

TMOD,#20H

MOV

TH1,#0FAH

MOV

TL1,#0FAH

SETB TR1

CLR EA

RET

SEND_STRENG:MOV R1,#00H SEND_NEXT : MOV A,R1

MOVC A,@A+DPTR

CJNE A,#0FFH,SEND_B

RET

SEND_B: LCALL SEND_BYTE

INC R1

LJMP SEND_NEXT

SEND_BYTE:CLR TI

MOV SBUF,A

JNB TI,$

RET

ORG 0100H

HELLO_TAB:DB

"tang zi li shi ge da sb"

DB

0DH,0AH,0FFH

END 实验四:

RX_D_FIRST EQU 45H RX_D_P EQU 30H RX_COM_OK BIT 00H

ORG 0000H

LJMP START

ORG 0023H

LJMP INT_SERIAL

ORG 0030H START: LCALL INIT_S

MOV RX_D_P,#RX_D_FIRST

CLR RX_COM_OK

MOV DPTR,#HELLO_TAB

LCALL SEND_STRING

MOV DPTR,#COM_MESSAGE

LCALL SEND_STRING

LJMP $ 串行口初始化子程序

INIT_S: MOV SCON,#40H

MOV TMOD,#20H

MOV TH1,#0FDH

MOV TL1,#0FDH

SETB TR1

SETB EA

SETB ES

SETB REN

RET SEND_BYTE: CLR TI

MOV SBUF,A

JNB TI,$ RETURN: RET ; SEND_STRING: MOV R4,#00H SEND_NEXT: MOV A,R4

MOVC A,@A+DPTR

CJNE A,#0FFH,SEND_B

RET

SEND_B: LCALL SEND_BYTE

INC R4

LJMP SEND_NEXT INT_SERIAL: CLR EA

JBC RI, RX_DAT

JBC TI, INT_RETURN RX_DAT: MOV R1,RX_D_P

INC RX_D_P

MOV A,SBUF

CJNE A,#0DH,LOAD_DAT

MOV DPTR,#RECEIVE_OK

LCALL SEND_STRING

MOV RX_D_P,#RX_D_FIRST

SETB RX_COM_OK

LJMP INT_RETURN LOAD_DAT: MOV SBUF,A

MOV @R1,A

INT_RETURN: SETB EA

RETI

ORG 0100H HELLO_TAB: DB "Welcome to online operating system!"

DB 0DH,0AH,0FFH COM_MESSAGE: DB "Please input the command to control the LED."

DB 0DH,0AH,0FFH RECEIVE_OK: DB 0DH,0AH

DB "Receiving the command is ok!"

DB 0DH,0AH,0FFH

END

第五篇:单片机实验报告2

目录 一、实验一··········································1 二、实 验二··········································7 三、实验三·········································11 四、实验四·········································15

一 实验一验实证验器数计/时定ﻩ 定时/计数器验证实验

一、

实验目得

熟悉定时/计数器T0得特点,学会合理选择定时方式并能根据具体情况结合软件得方式定时。

二、

实验 设备及器件

IBM PC机 一台 PROTEUS 硬件仿真软件 Keil C51。

三、

实验内容

用AT89C51单片机得定时/计数器T0产生1s得定时时间,作为秒计数时间,当1s产生时秒计数加1;秒计数到60时,自动从0开始。

四、

实验要求

要求采用Proteus软件实现上述实验.

五、

实验步骤

1.打开Proteus ISIS编辑环境,按照表1-1所列得元件清单添加元件。

元件名称 所属类 所属子类 AT89C51 Microprocessor 8051 Family CAP Capacitors Generic CAP-ELEC Capacitors Generic CRYSTAL Miscellaneous —— RES Resistors Generic 7SEG--CAT—GRN Optoelectronics 7—Segment Displays PULLUP Modeling Primitives Digital[Miscellaneous] 表1- 1 元件清单

元件全部添加后,在Proteus ISIS得编辑区域中按图1—1所示得原理图连接硬件电路。

图1 — 1 电路原理图

2.根据参考程序绘出流程图,并辅以适当得说明。

流程图如图1 1 —2 2 所示: :

开始单片机数码管初始化设置定时器0初始化开中断是否有中断?进入中断程序送时间常数COUNT+1是否计够1秒?YN中断返回NSECOND+1是否等于60秒?YSECOND归零Y分离计数值十位个位N查表显示十位个位 图1 1- - 2 程序流程图

3.打开KeilμVision4,新建Keil项目,选择AT89C51单片机作为CPU,将参考程序导入到“Source Group 1”中.在“Options for Target”对话窗口中,选中“Output”选项卡中得“Create HEX File”选项与“Debug”选项卡中得“Use:Proteus VSM Simulator”选项。编译汇编源程序,改正程序中得错误。

4.在Proteus ISIS中,选中AT89C51并单击鼠标左键,打开“Edit ponent"对话窗口,设置单片机晶振频率为12MHz,在此窗口中得“Program File”栏中,选择先前用Keil生成得、HEX文件。在Proteus ISIS得菜单栏中选择“File"→“Save Design”选项,保存设计,在Proteus ISIS得菜单栏中,打开“Debug”下拉菜单,在菜单中选中“Use Remote Debug

Monitor”选项,以支持与Keil得联合调试.5.在Keil得菜单栏中选择“Debug”→“Start/Stop Debug Session“选项,或者直接单击工具栏中得“Debug”→“Start/Stop Debug Se

ssion"图标,进入程序调试环境。按“F5”键,顺序运行程序。调出“Proteus ISIS"界面可以瞧到7段数码管显示从0~59s得计数值,每个数值显示1s,如图1—3所示。

1 1 — 3

程序运行结果

六、

实验 程序

SECOND EQU 30H COUNT H13 UQEﻩ0GROﻩﻩ0 Hﻩ

LJMP START

ORG0 HBﻩﻩ

LJMP INT_T0 START: H00#,DNOCESﻩﻩVOMﻩ

H00#,TNUOCﻩ VOMﻩ ELBAT#,RTPDﻩ VOMﻩﻩ AﻩﻩRLCﻩﻩ

MOV

A,0Pﻩ

MOV

A,2Pﻩ

MOV H00#,DOMTﻩﻩ

652/)00005—63556(#,0HTﻩ VOMﻩ 652 DOM)00005—63556(#,0LTﻩ VOMﻩﻩ 0RT BTESﻩﻩ 0TE BTESﻩﻩ

AEﻩBTESﻩ

H28#,EI

VOMﻩ

LJMP $ﻩINT_T0:MOV 652/)00005—63556(#,0HTﻩﻩ VOMﻩﻩ

652 DOM)00005—63556(#,0LTﻩ CNIﻩﻩ

COUNT

MOV

TNUOC,Aﻩ ﻩ CJNE 2I,02#,Aﻩ

VOMﻩﻩ COUNT,#00H

ﻩ CNIﻩ SECOND

ﻩ MOV

A,SECOND

CJNE 1I,06#,Aﻩ ﻩ MOV

H00#,DNOCESﻩI1:

MOV DNOCES,Aﻩﻩ ﻩ MOV H01#,Bﻩﻩ

VIDﻩﻩ AB

MOVC A,A+DPTR

VOMﻩ P0,A

B,AﻩﻩVOMﻩ

RTPD+A,AﻩCVOMﻩ A,2PﻩﻩVOMﻩﻩI2:

ITERﻩTABLE:

DB3 H66,HF4,HB5,H60,HFﻩ

DB 6DH,7DH,07H,7FH,6FH

DNEﻩ七、

思考题

1.罗列一下 Proteus 软件得能带给我们得好处, , 指出一点最能帮助您得地方。

使用Proteus软件能使我们方便得搭建电路,同时在没有元器件得情况下进行便于仿真,方便我们在将程序写入单片机前确认运行就是否正确,同时可在采购器件之前即可开始开发产品,而不必等到器件采购完后搭建电路才进行程序调试。

2.用 用 Proteu s 界面中得播放键运行仿真与 Ke i lμVision4 得环境中联调运行它们两者得区别在什么地方?

用Proteus界面中得播放键运行仿真仅可以观察运行结果,即程序运行在硬件表面上得表现。而联调得时候可以再Keil软件里查瞧各寄存器与存储器得状况,即硬件得内部情况。

3.K K eil 软件软件仿真与 P r ote us 得仿真对比..

使用Proteus仿真可从硬件得角度观察仿真结果,使仿真结果更加形象直观,使我们可从硬件运行状态清楚得判断运行结果就是否正确。而在Keil环境中则就是从程序得角度通过观察程序中数据得变化来观察仿真结果,需要对程序运行结果充分了解.八、

实验总结 及相关问题

通过本次实验了解了Ptoteus软件得使用方法,以及在掌握了Keil得使用方法下,学会了Proteus与Keil软件联调得方法。

在用Proteus中由于忽略了要在总线处放置网络标号导致联调失败,最后通过观察发现数码管引脚电平无变化发现此问题,放置网络标号后运行仿真时数码管引脚电平发生变化可就是数码管却没有变亮,经过多次检查接线,未发现接线错误后,觉得可能就是软件本身错误,故将总线及数码管周围硬件线路重新绘制一遍后再次运行仿真及可得到图1—3得结果。

二 实验二机片单ﻩ 单片机 O I/O 口控制实验

一、

实验目得

利用单片机得P1 口作IO 口,使同学学会利用P1 口作为输入与输出口。

二、

实验设备及器件

IBM PC 机 一台 DP—51PRO、NET 单片机仿真器、编程器、实验仪三合一综合开发平台一台

三、

实验内容

1.编写一段程序,用P1 口作为控制端口,使D1 区得LED 轮流亮。

2.编写一段程序,用P1、0~P1、6 口控制LED,P1、7 控制LED 得亮与灭(P1、7 接按键,按下时LED 亮,不按时LED 灭) .

四、

实验要求

学会使用单片机得P1 口作IO 口,如果有时间同学也可以利用P3 口作IO 口来做该实验.

五、

实验步骤

1.用导线把A2 区得J61 接口与D1 区得J52 接口相连。原理如图2—1 所示。

图2 — 1 实验二 原理图

2.先编写一个延时程序。

延时程序 见程序1 1 子程序 DELAY 。

3.将LED 轮流亮得程序编写完整并使用TKStudy ICE 调试运行。

LED 轮流亮程序见程序1 。

调试运行结果 :D1 区 LE D轮流亮..

4.使用导线把A2 区得J61 接口得P1、0~P1、6 与D1 区得 J52 接口得LED1~LED7 相连,另外A2 区J61 接口得P1、7 与D1 区得J53 得KEY1 相连. 5.编写P1、7 控制LED 得程序,并调试运行。(按下K1 瞧就是否全亮).P1 、7 控制L ED 得程序见程序2 2 。

调试运行结果:按下 P1 、7 7 后 D1 区LE E D全灭。

6.A2 区J61 接口得P1、7 与D1 区得J54 得SW1 相连。然后再使用TKStudy ICE 运行程序,查瞧结果。

P1 、7 控制L ED 得程序见程序2 2 。

调试运行结果:按下P1 1 、7后D1 1 区LE E D全亮。

六、

实验参考程序

序 程序 1: :

ORG

0000 HﻩLJMP

NIAMﻩORG

0100H MAIN: MOV

A,#0FFH

CLR CﻩﻩMAINLOOP:CALL YALEDﻩ A

CLRﻩﻩ

A,1Pﻩ VOMﻩ

SJMP POOLNIAMﻩDELAY: MOV

R7,#0 LOOP: MOV

0#,6Rﻩ

DJNZ $,6Rﻩ $,6R ZNJDﻩﻩ ﻩ DJNZ R6,$

ﻩ DJNZ R7,LOOP

RET

ﻩ END 程序 2 2: :

ORG

000H LJMP MAIN ORG 0010 HﻩMAIN: JB

DELTES,7、1PﻩCLRLED:CLR

0、1Pﻩ

CLR 1、1Pﻩﻩ

RLCﻩ P1、2

ﻩ CLR

3、1Pﻩ

CLR 4、1Pﻩﻩ ﻩ CLR

P1、5

RLCﻩ P1、6

ﻩ SJMP MAIN SETLED:SETB P1、0

ﻩ SETB 1、1Pﻩ

2、1P BTESﻩ 3、1PﻩBTESﻩﻩ

SETB 4、1Pﻩ

SETB 5、1Pﻩ

6、1PﻩBTESﻩ NIAMﻩPMJSﻩﻩ DNEﻩﻩ七、

实验思考题

1.请同学思考一下, , 想出几个实现以上功能得编程方法。

程序1可利用单片机得定时计数器通过选择定时计数器工作方式与预置初值设定延时时间,通过定时计数器产生得中断在中断程序中对A进行移位后输出至P1口.程序2可在判断P1、7高低电平后根据判断结果直接将#80H或#7F直接送P1口而不必逐位进行位操作。

2.请同学再思考一下, , 第二个程序中如果使用 KEY1 作为外部中断控制 LED D 得亮与灭时, , 程序应如何修改。

此时将KEY1接/INT0口,在主程序中开启外部中断设置外部中断触发方式,通过中断服务子程序控制LED亮灭。程序如下所示: 0GROﻩ00 Hﻩ LJMP MAIN

ORG3000 序程务服断中ﻩ;Hﻩ LJMP DELTESﻩMAIN: MOV H04#,PSﻩ 断中部外开; 0TE BTESﻩ CLR 0TIﻩ ;设置为电平触发

SETB AEﻩCLRLED:CLR P1、0

CLR P1、1

2、1PﻩRLCﻩ CLR 3、1Pﻩ 4、1PﻩRLCﻩ CLR P1、5

CLR 6、1Pﻩ DELRLC PMJSﻩSETLED:SETB P1、0

1、1PﻩBTESﻩ SETB P1、2

3、1PﻩBTESﻩ 4、1P BTESﻩ SETB 5、1Pﻩ 6、1P BTESﻩ ITERﻩ

DNEﻩ八、

实验总结 及相关问题

通过本次实验掌握了使用 TKStudy ICE 进行硬件仿真调试得方法,在设置仿真器驱动程序声明时对 C:Keil 目录下得Tools、ini 文件添加描述时,由于添加得路径错误导致无法进行硬件仿真调试,修改为正确路径后方可在DEBUG 窗口中得 Use 选项中找到对应得选项。使用 TKStudy ICE 进行硬件仿真调试相比本学期得电子系统设计中用到得调试方法更快捷,使用更方便. 与此同时,通过本次实验对单片机得 I/O 控制有了更深入得了接,同时加深入对单片机I/O 编程得理解.实验三

串转并 O I/O 口实验

一、

实验目得

熟悉并掌握串转并得I/O口扩展方法。

二、

实验设备及器件

IBM PC机 一台 DP-51PRO、NET单片机仿真器、编程器、实验仪三合一综合开发平台 一台

三、

实验内容

1.写程序,通过单片机得P1口控制74HC164得串行输入端口,实现串并转换.

2.验证串并转换数据得正确性。

四、

实验要求

熟悉串并转换芯片得工作原理,学会使用串并转换芯片扩展单片机得I/O 口资源.

表3-1 74HC 164 真值表

五、

实验步骤

1. 短接C5区JP10接口,将C5区J43接口与A2区J61接口得P10~P13对应相连 (CLK对P10等等)。如图3-1所示。

图3 —1 实验 三 原理图

2。

运行编写好得软件程序,完成一次串并转换。

实验 程序 见 实验参考程序。

2. 使用C2区得逻辑笔或D1区得J52接口(LED指示灯)测试并行输出数据Q0~Q7数据得正确性。

调试运行结果:通过观察 LE D得亮灭情况可判断完成一次串并转换, , 且转换结果正确无误..

六、

实验参考程序

CLK

0、1P UQEﻩDINA

EQU P1、1 DINB

EQU P1、2 CLR164 3、1P UQEﻩORG0000 HﻩﻩLJMP NIAMﻩORG0010 HﻩﻩMAIN:

MOV

SP,#60H

ﻩ NOP

CLR

CLK

SETB BNIDﻩ

RLCﻩﻩ CLR164

461RLC BTESﻩﻩ

HFF0#,Aﻩ VOMﻩ VOMﻩﻩ

H80#,4RﻩSLCHG: RLC

Aﻩ

C,ANIDﻩ VOMﻩ

SETB

CLK

PONﻩ

KLC

RLCﻩ

PONﻩ GHCLS,4R

ZNJDﻩﻩ $ PMJSﻩﻩ

END 七、

实验思考题

参考图 3—2电路图,尝试编写软件程序,实现 8 位 LED 流水灯得控制。

图 图 3 、2 实验原理图

可利用单片机得定时计数器通过选择定时计数器工作方式与预置初值设定延时时间,通过定时计数器产生得中断在中断程序中对A进行移位。程序如下所示:

CLK

EQU

0、1Pﻩ ﻩ DINA

1、1P UQEﻩ ﻩ DINB

2、1P

UQEﻩ

CLR164 EQU P1、3

0 GROﻩ000 Hﻩ

LJMP MAIN

ﻩ ORG

000BH

;定时器 0 中断服务程序

LJMP SLCHG MAIN:

H06#,PSﻩ VOMﻩ

NOP

CLR

CLK

BNID BTESﻩ

461RLCﻩﻩRLCﻩ ﻩ SETB 461RLCﻩ

MOV

HFF0#,Aﻩ

MOV

1式方作工 0 器时定ﻩ;H10#,DOMTﻩ VOMﻩﻩ

数常间时 sm2 送ﻩ;H81#,0HTﻩ

HCF0#,0LTﻩ VOMﻩ ﻩ SETB

0RTﻩ ;开中断

0TEﻩBTESﻩ

AEﻩBTESﻩ

$ PMJSﻩSLCHG: MOV ﻩ H81#,0HTﻩ

MOV

HCF0#,0LTﻩ A

CLRﻩﻩ C,ANID

VOMﻩﻩ ﻩ SETB

CLK

NOP

KLCﻩ RLCﻩ RETI

DNEﻩ八、

实验总结 及相关问题

由于具有之前实验得基础所以本实验基本没碰到什么问题,调试运行都符合实验要求,通过本次实验对串并转化程序得编写有了一定了解,通过编写流水灯程序加深了对单片机串并口得了解。

实验四

继电器控制实验

一、

实验目得

加深理解继电器得工作原理与特点,掌握利用单片机得IO口控制继电器得一般方法。

二、

实验设备及器件

IBM PC机 一台 DP—51PRO、NET单片机仿真器、编程器、实验仪三合一综合开发平台 一台

三、

实验内容

1.利用D1区得拨动开关与LED,学习继电器得工作原理与特点。

2.编写一段程序,用P1、0口控制继电器,继电器控制LED得亮与灭,(与CLOSE连通时,一盏LED亮;不连通时该LED灭。与OPEN连通时,另一盏LED亮,不通时该LED灭).

四、

实验要求

学会继电器得使用与利用单片机得IO口控制继电器得方法。

五、

实验步骤

图4 -1 继电器驱动控制电路图

1.用短路帽短接JP7,使用导线把D1区J54接口得SW1与C7区J9接口得KJ(任意一根针)相连接。

2.使用导线把D1区J52接口得LED1、LED2与C7区J103接口得OPEN1,CLOSE1分别相连,另外C7区J103接口得1接地(GND)。

3.接好线后,同学可以拨动D1区得SW1拨动开关,观察现象(拨到1时LED2亮,拨到0时LED1亮),并得出结论。

运行结果: : 拨到1 时LED 2 亮,拨到0 时L ED 1 亮 ,说明每拨动一次开关改变一次继电器得状态。

4.然后把C7 区J9 接口得KJ 改接到A2 区得J61 接口得P10。再编写一个程序程序(参考实验二), 使P1、0 口延时一段时间后改变电平值,来控制继电器得开关。

实验 程序见实验参考程序。

调试运行结果: : 两 个 LED 交替变亮, , 继电器状态不断改变。

六、

实验参考程序

ORG 0000 HﻩLJMP MAIN ORG

0100H MAIN: MOV

R7,#0 LOOP: MOV

0#,6Rﻩ ﻩ DJNZ $,6Rﻩ $,6RﻩZNJDﻩﻩ ﻩ DJNZ $,6Rﻩ POOL,7RﻩZNJDﻩﻩ ﻩ CPL

0、1Pﻩ NIAM PMJSﻩﻩ

DNEﻩ

七、

实验思考题

1.请同学思考一下,改由 OPEN 2 、2 、CLOSE2 时本实验如何进行。

同使用OPEN1、1与CLOSE1时连接方法类似,把D1区J52接口得LED1、LED2与C7区J103接口得OPEN2,CLOSE2分别相连,另外C7区J103接口得2接地(GND)即可。

2.请同学再思考一下, 继电器得用途,并举例说明。

继电器就是一种电控制器件,就是当输入量(激励量)得变化达到规定要求时,在电气输出电路中使被控量发生预定得阶跃变化得一种电器。它具有控制系统(又称输入回路)与被控制系统(又称输出回路)之间得互动关系。通常应用于自动化得控制电路中,它实际上就是用小电流去控制大电流运作得一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。

按照其工作原理可有以下应用:电磁继电器固体继电器温度继电器舌簧继电器时间继电器高频继电器极化继电器其她类型得继电器 八、

实验总结 及相关问题

由于具有之前实验得基础所以本实验基本没碰到什么问题,调试运行都符合实验要求,通过本次实验了解了继电器得控制方法。对继电器这一器件有了一定了解。

上一篇:儿童谜语大全10岁下一篇:旅行社op计调手册

本站热搜