单片机实验报告

  • 格式:pdf
  • 大小:111.47 KB
  • 文档页数:3

单⽚机实验报告

单⽚机实验报告

姓名学号

时间地点

实验题⽬软件开发环境和简单程序设计

⼀、实验⽬的1. 学习I/O⼝的使⽤⽅法。

2. 学习延时⼦程序、查表程序的编写和使⽤。

⼆、实验主要仪器及环境PC机、W A VE软件、仿真器+仿真头、实验板、电源等。

三、实验内容1、P0⼝做输出⼝,接⼋只LED,编写程序,使LED循环点亮,间隔0.5秒。

2、P1.0--P1.7作输⼊⼝接拨动开关S0--S7;P0.0--P0.7作输出⼝,接发光⼆极管L1—L8,编写程序读取开关状态,将此状态在对应的发光⼆极管上显⽰出来,同时将开关编号(0—7)显⽰在LED数码管上

四、实验步骤1、先编写好程序并通过伟福仿真软件调试。

2、将编好的程序通过仿真器掻到实验板上进⾏相应的实验。

五、实验程序流程框图、实验程序1. ORG 0000HAJMP MAIN

MAIN: MOV A,#01H;置初值

LOOP: MOV P0,A ;数据输出

RL A ;左移⼀位

ACALL DELAY

SJMP LOOPDELAY:MOV R0,#10 ;延时0.5s

K1:MOV R1,#125

K2:MOV R2,#200

K3:DJNZ R2,K3

DJNZ R1,K2

DJNZ R0,K1

RET

P0⼝循环点灯框图

AJMP START

ORG 0030H

START: MOV DPTR,#TABLE

SETB P1

MOV P2,#00H

MAIN: MOV A,P1 ;读P1⼝值

CJNE A,#0FFH,LOOP;判断是否有输⼊SJMP MAIN

LOOP: MOV P0,A

MOV R0,#00H

LOOP1:RRC A

JNC LOOP2

INC R0 ;计数

AJMP LOOP1

LOOP2:MOV A,R0

MOVC A,@A+DPTR ;查表

MOV P2,A ;P2⼝输出

AJMP MAIN

TABLE:DB 03FH 06H 5BH 4FH 66H 6DH 7DH 07H

P1⼝输⼊/输出框图

六、实验程序分析、讨论及测试1、实验1欲改变LED循环的⽅向程序应如何修改?循环的时间间隔由什么决定?写出间隔时间为1秒的延时程序并说明计算⽅法。

答:(1)实验1如要改变LED的循环⽅向应把LOOP⼦程序中的RL A 指令改成RR A和MAIN: MOV A,#01H 改成MAIN: MOVA,#80H。

(2)循环的时间间隔由延时⼦程序决定

(3)DEL:MOV R0,#20DEL0:MOV R1,#200

DEL1:MOV R2,#125

DEL2:DJNZ R2,DEL2

DJNZ R1,DEL1

DJNZ R0,DEL0

2、结合实验板线路,说明如何调整LED的亮度。

答:通过调整其空⽐或扫描频率来调整LED的亮度。3、MCS—51单⽚机I/O⼝的输⼊/输出逻辑电平是多少?其负载能⼒有多⼤?若⽤I/O⼝控制⼀个继电器(⼯作电压12V,⼯作电流100mA)电路该如何设计?答:(1)I/O⼝输出、输⼊的逻辑电平是0或1。(2)2mA

(3)增加放⼤电路

六、程序测试报告:

实验1执⾏指令后,在硬件上看到LED灯从右到左循环亮起,间隔0.5秒左右。实验2开关S0-S7先全部置于断开状态,然后在硬件开关上按下第i个键,对应的LED灯持续亮着,并会在数码管上显⽰数字i,注意每次改变不同开关的状态时,前⼀个按下的开关要置回断开状态。