《单片机与接口技术》实验指导书要点Word下载.docx
- 文档编号:17721036
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:39
- 大小:602.05KB
《单片机与接口技术》实验指导书要点Word下载.docx
《《单片机与接口技术》实验指导书要点Word下载.docx》由会员分享,可在线阅读,更多相关《《单片机与接口技术》实验指导书要点Word下载.docx(39页珍藏版)》请在冰豆网上搜索。
DELAY
SJMP
AGAIN
DELAY:
R5,#02H
;
延时
DELAY1:
R6,#00H
DELAY2:
R7,#00H
DJNZ
R7,$
R6,DELAY2
R5,DELAY1
RET
END
七、扩展实验一:
异或、位查询
将排线JP65转180°
。
ORG0000H
LJMPMAIN
ORG0030H
MOVSP,#70H
MOVP1,#11111111B
JBP3.0,$;
P3.0接K7,作为“启动”
XRLP1,#11110000B
CALLDELAY
JNBP3.1,$;
P3.1接K8,作为“暂停”
XRLP1,#00001111B
SJMPAGAIN
八、扩展实验二:
位查询、外部中断
排线保留。
用AT89S52的P1.0~P1.7控制8道工序,现模拟控制8只LED,低电平点亮,将每道工序所占的时间假定为延时;
P3.4接K7,为开工启动开关,下降沿有效;
P3.3接K8,为外部故障模拟输入开关,P3.3=1时设备正常,P3.3=0时,设备出故障,系统报警;
P3.5接F6区蜂鸣器的Ctrl,为报警时的声音输出。
初始状态,K7和K8均拨到下面(高电平),此时8只LED均未点亮。
运行程序后,将K7拨到上面再拨下来,二极管开始点亮,顺序动作开始;
把K8拨到上面时,发声报警,再将K8拨到下面时,报警停止。
ORG0000H
LJMPPO10
ORG0013H
LJMPPO16
ORG0030H
PO10:
MOVP1,#0FFH
PO11:
JBP3.4,PO11
ORLIE,#10000100B;
(EA)=1,(EX1)=1
ORLIP,#00000100B;
(PX1)=1
MOVPSW,#00H
MOVSP,#70H
PO12:
MOVP1,#11111110B
ACALLDELAY
MOVP1,#11111101B
MOVP1,#11111011B
MOVP1,#11110111B
MOVP1,#11101111B
MOVP1,#11011111B
MOVP1,#10111111B
MOVP1,#01111111B
SJMPPO12
PO16:
CLRP3.5;
中断服务子程序
JNBP3.3,$
RETI
MOVR5,#02H
MOVR6,#00H
MOVR7,#00H
DJNZR7,$
DJNZR6,DELAY2
DJNZR5,DELAY1
RET
END
九、扩展实验三:
外部计数
(1)排线保留;
(2)把单脉冲输出孔
和P3.4(单片机的T0计数器)相连;
(3)上、下拨动正脉冲开关一次,产生的脉冲下降沿使得单片机的T0计数器计数值加1,LED-8点亮;
(4)不断上、下拨动开关,观察8只LED的点亮情况。
MOVP1,#11111111B;
LED-1~LED-8全灭
MOVTMOD,#00000101B;
T0计数器初始化,方式1计数
MOVTH0,#00H
;
T0的计数初值设为0
MOVTL0,#00H
SETBTR0;
T0计数器开始计数
MOVA,TL0;
读取T0计数器的低8位计数值
CPLA
MOVP1,A
END
将T0换成T1,如何修改程序?
十、扩展实验四:
位异或
8051单片机中没有对两个位进行异或操作的指令,请编程实现:
(P1.2)<
===(P1.0)⊕(P1.1)
(1)拔掉排线;
(2)将P1.0接K7,P1.1接K8,P1.2接LED-3;
(2)将K7、K8进行4种组合,观察LED-3的点亮情况。
MOVC,P1.0
ANLC,/P1.1
MOV00H,C
MOVC,P1.1
ANLC,/P1.0
ORLC,00H
MOVP1.2,C;
(P1.2)=0时,LED-3才会点亮
SJMPMAIN
十一、扩展实验五:
定时输出周期2s占空比1:
1的连续方波。
自己接线、编程。
实验二内、外RAM数据传送实验
一、实验目的
熟悉星研集成环境软件的使用方法,熟悉MCS51汇编指令,学会编写简单程序,掌握51单片机数据传输的方法。
二、实验内容
1、熟悉星研集成环境软件的使用方法。
2、编写程序,实现内、外RAM数据段的传送与校验。
三、程序框图
四、实验步骤
在内部RAM单元30H~3FH中输入数据,使用单步、断点方式调试程序,检测外部数据RAM的1000H~100FH中的内容。
熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。
五、程序清单
将内部RAM从Address1开始的16个字节内容,传送到外部RAM从Address2开始的16个单元里,然后再作比较。
Address1
DATA
30H
Address2
XDATA
1000H
SUN
0100H
SUN:
SP,#60H
MOV
P1,#0FFH
R0,#Address1
DPTR,#Address2
R7,#10H
SUN1:
A,@R0
;
传送
MOVX
@DPTR,A
INC
R0
DPTR
R7,SUN1
SUN2:
B,@R0
比较
A,@DPTR
CJNE
A,B,SUN3
R7,SUN2
P1.0
$
P1.0接LED-1
传送正确,绿灯亮
SUN3:
P1.2
P1.2接LED-3
传送错误,红灯亮
六、扩展实验一
编写一个程序,将16个外部数据RAM中的数据传送到16个内部数据RAM中:
@R0,A
七、扩展实验二
编程将外部数据RAM中的存储区0000H~1FFFH所有单元均清零:
MOVP1,#0FFH
MOVDPTR,#0000H
CLRA
MOVX@DPTR,A
INCDPTR
MOVA,DPH
CJNEA,#20H,AGAIN
CLRP1.0;
SJMP$;
结束时绿灯亮
以上程序为一种方法,你还能想出其它方法吗?
实验三定时、计数与中断实验(软件实验十一)
熟悉MCS51单片机的定时、计数与中断系统的编程方法,了解定时器、计数器的应用、实时程序的设计与调试技巧。
使用CPU的T0作定时器进行定时,T1作计数器对外部脉冲进行计数,并将脉冲频率值显示在数码管上。
1、连线说明:
D3区:
SDA、SCL
P3.0、P3.1
A、B、C、D
F4区:
2、将导线的一头插入A3区的T1(P3.5);
3、打开实验仪的电源;
4、将导线的另一头与F3区的f≤250kHz的信号相连,对应的频率值显示在数码管上。
五、程序清单(源程序文件名:
cymometer.asm)
程序名称:
频率计(P3.5计数,每隔1秒处理一次)
Count50ms
PulseCount
31H
脉冲计数第三个字节
buffer
32H
8个字节显示缓冲区
EXTRN
CODE(Display8)
000BH
TimerT0
T0计时中断处理入口
001BH
CounterT1
T1计数中断处理入口
ORG
TMOD,#01010001B
T0定时,T1计数,方式1
TH0,#03CH
50ms定时
TL0,#0B0H
Count50ms,#20
20*50ms=1s
TH1,#00H;
计数
TL1,#00H
PulseCount,#0
SETB
EA
SETB
ET1
ET0
TR0
TR1
JB
TR0,$
TR0
刷新显示
B4toD4
Display:
R0,#buffer
显示结果
A,R7
低位
B1toB2
压缩BCD码转换成非压缩BCD码
A,R6
B1toB2
A,R5
A,R4
高位
R0,#buffer+7
R7,#7
BlackDisplay
将高位0消隐
LCALL
Display8
SUN1
TimerT0:
TL0,#0B0H
DJNZ
Count50ms,TimerT0_exit
CLR
R1,PulseCount
R2,TH1
R3,TL1
TH1,#0
TL1,#0
TimerT0_exit:
CounterT1:
六、思考题
1、为什么测试较高频率信号时,数码管上显示的数据一直在变化?
2、为什么频率信号不能超过0.5MHz?
实验四8255控制交通灯实验(基础硬件实验六)
1、学习8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。
学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。
2、熟悉8255内部结构和与单片机的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。
二、实验设备
SUN系列实验仪一套、PC机一台。
1、编写程序:
使用8255的PA口控制8只LED指示灯,实现交通灯功能。
2、连接线路验证8255的功能,熟悉它的使用方法。
五、实验步骤
B6区:
CS、A0、A1
CS1、A0、A1
JP56(PA口)
2、观察实验结果,是否能看到模拟的交通灯控制过程。
六、实验程序(源程序文件名:
8255.asm)
COM_ADD
0F003H
PA_ADD
XDATA
0F000H
PB_ADD
0F001H
PC_ADD
0F002H
SP,#60H
DPTR,#COM_ADD
A,#80H
PA、PB、PC为基本输出模式
DPTR,#PA_ADD
灯全熄灭
A,#0FFH
@DPTR,A
SUNT1:
A,#37H
MOVC
A,@A+PC
东西绿灯,南北红灯
DL5S
R4,#6
SUNT2:
A,#30H
东西绿灯闪烁,南北红灯
ACALL
DL500ms
A,#29H
R4,SUNT2
A,#23H
东西黄灯亮,南北红灯
MOVX
DL3S
A,#1EH
东西红灯,南北绿灯
SUNT3:
A,#17H
东西红灯,南北绿灯闪烁
A,#10H
R4,SUNT3
A,#0AH
东西红灯,南北黄灯亮
SUNT1
DB
01111110B
11111110B
10111110B
11011011B
11011111B
11011101B
DL500ms:
R5,#25
DL500ms1:
R6,#100
DL500ms2:
R7,#100
R7,$
R6,DL500ms2
R5,DL500ms1
DL3S:
DL3S1:
LCALL
R4,DL5S1
DL5S:
R4,#10
DL5S1:
END
七、实验扩展及思考
1、如何对8255的PC口进行位操作?
2、8255的输出口可以读出内容进行修改,然后再回送,你知道吗?
实验五并行DA实验(基础硬件实验九)
了解数模转换器(DAC)的工作原理;
学习DAC0832与单片机的接口电路;
掌握DAC0832的软件编程。
1、编写程序,用DAC0832芯片输出正弦波。
2、按图连线,运行程序,使用示波器观察输出的波形。
B3区:
CS
CS1
2、运行程序,示波器的探头接B3区的OUT,观察实验结果,是否产生正弦波。
六、演示程序(源程序文件名:
DA0832.asm)
用DAC0832芯片输出正弦波:
Addr_0832
0FF00H
0832输出口地址
SUNT
SUNT:
DPTR,#TAB_1
P2,#HIGH(Addr_0832)
0832数据写入口地址
R0,#LOW(Addr_0832)
R4,#00H
A,@A+DPTR
DA转换输出一次
R4
R4,#72,$+3
JC
SUNT2
R4,#0
Delay
下一轮
Delay:
PUSH
07H
R7,#50H
POP
TAB_1:
DB7FH,8BH,96H,0A1H,0ABH,0B6H,0C0H,0C9H,0D2H
DB0DAH,0E2H,0E8H,0EEH,0F4H,0F8H,0FBH,0FEH,0FFH,0FFH
DB0FFH,0FEH,0FBH,0F8H,0F4H,0EEH,0E8H,0E2H,0DAH,0D2H
DB0C9H,0C0H,0B6H,0ABH,0A1H,096H,08BH,07FH
DB74H,69H,5EH,54H,49H,40H,36H,2DH,25H,1DH,17H,11H,0BH,7,4,2,0,0
DB0,2,4,7,0BH,11H,17H,1DH,25H,2DH,36H,40H,49H,54H,5EH,69H,74H
七、思考题
1、DAC0832如何输出锯齿波或
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机与接口技术 单片机 接口 技术 实验 指导书 要点