广东海洋大学单片机实验报告

广东海洋大学单片机实验报告
广东海洋大学单片机实验报告

实验一发光二极管流水灯实验

一、实验目的:

1.通过AT89C51单片机控制8个发光二极管,八个发光二极管分别接在单片机的P0.0-P0.7接口上,输出“0”时,发光二极管亮。开始时P0.0→P0.1….→P0.7,实现亮点以1HZ频率循环移动。

2.用PROTEUS 设计,仿真以AT89C51为核心的发光二极管流水灯实验装置。

3.掌握发光二极管的控制方法。

二、PROTEUS电路设计:

三、实验仪器和设备

PC机、PROTEUS软件或W-A-51综合开发学习板

四、源程序设计:

根据电路图自行编写并调试。

ORG 0000H

AJMP START

ORG 0030H

START: MOV P0,#0FFH

MOV A,#0FEH

AAA: MOV P0,A

LCALL DELAY

JNB P0.7,BBB

RL A

AJMP AAA

BBB: MOV A,#7FH

CCC: MOV P0,A

LCALL DELAY

JNB P0.0,START

RR A

AJMP CCC

DELAY: MOV R2,#123

DL3: MOV R1,#200

DL2: MOV R0,#20

DL1: DJNZ R0,DL1

DJNZ R1,DL2

DJNZ R2,DL3

RET

END

实验二开关控制LED数码管实验

一、实验目的:

1.通过AT89C51读入4位开关K1、K2、K3、K4的输入状态,并按照二进制编码关系0-F输出到数码管显示。(如K4K3K2K1全部按下,则显示F;若只有K2按下,则显示2。)

2.掌握LED数码管的静态显示。

3.掌握I/O口的控制方法。

二、PROTEUS电路设计:

三、实验仪器和设备

PC机、PROTEUS软件或W-A-51综合开发学习板

四、源程序设计:

根据电路图自行编写并调试。

CLR P1.0

MOV DPTR,#TABLE

START:CLR A

JNB P2.0,D1

INC A

D1:JNB P2.1,D2

ADD A,#2

D2:JNB P2.2,D3

ADD A,#4

D3:JNB P2.3,D4

ADD A,#8

D4:MOVC A,@A+DPTR

MOV P0,A

AJMP START

TABLE: DB

0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH END

实验三外中断优先级实验

一、实验目的:

1.理解单片机中断优先级和优先权。

2.用PROTEUS 设计,仿真基于AT89C51单片机的中断优先级实验。

3.掌握中断编程方法。

单片机主程序控制P0口数码管循环显示0~8;外中断0、外中断1发生时分别在P2口、P1口依次显示0~8。通过实验可演示高优先级可中断低优先级,但低优先级的中断请求不能中断高优先级。

二、PROTEUS电路设计:

三、实验仪器和设备

PC机、PROTEUS软件或W-A-51综合开发学习板

四、源程序设计:

根据电路图自行编写并调试。

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP INTER0

ORG 0013H

LJMP INTER1

ORG 0100H

MAIN: MOV SP,#30H

SETB EX0

SETB IT0

SETB PX0

SETB EX1

SETB IT1

CLR PX1

SETB EA

START: MOV R0,#00H

MOV A,R0

MOV R1,#9

AA: PUSH ACC

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P0,A

CALL DELAY

POP ACC

INC A

DJNZ R1,AA

LJMP START INTER0: PUSH PSW

PUSH ACC

SETB RS0

MOV R0,#00H

MOV R1,#9

BB: MOV DPTR,#TABLE

MOV A,R0

MOVC A,@A+DPTR

MOV P2,A

CALL DELAY

INC R0

DJNZ R1,BB

POP ACC

POP PSW

MOV P2,#0FFH

RETI

LJMP AA

INTER1: PUSH PSW

PUSH ACC

CLR RS0

SETB RS1

MOV R0,#00H

MOV R1,#9

CC: MOV DPTR,#TABLE

MOV A,R0

MOVC A,@A+DPTR

MOV P1,A

CALL DELAY

INC R0

DJNZ R1,CC

POP ACC

POP PSW

MOV P1,#0FFH

RETI

LJMP AA

DELAY: MOV R2,#50

D0: MOV R3,#50

D1: MOV R4,#50

D2: DJNZ R4,D2

DJNZ R3,D1

DJNZ R2,D0

RET

TABLE:DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H

END

实验四60S倒计时实验

一、实验目的:

1.通过AT89C51的定时器实现60S倒计时,显示采用两位数码管动态显示。

2.用PROTEUS 设计,仿真基于AT89C51单片机的60S倒计时实验。

二、PROTEUS电路设计:

三、实验仪器和设备

PC机、PROTEUS软件或W-A-51综合开发学习板

四、源程序设计:

根据电路图自行编写并调试。

ORG 0000H

AJMP MAIN

ORG 000BH ;T0中断入口

AJMP LOOP

ORG 0030H

MAIN:

MOV TMOD,#01H ;设置T0用于定时,模式1方式

MOV TH0,#3CH ;装入定时初值

MOV TL0,#0B0H

MOV IP,#02H

MOV IE,#82H ;T0中断允许

MOV DPTR,#TAB

MOV R0,#60

MOV R1,#16

SETB TR0

LOOP1:

MOV A,R0

MOV B,#10

DIV AB

MOVC A,@A+DPTR

MOV P2,#80H

MOV P0,A

ACALL DEL0

MOV A,B

MOVC A,@A+DPTR

MOV P2,#40H

MOV P0,A

ACALL DEL0

AJMP LOOP1

LOOP:

MOV TH0,#3CH

MOV TL0,#0B0H

DJNZ R1,LOOP2

MOV R1,#16

DEC R0

CJNE R0,#0FFH,LOOP2

MOV R0,#60

LOOP2:

RETI

DELAY:

MOV R2,#20

DEL0:

MOV R3,#50

DJNZ R3,$

DJNZ R2,DEL0

RET

TAB:DB 3FH,06H,5BH,4FH,66H

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

END

实验五矩阵式键盘的设计

一、实验目的:

1.掌握键盘设计中按键识别的原则。

2.用PROTEUS 设计一个常规4×4的矩阵键盘。

3.键盘编码规则自己定义,分别对应数字键0-9、A-F,按下对应的按

键显示在数码管上显示对应的数据。

二、PROTEUS电路设计:

三、实验仪器和设备

PC机、PROTEUS软件或W-A-51综合开发学习板

四、源程序设计:

根据电路图自行编写并调试。

ORG 0000H

AJMP START

ORG 30H

START:MOV DPTR,#TABLE

MOV P1,#07H

HH: MOV P2,#0F0H

H1: JB P2.4,H2

MOV A,#00H

LJMP LL

H2: JB P2.5,H3

MOV A,#01H

LJMP LL

H3: JB P2.6,H4

MOV A,#02H

LJMP LL

H4: JB P2.7,H1

MOV A,#03H

LL: MOV P2,#0FH

L1: JB P2.0,L2

MOV R0,#00H

LJMP CB

L2: JB P2.1,L3

MOV R0,#01H

LJMP CB

L3: JB P2.2,L4

MOV R0,#02H

LJMP CB

L4: JB P2.3,L1

MOV R0,#03H

CB: MOV B,#04H

MUL AB

ADD A,R0

MOVC A,@A+DPTR

CPL A

MOV P0,A

LJMP HH

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

DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H

END

实验六AD转换程序设计

一、实验目的:

1.掌握转换器ADC0809的使用。

2.用PROTEUS 设计,仿真基于AT89C51单片机的A/D转换实验。

3.通过改变电位器的值改变模拟量的输入,经转换为数字量在LED上

显示,比对模拟量和数字量的关系。

二、PROTEUS电路设计:

三、实验仪器和设备

PC机、PROTEUS软件或W-A-51综合开发学习板四、源程序设计:

根据电路图自行编写并调试。

ORG 0000H

LJMP START

ORG 0030H

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

DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H

START:

MOV R1,#00H

MOV R2,#08H

MOV DPTR,#TABLE

CLR EX0

LOOP:

CLR P2.0

MOVX @R1,A

MOV R3,#20H

DELY: DJNZ R3,DELY

SETB P3.2

WAIT: JB P3.2,WAIT

MOVX A,@R1

MOV R5,A

ANL A,#0FH

MOVC A,@A+DPTR

CPL A

SETB P3.5

CLR P3.4

MOV P1,A

ACALL DLY

MOV A,R5

ANL A,#0F0H

SWAP A

MOVC A,@A+DPTR

CPL A

SETB P3.4

CLR P3.5

MOV P1,A

ACALL DLY

SJMP LOOP

DLY:MOV R4,#175

DL:MOV R6,#125

DL1:DJNZ R6,DL1

DJNZ R4,DL

RET

HERE: SJMP HERE

END

实验七双机通信实验

一、实验目的:

1.掌握单片机串口通信程序的设计。

2.了接RS232接口通信的特点。

3.双机通信:分别把接收到的对方通过逻辑开关输入的信息在本地数码管上显示,如下图甲机的逻辑开关数据为81H,乙机通过串口接收该数据并数码关管显示,而甲机显示乙机发送的数据88H。

二、PROTEUS电路设计:

三、实验仪器和设备

PC机、PROTEUS软件或W-A-51综合开发学习板

四、源程序设计:

根据电路图自行编写并调试。

ORG 0000H

LJMP START

ORG 0050H

START:

MOV TMOD,#20H

MOV TH1,#0FDH

MOV TL1,#0FDH

MOV SCON,#50H

MOV PCON,#00H

SETB TR1

AABB:MOV A,P1

MOV SBUF,A

L1:JBC TI,L2

SJMP L1

L2:JBC RI,NEXT2

JMP L2

EXT2:

OV A,SBUF

MOV P0,A

SJMP AABB

END

相关主题
相关文档
最新文档