成都理工大学
《单片微型计算机》
实
验
报
告
学院:应用技术学院
专业:机电一体化
学号:2200951030110
姓名:李世龙
指导老师:吴建平
实验一Keil C51的使用(认识实验)
一、实验目的
熟悉Keil C51环境,并熟练掌握在该环境下软件的应用,并在该环境下编写程序并调试、连接和编译。
二、实验步骤
1.运行Keil C51.
2.点击project选项中的new project建立新工程文件.
3.器件选择Atmel中的AT89C51.
4.点击File中的new建立程序文件.
5.程序输入完后保存成扩展名为.asm的文件.
6.然后将程序文件增加到工程文件中.
7.编写程序,并进行编译、连接和调试.
三、实验内容
1、程序内容
MOV A,40H MOV R0,30H
MOV R0,A MOV 90H,R0
MOV P1,#0F0H MOV 48H,#30H
MOV @R0,30H MOV A,@R0
MOV DPTR,#1234H MOV P2,P1
MOV 40H,38H
2、已知
(30H)=38H (38H)=40H (40H)=48H (48H)=90H
3、查找
P1、P2、90H、R0、30H、DPTR 四、实验结果
P1=38H P2=38H 90H=38H
R0=38H 30H=38H DPTR=1234H
实验二拆字程序、拼字程序
一、实验目的
掌握汇编语言设计和调试方法
二、实验步骤
1.运行Keil C51.
2.点击project选项中的new project建立新工程文件.
3.器件选择Atmel中的AT89C51.
4.点击File中的new建立程序文件.
5.程序输入完后保存成扩展名为.asm的文件.
6.然后将程序文件增加到工程文件中.
7.编写程序,并进行编译、连接和调试.
三、实验内容
1、拆字程序:把2000H的内容拆开,高位送2001H底4位,
底4位送2002H底4位,2001H、2002H高四位清零.
2、拼字程序:把2000H、2001H的第四位分别送入2002H高4
位和底四位.
3、编写程序
拆字程序:ORG 0000H
AJMP SHILONG ANL 30H,#0FH
ORG 0050H MOV A,30H SHILONG:MOV DPTR,#2000H INC DPTR
MOVX A,@DPTR MOVX @DPTR,A
MOV 30H,A NOP
ANL A,#0FH END
SWAP A
MOV R1,A
INC DPTR
MOVX @DPTR,A
拼字程序:ORG 0000H
AJMP SHILONG ANL A,#0FH
ORG 0050H ORL A,30H
SHILONG: MOV DPTR,#2000H INC DPTR
MOVX A,@DPTR MOVX @DPTR,A
ANL A,#0FH END
SWAP A
MOV 30H,A
INC DPTR
MOVX A,@DPTR
4、已知:拆字程序:(2000H)=AAH 查找:2001H
拼字程序:(2000H)=0AH (2001H)=0AH 查找:2002H 四、实验结果
拆字程序:(2001H)=0AH
拼字程序:(2002H)=AAH
实验三I/0口控制实验(硬件实验)
一、实验目的
熟悉Keil C51集成开发环境调试功能的使用和DP-51PROC单片机综合仿真实验仪器的使用.并利用单片机的P1口作I/0口,学会利用P1口作为输入和输出口.
二、实验步骤
1.用导线把A2区的J61接口与D1区的J52接口相连。
2.先编写一个延时程序。
3.将LED轮流亮的程序编写完整并调试运行。
4.使用导线把A2区的J61接口的P1.0~P1.6与D1区的J52接
口的LED1~LED7相连,另外A2区J61接口的P1.7与D1区
的J53的KEY1相连。
5.编写P1.7控制LED的程序,并调试运行。(按下K1看是否
全亮)
6.A2区J61接口的P1.7与D1区的J54的SW1相连。然后再
运行程序,查看结果。
三、实验内容
1.编写一段程序,用P1口作为控制端口,使D1区的LED
轮流亮。
2.编写一段程序,用P1.0~P1.6口控制LED,P1.7控
制LED的亮和灭(P1.7接按键,按下时LED亮,不按
时LED灭。)
编写程序:
ORG 0000H
AJMP SHILONG
ORG 0050H
SHILONG: MOV P1,#0FFH
NOP
MOV A,#0FEH
LOOP: MOV P1,A
LCALL DELAY
RL A
SJMP LOOP
ORG 1000H
DELAY: MOV R2,#0FAH
L1: MOV R3,#0FAH
L2: DJNZ R3,L2
DJNZ R2,L1
RET
END
四、实验结果
在实验箱上,与P1口连接的LED灯会依次循环亮一定的时
实验四综合实验
一、实验目的
通过已知电路图和已有的元器件,自己动手焊接电路板并编写程序.使之和单片机相连,电路板上的LED能依次循环闪亮.
二、实验步骤
1.画出电路图如下.
2.根据已有的元器件依照电路图焊接电路板.
3.成功焊接电路板后再编写程序.
4.将编写好的程序捎到单片机里面.
三、实验内容
程序:ORG 0000H
LJAP SHILONG RL A
ORG 0003H MOV B,A
LJAP INT CJNZ R0,#03H,INT2 SHILONG:SETB EA MOV P1,#00H
SETB EX0 RETI
SETB IT0 INT2:RETI
MOV P1,#O3H END
MOV A,#0CCH
SJMP $
四、实验结果
电路板经修改和调试成功焊接,并将编写好的程序捎进去能正常运行,达到预期效果,实验很成功.