单片机实验讲义.docx
- 文档编号:26337260
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:30
- 大小:187.60KB
单片机实验讲义.docx
《单片机实验讲义.docx》由会员分享,可在线阅读,更多相关《单片机实验讲义.docx(30页珍藏版)》请在冰豆网上搜索。
单片机实验讲义
单片机实验讲义
DVCC单片机实验系统简介
本科目实验使用的平台为启东公司的DVCC-52JH单片机仿真实验仪(带有配套试验软件)。
可基本满足MCS-51(80C51)系列单片机课程(本/专科)的实验要求。
实验平台资源:
1、AT89C52单片机(6MHz晶体振荡器、256B片内RAM、8KB程序存储器(FLASH)、3个定时/计数器、6个中断源(T2))。
2、实验平台带有总线扩展有64BK片外RAM,用户可使用范围0000H~0FEFFH;64KB片外ROM,用户可使用范围0000H~0FEFFH。
3、实验平台的主要芯片有:
1片8255可编程通用并行界面芯片、1片8155芯片、1片译码芯片74138、1片74393芯片、1片D/A转换芯片0832、1片A/D转换芯片0809、2片串/并转换芯片74164、若干辅助芯片74240、74373等和常用逻辑门电路芯片。
4、实验平台上的主要外设包括:
K1~K10滑动开关、L1~L12发光二极管(有3种颜色)、2个LED七段数码管、1个单脉冲发生器、1个时钟频率选择器、1个步进电机(带驱动电路)、1个直流电机(带驱动电路)、2个电位器、1个继电器、1个扬声器驱动、1个双踪模拟示波器、带有总线扩展区、带有EPROM烧录区。
实验系统的使用步骤:
1、在计算机、实验仪关闭时,使用实验平台自带的RS-232通用串口线连接计算机的COM口和实验箱的J2串行口。
2、启动计算机,运行“DVCC52JH实验系统”。
3、在计算机上编写并调试实验程序,在实验箱中联接实验所需连线。
4、打开试验箱电源,点击实验箱上的“复位”按钮,再点击实验箱上键盘区的“PCDBG”按钮。
5、在计算机上的“DVCC实验系统”软件中,左键单击工具栏上的“联接”按钮(或选择“动态调试”菜单下的“联接DVCC实验系统选项”)。
6、如果联接正常将弹出若干小窗口。
如果联接失败重新执行步骤3、4。
7、在计算机上的“DVCC实验系统”软件中,选择“编译”菜单下的“编译连接并传送”选项,将实验程序传送到实验箱。
8、在计算机上的“DVCC实验系统”软件中,左键单击工具栏中的“运行”按钮,设置PC起始地址,观察实验现象,验证实验结果。
9、实验结束后关闭实验箱电源和计算机,拔下连线,收起实验箱并放回原处。
软件实验
实验一清零实验
一、实验目的:
掌握汇编语言设计和调试方法,熟悉DVCC52实验系统的使用步骤。
二、实验内容:
1、将片外扩展的RAM地址为0000H~70FFH的内容清零(也可设置它值)。
2、将片外扩展的RAM地址为0000H~7FFFH的内容清零(也可设置它值)。
三、实验程序流程图
四、实验步骤:
1、按照“实验系统使用步骤”1~7步进行。
2、在计算机上的“DVCC实验系统”软件中,左键单击工具栏中的“运行”按钮。
等待弹出运行窗口后,点击实验箱上的“复位”按钮,再点击实验箱上键盘区的“PCDBG”按钮,最后关闭运行窗口。
3、在计算机上的“DVCC实验系统”软件中,选择“窗口”菜单下的“显示外部数据窗口”选项。
在弹出的数据窗口中找到地址7000H~7FFFH查看数据是否已经改变。
4、实验结束后关闭实验箱电源和计算机,拔下连线,收起实验箱并放回原处。
五、思考:
假使要把7000H~70FFH中的内容改成FFH,如何编制程序。
实验二拆字实验
一、实验目的:
掌握汇编语言设计和调试方法。
二、实验内容:
将片外RAM中地址为7000H中的内容拆开,高位送7001H低位,低位送7002H
低位。
7001H、7002H高位清零,一般本程序用于把数据送显示缓冲区时用。
三、实验程序流程图:
四、实验步骤:
1、按照“实验系统使用步骤”1~7步进行。
2、在计算机上的“DVCC实验系统”软件中,左键单击工具栏中的“运行”按钮。
等待弹出运行窗口后,点击实验箱上的“复位”按钮,再点击实验箱上键盘区的“PCDBG”按钮,最后关闭运行窗口。
3、先用存储器读写方法将7000H单元置成34H。
4、在计算机上的“DVCC实验系统”软件中,选择“窗口”菜单下的“显示外部数据窗口”选项。
在弹出的数据窗口中找到地址7000H~7002H查看结果,7001H和7002H单元中的内容应为03H和04H。
5、实验结束后关闭实验箱电源和计算机,拔下连线,收起实验箱并放回原处。
实验三拼字实验
一、实验目的
进一步掌握汇编语言设计和调试方法。
二、实验器材
DVCC—52JH+实验系统,DVCC—52JH+软件,PC机。
三、实验内容
把7000H、7001H的低位相拼后送入7002H,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。
四、实验程序框图
五、实验步骤
(1)将7000H单元内容置03H,7001H单元中的内容置04H。
(2)用单步或断点方式从0070H开始运行程序(输入0070后按STEP键为单步运行)。
(3)按MON键退出。
(4)检查7002H中的内容为34H。
实验四数据区传送程序
一、实验目的:
掌握RAM中的数据操作。
二、实验内容:
将片外RAM中首地址为(R2、R3)的(R6、R7)个位元组数据,传送到目的首地址为(R4、R5)的存储区。
三、实验程序流程图:
四、实验步骤:
1、按照“实验系统使用步骤”1~7步进行。
2、在计算机上的“DVCC实验系统”软件中,左键单击工具栏中的“运行”按钮。
等待弹出运行窗口后,点击实验箱上的“复位”按钮,再点击实验箱上键盘区的“PCDBG”按钮,最后关闭运行窗口。
3、在计算机上的“DVCC实验系统”软件中,选择“窗口”菜单下的“显示外部数据窗口”选项。
在弹出的数据窗口中查看结果。
4、实验结束后关闭实验箱电源和计算机,拔下连线,收起实验箱并放回原处。
硬件实验
实验五P3.3口输入、P1口输出实验
一、实验目的
1.掌握P3口、P1口简单使用。
2.学习延时程序的编写和使用。
二、实验器材
DVCC—52JH+实验系统,DVCC—52JH+软件,PC机,导线。
三、实验内容
1.P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。
2.P1口做输出口,编写程序,使P1口接的8个发光二极管L1—L8按16进制加一方式点亮发光二极管。
四、实验说明
1.P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:
当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
2.延时子程序的延时计算问题。
对于延时程序DELAY:
MOVR6,#00H
DELAY1:
MOVR7,#80H
DJNZR7,$
DJNZR6,DELAY1
查指令表可知MOV、DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/6.0MHZ,所以该段指令执行时间为:
((80+1)×256+1)×2×(12÷6000000)=132.1ms
五、实验程序框图
六、实验步骤
(1)P3.3用插针连至K1,P1.0—P1.7用插针连至L1—L8。
(2)从起始地址0540H开始连续运行程序(输入0540后按EXEC键)。
(3)开关K1每拨动一次,L1—L8发光二极管按16进制方式加一点亮。
实验六查表走马灯实验
一、实验目的:
1、掌握P3口、P1口输入/输出使用。
2、学习多分支程序的编写。
二、实验内容:
1、P3.0~P3.3作为输入,连接3个拨动开关;
2、P1口作为输出口,连接8个LED小灯;
3、编写程序,在程序中查询P3.0~P3.3的状态,从而在LED小灯上实现8种不同的现实效果。
三、实验原理:
四、实验程序流程图:
五、实验步骤:
1、按照“实验系统使用步骤”1~7步进行。
(第三步电路连接:
P3.3~P3.0用插针连至K3~K1,P1.0~P1.7用插针连至L1~L8)
2、在计算机上的“DVCC实验系统”软件中,左键单击工具栏中的“运行”按钮。
等待弹出运行窗口后,拨动开关K1~K3,查看实验现象。
3、实验结束后关闭实验箱电源和计算机,拔下连线,收起实验箱并放回原处。
实验七步进电机控制实验
一、实验目的
1.了解步进电机控制的基本原理。
2.掌握步进电机转动编程方法。
二、实验器材
DVCC—52JH+实验系统,DVCC—52JH+软件,PC机,导线。
三、实验内容
从键盘上输入正、反转命令,转速参数和转动步数显示在显示器上,CPU再读取显示器上显示的正、反转命令,转速级数(16级)和转动步数后执行。
转动步数减为零时停止转动。
四、实验预备知识
步进电机驱动原理是通过对它每相线圈中的电流和顺序切换来使电机作步进式旋转。
驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速,微电脑控制步进电机最适合。
五、实验程序框图
六、实验步骤
(1)步进电机插头插到实验系统J3插座中,P1.0—P1.3接到BA—BD插孔。
(2)在“P.”状态下,从起始地址开始(0A30H)连续执行程序。
输入起始地址后按EXEC键。
(3)在键盘上输入数字在显示器上显示,第一位为0表示正转,为1表示反转,第二位0—F为转速等级,第三到第六位设定步数,设定完按EXEC键,步进电机开始旋转。
(4)实验结束后关闭实验箱电源和计算机,拔下连线,收起实验箱并放回原处。
参考程序
1、清零1,Clear.asm
org0000h
ajmpstart
org0040h
start:
movr7,#00h
mova,#00h
movdptr,#7000h
next:
movx@dptr,a
incdptr
djnzr7,next
sjmp$
end
清零2
org0000h
ajmpstart
org0040h
start:
movr6,#10h
movr7,#00h
movdptr,#7000h
mova,#22h
next:
movx@dptr,a
incdptr
djnzr7,next
djnzr6,next
sjmp$
end
2、拆字:
Cword.asm
org0000h
ajmpstart
org0040h
start:
movdptr,#7000h
movxa,@dptr
movr2,a
anla,#0f0h
swapa
incdptr
movx@dptr,a
mova,r2
anla,#0fh
incdptr
movx@dptr,a
sjmp$
end
3、拼字:
Pword.asm
org0000h
ajmpstart
org0040h
start:
movdptr,#7000h
movxa,@dptr
anla,#0fh
swapa
movr2,a
incdptr
movxa,@dptr
anla,#0fh
adda,r2
incdptr
movx@dptr,a
sjmp$
end
4、数据传送
org0000h
ajmpstart
org0040h
start:
acallchushi
ss1:
movdph,r2
movdpl,r3
movxa,@dptr
incdptr
movr2,dph
movr3,dpl
movdph,r4
movdpl,r5
movx@dptr,a
incdptr
movr4,dph
movr5,dpl
djnzr7,ss1
djnzr6,ss1
sjmp$
chushi:
movr6,#08h
movr7,#00h
movdptr,#6000h
mova,#22h
next:
movx@dptr,a
incdptr
djnzr7,next
djnzr6,next
movr2,#60h
movr3,#00h
movr6,#08h
movr7,#00h
movr4,#70h
movr5,#00h
ret
end
5、P3.3口输入、P1口输出实验
org0000h
ajmpmain
org0040h
main:
clra
movp1,a
setbp3.3
ss:
jbp3.3,ss1
jnbp3.3,$
movr6,#20
acalldelay
jnbp3.3,ss
ajmpnext
ss1:
jbp3.3,$
movr6,#20
acalldelay
jbp3.3,ss
next:
inca
movp1,a
ajmpss
delay:
push07h
tt:
movr7,#249
djnzr7,$
djnzr6,tt
pop07h
ret
end
6、查表走马灯实验
org0000h
ajmpmain
org0040h
main:
mov30h,#00h
mov31h,#0fh
mov32h,#0f0h
mov33h,#00h
setb00h
mov34h,#00h
setb01h
mov35h,#00h
mov36h,#55h
mov37h,#0f0h
movp3,#0ffh
movdptr,#tab
next:
mova,p3
anla,#07h
rla
jmp@a+dptr
tab:
ajmpled0
ajmpled1
ajmpled2
ajmpled3
ajmpled4
ajmpled5
ajmpled6
ajmpled7
led0:
movp1,30h
ajmpnext
led1:
mova,31h
movp1,a
rla
mov31h,a
acalldelay
ajmpnext
led2:
mova,32h
movp1,a
rra
mov32h,a
acalldelay
ajmpnext
led3:
movr6,#02h
ss1:
movr7,#08h
ss2:
mova,33h
movc,00h
rlca
movp1,a
mov33h,a
acalldelay
djnzr7,ss2
cpl00h
djnzr6,ss1
ajmpnext
led4:
movr6,#02h
ss3:
movr7,#08h
ss4:
mova,33h
movc,00h
rrca
movp1,a
mov33h,a
acalldelay
djnzr7,ss4
cpl00h
djnzr6,ss3
ajmpnext
led5:
movp1,35h
inc35h
acalldelay
ajmpnext
led6:
mova,36h
movp1,a
rra
mov36h,a
acalldelay
ajmpnext
led7:
movp1,37h
ajmpnext
delay:
push07h
push06h
push05h
movr5,#02h
tt1:
movr6,#249
tt2:
movr7,#249
djnzr7,$
djnzr6,tt2
djnzr5,tt1
pop05h
pop06h
pop07h
ret
end
7、步进电机控制实验
ORG0A30H
MONIT:
MOVSP,#50H
MOV7EH,#00H
MOV7DH,#02H
MOVR0,#7CH
MOVA,#08H
MOVR4,#04H
MONIT1:
MOV@R0,A
DECR0
DJNZR4,MONIT1
MOVA,#7EH
MOVDPTR,#1FFFH
MOVX@DPTR,A
MOV76H,#00H
MOV77H,#00H
KEYDISP0:
LCALLKEY
JCDATAKEY
AJMPMONIT2
DATAKEY:
LCALLDATAKEY1
DB79H,7EH
SJMPKEYDISP0
MONIT2:
CJNEA,#16H,KEYDISP0
LCALLDISP
MOVA,7AH
ANLA,#0FH
SWAPA
ADDA,79H
MOVR6,A
MOVA,7CH
ANLA,#0FH
SWAPA
ADDA,7BH
MOVR7,A
MOVA,7EH
CJNEA,#00H,MONIT4
MONIT3:
MOVP1,#03H
LCALLDELAY0
LCALLMONIT5
MOVP1,#06H
LCALLDELAY0
LCALLMONIT5
MOVP1,#0CH
LCALLDELAY0
LCALLMONIT5
MOVP1,#09H
LCALLDELAY0
LCALLMONIT5
SJMPMONIT3
MONIT4:
MOVP1,#09H
LCALLDELAY0
LCALLMONIT5
MOVP1,#0CH
LCALLDELAY0
LCALLMONIT5
MOVP1,#06H
LCALLDELAY0
LCALLMONIT5
MOVP1,#03H
LCALLDELAY0
LCALLMONIT5
SJMPMONIT4
MONIT5:
DECR6
CJNER6,#0FFH,MONIT6
DECR7
CJNER7,#0FFH,MONIT6
LJMPMONIT
MONIT6:
LCALLMONIT7
RET
MONIT7:
MOVR0,#79H
MOVA,R6
LCALLMONIT8
MOVA,R7
LCALLMONIT8
LCALLDISP
RET
MONIT8:
MOVR1,A
ACALLMONIT9
MOVA,R1
SWAPA
MONIT9:
ANLA,#0FH
MOV@R0,A
INCR0
RET
DELAY0:
MOVR0,#7DH
MOVA,@R0
SWAPA
MOVR4,A
DELAY1:
MOVR5,#80H
DELAY2:
DJNZR5,DELAY2
LCALLDISP
DJNZR4,DELAY1
RET
DATAKEY1:
MOVR4,A
MOVDPTR,#1FFFH
MOVXA,@DPTR
MOVR1,A
MOVA,R4
MOV@R1,A
CLRA
POP83H
POP82H
MOVCA,@A+DPTR
INCDPTR
CJNEA,01H,DATAKEY3
DECR1
CLRA
MOVCA,@A+DPTR
DATAKEY2:
PUSH82H
PUSH83H
MOVDPTR,#1FFFH
MOVX@DPTR,A
POP83H
POP82H
INCDPTR
PUSH82H
PUSH83H
RET
DATAKEY3:
DECR1
MOVA,R1
SJMPDATAKEY2
KEY0:
MOVR6,#20H
MOVDPTR,#1FFFH
MOVXA,@DPTR
MOVR0,A
MOVA,@R0
MOVR7,A
MOVA,#10H
MOV@R0,A
KEY3:
LCALLKEYDISP
JNB0E5H,KEY2
DJNZR6,KEY3
MOVDPTR,#1FFFH
MOVXA,@DPTR
MOVR0,A
MOVA,R7
MOV@R0,A
KEY:
MOVR6,#50H
KEY1:
LCALLKEYDISP
JNB0E5H,KEY2
DJNZR6,KEY1
SJMPKEY0
KEY2:
MOVR6,A
MOVA,R7
MOV@R0,A
MOVA,R6
KEYEND:
RET
KEYDISP:
LCALLDISP
LCALLKEYSM
MOVR4,A
MOVR1,#76H
MOVA,@R1
MOVR2,A
INCR1
MOVA,@R1
MOVR3,A
XRLA,R4
MOVR3,04H
MOVR4,02H
JZKEYDISP1
MOVR2,#88H
MOVR4,#88H
KEYDISP1:
DECR4
MOVA,R4
XRLA,#82H
JZKEYDISP2
MOVA,R4
XRLA,#0EH
JZKEYDISP2
MOVA,R4
ORLA,R4
JZKEYDISP3
MOVR4,#20H
DECR2
LJMPKEYDISP5
KEYDISP3:
MOVR4,#0FH
KEYDISP2:
MOVR2,04H
MOVR4,03H
KEYDISP5:
MOVR1,#76H
MOVA,R2
MOV@R1,A
INCR1
MOVA,R3
MOV@R1,A
MOVA,R4
CJNER3,#10H,KEYDISP4
KEYDISP4:
RET
DISP:
SETB0D4H
MOVR1,#7EH
MOVR2,#20H
MOVR3,#00H
DISP1:
MOVDPTR,#0FF21H
MOVA,R2
MOVX@DPTR,A
MOVDPTR,#DATA1
MOVA,@R1
MOVCA,@A+DPTR
MOVDPTR,#0FF22H
MOVX@DPTR,A
DISP2:
DJNZR3,DISP2
DECR1
CLRC
MOVA,R2
RRCA
MOVR2,A
JNZDISP1
MOVA,#0FFH
MOVDPTR,#0FF22H
MOVX@DPTR,A
CLR0D4H
RET
DATA1:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 讲义