电信10单片机实验.docx
《电信10单片机实验.docx》由会员分享,可在线阅读,更多相关《电信10单片机实验.docx(31页珍藏版)》请在冰豆网上搜索。
![电信10单片机实验.docx](https://file1.bdocx.com/fileroot1/2023-1/5/c02cd92a-c789-4bf8-a23f-9cc5a6f19c64/c02cd92a-c789-4bf8-a23f-9cc5a6f19c641.gif)
电信10单片机实验
撰写实验报告要求:
实验报告内容包括:
实验目的,实验设备,实验内容,程序流程图,程序清单<必须写出注释),结果记录及分析,并回答实验讨论中的问题。
单片机实验一、系统地址分配
<1)I/0地址分配
<2)存储器地址分配
二、系统接口定义
<1)CZ11:
用户通信口<2)CZ4:
打印接口<3)JX0,JX17:
为系统提供的数据总线接口<4)CZ7:
系统提供的扩展接口<5)JX12、JX14:
液晶显示接口<6)ISP下载接口三、通用电路简介
<1)LED发光二极管输出模块实验台上有8只发光二极管及相应驱动电路。
见图1-7,L1~L8为相应发光二极管驱动信号输入端,该输入端为高电平“0”时发光二极管亮。
<2)开关量输入模块实验台上有8只开关Kl~K8,与之相对应的K1-K8个引线孔为逻辑电平输出端。
开关向上拨相应插孔输出高电平“l”,向下拨相应插孔输出低电平“0”。
见图1-8。
<3)单脉冲电路实验仪上单脉冲产生电路如图1-9所示,两个引线插孔为正负单脉冲输出端。
附近按钮AN0为单脉冲产生按钮,每按一次产生一个单脉冲。
<4)分频电路<5)脉冲发生电路<6)485接口电路<7)数码管显示电路数码管显示电路中,SW3、SW4红色拨码开关打在“ON”位置,数码管代码端和公共端与8155PA、PB口相连。
如果SW3、SW4红色拨码开关打在相反位置,即“OFF”位置,数码管电路与8155断开,数码管代码端和公共端对外开放。
<8)矩阵键盘模块电路四、DICE-DPJ-3实验通过DICE-3000仿真器来连接5208K实验系统和PC机,首先用随机串行通讯电缆连接仿真器串行口和PC机串行口,然后用随机34芯扁平线连接仿真器和5208K实验系统的JF_1仿真接口,将KB1开关设置在“一般模式”,KB2开关用两个短路块插在‘1’和‘2’从而完成实验系统与PC机的联机。
五、系统开关设置<1)SW1程序空间选择开关,SW1—>IP,选择CPU内部<一般不设置此模式,如果将目标程序通过烧写器写入单片机内部FALSHROM中,要运行写入的程序时需设置到该模式,一般用于项目人员的目标系统开发),SW1—>UP<出厂模式),选择CPU外部,此时可脱机运行EPROM中固化的程序,也可用仿真器进行联机实验。
(用短路块选择>
<2)SW3、SW4、SW5:
为键盘/显示选择开关,开关置ON<出厂模式),键盘/显示控制选择系统配置的8155接口芯片,反之由用户选择自定义的I/O接口芯片控制,在本机实验中,除8279实验外,键盘/显示为出厂模式。
<3)KB1开关:
KB1开关有两种工作模式,平时都工作在“一般模式”,当我们用到单片机ISP在线编程功能时,将KB1开关打在“编程模式”。
<4)KB2开关<用短路块实现):
为“MCS-51系统”与“C8051F系统”读写信号切换开关。
当使用“MCS-51系统”时,将两个短路插在‘1’和‘2’位置,使用“C8051F系统”时,将两个短路块插在‘2’和‘3’位置。
<5)仿真器所接实验系统的JF_1(IDC34>口为系统通讯口,用于程序的仿真、连接、装载。
而实验系统的CZ11口为用户实验通讯口,用于实验系统与PC机之间的串行口通讯实验。
六、DICE-DPJ-3使用注意事项
<1)脱机实验时,从矩阵键盘模块输入相应实验序号<如实验一,输入“01”),再按F0/EX即可运行该实验程序。
<2)联机实验时,首先关闭电源,将仿真器的34芯扁平线与JF_1<3)进入DICE-51仿真开发系统后,点击菜单“设置”-》“仿真模式”-》
CPU:
选8031/8032
RAM:
选用户RAM
ROM:
选系统ROM
<4)注意在DICE-51仿真开发系统中,新建和调用的“源程序的文件名”不能含有中文字符,且英文字符不能超过8个字符。
“源程序”所在的路径中同样也不能含有中文字符,且不能超过8个字符。
正确例子:
D:
\5203k\52kasm\hw01.asm
<5)“SW1”开关不管在脱机实验或仿真器联机实验状态时都应打在‘UP’位置。
实验一、步进电机控制实验
一.实验目的:
1.了解步进电机控制的基本原理。
2.掌握控制步进电机转动的编程方法。
3.掌握程序设计方法以及如何使用仿真器排除程序错误。
二.实验设备:
1.DICE-DPJ-3单片机实验仪1台
2.计算机1台
3.通信电缆1根
三、实验内容
步进电机驱动原理是通过对每相线圈中的电流的顺序切换来使电机作步进式旋转。
驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。
四相步进电机的工作方式:
*单相四拍工作方式,其电机控制绕组A、B、C、D相的正转通电顺序为:
A→B→C→D→A;反转通电顺序为:
A→D→C→B→A。
*四相八拍工作方式,正转的绕组通电顺序为:
A→AB→B→BC→C→CD→D
DA→A;反向的通电顺序为:
A→AD→D→DC→C→CB→B→BA→A。
*双四拍工作方式,正转的绕组通电顺序为:
AB→BC→CD→DA→AB;反向的通电顺序为:
AB→AD→DC→CB→BA。
步进电机有如下特点:
给步进脉冲电机就转,不给步进脉冲电机就不转;步进脉冲的频率越高,步进电机转得越快;改变各相的通电方式,可以改变电机的运行方式;改变通电顺序,可以控制电机的正、反转。
本实验采用采用单相四拍工作方式,实验接线图如下图所示。
1.按照如下流程图编写程序,实现步进电机的控制。
2.实验步骤
<1)实验模块:
DP-51单片机实验装置挂箱、DP-600模块单元挂箱
<2)将DP-51CPU挂箱电源区对应直流电源插孔用双头导线与控制屏上电源连接。
<3)用20芯扁平线将DP-51和DP-600的CZ3接口对应连接。
<4)Pl.0~Pl.3接HA~HD。
执行程序,从键盘上输入数字使显示器显示,第一位为0(正转>,为1<反转),第二位0~F显示转速,第三~六位为设定步数,如输入“011000”,按F0/EX键后,步进电机开始转动,步数逐渐减小到零时步进电机停止转动,参考程序如HW19.ASM。
3.用开关量控制步进电机的转向,转速。
要求:
a)K0、K1控制步进电机的转向。
b)K2~K7控制转速,分为6档。
c)K0、K1中和K2~K7中一开关同时为有效时,步进电机才启动,其他情况步进电机不工作。
四.实验讨论:
<问题回答后,写入实验报告)
1.给HW19.ASM程序添加注释,说明各子程序所完成的功能?
2.编写并调试正向步进子程序、反向步进子程序和主程序,使步进电机转速按图执行,不断循环。
附:
HW19.ASM程序清单<仅供参考)
ORG0000H
MOVP2,#0FFH
MOV7EH,#11H
MOV7DH,#10H
MOV7CH,#10H
MOV7BH,#10H
MOV7AH,#10H
MOV79H,#10H
MOVA,#43H
MOVDPTR,#0FF20H
MOVX@DPTR,A
MOVR0,#59h
MOVA,#7eh
MOVX@r0,a
DOJ0:
MOVSP,#53H
DOJ6:
LCALLX2。
JNCDOJ5
LCALLX3
MOVR1,#7EH
SJMPDOJ6
DOJ5:
CJNEA,#16H,DOJ6
MOVA,7AH
SWAPA
ORLA,79H
MOVR6,A
MOVA,7CH
SWAPA
ORLA,7BH
MOVR7,A
MOVA,7EH
CJNEA,#00H,DOJ2
DOJ1:
MOVP1,#03H
LCALLDEL0Y
LCALLGGJ0
MOVP1,#06H
LCALLDEL0Y
LCALLGGJ0
MOVP1,#0CH
LCALLDEL0Y
LCALLGGJ0
MOVP1,#09H
LCALLDEL0Y
LCALLGGJ0
SJMPDOJ1
DOJ2:
MOVP1,#09H
LCALLDEL0Y
LCALLGGJ0
MOVP1,#0CH
LCALLDEL0Y
LCALLGGJ0
MOVP1,#06H
LCALLDEL0Y
LCALLGGJ0
MOVP1,#03H
LCALLDEL0Y
LCALLGGJ0
SJMPDOJ2
DEL0Y:
MOVA,7DH
SWAPA
MOVR2,A
MOVR5,#80H
DEL1Y:
DJNZR5,DEL1Y
LCALLSSEE
DJNZR2,DEL1Y
RET
GGJ0:
CJNER7,#00H,GGJ1
CJNER6,#00H,GGJ1
AJMPDOJ4
GGJ1:
DJNZR6,DOJ3
CJNER7,#00H,DDJ8
DOJ4:
LCALLDOJ7
SJMPDOJ4
DDJ8:
DJNZR7,DOJ3
AJMPDOJ4
DOJ3:
LCALLDOJ7
RET
DOJ7:
MOVR0,#79H
MOVA,R6
LCALLPTDS5
MOVA,R7
LCALLPTDS5
LCALLSSEE
RET
PTDS5:
MOVR1,A
ACALLPTDS6
MOVA,R1
SWAPA
PTDS6:
ANLA,#0FH
MOV@R0,A
INCR0
RET
ORG1D00H
X3:
MOVR4,A
MOVR0,#59H
MOVXA,@R0
MOVR1,A
MOVA,R4
MOV@R1,A
CLRA
POPDPH
POPDPL
MOVCA,@A+DPTR
INCDPTR
CJNEA,01H,X30
CLRA
MOVCA,@A+DPTR
X31:
MOVX@R0,A
INCDPTR
PUSHDPL
PUSHDPH
RET
X30:
DECR1
MOVA,R1
SJMPX31
X2:
MOVR6,#50H
X0:
ACALLXLE
JNBACC.5,XX0
DJNZR6,X0
MOVR6,#20H
MOVR0,#59H
MOVXA,@R0
MOVR0,A
MOVA,@R0
MOVR7,A
MOVA,#10H
MOV@R0,A
X1:
ACALLXLE
JNBACC.5,XX1
DJNZR6,X1
MOVA,R7
MOV@R0,A
SJMPX2
XX1:
MOVR6,A
MOVA,R7
MOV@R0,A
MOVA,R6
XX0:
RET
XLE:
ACALLDIS
ACALLKEY
MOVR4,A
MOVR1,#48H
MOVXA,@R1
MOVR2,A
INCR1
MOVXA,@R1
MOVR3,A
MOVA,R4
XRLA,R3
MOVR3,04H
MOVR4,02H
JZX10
MOVR2,#88H
MOVR4,#88H
X10:
DECR4
MOVA,R4
XRLA,#82H
JZX11
MOVA,R4
XRLA,#0EH
JZX11
MOVA,R4
ORLA,R4
JZX12
MOVR4,#20H
DECR2
SJMPX13
X12:
MOVR4,#0FH
x11:
MOVR2,04H
MOVR4,03H
X13:
MOVR1,#48H
MOVA,R2
MOVX@R1,A
INCR1
MOVA,R3
MOVX@R1,A
MOVA,R4
RET
LS3:
DB07H,04H,08H,05H,09H,06H,0AH
DB0BH,01H,00H,02H,0FH,03H,0EH
DB0CH,0DH
DIS:
PUSHDPH
PUSHDPL
SETBRS1
MOVR0,#7EH
MOVR2,#20H
MOVR3,#00H
MOVDPTR,#LS0
LS2:
MOVA,@R0
MOVCA,@A+DPTR
MOVR1,#22H
MOVX@R1,A
MOVA,R2
CPLA
DECR1
MOVX@R1,A
CPLA
DECR0
LS1:
DJNZR3,LS1
CLRC
RRCA
MOVR2,A
JNZLS2
INCR1
MOVA,#0FFH
MOVX@R1,A
CLRRS1
POPDPL
POPDPH
RET
LS0:
DB0C0H,0F9H,0A4H,0B0H,99H,92H
DB82H,0F8H,80H,90H,88H,83H,0C6H
DB0A1H,86H,8EH,0FFH,0CH,89H,7FH,0BFH
KEY:
SETBRS1
MOVR2,#0FEH
MOVR3,#08H
MOVR0,#00H
LP1:
MOVA,R2
MOVR1,#21H
MOVX@R1,A
RLA
MOVR2,A
MOVR1,#23H
MOVXA,@R1
CPLA
ANLA,#0FH
JNZLP0
INCR0
DJNZR3,LP1
MOVXA,@R1
JBACC.4,XP33
MOVA,#19H
SJMPXP3
XP33:
MOVA,#20H
XP3:
CLRRS1
RET
LP0:
CPLA
JBACC.0,XP0
MOVA,#00H
SJMPLPP
XP0:
JBACC.1,XP1
MOVA,#08H
SJMPLPP
XP1:
JBACC.2,XP2
MOVA,#10H
SJMPLPP
XP2:
JBACC.3,XP33
MOVA,#18H
LPP:
ADDA,R0
CLRRS1
CJNEA,#10H,LX0
LX0:
JNCXP35
MOVDPTR,#LS3
MOVCA,@A+DPTR
XP35:
RET
ORG0D50H
SSEE:
SETBRS1
MOVR5,#05H
SSE2:
MOV30H,#20H
MOV31H,#7EH
MOVR7,#06H
SSE1:
MOVR1,#21H
MOVA,30H
CPLA
MOVX@R1,A
MOVR0,31H
MOVA,@R0
MOVDPTR,#DDFF
MOVCA,@A+DPTR
MOVR1,#22H
MOVX@R1,A
MOVA,30H
RRA
MOV30H,A
DEC31H
MOVA,#0FFH
MOVX@R1,A
DJNZR7,SSE1
DJNZR5,SSE2
CLRRS1
RET
DDFF:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH
END
实验二、定时器、中断实验
一.实验目的:
1.熟悉C51的指令系统。
2.理解C51单片机内部资源的特性和应用方法。
3.熟悉单片机内部定时/计数器功能,掌握初始化编程方法。
二.实验设备:
1.DICE-DPJ-31台
2.计算机1台
3.通信电缆1根
三、实验内容
设计要求:
1.对定时器计数器0外部输入的脉冲进行计数,并送显示器显示。
流程图如下图所示:
3.用插针把8MHZ插孔和T插孔连接,P3.4依次接T0~T7或单脉冲输出孔,执行程序,观察数码管上计数脉冲的速度及个数。
参考程序如下SW09.asm。
4.编写程序,从实验系统键盘上输入时间初值,用定时器产生0.lS定时中断,对时钟计数器计数,并将数值实时地送数码管显示。
参考程序如SW10.asm。
5.连续运行程序,在键盘上输入时间初值“时、分、秒”,按执行键F0/EX执行,数码管实时显示时间值。
四.实验讨论:
<问题回答后,写入实验报告)
1.给SW09.ASM和SW10.ASM程序添加注释,说明各子程序所完成的功能。
2.修改程序SW09.ASM使显示器上可显示到999999个脉冲个数。
3.修改程序使定时器工作方式改变,调节有关参数,进一步提高精度。
附:
SW09.ASM程序清单<仅供参考)
ORG0000H
LJMPSE15
ORG06E0H
SE15:
MOVSP,#53H
MOVP2,#0FFH
MOVA,#43H
MOVDPTR,#0FF20H
MOVX@DPTR,A
MOVTMOD,#05H
MOVTH0,#00H
MOVTL0,#00H
SETBTR0
LO29:
MOVR2,TH0
MOVR3,TL0
LCALLZOY0
MOVR0,#79H
MOVA,R6
LCALLPTDS
MOVA,R5
LCALLPTDS
MOVA,R4
LCALLPTDS
LCALLSSEE
SJMPLO29
ZOY0:
CLRA
MOVR4,A
MOVR5,A
MOVR6,A
MOVR7,#10H
LO30:
CLRC
MOVA,R3
RLCA
MOVR3,A
MOVA,R2
RLCA
MOVR2,A
MOVA,R6
ADDCA,R6
DAA
MOVR6,A
MOVA,R5
ADDCA,R5
DAA
MOVR5,A
MOVA,R4
ADDCA,R4
DAA
MOVR4,A
DJNZR7,LO30
RET
PTDS:
MOVR1,A
ACALLPTDS1
MOVA,R1
SWAPA
PTDS1:
ANLA,#0FH
MOV@R0,A
INCR0
RET
SSEE:
SETBRS1
MOVR5,#05H
SSE2:
MOV30H,#20H
MOV31H,#7EH
MOVR7,#06H
SSE1:
MOVR1,#21H
MOVA,30H
CPLA
MOVX@R1,A
MOVR0,31H
MOVA,@R0
MOVDPTR,#DDFF
MOVCA,@A+DPTR
MOVR1,#22H
MOVX@R1,A
MOVA,30H
RRA
MOV30H,A
DEC31H
MOVA,#0FFH
MOVX@R1,A
DJNZR7,SSE1
DJNZR5,SSE2
CLRRS1
RET
DDFF:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH
END
实验三、显示器接口实验
一.实验目的:
1.掌握数码管和LCD显示器接口工作原理及显示程序的设计。
2.利用点阵式液晶显示器显示汉字或图形。
3.熟悉汇编语言程序设计方法以及如何使用仿真器排除程序错误。
二.实验设备:
1.DICE-DPJ-3单片机实验仪1台
2.计算机1台
3.通信电缆1根
三、实验内容
1.整个显示器由8个共阴极LED数码管组成。
输入只有两个信号,它们是串行数据线DIN和移位元信号CLK。
8个串/并移位寄存器芯片74LS164首尾相连。
每片的并行输出作为LED数码管的段码。
电路原理图如下图所示,只画了5个数码管,其它3个跟前面一样。
2.编写并调试一个实验程序,让八个数码管顺次显示“51-READY”。
3.实验步骤
<1)实验模块:
DP-51单片机实验装置挂箱、DP-600模块单元挂箱
<2)将DP-51CPU挂箱电源区对应直流电源插孔用双头导线与控制屏上电源连接。
<3)用20芯扁平线将DP-51和DP-600的CZ3接口对应连接。
<4)P3.0接A/B,P3.1接CP,P1.0接/CLR,调入程序运行,八个数码管顺次显示“01234567”。
4.利用P1口作为液晶显示器接口的数据线,P3口作为其控制线,利用取模软件建立标准字库后,通过查表程序依次将字库中的字形代码送显示内存显示汉字或图形
5.实验步骤
<1)实验模块:
DP-51单片机实验装置挂箱、DP-600模块单元挂箱
<2)将DP-51CPU挂箱电源区对应直流电源插孔用双头导线与控制屏上电源连接。
<3)用20芯扁平线将DP-51和DP-600的CZ3接口对应连接。
<4)用扁平线连JP1座(P1口>到JX12座观察液晶屏显示。
四.实验讨论:
<问题回答后,写入实验报告)
1.读EDIR.ASM程序,说明其功能。
附:
EDIR.ASM程序清单<仅供参考)
A815EQU08100H
DIREQU8FFDH
DBUFEQU39H
DCNTEQU50H
ORG0
MAIN:
MOVSP,#6FH
MOVDCNT,#20H
MOVR7,#6
MOVR0,#DBUF
CLRA
MLP0:
MOV@R0,A
INCR0
DJNZR7,MLP0
MOVDPTR,#A815
MOVA,#0C3H
MOVX@DPTR,A
MLP1:
LCALLDIR
DJNZDCNT,MLP1
MOVDCNT,#20H
CONT:
MOVR0,#DBUF
MOVR7,#6
CNT1:
MOVA,@R0
ADDCA,#1
DAA
CJNEA,#0AH,$+3
JNCCNT2
MOV@R0,A
SJMPMLP1
CNT2:
CLRA
MOV@R0,A
INCR0
DJNZR7,CNT1
SJM