人人范文网 范文大全

单片机实验教案

发布时间:2020-03-04 00:02:15 来源:范文大全 收藏本文 下载本文 手机版

实验一

数据传送

一、

实验目的

1、熟悉单片机指令系统,掌握单片机循环程序设计方法

2、掌握单片机数据排序方法. 二.实验内容:

预先向单片机内部RAM 50H 开始填入一批数据,以00H结尾. 编这批数据按从小到大的顺序进行排序.

三、实验步骤:

a.先向单片机内部RAM50H开始填入一批数据,以00H结尾

b.编程求出这批数据的长度,存入R7中,编程将这批数据按从小到大顺序

四、参考程序:

ORG 0030H

MOV R0,#50H

MOV R7,#00H

CLR 00H

LOOP2:CJNE @R0,#00H ,TB

LJMP MAIN

TB: INC R7

INC R0

LJMP LOOP2

MAIN:MOV R0,#50H

DJNZ R7,LOOP3

LJMP A0

LOOP3: MOV B, R7

MOV A,@R0 LOOP:INC R0

MOV R2,A

SUBB A,@R0

MOV A,R2

JC NEXT

SETB 00H

XCH A,@R0

DEC R0

XCH A,@R0

INC R0 NEXT:MOV A,@R0

DJNZ B,LOOP

JB 00H,MAIN

A0 :SJMP $

END 实验二 循环结构程序设计

一、

实验目的

1、熟悉单片机指令系统,掌握单片机循环程序设计方法

2、掌握单片机数据排序方法. 二.实验内容:

预先向单片机内部RAM 50H 开始填入一批数据,以00H结尾. 编这批数据按从小到大的顺序进行排序.

三、实验步骤:

a.先向单片机内部RAM50H开始填入一批数据,以00H结尾

b.编程求出这批数据的长度,存入R7中,编程将这批数据按从小到大顺序

四、参考程序: ORG 1000H MOV R0,#50H MOV R7,#00H LOOP: MOV A,@R0

INC R0 CJNE A, #00H,LOOP1 SJMP LOOP2 LOOP1:INC R7 SJMP LOOP LOOP2:MOV R0, #50H CLR 00H ;(00H)=00H为标志位

MOV A,R7 MOV R6,A LOOP3:MOV A,@R0 INC R0 MOV 30H,@R0 CJNE A,30H,LOOP4 LOOP4:JC LOOP5

XCH A,@R0 DEC R0 XCH A,@R0 INC R0 SETB 00H INC R0 LOOP5:DJNZ R6,LOOP3 JB 00H,LOOP2 SJMP $ END

实验三 信号灯控制

一、实验目的

(1)学习P1口的使用方法;

(2)学习延时子程序的编写。

(3)掌握proteus仿真软件的基本使用。

二、实验内容

做单一灯的左移右移,硬件电路如图4.4.1所示,八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上,输出“0”时,发光二极管亮,开始时P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅→P1.0亮,重复循环。

三、程序流程图:

四、参考程序 ORG 0 START: MOV R2,#8 MOV A,#0FEH SETB C LOOP: MOV P1,A LCALL DELAY RLC A DJNZ R2,LOOP MOV R2,#8 LOOP1: MOV P1,A LCALL DELAY RRC A DJNZ R2,LOOP1 LJMP START DELAY: MOV R5,#20 ; D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END

实验四 脉冲计数实验

一、实验目的:

1)掌握定时计数器的使用。 2)学习延迟程序的编写和使用。

3)熟悉proteus仿真软件的使用方法。

二、实验内容:

1)开始时,显示“00”,第一次按下SP1后就开始计时。 2)第二次按下SP1后,计时停止。 3)

第三次按下SP1时,计时归零。

三、主程序流程图

四、中断服务程序流程图如下:

五、参考程序如下: TCNTA EQU 30H TCNTB EQU 31H SEC EQU 32H KEYCNT EQU 33H SP1 BIT P3.5 ORG 00H LJMP START ORG 0BH LJMP INT_T0 START: MOV KEYCNT,#00H MOV SEC,#00H MOV A,SEC MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,B MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P2,A MOV TMOD,#02H SETB ET0 SETB EA WT: JB SP1,WT LCALL DELY10MS JB SP1,WT INC KEYCNT MOV A,KEYCNT CJNE A,#01H,KN1 SETB TR0 MOV TH0,#06H MOV TL0,#06H MOV TCNTA,#00H MOV TCNTB,#00H LJMP DKN KN1: CJNE A,#02H,KN2 CLR TR0 LJMP DKN KN2: CJNE A,#03H,DKN MOV SEC,#00H MOV A,SEC MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,B MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P2,A MOV KEYCNT,#00H DKN: JNB SP1,$ LJMP WT DELY10MS: MOV R6,#20 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET INT_T0: INC TCNTA MOV A,TCNTA CJNE A,#100,NEXT MOV TCNTA,#00H INC TCNTB MOV A,TCNTB CJNE A,#4,NEXT MOV TCNTB,#00H INC SEC MOV A,SEC CJNE A,#100,DONE MOV SEC,#00H DONE: MOV A,SEC MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,B MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P2,A NEXT: RETI TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END

实验五 8255控制交通灯

一、实验目的

进一步了解8255芯片的结构及编程方法,学习模拟交通控制的实现方法。

二、实验内容

用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。

四、参考程序如下: ;交通灯

ORG 0030H

JOD0:MOV SP,#60H

MOV DPTR,#0FFDBH

MOV A,#88H

;8255初始化

MOVX @DPTR,A

MOV DPTR,#0FFD8H

MOV A,#0B6H

MOVX @DPTR,A

INC DPTR

MOV A,#0DH

MOVX @DPTR,A ;点亮4个红灯

MOV R2,#25H ;延时

LCALL DELY

JOD3:MOV DPTR,#0FFD8H

MOV A,#75H

MOVX @DPTR,A

INC DPTR

MOV A,#0DH

MOVX @DPTR,A

;东西绿灯亮,南北红灯亮

MOV R2,#55H

LCALL DELY

;延时

MOV R7,#05H

;闪烁次数

JOD1:MOV DPTR,#0FFD8H

MOV A,#0F3H

MOVX @DPTR,A

INC DPTR

MOV A,#0CH

MOVX @DPTR,A

;东西黄灯亮,南北红灯亮

MOV R2,#20H

LCALL DELY

;延时

MOV DPTR,#0FFD8H

MOV A,#0F7H

MOVX @DPTR,A

INC DPTR

MOV A,#0DH

MOVX @DPTR,A

;南北红灯亮

MOV R2,#20H

LCALL DELY

;延时

DJNZ R7,JOD1

;闪烁次数未到继续

MOV DPTR,#0FFD8H

MOV A,#0AEH

MOVX @DPTR,A

INC DPTR

MOV A,#0BH

MOVX @DPTR,A ;东西红灯亮,南北绿灯亮

MOV R2,#55H

LCALL DELY

;延时

MOV R7,#05H

;闪烁次数

JOD2:MOV DPTR,#0FFD8H

MOV A,#9EH

MOVX @DPTR,A

INC DPTR

MOV A,#07H

MOVX @DPTR,A

;东西红灯亮,南北黄灯亮

MOV R2,#20H

LCALL DELY

;延时

MOV DPTR,#0FFD8H

MOV A,#0BEH

MOVX @DPTR,A

INC DPTR

MOV A,#0FH

MOVX @DPTR,A

;东西红灯亮

MOV R2,#20H

LCALL DELY

;延时

DJNZ R7,JOD2

;闪烁次数未到继续

LJMP JOD3

ORG 0213H

DELY:PUSH 02H

DEL2:PUSH 02H

DEL3:PUSH 02H

DEL4:DJNZ R2,DEL4

POP 02H

DJNZ R2,DEL3

POP 02H

DJNZ R2,DEL2

POP 02H

DJNZ R2,DELY

RET

END

实验六 A/D转换

一、实验目的

1.掌握A/D转换与单片机的接口方法 2.了解A/D芯片0809性能及编程方法 3.通过实验了解单片机如何进行数据采集

二、实验内容

1.利用proteus软件仿真,实现A/D转换实验。

2.实验要求通过电位器提供模拟量的输入,编写程序,将模拟量转换成数字量,通过数码管显示出来。

三、参考程序如下: LED_0 EQU 30H

;存放三个数码管的段码 LED_1 EQU 31H LED_2 EQU 32H

ADC EQU 35H ;存放转换后的数据 ST BIT P3.2 OE BIT P3.0 EOC BIT P3.1 ORG 00H

START: MOV LED_0,#00H MOV LED_1,#00H MOV LED_2,#00H MOV DPTR,#TABLE ;送段码表首地址

SETB P3.4 SETB P3.5 CLR P3.6

;选择ADC0808的通道3

WAIT: CLR ST SETB ST CLR ST

;启动转换

JNB EOC,$

;等待转换结束

SETB OE

;允许输出

MOV ADC,P1

;暂存转换结果

CLR OE

;关闭输出

;MOV A,ADC

;将AD转换结果转换成BCD码

;MOV B,#100 ;DIV AB ;MOV LED_2,A ;MOV A,B ;MOV B,#10 ;DIV AB ;MOV LED_1,A ;MOV LED_0,B lcall

intov LCALL DISP

;显示AD转换结果

SJMP WAIT

intov: ;mov a,led_1 ;m;ov b,#10 ;mul ab

;add a,led_0 ;mov r1,a ;mov a,led_2 ;mov b,#100 ;mul ab ;add a,r1 mov dptr,#tab mov a,adc

movc a,@a+dptr mov b,#2 div ab mov r1,b mov b,#10 div ab mov led_2,a mov led_1,b cjne r1,#01,kk1

mov led_0,#05 back:

ret kk1:

mov led_0,#00

ajmp back

DISP: mov

dptr,#table

MOV A,LED_0

MOVC A,@A+DPTR

CLR P2.3 MOV P0,A LCALL DELAY SETB P2.3

mov

dptr,#table MOV A,LED_1 MOVC A,@A+DPTR CLR P2.2 MOV P0,A LCALL DELAY SETB P2.2

mov

dptr,#table MOV A,LED_2 MOVC A,@A+DPTR setb

acc.7 CLR P2.1

;数码显示子程序 MOV P0,A LCALL DELAY SETB P2.1 RET DELAY: MOV R6,#10

;延时5毫秒 D1: MOV R7,#250 DJNZ R7,$ DJNZ R6,D1

RET

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

tab:db 0, 0

,

0

, 1, 0, 2, 0, db 4, 0, 0, 5, 0, 6, 0, 0, 7, 0 db 8, 0, 0, 9, 0, 0, 10, 0, 11, 0 db 0, 12, 0, 13, 0, 0, 14, 0, 15, 0 db 0, 16, 0, 17, 0, 0, 18, 0, 19, 0 db 0, 20, 0, 0, 21, 0, 22, 0, 0, 23 db 0, 24, 0, 0, 25, 0, 26, 0, 0, 27 db 0, 28, 0, 0, 29, 0, 0, 30, 0, 31 db 0, 0, 32, 0, 33, 0, 0, 34, 0, 35 db 0, 0, 36, 0, 37, 0, 0, 38, 0, 39 db 0, 0, 40, 0, 0, 41, 0, 42, 0, 0 db 43, 0, 44, 0, 0, 45, 0, 46, 0, 0 db 47, 0, 48, 0, 0, 49, 0, 50, 0, 0 db 51, 0, 0, 52, 0, 53, 0, 0, 54, 0 db 55, 0, 0, 56, 0, 57, 0, 0, 58, 0 db 59, 0, 0, 60, 0, 0, 61, 0, 62, 0 db 0, 63, 0, 64, 0, 0, 65, 0, 66, 0 db 0, 67, 0, 68, 0, 0, 69, 0, 70, 0 db 0, 71, 0, 0, 72, 0, 73, 0, 0, 74 db 0, 75, 0, 0, 76, 0, 77, 0, 0, 78 db 0, 79, 0, 0, 80, 0, 0, 81, 0, 82 db 0, 0, 83, 0, 84, 0, 0, 85, 0, 86 db 0, 0, 87, 0, 88, 0, 0, 89, 0, 90 db 0, 0, 91, 0, 0, 92, 0, 93, 0, 0 db 94, 0, 95, 0, 0, 96, 0, 97, 0, 0 db 98, 0, 99, 0, 0, 100, 0, 0, 0

END

0, 3, 0

单片机实验教案

单片机实验教案

单片机实验教案

单片机实验

单片机实验

单片机实验心得体会

单片机液晶显示实验

单片机实验小结

单片机实验感想

单片机实验一

单片机实验教案
《单片机实验教案.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档