单片机实验报告书

  • 格式:doc
  • 大小:403.50 KB
  • 文档页数:14

下载文档原格式

  / 14
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

并行I/O接口实验

一、实验目的

熟悉掌握单片机并行I/O接口输入和输出的应用方法。

二、实验设备及器件

个人计算机1台,装载了Keil C51集成开发环境软件。单片机仿真器、编程器、实验仪三合一综合开发平台1台。

三、实验内容

(1)P1口做输出口,接八只发光二极管,编写程序,使发光二极管延时(0.5-1秒)循环点亮。实验原理图如图3.2-1所示。

图3.2-1单片机并行输出原理图

实验程序及仿真

ORG 0000H

LJMP START

ORG 0100H

START:MOV R2,#8

MOV A,#0FEH

LOOP:MOV P1,A

LCALL DELAY

RL A

DJNZ R2,LOOP

LJMP START

DELAY:MOV R5,#20

D1:MOV R6,#20

D2:MOV R7,#248

D3:DJNZ R7,D3

DJNZ R6,D2

DJNZ R5,D1

RET

END

中断实验一、实验目的

熟悉并掌握单片机中断系统的使用方法,包括初始化方法和中断服务程序的编写方法。

二、实验设备及器件

个人计算机1台,装载了Keil C51集成开发环境软件。

单片机仿真器、编程器、实验仪三合一综合开发平台1台。

三、实验内容

(2)用P1口输出控制8个发光二极管LED1~LED8,实现未中断前8个LED闪烁,响应中断时循环点亮。

实验程序及仿真

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP INT00

ORG 0010H

MAIN:

A1:MOV A,#00H

MOV P1,A

MOV A,#0FFH

MOV P1,A

SETB EX0

JB P3.2,B1

SETB IT0

SJMP C1

B1:CLR IT0

C1:SETB EA

NOP

SJMP A1

INT00:PUSH Acc

PUSH PSW

MOV R2,#8

MOV A,#0FEH

LOOP: MOV P1,A

LCALL DELAY

RL A

DJNZ R2,LOOP

POP PSW

POP Acc

RETI

DELAY:MOV R5,#100

D1:MOV R6,#20

D2:MOV R7,#250

D3:DJNZ R7,D3

DJNZ R6,D2

DJNZ R5,D1

RET

END

3.6 定时/计数器实验

一、实验目的

掌握单片机定时/计数器的使用方法,包括初始化方法和中断服务程序的编写方法。

二、实验设备及器件

个人计算机1台,装载了Keil C51集成开发环境软件。单片机仿真器、编程器、实验仪三合一综合开发平台1台。

三、实验内容

(2)用CPU内部定时器中断方式计时,实现每1秒钟控制P1.0输出状态发生一次反转,P1.0接发光二极管。

实验程序及仿真

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP TOSUB

ORG 0030H

MAIN:

MOV SP,#70H

SETB EA

SETB ET0

MOV TMOD,#01H

MOV TL0,#0B0H

MOV TH0,#3CH

SETB TR0

MOV R2,#00H

LJMP $

TOSUB: MOV TL0,#0B0H

MOV TH0,#3CH

INC R2

CJNE R2,#20,T01

CPL P1.0

MOV R2,#00H

RETI

T01: RETI

串行通信实验

一、实验目的

掌握单片机串行接口的使用方法。

二、实验设备及器件

个人计算机1台,装载了Keil C51集成开发环境软件。单片机仿真器、编程器、实验仪三合一综合开发平台1台。

三、实验内容

利用8031单片机串行口,实现两个实验台之间的串行通讯。其中一个实验台作为发送方,另一侧为接收方。

数据块传送。将甲单片机RAM中30H-37H单元的数通过串行接口传送到乙单片机去,程序只发送、接收一次。

实验原理

MCS-51系列单片机上有一个通用异步接收/发送器UART,通过引脚

RXD[P3.O]和TXD[P3.1]可与外部电路进行全双工的串行异步通信,发送数据时由TXD端送出,接收时数据由RXD端输入。

和译码器控制,可以在8 个通道中任意访问一个单边的模拟信号。

DC0808引脚功能:

芯片有28条引脚,采用双列直插式封装,各引脚功能如下:

1~5和26~28(IN0~IN7):8路模拟量输入端。

8、14、15和17~21:8位数字量输出端。

22(ALE):地址锁存允许信号,输入,高电平有效。

6(START): A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0808复位,下降沿启动A/D转换)。

7(EOC): A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

9(OE):数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

10(CLK):时钟脉冲输入端。要求时钟频率不高于640KHZ。

12(VREF(+))和16(VREF(-)):参考电压输入端

11(Vcc):主电源输入端。

13(GND):地。

23~25(ADDA、ADDB、ADDC):3位地址输入线,用于选通8路模拟输入中的一路

工作过程:①在IN0-IN7上可分别接上要测量转换的8路模拟量信号。

②将ADDA-ADDC端给上代表选择测量通道的代码。如000(B)则代表通道0;001(B)代表通道1;111则代表通道7。

③将ALE由低电平置为高电平,从而将ADDA-ADDC送进的通道代码锁存,经译码后被选中的通道的模拟量送给内部转换单元。

④给START一个正脉冲。当上升沿时,所有内部寄存器清零。下降沿时,开始进行A/D转换;在转换期间,START保持低电平。

⑤EOC为转换结束信号。在上述的A/D转换期间,可以对EOC进行不断测量,当EOC为高电平时,表明转换工作结束。否则,表明正在进行A/D转换。

⑥当A/D转换结束后,将OE设置为1,这时D0-D7的数据便可以读