《单片机与接口技术》实验指导书合肥校区要点.docx

上传人:b****5 文档编号:6648830 上传时间:2023-01-08 格式:DOCX 页数:30 大小:336.93KB
下载 相关 举报
《单片机与接口技术》实验指导书合肥校区要点.docx_第1页
第1页 / 共30页
《单片机与接口技术》实验指导书合肥校区要点.docx_第2页
第2页 / 共30页
《单片机与接口技术》实验指导书合肥校区要点.docx_第3页
第3页 / 共30页
《单片机与接口技术》实验指导书合肥校区要点.docx_第4页
第4页 / 共30页
《单片机与接口技术》实验指导书合肥校区要点.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

《单片机与接口技术》实验指导书合肥校区要点.docx

《《单片机与接口技术》实验指导书合肥校区要点.docx》由会员分享,可在线阅读,更多相关《《单片机与接口技术》实验指导书合肥校区要点.docx(30页珍藏版)》请在冰豆网上搜索。

《单片机与接口技术》实验指导书合肥校区要点.docx

《单片机与接口技术》实验指导书合肥校区要点

《单片机与接口技术》

实验指导书

王玉琳编写

 

STARES598PCI

 

合肥工业大学机械与汽车工程学院

2015年12月(第2版)

目录

实验一P1口输出实验3

实验二外部中断实验4

实验三外部事件计数实验6

实验四计数到中断实验7

实验五等待计数结束实验9

实验六定时到中断实验10

实验七内、外RAM数据传送实验11

实验八8255控制交通灯实验13

实验九8255的PC口综合实验16

实验十DAC0832实验19

实验十一ADC0809实验21

实验十二LED16×16点阵实验25

实验十三图形点阵显示实验26

实验十四简易电子琴实验26

实验一P1口输出实验

一、实验目的

熟悉星研集成环境软件的使用方法,学习51单片机的汇编指令,掌握P1口的使用方法;了解单片机实验仪的工作原理。

二、实验设备

上海星研STARES598PCI实验仪一套,PC机一台。

三、实验内容

采用51单片机的P1口控制8只LED指示灯循环点亮(当P1口某一位输出低电平时,对应的LED被点亮)。

四、实验原理图

五、实验接线

A3区:

JP51(8针插座)

8芯排线(小号对小号)

G6区:

JP65(8针插座)

A3区:

P1.0

——

D1区:

Ctrl(蜂鸣器)

六、参考程序

ORG

0000H

LJMP

MAIN

ORG

0030H

MAIN:

MOV

SP,#70H

MOV

A,#0FFH

CLR

C

AGAIN:

RLC

A

MOV

P1,A

ACALL

DELAY

SJMP

AGAIN

DELAY:

MOV

R5,#02H

;延时

DELAY1:

MOV

R6,#00H

DELAY2:

MOV

R7,#00H

DJNZ

R7,$

DJNZ

R6,DELAY2

DJNZ

R5,DELAY1

RET

END

思考:

(1)上述实验的灯是向右移动的,如何实现向左移动?

(2)如何改变灯移动的频率?

 

实验二外部中断实验

一、实验目的

熟悉星研集成环境软件的使用方法,学习51单片机的汇编指令,掌握P1口和P3口外部中断的使用方法。

二、实验设备

上海星研STARES598PCI实验仪一套,PC机一台。

三、实验接线

A3区:

JP51(8针插座)

8芯排线(小号对小号)

G6区:

JP65(8针插座)

A3区:

P3.5

——

D1区:

Ctrl(蜂鸣器)

A3区:

P3.4

——

G6区:

K7

A3区:

P3.3

——

G6区:

K8

四、实验内容

用51单片机的P1.0~P1.7控制8道工序,现模拟控制8只LED,低电平点亮,将每道工序所占的时间假定为延时;P3.4接K7,为开工启动开关,下降沿有效;P3.3接K8,为外部故障模拟输入开关,P3.3=1时设备正常,P3.3=0时,设备出故障,系统报警;P3.5接D1区蜂鸣器的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

ACALLDELAY

MOVP1,#11111011B

ACALLDELAY

MOVP1,#11110111B

ACALLDELAY

MOVP1,#11101111B

ACALLDELAY

MOVP1,#11011111B

ACALLDELAY

MOVP1,#10111111B

ACALLDELAY

MOVP1,#01111111B

ACALLDELAY

SJMPPO12

PO16:

NOP;中断服务子程序

CLRP3.5;开启蜂鸣器

JNBP3.3,$;等待报警解除

SETBP3.5;关闭蜂鸣器

RETI;中断子程序返回

DELAY:

MOVR5,#02H

DELAY1:

MOVR6,#00H

DELAY2:

MOVR7,#00H

DJNZR7,$

DJNZR6,DELAY2

DJNZR5,DELAY1

RET

END

思考:

(1)等待开工启动时P3.4为什么只需查询一次?

(2)若将中断换成INT0,程序将如何修改?

 

实验三外部事件计数实验

一、实验目的

熟悉星研集成环境软件的使用方法,学习51单片机的汇编指令,掌握51单片机的T0、T1对外部事件进行计数的工作方式。

二、实验设备

上海星研STARES598PCI实验仪一套,PC机一台。

三、实验接线

A3区:

JP51(8针插座)

8芯排线(小号对大号)

G6区:

JP65(8针插座)

A3区:

P3.4(T0)

——

B2区:

单脉冲

四、实验内容

(1)上、下拨动正脉冲开关一次,产生的脉冲下降沿使得单片机T0计数器的计数值加1,LED-8点亮;

(2)不断上、下拨动开关,观察8只LED的点亮情况(8位二进制数,亮为“1”)。

五、参考程序

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

MOVP1,#11111111B;LED-1~LED-8全灭

MOVTMOD,#00000101B;T0计数器初始化,方式1计数

MOVTH0,#00H    ;T0的计数初值设为0  

MOVTL0,#00H    

SETBTR0;T0计数器开始计数

AGAIN:

MOVA,TL0;读取T0计数器的低8位计数值

CPLA

MOVP1,A

SJMPAGAIN

END

思考:

(1)高速计数时,如何读取稳定的计数值?

(2)若将T0换成T1,如何修改程序?

 

实验四计数到中断实验

一、实验目的

熟悉星研集成环境软件的使用方法,学习51单片机的汇编指令,掌握51单片机T0、T1计数到中断的工作方式。

二、实验设备

上海星研STARES598PCI实验仪一套,PC机一台。

三、实验接线

拔掉实验三的8芯排线,按下表连线:

A3区:

P3.4(T0)

——

B2区:

单脉冲

A3区:

P1.6

——

G6区:

LED-1

A3区:

P1.7

——

D1区:

Ctrl(蜂鸣器)

D1区:

Ctrl(蜂鸣器)

——

G6区:

LED-3

四、实验内容

(1)上、下拨动单脉冲

开关5次→再上、下拨动5次→循环往复……;

(2)观察、记录、解释实验现象,彻底理解实验程序。

五、参考程序

ORG0000H

JMPMAIN

ORG000BH

JMPTIME0

ORG0030H

MAIN:

MOVP1,#11111111B

MOVTMOD,#00000110B;T0,方式2,8位计数器,计5个脉冲即中断

MOVTH0,#0FBH;方式2为计数初值自动重装方式

MOVTL0,#0FBH

SETBET0

SETBEA

SETBTR0

CLRP1.6

JMP$

TIME0:

SETBP1.6

CPLP1.7

RETI

END

思考:

(1)在中断服务子程序中,为什么不需要重新装载计数初值?

(2)若将T0换成T1,如何修改程序?

实验五等待计数结束实验

一、实验目的

熟悉星研集成环境软件的使用方法,学习51单片机的汇编指令,掌握51单片机T0、T1计数器的“等待计数结束”的工作方式。

二、实验设备

上海星研STARES598PCI实验仪一套,PC机一台。

三、实验接线(与实验四完全相同)

A3区:

P3.4(T0)

——

B2区:

单脉冲

A3区:

P1.6

——

G6区:

LED-1

A3区:

P1.7

——

D1区:

Ctrl(蜂鸣器)

D1区:

Ctrl(蜂鸣器)

——

G6区:

LED-3

四、实验内容

(1)上、下拨动单脉冲

开关5次→再上、下拨动5次→循环往复……;

(2)观察、记录、解释实验现象,彻底理解实验程序。

五、参考程序

ORG0000H

JMPMAIN

ORG0030H

MAIN:

MOVP1,#11111111B

MOVTMOD,#00000101B;T0,方式1,16位计数器

;计5个脉冲后将P1.7取反

MOVTH0,#0FFH

MOVTL0,#0FBH

SETBTR0

CLRP1.6

LOOP:

JNBTF0,$;软件查询T0的溢出标志

CLRTF0;查到溢出标志随即清除

MOVTH0,#0FFH;重新装载计数初值

MOVTL0,#0FBH

SETBP1.6

CPLP1.7

JMPLOOP

END

思考:

(1)“等待计数结束”这种方式有何优缺点?

(2)若将T0换成T1,如何修改程序?

实验六定时到中断实验

一、实验目的

熟悉星研集成环境软件的使用方法,学习51单片机的汇编指令,掌握51单片机T0、T1定时器的“定时到中断”工作方式。

二、实验设备

上海星研STARES598PCI实验仪一套,PC机一台。

三、自行设计实验

已知AT89S52单片机的晶振频率为11.0592MHz,要求从P1.7引脚用定时的方式输出周期2s、占空比1:

1的连续方波。

自己接线、编程。

 

实验七内、外RAM数据传送实验

 

一、实验目的

熟悉星研集成环境软件的使用方法,学习51单片机的汇编指令,掌握51单片机内、外RAM的数据传输方法。

二、实验设备

上海星研STARES598PCI实验仪一套,PC机一台。

三、实验接线

A3区:

P1.0

——

G6区:

LED-1

A3区:

P1.2

——

G6区:

LED-3

三、实验内容

(1)编制程序1:

将内部RAM从Address1开始的16个字节内容,传送到外部RAM从Address2开始的16个单元里,然后再作比较。

Address1DATA30H

Address2XDATA1000H

ORG0000H

LJMPSTAR

ORG0100H

STAR:

MOVSP,#60H

MOVR0,#Address1

MOVDPTR,#Address2

MOVR7,#10H

STAR1:

MOVA,@R0;传送

MOVX@DPTR,A

INCR0

INCDPTR

DJNZR7,STAR1

MOVR0,#Address1

MOVDPTR,#Address2

MOVR7,#10H

STAR2:

MOVB,@R0;比较

MOVXA,@DPTR

CJNEA,B,STAR3

INCR0

INCDPTR

DJNZR7,STAR2

CLRP1.0

SJMP$;传送正确

STAR3:

CLRP1.2

SJMP$;传送错误

END

(2)编制程序2:

将外部RAM从Address2开始的16个字节内容,传送到内部RAM从Address1开始的16个单元里,然后再作比较。

Address1DATA30H

Address2XDATA1000H

ORG0000H

LJMPSTAR

ORG0100H

STAR:

MOVSP,#60H

MOVR0,#Address1

MOVDPTR,#Address2

MOVR7,#10H

STAR1:

MOVXA,@DPTR;传送

MOV@R0,A

INCR0

INCDPTR

DJNZR7,STAR1

MOVR0,#Address1

MOVDPTR,#Address2

MOVR7,#10H

STAR2:

MOVB,@R0;比较

MOVXA,@DPTR

CJNEA,B,STAR3

INCR0

INCDPTR

DJNZR7,STAR2

CLRP1.0

SJMP$;传送正确

STAR3:

CLRP1.2

SJMP$;传送错误

END

(3)编制程序3:

将外部RAM中的0000H~1FFFH所有单元均清零。

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

MOVP1,#0FFH

MOVDPTR,#0000H

AGAIN:

CLRA

MOVX@DPTR,A

INCDPTR

MOVA,DPH

CJNEA,#20H,AGAIN

CLRP1.0;P1.0接LED-1

SJMP$;结束时绿灯亮

以上清零程序为一种方法,你还能想出其它方法吗?

 

实验八8255控制交通灯实验

一、实验目的

熟练使用星研集成环境软件,学习51单片机汇编程序设计技巧,掌握8255芯片的工作方式0。

二、实验设备

上海星研STARES598PCI实验仪一套,PC机一台。

三、实验内容

使用8255芯片的PA口控制8只LED指示灯,模拟交通信号灯。

四、实验原理图

五、实验接线

B4区:

CS、A0、A1

——

A3区:

CS1、A0、A1

B4区:

JP56(PA口)

8芯排线(小号对大号)

G6区:

JP65

六、参考程序

COM_ADDXDATA0F003H

PA_ADDXDATA0F000H

PB_ADDXDATA0F001H

PC_ADDXDATA0F002H

ORG0000H

LJMPSTAR

ORG0100H

STAR:

MOVSP,#60H

MOVDPTR,#COM_ADD

MOVA,#80H;PA、PB、PC为基本输出模式

MOVX@DPTR,A

MOVDPTR,#PA_ADD;灯全熄灭

MOVA,#0FFH

MOVX@DPTR,A

START1:

MOVA,#37H

MOVCA,@A+PC

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

ACALLDL5S

MOVR4,#6

START2:

MOVA,#30H

MOVCA,@A+PC

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

ACALLDL500ms

MOVA,#29H

MOVCA,@A+PC

MOVX@DPTR,A

ACALLDL500ms

DJNZR4,START2

MOVA,#23H;东西黄灯亮,南北红灯

MOVCA,@A+PC

MOVX@DPTR,A

ACALLDL3S

MOVA,#1EH;东西红灯,南北绿灯

MOVCA,@A+PC

MOVX@DPTR,A

ACALLDL5S

MOVR4,#6

START3:

MOVA,#17H;东西红灯,南北绿灯闪烁

MOVCA,@A+PC

MOVX@DPTR,A

ACALLDL500ms

MOVA,#10H

MOVCA,@A+PC

MOVX@DPTR,A

ACALLDL500ms

DJNZR4,START3

MOVA,#0AH;东西红灯,南北黄灯亮

MOVCA,@A+PC

MOVX@DPTR,A

ACALLDL3S

SJMPSTART1

DB01111110B;东西绿灯,南北红灯

DB11111110B;东西绿灯闪烁,南北红灯

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

DB11011011B;东西红灯,南北绿灯

DB11011111B;东西红灯,南北绿灯闪烁

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

DL500ms:

MOVR5,#25

DL500ms1:

MOVR6,#100

DL500ms2:

MOVR7,#100

DJNZR7,$

DJNZR6,DL500ms2

DJNZR5,DL500ms1

RET

DL3S:

MOVR4,#6

DL3S1:

LCALLDL500ms

DJNZR4,DL3S1

RET

DL5S:

MOVR4,#10

DL5S1:

LCALLDL500ms

DJNZR4,DL5S1

RET

END

思考:

(1)若将PA口换成PB或PC口,如何修改程序?

(2)8255的输出口可以读出内容进行修改,然后再回送,你知道吗?

实验九8255的PC口综合实验

一、实验目的

熟练使用星研集成环境软件,学习51单片机汇编程序设计技巧,掌握8255芯片PC口的输入、输出方式以及位控方式,巩固外部中断的使用方法。

二、实验设备

上海星研STARES598PCI实验仪一套,PC机一台。

三、实验接线

拔掉实验八的8芯排线:

B4区:

CS、A0、A1

——

A3区:

CS1、A0、A1

B4区:

PC0、PC1

——

G6区:

LED-1、LED-2(K1、K2的下面)

B4区:

PC6、PC7

——

G6区:

K7、K8

A3区:

INT0

——

G6区:

K5

A3区:

P1.7

——

D1区:

Ctrl(蜂鸣器)

四、实验内容

将8255芯片PC口的高四位PC4-7设为输入、低四位PC0-3设为输出,对PC口进行I/O操作和位控操作。

五、实验步骤

(1)初始状态时,将K5、K6、K7拨下;

(2)程序运行后,将K6先拨上,LED-1闪烁10次,之后熄灭;

(3)再将K7拨上,LED-2闪烁10次,之后LED-1又闪烁10次,如此循环往复;

(4)随机地将K5拨上,蜂鸣器立即报警;

(5)将K5拨下时,报警解除。

六、参考程序

COM_ADDXDATA0F003H;8255的控制口地址

PC_ADDXDATA0F002H;8255的PC口地址

ORG0000H

JMPMAIN

ORG0003H

JMPITR0

ORG0100H

MAIN:

MOVSP,#70H

MOVPSW,#00H

CLRIT0;中断0电平触发

SETBPX0;中断0高优先级

SETBEX0;中断0允许

SETBEA;总中断允许

MOVDPTR,#COM_ADD;8255控制口地址

MOVA,#10001000B;PA、PB、PC0-3为基本输出模式

MOVX@DPTR,A;PC4-7为基本输入模式

MOVDPTR,#PC_ADD;PC口地址

MOVA,#11111111B;PC口输出全1

MOVX@DPTR,A

LOOP1:

MOVDPTR,#PC_ADD;PC口地址

MOVXA,@DPTR;读PC口

JBACC.6,LOOP1

MOVB,#10D;PC6=0

AGAIN1:

MOVDPTR,#COM_ADD

MOVA,#01110000B;PC0=0

MOVX@DPTR,A

CALLDELAY

MOVDPTR,#COM_ADD

MOVA,#01110001B;PC0=1

MOVX@DPTR,A

CALLDELAY

DJNZB,AGAIN1

LOOP2:

MOVDPTR,#PC_ADD;PC口地址

MOVXA,@DPTR;读PC口

JBACC.7,LOOP2

MOVB,#10D;PC7=0

AGAIN2:

MOVDPTR,#COM_ADD

MOVA,#01110010B;PC1=0

MOVX@DPTR,A

CALLDELAY

MOVDPTR,#COM_ADD

MOVA,#01110011B;PC1=1

MOVX@DPTR,A

CALLDELAY

DJNZB,AGAIN2

JMPLOOP1

DELAY:

MOVR5,#25

DL1:

MOVR6,#100

DL2:

MOVR7,#100

DJNZR7,$

DJNZR6,DL2

DJNZR5,DL1

RET

ITR0:

CLR

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1