当前位置:文档之家› 单片机原理及其接口技术实验报告

单片机原理及其接口技术实验报告

单片机原理及其接口技术实验报告
单片机原理及其接口技术实验报告

单片机原理及其接口技术实验指导书

实验1 Keil C51的使用(汇编语言)

一.实验目的:

初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。

二.实验设备:

ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。

三.实验原理及环境:

在计算机上已安装Keil C51软件。这个软件既可以与硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。

四:实验内容:

1.掌握软件的开发过程:

1)建立一个工程项目选择芯片确定选项。

2)加入C 源文件或汇编源文件。

3)用项目管理器生成各种应用文件。

4)检查并修改源文件中的错误。

5)编译连接通过后进行软件模拟仿真。

6)编译连接通过后进行硬件仿真。

2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。

3.在2的基础上,实现同时在P1.0和P1.1上各输出一个频率同为1Hz但电平状态相反的方波。

五:程序清单:

ORG 0000H

AGAIN:CPL P1.0

MOV R0,#10 ;延时0.5秒

LOOP1:MOV R1,#100

LOOP2:MOV R2,#250

DJNZ R2,$

DJNZ R1,LOOP2

DJNZ R0,LOOP1

SJMP AGAIN

END

六:实验步骤:

1.建立一个工程项目选择芯片确定选项

如图1-1所示:①Project→②New Project→③输入工程名test→④保存工程文件(鼠标点击保存按钮)

图1-1创建工程名

弹出下一界面。

如图1-2所示:①选CPU厂家(Atmel)→②选CPU型号(89C51), ③选好后确定

图1-2选厂家,选CPU 型号

接着选晶振频率及生成HEX 文件等。

如图1-3所示:①Project→②Options for Target ‘Target 1’…→③在Target中→④更改CPU 晶振频率为12MHz→⑤在Output中→⑥选择生成HEX 格式其它采用缺省设置→⑦选好后确定。

图1-3选晶振频率及生成HEX 文件等窗口

2.建立汇编源文件

如图1-4所示:①File→②New, ③弹出源文件编辑窗口。

输入以下源文件:

ORG 0000H

AGAIN:CPL P1.0

MOV R0,#10 ;延时0.5秒

LOOP1:MOV R1,#100

LOOP2:MOV R2,#250

DJNZ R2,$

DJNZ R1,LOOP2

DJNZ R0,LOOP1

SJMP AGAIN

END

图1-4进入编辑源文件窗口

源程序编写完后,①File→②Save As 将文件以test.asm保存在E:\test 目录下,获得汇编语言源程序。

3.用项目管理器生成(编译)各种应用文件

①点击Target 1 前之+ 号→出现②Source Group1→③点击它并按鼠标右键会生弹出下拉菜单见图

1-5编译文件文件窗口→选择④Add Files to Group ‘ Source Group 1’ →⑤点击add向项目中添加

Test.asm 源文件→⑥点击close关闭Add Files t o Group ‘ Source Group 1’窗口→⑦在Source Group 1 前会出现一个+号→⑧点击之弹出test. asm 文件名点击该文件名→⑨主窗口中会出现该程序

图1-5进入编译文件文件窗口

编译:Project→Build target 就会生成一系列到文件如OBJ 文件LST 文件HEX文件等。

4.检查并修改源文件中的错误

如果在源文件中存在错误在Output 窗口中会出现错误提示信息,你可以在源程序中进行修改,然后存盘后重新Build 观察错误提示信息。

5.编译连接通过后进行软件模拟仿真

Debug→Start/Stop Debug Session进入软件模拟的仿真窗口,可使用单步、设断点来进行调试和除错。

6.编译连接通过后进行硬件仿真

实验箱的仿真串口必须与PC 机串口连接,通电,拨位开关K10必须拨在B端,连接P10和L00,连接P11和L01,设置硬件实时仿真调试选项:Project→Options for Target ‘Targetl’→Debug.硬件实时仿真调试选项窗口,见图1-5选硬件仿真选项,按确定按钮确定。

图1-5硬件实时仿真调试选项窗口

进入硬件实时调试窗口后,可打开各种观察窗口,进行单步断点运行到光标连续执行等操作,无误后可连续运行观察LED发光管的显示效果。注意退出时须按单片机的复位按键SS10,在进行硬件连接前最好也先按单片机的复位按键SS10。

7.修改以上程序,实现同时在P1.0和P1.1上各输出一个频率为1Hz但电平状态相反的方波。

七:试验总结:

通过第一次实验我熟悉了Keil C51(汇编语言)和ZY15MCU12BD的基本操作过程,但还不是很熟练,课后要加强练习。

实验2 十六进制与十进制的转换

一:实验目的:

实践汇编语言顺序结构的编程方法,掌握十六进制数转换成十进制数的编程实现,掌握单步运行程序的基本技巧。

二:实验设备:

ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。

三:实验原理及环境:

将十六进制数转换成十进制数有多种方法,比较典型的是用待转换数除以权值的方法,即依次除以100、10,则各次的商和最后的余数就是所需要的十进制数。

四:实验内容:

将放在片内RAM30H中的2位十六进制数转换成3位十进制数,按照从高位到低位的顺序分别放入31H~33H中(即非压缩的BCD码)。在本实验中,要求使用单步方式运行,以便观察各单元的变化过程。

五:程序清单:

LJMP 0100H

ORG 0100H

MOV A,30H

MOV R0,B

MOV B,#16

MUL AB

ADD A,R0

MOV B,#10

DIV AB

MOV 33H,B

MOV A,33H

MOV 33H,A

MOV B,#10

DIV AB

MOV 32H,B

MOV A,32H

MOV 32H,A

MOV 31H,A

SJMP $

END

六:实验步骤:

1.建立一个工程,将在预习中做好的*.asm文件加入。

2.调出存储器编辑窗口,将30H单元修改成某一值。

3.在希望停下来的指令上设断点,然后运行,在断点处停下来后,再单步运行,可以看到各单元的变化情况。运行完最后一条指令后,在31H~33H中应获得30H中十六进制数对应的十进制数。

七:试验总结:这个实验麻烦的就是编程实现十六进制与十进制的转换,尤其是算数运算指令的使用。实验过程中还不是很熟练;还有一个体会就是算法对编写程序至关重要,如果编写程序之前没有确立算法,那么编程将无法下手。

实验3 8段LED显示器动态显示

实验目的:

掌握8段LED显示器的使用及显示程序的设计方法。

实验设备:

ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。

实验原理及环境:

1. 实验箱上有6位8段LED显示器,采用动态方式驱动。即使一位LED显示器显示内容一段时间,然后下一位LED显示器显示内容一段时间……,周而复始。只要刷新频率不小于50Hz,就可以获得清晰稳定的显示效果。

2.MCS-51CPU通过一片8255对8段LED显示器进行段驱动和位驱动,8255的A口、B口、C口、控制口的地址分别为片外RAM的4000H、4001H、4002H、4003H。

3.LED显示器的各段由8255的B口驱动,低电平对应段发光,高电平对应段熄灭。各段的驱动位如图3-1,各显示字的字形代码如下所示:

1 F9H 1. 79H 灭 FFH

2 A4H 2. 24H

3 B0H 3. 30H

4 99H 4. 19H

5 92H 5. 12H

6 82H 6. 02H

7 F8H 7. 78H

8 80H 8. 00H

9 90H 9. 80H

A 88H A. 08H

B 83H B. 03H

C C6H C. 46H

D A1H D. 21H

E 86H E. 06H

F 8EH F. 0EH

4. LED 显示器的各位由8255的A 口驱动,低电平对应位发光,高电平对应位熄灭。 LED 显示器 对应位口位

左起第一位 D0 左起第二位 D1

左起第三位 D2 左起第四位 D3 左起第五位 D4

左起第六位 D5 实验内容:

1.编写一个6位LED 显示器驱动子程序(在主程序中已对接口芯片8255做好必要的初始化)。字形表按0~F 、0.~F.、-、灭的顺序排列。该子程序的要求如下:

入口:待显示数(00H ~1FH)放在20H ~25H( 分别对应显示器的左起第1~第6位)中。 出口:每位LED 显示0.5mS 后返回。

占用:R0、R1、R2、A 、PSW 、DPTR 。 显示子程序的流程图如图3-2和图3-3: D4 D3 D6

D2

D1 D5 D0 D7 图3-1 8段LED 各段控制位

Y

N

开始

置显示数地址指针初值20H 显示器位码指向左起第一位

取出待显示数 查出字形代码

字形代码送段口 位码送位口

软件延时0.5mS

关闭所有显示位

位码指向下一位 显示数地址指针加1

显示地址指针超出?

返回

图3-2 显示子程序流程图

2.子程序自身无法运行,为了运行这个子程序,另编写一个主程序。这个主程序的功能是首先对8255进行初始化,然后就反复调用显示子程序,显示20H ~25H 中的待显示内容。

首先在20H 起始的6个字节中置入00H ~0FH ,然后连续运行此程序,应显示0~F ;在20H 起始的6个字节中置入10H ~1FH ,然后连续运行此程序,应显示0.~F.;若置入20H 、21H ,则显示-、灭。 Y N

开始 显示地址指针R0=20H 位码初值 R2=FEH A ←(R0) DPTR ←表头首址

A ←(A+DPTR)

DPTR ←4001H (DPTR)←A

A ←R2 DPTR ←4000H (DPTR)←A 软件延时0.5mS (用R1作计数器) A ←FFH (DPTR)←A

R2左移 R0←R0+1 R0=26H?

返回 图3-3 显示子程序的详细流程图

开始

设置堆栈栈底SP

软件延时0.5秒

等待8255复位结束

8255初始化

A口、B口方式0输出

C口任意

调用显示子程序

图3-4 显示主程序流程图

3.按以下框图编写一段程序,运行后会在显示器上应出现连续向左移动的0~F。

开始

设置堆栈栈底SP

软件延时0.5秒

等待8255复位结束

8255初始化

A口、B口方式0输出

C口任意

20H~25H清0

调用显示子程序330次,运行时间约1秒

(20H)←(21H)

(21H)←(22H)

(22H)←(23H)

(23H)←(24H)

(24H)←(25H)

(25H)←(25H)+1

(25H)←(25H)∧#0FH

图3-5 实验内容3流程图

6位LED显示器驱动子程序程序清单:

ORG 0000H

MOV SP,#6FH

MOV 20H,#00

MOV 21H,#00

MOV 22H,#00

MOV 23H,#00

MOV 24H,#00

MOV 25H,#00

MOV DPTR,#4003H ;8255初始化

MOV A,#10000001B ; A口、B口方式0输出,C口高4位输出,低4位输入

MOVX @DPTR,A

;ACALL DELAY500MS ;延时0.5秒

LOOP3: LCALL DISP ;调用显示子程序SJMP LOOP3

DISP:MOV R0,#20H

MOV R2,#0FEH

DISP1:MOV A,@R0

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV DPTR,#4001H

MOVX @DPTR,A

MOV A,R2

MOV DPTR,#4000H

MOVX @DPTR,A

CALL DELAY500US

MOV A,#0FFH

MOVX @DPTR,A

MOV A,R2

RL A

MOV R2,A

INC R0

CJNE R0,#26H,DISP1

RET

DELAY500MS: PUSH 00H

MOV R0,#25 ;延时0.5秒

NEXT: ACALL DELAY20MS

DJNZ R0,NEXT

POP 00H

RET

DELAY500US:PUSH 03H

MOV R3,#250

DJNZ R3,$

POP 03H

RET

DELAY20MS:PUSH 06H

PUSH 07H

MOV R7,#99

AGAIN: MOV R6,#100

DJNZ R6,$

DJNZ R7,AGAIN

RET

TAB: DB 0C0H,0F9H,0A4H,0B0H, 99H, 92H, 82H,0F8H ;0 ,1 ,2 ,3 ,4 ,5 ,6 ,7

DB 80H, 90H, 88H, 83H,0C6H,0A1H, 86H, 8EH ;8 ,9 ,A ,B ,C ,D ,E ,F DB 40H, 79H, 24H, 30H, 19H, 12H, 2H, 78H ;0.,1.,2.,3.,4.,5.,6.,7.

DB 00H, 10H, 08H, 03H, 46H, 21H, 06H, 0EH ;8.,9.,A.,B.,C.,D.,E.,F.

END

主程序程序清单:

ORG 0000H

MOV SP,#6FH

MOV 20H,#00

MOV 21H,#00

MOV 22H,#00

MOV 23H,#00

MOV 24H,#00

MOV 25H,#00

MOV DPTR,#4003H ;8255初始化

MOV A,#10000001B ; A口、B口方式0输出,C口高4位输出,低4位输入

MOVX @DPTR,A

;ACALL DELAY500MS ;延时0.5秒

LOOP3: LCALL DISP ;调用显示子程序

MOV 20H,21H

MOV 21H,22H

MOV 22H,23H

MOV 23H,24H

MOV 24H,25H

INC 25H

ANL 25H,#0FH

SJMP LOOP3

DISP:MOV R0,#20H

MOV R2,#0FEH

DISP1:MOV A,@R0

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV DPTR,#4001H

MOVX @DPTR,A

MOV A,R2

MOV DPTR,#4000H

MOVX @DPTR,A

CALL DELAY500US

MOV A,R2

RL A

MOV R2,A

INC R0

CJNE R0,#26H,DISP1

RET

DELAY500MS: PUSH 00H

MOV R0,#25 ;延时0.5秒

NEXT: ACALL DELAY20MS

DJNZ R0,NEXT

POP 00H

RET

DELAY500US:PUSH 03H

MOV R3,#250

DJNZ R3,$

POP 03H

RET

DELAY20MS:PUSH 06H

PUSH 07H

MOV R7,#99

AGAIN: MOV R6,#100

DJNZ R6,$

DJNZ R7,AGAIN

POP 07H

POP 06H

RET

TAB: DB 0C0H,0F9H,0A4H,0B0H, 99H, 92H, 82H,0F8H ;0 ,1 ,2 ,3 ,4 ,5 ,6 ,7

DB 80H, 90H, 88H, 83H,0C6H,0A1H, 86H, 8EH ;8 ,9 ,A ,B ,C ,D ,E ,F DB 40H, 79H, 24H, 30H, 19H, 12H, 2H, 78H ;0.,1.,2.,3.,4.,5.,6.,7.

DB 00H, 10H, 08H, 03H, 46H, 21H, 06H, 0EH ;8.,9.,A.,B.,C.,D.,E.,F.

END

实验步骤:

1.将P0.0~P0.7与JD0~JD7连接起来。开关KC倒向上方。

2.建立一个工程,将在预习中做好的实验内容1和2的程序拷贝到一个*.asm文件加入。

3.编译后与单片机硬件连接,运行。

4.在20H起始的6个字节中置入00H~0FH中的任意6个值,然后连续运行此程序,应显示0~F中的6个数字;在20H起始的6个字节中置入10H~1FH中的任意6个值,然后连续运行此程序,应显示0.~

F. 中的6个数字。

5.如果运行结果不正常,可以用设断点、单步运行的方法查找错误所在,修改后重新编译、与单片机硬件连接,运行。直至获得正确的结果。

8.观察LED显示器,应从右向左依次出现0、1、2、3……

重要提示:

1.指令中的“,:;”是西文字符,切不可使用中文符号;数字“0”与字符“o”不可混淆。

2.软件延时可以用循环程序实现,单片机的时钟为12MHz,每条指令的执行时间可以从教材的附表中查出。

3.程序的起始地址必须为0000H(以后各实验均同)。

4.退出硬件连接可以按SS10,在进行硬件连接前最好也按一次SS10。

5.对程序修改后必须退出硬件连接,进行编译后再重新进行硬件连接才能生效。

6.调用显示子程序330次可以用双重循环实现。且使用的计数单元与显示子程序中用到的不能冲突。

7. 开关KC倒向上方。

实验总结:本次试验编程比较复杂,但在老师的指导和同学的帮助下还是完成了试验。通过这前三次的实验多单片机的实验过程有了较稳定的掌握。

实验4 矩阵键盘的使用

实验目的:

掌握矩阵键盘的使用及键盘扫描程序的设计方法。

实验设备:

ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。

实验原理及环境:

实验箱上有一个16键的矩阵键盘,分为4行×4列。4行分别连接到一片8255(与8段LED显示器的段驱动和位驱动共用)的PC0~PC3,4列分别连接到8255的PC4~PC7。8255的A口、B口、C口、控制口的地址分别为片外RAM的4000H、4001H、4002H、4003H。

第4列(PC7) 第3列(PC6) 第2列(PC5) 第1列(PC4)

行输入PC3 00H 01H 02H 03H 第4行PC2 04H 05H 06H 07H 第3行PC1 08H 09H 0AH 0BH 第2行PC0 0CH 0DH 0EH 0FH 第1行00H 01H 02H 03H

列驱动

选择列驱动码使某一列为低电平而其它列为高电平,再读取行输入,若该列有键按下则相应的位便是低电平。每个键均安排一个键值,如图4-1所示。

实验内容:

1.编写一个键盘扫描子程序(在主程序中已对接口芯片8255做好必要的初始化)。这个程序对键盘作一次扫描,若无键按下,返回时累加器A中为FFH,若有键按下,返回时A中为该键键值,键盘扫描子程序流程图如图4-2所示。

图4-1 键盘布置及键值

其中,查键值子程序可以自行编写,也可以使用下面这个查键值子程序,这个子程序的参数如下: 入口:行列关键值码放在累加器A 中,高4位是列驱动码(被扫描列的对应位为0,其余位均为1),低4位是行状态(按下键的对应位为0,其余位均为1)。 出口:键码放在A 中带出。 占用:R1、A 、PSW 、DPTR 。 程序清单如下:

;查键值子程序,起始地址为KEY20 KEY20: PUSH ACC ;暂存关键值

MOV R1,#00H ;查键值自变量清0 Y Y N Y

N N

Y

开始 输出列驱动码 输入行状态 有无键按下?暂存行状态 软件延时20mS 再读行状态

二次相同? 读行状态 直到键松开

调用查键值子程序 返回 列驱动码指向下一列 (列驱动码左移) 列驱动码超出?

A ←#0FFH 返回 有无键按下?N R2置列驱动码初值 (第1列低电平,其他列高) 图4-2 键盘扫描子程序流程图

INC R1

SJMP KEY21

KEY22: MOV A,R1 ;按每列4个键计算

MOV B,#4

MUL AB

MOV R1,A

POP ACC ;恢复关键值

KEY23: JNB ACC.0,KEY24 ;计算行数

RR A

INC R1

SJMP KEY23

KEY24: MOV DPTR,#KEYTAB;读取键值

MOV A,R1

MOVC A,@A+DPTR

RET

KEYTAB: DB 0FH,0BH,07H,03H

DB 0EH,0AH,06H,02H

DB 0DH,09H,05H,01H

DB 0CH,08H,04H,00H

2.键盘扫描子程序自身无法运行,为了运行这个子程序,另编写以下程序:

ORG 0000H

MOV SP,#6FH

MOV R0,#5 ;延时0.5秒

LOOP1: MOV R1,#200

LOOP2: MOV R2,#250

DJNZ R2,$

DJNZ R1,LOOP2

DJNZ R0,LOOP1

MOV DPTR,#4003H ;8255初始化

MOV A,#10000001B ; A口、B口方式0输出,C口高4位输出,低4位输入

MOVX @DPTR,A

LOOP3: LCALL DISP ;调用显示子程序DIS,设显示子程序入口为DISP

LCALL KEY ;调用键盘扫描子程序,设键盘扫描子程序入口为KEY

CJNE A,#0FFH,LOOP4 ;如果有键按下转

SJMP LOOP3

LOOP4: MOV 20H,21H

MOV 21H,22H

MOV 22H,23H

MOV 23H,24H

MOV 24H,25H

MOV 25H,A

SJMP LOOP3

其中显示子程序使用实验3中的显示子程序。程序运行后,每按一键便从显示器的右端移入一个对应的数。

程序清单: ORG 0000H

MOV SP,#6FH

MOV 20H,#00

MOV 21H,#00

MOV 22H,#00

MOV 23H,#00

MOV 24H,#00

MOV 25H,#00

ACALL DELAY500MS ;延时0.5秒

MOV DPTR,#4003H ;8255初始化

MOV A,#10000001B ; A口、B口方式0输出,C口高4位输出,低4位输入

MOVX @DPTR,A

LOOP3: LCALL DISP ;调用显示子程序

LCALL KEY ;键盘扫描子程序入口

CJNE A,#0FFH,LOOP4 ;如果有键按下转

SJMP LOOP3

LOOP4: MOV 20H,21H

MOV 21H,22H

MOV 22H,23H

MOV 23H,24H

MOV 24H,25H

MOV 25H,A

SJMP LOOP3

KEY:MOV A,#00H;使4根列线都输出0

MOV DPTR,#4002H

MOVX @DPTR,A

MOVX A,@DPTR

ANL A,#0FH

CJNE A,#0FH,KEYDN

MOV A,#0FFH

RET

KEYDN:MOV R2,#11101111B

KEYDN1:MOV A,R2

MOVX @DPTR,A

MOVX A,@DPTR

ANL A,#0FH

CJNE A,#0FH,CONT

NEXTCOLUMN:MOV A,R2

RLC A

sjmp NOKEYDN

CONT: MOV 03H,A

LCALL DELAY20MS;延时20ms

MOVX A,@DPTR

ANL A,#0FH

CJNE A,03H,NOKEYDN

WAITKEYUP:MOVX A,@DPTR

ANL A,#0FH

CJNE A,#0FH, WAITKEYUP;读行状态,直到键松开

MOV A,R2

ANL A,#0F0H

MOV R2,A

MOV A,03H

ORL A,R2

LCALL KEY20

RET

NOKEYDN:MOV A,#0FFH

RET

KEY20: PUSH ACC ;暂存关键值 MOV R1,#00H ;查键值自变量清0

KEY21: JNB ACC.4,KEY22 ;计算列数

RR A

INC R1

SJMP KEY21

KEY22: MOV A,R1 ;按每列4个键计算

MOV B,#4

MUL AB

MOV R1,A

POP ACC ;恢复关键值

KEY23: JNB ACC.0,KEY24 ;计算行数

RR A

INC R1

SJMP KEY23

KEY24: MOV DPTR,#KEYTAB;读取键值

MOV A,R1

MOVC A,@A+DPTR

RET

KEYTAB: DB 0FH,0BH,07H,03H

DB 0EH,0AH,06H,02H

DB 0DH,09H,05H,01H

DB 0CH,08H,04H,00H

DISP1:MOV A,@R0

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV DPTR,#4001H

MOVX @DPTR,A

MOV A,R2

MOV DPTR,#4000H

MOVX @DPTR,A

CALL DELAY500US

MOV A,#0FFH

MOVX @DPTR,A

MOV A,R2

RL A

MOV R2,A

INC R0

CJNE R0,#26H,DISP1

RET

DELAY500MS: PUSH 00H

MOV R0,#25 ;延时0.5秒

NEXT: ACALL DELAY20MS

DJNZ R0,NEXT

POP 00H

RET

DELAY500US:PUSH 03H

MOV R3,#250

DJNZ R3,$

POP 03H

RET

DELAY20MS:PUSH 06H

PUSH 07H

MOV R7,#99

AGAIN: MOV R6,#100

DJNZ R6,$

DJNZ R7,AGAIN

POP 07H

POP 06H

RET

TAB: DB 0C0H,0F9H,0A4H,0B0H, 99H, 92H, 82H,0F8H ;0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 DB 80H, 90H, 88H, 83H,0C6H,0A1H, 86H, 8EH ;8 ,9 ,A ,B ,C ,D ,E ,F DB 40H, 79H, 24H, 30H, 19H, 12H, 2H, 78H ;0.,1.,2.,3.,4.,5.,6.,7.

单片机原理及其接口技术实验报告

单片机原理及其接口技术实验指导书 实验1 Keil C51的使用(汇编语言) 一.实验目的: 初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。 二.实验设备: ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。 三.实验原理及环境: 在计算机上已安装Keil C51软件。这个软件既可以与硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。 四:实验内容: 1.掌握软件的开发过程: 1)建立一个工程项目选择芯片确定选项。 2)加入C 源文件或汇编源文件。 3)用项目管理器生成各种应用文件。 4)检查并修改源文件中的错误。 5)编译连接通过后进行软件模拟仿真。 6)编译连接通过后进行硬件仿真。 2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。 3.在2的基础上,实现同时在P1.0和P1.1上各输出一个频率同为1Hz但电平状态相反的方波。 五:程序清单: ORG 0000H AGAIN:CPL P1.0 MOV R0,#10 ;延时0.5秒 LOOP1:MOV R1,#100 LOOP2:MOV R2,#250 DJNZ R2,$ DJNZ R1,LOOP2 DJNZ R0,LOOP1 SJMP AGAIN END 六:实验步骤: 1.建立一个工程项目选择芯片确定选项 如图1-1所示:①Project→②New Project→③输入工程名test→④保存工程文件(鼠标点击保存按钮)

单片机原理与接口技术试题及答案

复习题及答案 (一)选择题(在每个小题四个备选答案中选出一个正确答案,填在题的括号中) 1、80C51基本型单片机内部程序存储器容量为(C)。 (A)16K (B)8K (C)4K (D)2K 2、在80C51单片机应用系统中,可以作为时钟输出的是(C)引脚。 (A)(B)RST (C)ALE (D) 3、在80C51的4个并行口中,能作为通用I/O口和高8位地址总线的是(C)。 (A)P0 (B)P1 (C)P2 (D)P3 4、当优先级的设置相同时,若以下几个中断同时发生,(D)中断优先响应。 (A)(B)T1 (C)串口(D)T0 5、在80C51中,要访问SFR使用的寻址方式为(A)。 (A)直接寻址(B)寄存器寻址(C)变址寻址(D)寄存器间接寻址 6、以下的4条指令中,不合法的指令为(D)。 (A)INC A (B)DEC A (C)I NC DPTR (D)SWAP ACC 7、当需要扩展一片8K的RAM时,应选用的存储器为(B)。 (A)2764 (B)6264 (C)6116 (D)62128 8、若想扩展键盘和显示,并希望增加256字节的RAM时,应选择(A)芯片。 (A)8155 (B)8255 (C)8279 (D)74LS164 9、80C51单片机要进行10位帧格式的串行通讯时,串行口应工作在(B )。 (A)方式0 (B)方式1 (C)方式2 (D)方式3 10、80C51复位初始化时未改变SP的内容,第一个入栈的单元地址为(A)。 (A)08H (B)80H (C)00H (D)07H 二、填空题 1、计算机的经典结构由存储器、运算器、控制器、输入设备、输出设备组 成。 2、80C51单片机基本型内部RAM有128个字节单元,这些单元可以分为三个用途不同 的区域,一是工作寄存器区,二是位寻址区,三是通用数据区区。 3、在8051单片机中,由 2 个振荡周期组成1个状态周期,由 6 个状态周期组成1 个机器周期。 4、8051的堆栈是向地址的高端生成的。入栈时SP先加1,再压入数据。 5、对于80C51无嵌套的单级中断,响应时间至少 3 个机器周期,最多8个机器周期。 三、简答题 简述80C51单片机的I/O口的功能和特点; 答:P0:地址总线低8位/数据总线和一般I/O口 P1:一般I/O口 P2:地址总线高8位和一般I/O口 P3:第二功能和一般I/O口 4个口作为一般I/O时均为准双向口。 5、简述80C51单片机指令系统的特点及寻址方式。

微机原理与接口技术实验报告

微机原理与接口技术实验报告 班级:自动化(铁道信号) 姓名: ***** 学号: 1121**** 授课教师:福恩

目录 1.实验一 (3) 2. 实验二 (8) 3.实验三 (13) 4.实验四 (22) 5.实验五 (26) 6.实验六 (33) 7.参考文献 (38)

实验一交通灯控制实验 一.实验目的 通过应用接口技术设计十字路口、复杂路口交通灯控制系统,学会应用“微机原理与接口技术”课程所学的X86汇编语言和接口技术掌握可编程并行接口芯片的硬件设计、软件编程,实现十字路口交通灯的模拟控制并思考计算机如何应用在各种控制系统中。 (1)掌握利用X86汇编语言技巧 (2)掌握X86微处理器与可编程并行接口芯片8255A硬件电路设计 (3)熟悉模拟交通灯控制的实现方法并思考如何应用在实际中。 二.实验容 设计一个交通控制系统,该控制系统工作后,交通灯按照如下规律变化: (1)南北路口的绿灯、东西路口的红灯同时亮3秒左右。 (2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。 (3)南北路口的红、东西路口的绿灯同时亮3秒。 (4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。 (5)返回(1)依次循环。 三.实验电路 如下图,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律燃灭。 8255动态分配地址: 控制寄存器:0EC0BH A口地址: 0EC08H C口地址: 0EC0AH

红黄绿红黄绿 图1-1 交通灯实验电路图四.程序流程图 五.源程序 CODE SEGMENT ASSUME CS:CODE ;********************************** 工作状态控制字设置 START: MOV DX,0EC0BH ;写控制端口,地址0EC0BH MOV AL,10010000B ;C口方式0输出 OUT DX,AL

单片机原理及接口技术

0924]《单片机原理与接口技术》 作业一 [单选题]MCS―51单片机一个机器周期由()个振荡周期构成;A:2 B:4 C:8 D:12 参考答案:D [多选题]电子计算机的硬件系统主要组成部分有()A:CPU B:存储器 C:输入设备 D:输出设备 参考答案:ABCD [单选题]MCS-51单片机是()位机。 A:4 B:8 C:16 D:32 参考答案:B [单选题]使用MCS51汇编语言指令时,标号以()开始。 A:标点符号 B:数字 C:英文字符 D:中文字符 参考答案:C

[多选题]CPU的主要组成部分有() A:运算器 B:控制器 C:程序存储器 D:数据存储器 参考答案:AB [判断题]MCS-51单片机复位后,RS1、RS0为0、0,此时使用0组工作寄存器。 参考答案:正确 [判断题]MCS-51单片机复位后,部特殊功能寄存器均被清零。 参考答案:错误 [填空题] 1.十六进制数30H等于十进制数(); 2.十六进制数20H的压缩BCD码为(); 3.与十进制数40相等的十六进制数为( ); 4.十六进制数037H对应的压缩BCD码可表示为( ); 5.字符"A”的ASCII码为(); 6.字符"D”的ASCII码为(); 7.字符"1”的ASCII码为(); 8.字符"5”的ASCII码为(); 9.位09H所在的单元地址是()字节的()位; 10.编写程序时使用的程序设计语言有()、()、()三种; 11.MCS―51单片机有四个工作寄存器区,由PSW状态字中的()、()两位的状态来 决定; 12.定时器的工作方式()为16位为定时/计数方式; 13.串行通讯分为()和()两种基本方式; 14.串行通讯工作方式1和方式3的波特率有SMOD值和()控制。 参考答案:

单片机原理与接口技术习题答案

单片机原理与接口技术习题答案 习题与思考题1 1-2 单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点? 答:与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和I/O端口引脚具有复用功能;软件上,采用面向控制的指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。单片机还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高等特点。 1-4 单片机的几个重要指标的定义。 答:单片机的重要指标包括位数、存储器、I/O口、速度、工作电压、功耗和温度。 习题与思考题2 2-2 MCS-51单片机的EA、ALE和PSEN端的功能是什么? 答:ALE——ALE为地址锁存允许信号,在访问外部存储器时,ALE用来锁存P0送出的低8位地址信号。 PSEN——外部程序存储器的读选通信号。当访问外部ROM时,PSEN产生负脉冲作为外部ROM的 选通信号;在访问外部RAM或片内ROM时,不会产生有效的PSEN信号。PSEN可驱动8个LSTTL 门输入端。 EA——访问外部程序存储器控制信号。对8051和8751,它们的片内有4KB的程序存储器。当EA为 高电平时,CPU访问程序存储器有两种情况:一是访问的地址空间在0~4K范围内,CPU访问片内 程序存储器;二是访问的地址超出4K时,CPU将自动执行外部程序存储器的程序。对于8031,EA 必须接地,只能访问外部ROM。 2-3 程序计数器(PC)有多少位?它的主要功能是什么? 答:程序计数器有16位,它的功能和一般微型计算机的相同,用来存放下一条要执行的指令的地址。当按照PC 所指的地址从存储器中取出一条指令后,PC会自动加l,即指向下一条指令。 2-5 MCS-51单片机如何实现工作寄存器组R0~R7的选择? 答:每个工作寄存器组都可被选为CPU的当前工作寄存器,用户可以通过改变程序状态字寄存器(PSW)中的RS1、RS0两位来任选一个寄存器组为当前工作寄存器。 RS1RS0寄存器组R0R1R2R3R4R5R6R7 000组00H01H02H03H04H05H06H07H 011组08H09H0AH0BH0CH0DH0EH0FH 102组10H11H12H13H14H15H16H17H 113组18H19H1AH1BH1CH1DH1EH1FH 2-6 单片机复位后,各特殊功能寄存器中的初始化状态是什么? 答: 特殊功能寄存器初始状态特殊功能寄存器初始状态ACC00H TMOD00H PC0000H TCON00H PSW00H TL000H SP07H TH000H DPTR0000H TL100H P0~P30FFH TH100H IP xx000000B B00H IE0x000000B SCON00H PCON0xxx0000B SBUF不定

单片机原理及接口技术课后答案_(第三版)

单片机原理及接口技术课后答案_(第三版) 第一章 1.单片机具有哪些特点 (1)片内存储容量越来越大。 (2抗干扰性好,可靠性高。 (3)芯片引线齐全,容易扩展。 (4)运行速度高,控制功能强。 (5)单片机内部的数据信息保存时间很长,有的芯片可以达到100年以上。2. 89C51单片机内包含哪些主要逻辑功能部件? 答:80C51系列单片机在片内集成了以下主要逻辑功能部件: (l)CPU(中央处理器):8位 (2)片内RAM:128B (3)特殊功能寄存器:21个 (4)程序存储器:4KB (5)并行I/O口:8位,4个 (6)串行接口:全双工,1个 (7)定时器/计数器:16位,2个 (8)片内时钟电路:1个 3.什么是微处理器(CPU)、微机和单片机? 答:微处理器本身不是计算机,但它是小型计算机或微机的控制和处理部分。微机则是具有完整运算及控制功能的计算机,除了微处理器外还包括存储器、接口适配器以及输入输出设备等。 单片机是将微处理器、一定容量的RAM、ROM以及I/O口、定时器等电路集成在一块芯片上,构成的单片微型计算机。 4. 微型计算机怎样执行一个程序? 答:通过CPU指令,提到内存当中,再逐一执行。 5.什么是嵌入式系统?他有哪些类型?为什么说单片机是典型的嵌入式系统?答; 嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。

它有嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器、嵌入式片上系统等。 嵌入式系统的出现最初是基于单片机的。它从体系结构到指令系统都是按照嵌入式应用特点专门设计的,能最好的满足面对控制对象,应运系统的嵌入、现场的可靠运行以及非凡的控制品质要求。因此,她是典型的嵌入式系统。 第二章 1.89C51单片机内包含哪些主要逻辑功能部件? 答:80C51系列单片机在片内集成了以下主要逻辑功能部件: (l)CPU(中央处理器):8位 (2)片内RAM:128B (3)特殊功能寄存器:21个 (4)程序存储器:4KB (5)并行I/O口:8位,4个 (6)串行接口:全双工,1个 (7)定时器/计数器:16位,2个 (8)片内时钟电路:1个 2.89C51的EA端有何用途? 答:/EA端接高电平时,CPU只访问片内https://www.doczj.com/doc/053765886.html,并执行内部程序,存储器。/EA端接低电平时,CPU只访问外部ROM,并执行片外程序存储器中的指令。/EA 端保持高电平时,CPU执行内部存储器中的指令。 3. 89C51的存储器分哪几个空间?如何区别不同空间的寻址? 答:ROM(片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits地址)(64KB) 片外RAM(MOVX)(16bits地址)(64KB) 片内RAM(MOV)(8bits地址)(256B) 4. 简述89C51片内RAM的空间分配。 答:片内RAM有256B 低128B是真正的RAM区 高128B是SFR(特殊功能寄存器)区 5. 简述布尔处理存储器的空间分配,片内RAM中包含哪些可位寻址单元。 答:片内RAM区从00H~FFH(256B) 其中20H~2FH(字节地址)是位寻址区 对应的位地址是00H~7FH

计算机组成原理与接口技术实验报告

计算机组成原理与接口技术 课程设计实验报告 学院:计算机科学与工程 专业:计算机科学与技术 班级:计科二班 学号: 姓名: 指导老师: 评分: 2016年12月28日

实验一验证74LS181运算和逻辑功能 1、实验目的 (1)掌握算术逻辑单元(ALU)的工作原理; (2)熟悉简单运算器的数据传送通路; (3)画出逻辑电路图及布出美观整齐的接线图; (4)验证4位运算功能发生器(74LS181)组合功能。 2、实验原理 ALU能进行多种算术运算和逻辑运算。4位ALU-74LS181能进行16种算术运算和逻辑运算。 74ls181芯片介绍: 该芯片总共由22个引脚,其中包括8个数据 输入端(~A0、~A1、~A2、~A3,~B0、~B1、~B2、 ~B3,其中八个输入端中A3和B3是高位),这八 个都是低电平有效。还包括S0、S1、S2、S3这四 个控制端,这四个控制端主要控制两个四位输入 数据的运算,例如加、减、与、或。CN端处理进 入芯片前进位值,M控制芯片的运算方式,包括 算术运算和逻辑运算。F0、F1、F2、F3是四个二 进制输出端,以一个四位二进制形式输出运算的 结果。CN4记录运算后的进位。

3、实验内容 实验电路图:

4、总结及心得体会 本实验通过一个设计一个简单的运算器,使我熟悉了Multisim软件的一些基本操作方法,并掌握了一些简单的电路设计与分析的能力,并对我做下一个运算器的实验有一定的帮助。因为是之前实验课做过的实验,再次做起来过程比较流畅,没有遇到什么大的问题,实验的测试结果与预期的一致。 该芯片总共由22个引脚,其中包括8个数据输入端(~A0、~A1、~A2、~A3,~B0、~B1、~B2、~B3,其中八个输入端中A3和B3是高位),这八个都是低电平有效。还包括S0、S1、S2、S3这四个控制端,这四个控制端主要控制两个四位输入数据的运算,例如加、减、与、或。CN端处理进入芯片前进位值,M控制芯片的运算方式,包括算术运算和逻辑运算。F0、F1、F2、F3是四个二进制输出端,以一个四位二进制形式输出运算的结果。CN4记录运算后的进位。其中AEQB、~P和~G这三个端口与本实验无关,所以这里不做额外介绍。

单片机原理及接口技术课后习题第9章 答案

第九章复习思考题 1. 计算机系统中为什么要设置输入输出接口? 输入/输出接口电路是CPU与外设进行数据传输的桥梁。外设输入给CPU的数据,首先由外设传递到输入接口电路,再由CPU从接口获取;而CPU输出到外设的数据,先由CPU输出到接口电路,然后与接口相接的外设获得数据。CPU与外设之间的信息交换,实际上是与I/O接口电路之间的信息交换。 2. 简述输入输出接口的作用。 I/O接口电路的作用主要体现在以下几个方面:(1)实现单片机与外设之间的速度匹配;(2)实现输出数据锁存;(3)实现输入数据三态缓冲;(4)实现数据格式转换。 3. 在计算机系统中,CPU与输入输出接口之间传输数据的控制方式有哪几种?各有什么特点? 在计算机系统中,CPU与I/O接口之间传输数据有3种控制方式:无条件方式,条件方式,中断方式,直接存储器存取方式。 在无条件方式下,只要CPU执行输入/输出指令,I/O接口就已经为数据交换做好了准备,也就是在输入数据时,外设传输的数据已经传送至输入接口,数据已经在输入接口端准备好;输出数据时,外设已经把上一次输出的数据取走,输出接口已经准备好接收新的数据。 条件控制方式也称为查询方式。CPU进行数据传输时,先读接口的状态信息,根据状态信息判断接口是否准备好,如果没有准备就绪,CPU将继续查询接口状态,直到其准备好后才进行数据传输。 在中断控制方式下,当接口准备好数据传输时向CPU提出中断请求,如果满足中断响应条件,CPU则响应,这时CPU才暂时停止执行正在执行的程序,转去执行中断处理程序进行数据传输。传输完数据后,返回原来的程序继续执行。 直接存储器存取方式即DMA方式,它由硬件完成数据交换,不需要CPU的介入,由DMA控制器控制,使数据在存储器与外设之间直接传送。 4. 采用74LS273和74LS244为8051单片机扩展8路输入和8路输出接口,设外设8个按钮开关和8个LED,每个按钮控制1个LED,设计接口电路并编制检测控制程序。 图9.1题3接口电路原理图

微机原理与接口技术实验报告

新疆农业大学机械交通学院 实习(实验)报告纸 班级:机制072 学号: 073731234 姓名:唐伟 课程名称:微机原理及接口技术实习(实验)名称: DEBUG软件的使用 实验时间: 6.22 指导教师签字:成绩: —、实验目的 1.学习DEBUG软件的基本使用方法。 2.掌握8088/8086的寻址方式。 3.掌握数据传送、算术运算逻辑运算等类指令的基本操作。 二、实验内容与步骤 实验内容: 修改并调试以下程序,使之完成30000H开始的内存单元中存入31个先自然递增然后有自然递减的数据(00H~0F~00H)的功能。程序从CS:0100H开始存放。调试完成后程序命名为PCS.EXE并存盘。 实验步骤: (1)用A命令输入程序; (2)用反汇编U命令显示程序及目标码; 存盘程序命令为PCS1.EXE;

三、思考题 1.EXE文件程序的第一条可执行指令的IP等于多少? 答:EXE文件程序的第一条可执行指令的IP等于0010 。 2.在DEBUG环境下显示的程序和数字是什么形式?标号又是什么形式? 答: DEBUG把所有数据都作为字节序列处理。因此它可以读任何类型的文件。DEB UG可以识别两种数据: 十六进制数据和ASCⅡ码字符。它的显示格式是各个字节的十六进制值以及值在32与126之间的字节的相应ASCⅡ码字符。DEBUG总是用四位十六进制数表示地址。用两位数表示十六进制数据。不支持标号。 3.试述本次实验中你学会的DEBUG命令? 答:本次试验我学会了汇编命令(A命令)、.反汇编命令(U命令)、显示当前环境和寄存器内容(R命令、以十六进制和ASCII码形式显示内存单元内容(D命令)

单片机原理及接口技术

《单片机原理及接口技术》试卷(闭卷A卷) 一.单项选择题(每题1分,共20分) 1.DPTR为() A.程序计数器 B.累加器 C.数据指针寄存 器 D.程序状态字寄存 2.PSW的Cy位为() A.辅助进位标志 B.进位标志 C.溢出标志位 D.奇偶标志位 3.MCS-51单片机片内ROM容量为() A.4KB B.8KB C.128B D.256B 4.MCS-51单片机片要用传送指令访问片外数据存储器,它的指令操作码助记符是以下哪个?( ) A.MUL B.MOVX C.MOVC D.MOV 5.direct表示() A.8位立即数 B.16位立即数 C.8位直接地址 D.16位地址 6.堆栈指针SP是一个()位寄存器 A.8 B.12 C.13 D.16 7.定时器/计数器工作方式选择中,当M1M0=11时,其工作方式为() A.方式0 B.方式1 C.方式2 D.方式3 8.定时器/计数器工作方式0为() A.13位定时/计数方式 B.16位定时/计数方式 C.8位可自动装入计数初值方式 D.2个8位方式 9.MCS-51的最小时序定时单位是() A.节拍 B.状态 C.机器周期 D.指令周期 10.#data表示() A.8位直接地址 B.16位地址 C.8位立即数 D.16位立即数 11.主频为12MHz的单片机它的机器周期为() A.1/12微秒 B.0.5微秒 C.1微秒 D.2 微秒 12.MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应()。 A.外部中断0 B.外部中断1 C.定时器0中断 D.定时器1中断 13.MOVC A ,@A+PC指令对于源操作数的寻址方式是() A.寄存器间接寻址 B.寄存器寻址 C.立即寻址 D.变地寻址 14. PSEN为()A.复位信号输入端 B.地址锁存允许信 号输出端 C.程序存储允许输出端 D.程序存储器地址 允许输入端 15.MCS-51单片机的一个机器周期由()个振荡脉冲组成。 A.2 B.4 C.6 D.12 16.MOVC A ,#30H指令对于源操作数的寻址方式 是() A.寄存器间接寻址 B.寄存器寻址 C.立即寻址 D.变地寻址 17.计算机能直接识别的语言为() A.汇编语言 B. 机器语言 C.自然语言 D.硬件和软件 18.PSW的OV位为() A.辅助进位标志 B.进位标志 C.溢出标志位 D.奇偶标志位 19.在单片机中()为程序存储器。A.ROM B. RAM C.EPROM D.EEPROM 20.能用紫外线光擦除ROM中的程序的只读存储器为() A.掩膜ROM B.PROM C.EPROM D.EEPROM 二、填空(每题 2 分,共 10 分) 1、从单片机系统扩展的角度出发,单片机的引脚可以构成三总线结构,即总线、地址总线和总线。 2、ALE信号的作用是。 3、MOV A,40H 指令对于源操作数的寻址方式是 寻址。 4、PC存放的内容为: 。 5、MCS-8051系列单片机字长是位,有 根引脚。 三、简答题:(共 25 分) 1、什么是单片机?简述单片机的应用领域。(15 分) 2、什么叫中断?中断有什么特点?(10 分) 四.已知:(R1)=32H,(30H)=AAH,(31H)=BBH,(32H) =CCH,求执行下列指令后累加器A.50H.R6.32H.和P 1口中的内容。(10分) MOV A ,#30H MOV 50H ,A MOV R6 ,31H

《单片机原理及接口技术(第2版)张毅刚》第2章习题及答案

《单片机原理及接口技术》(第2版)人民邮电出版社 第2章 AT89S51单片机的片内硬件结构 思考题及习题2 1.在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为。答:2μs 2.AT89S51单片机的机器周期等于个时钟振荡周期。答:12 3.内部RAM中,位地址为40H、88H的位,该位所在的字节地址分别为和。答:28H,88H 4.片内字节地址为2AH单元最低位的位地址是;片内字节地址为88H单元的最低位的位地址为。答:50H,A8H 5.若A中的内容为63H,那么,P标志位的值为。答:0 6.AT89S51单片机复位后,R4所对应的存储单元的地址为,因上电时PSW= 。这时当前的工作寄存器区是组工作寄存器区。答:04H,00H,0。 7. 内部RAM中,可作为工作寄存器区的单元地址为 H~ H。答:00H,1FH 8. 通过堆栈操作实现子程序调用时,首先要把的内容入栈,以进行断点保护。调用子程序返回指令时,再进行出栈保护,把保护的断点送回到,先弹出的是原来中的内容。答:PC, PC,PCH 9.AT89S51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89S51单片机的PC是16位的,因此其寻址的范围为 KB。答:64 10.判断下列说法是否正确? A.使用AT89S51单片机且引脚EA=1时,仍可外扩64KB的程序存储器。错 B.区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端。错 C.在AT89S51单片机中,为使准双向的I/O口工作在输入方式,必须事先预置为1。对 D.PC可以看成是程序存储器的地址指针。对 11.判断下列说法是否正确?

单片机原理与接口技术课后答案

第一章 1:什么是单片机? 单片机是一种面向工业的微处理器,它将CPU、RAM、ROM存储器、定时计数器、中断系 统、I/O 接口电路集成在一个芯片上,也叫单片微型计算机。 由于体积小、功能强、可靠性高、功耗更低,可以嵌入到任何工业设备和仪器仪表中,被作为嵌入式控制器,被广泛地应用在工业控制领域。 2 单片机有哪些特点? 答: (1)单片机的存储器ROM和RAM是严格区分的。ROM称为程序存储器,只存放程序、固定常数及数据表格。RAM 则为数据存储器,用作工作区及存放用户数据。(2)采用面向控制的指令系统。(3)单片机的I/O 引脚通常是多功能的。(4)单片机的外部扩 展能力强。(5)单片机体积小,成本低,运用灵活,易于产品化。(6)面向控制,能有 针对性地解决从简单到复杂的各类控制任务,因而能获得最佳的性能价格比。(7)抗干扰 能力强,适用温度范围宽。(8)可以方便地实现多机和分布式控制,使整个控制系统的效 率和可靠性大为提高。 3 单片机的应用有哪些? 答: (1)工业控制。单片机可以构成各种工业控制系统、数据采集系统等。如数控机床、自动生产线控制、电机控制、测控系统等。(2)仪器仪表。如智能仪表、医疗器械、数字示波器等。(3)计算机外部设备与智能接口。如图形终端机、传真机、复印机、打印机、绘图仪、磁盘/磁带机、智能终端机等。(4)商用产品。如自动售货机、电子收款机、电子秤等。(5)家用电器。如微波炉、电视机、空调、洗衣机、录像机、音响设备等。(6)消费类电子产 品。(7)通讯设备和网络设备。(8)儿童智能玩具。(9)汽车、建筑机械、飞机等大型 机械设备。(10)智能楼宇设备。(11)交通控制设4.常见的单片机有哪些类型? 答: 1 .AVR 单片机;2.Motorola 单片机;3.MicroChip 单片机;4.Scenix 单片机;5.EPSON 单片机;7.GMS90 单片机;8.华邦单片机9.Zilog 单片机;10.NS 单片机;11.AX1001 单片机 第二章 1,MCS-51 单片机内部包含哪些主要逻辑功能部件 答:(1)1 个8 位的微处理器CPU。(2)8KB 的片内程序存储器Flash ROM(51 子系列 的Flash ROM为4KB),用于烧录运行的程序、常数数据。(3)256B 的片内数据存储器 RAM(51 子系列的RAM 为128B),在程序运行时可以随时写入数据和读出,用于存放函 数相互传递的数据、接收的外部数据、中间结果、最后结果以及显示的数据等。(4)3 个

汇编程序及接口技术实验报告

微机汇编程序及接口技术实验报告 汇编程序实验: 一、实验目的 1、熟悉汇编程序调试过程 2、掌握算术运算指令运用 3、掌握分支程序的编程和调试方法 二、实验设备 80X86微型计算机 三、实验内容 1、编程并调试显示“Hello Word!”字符串的汇编程序 TITLE HELLO DA TA SEGMENT STR DB'Hello World!$' DA TA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX MOV DX,OFFSET STR MOV AH,9H INT 21H MOV AH,4CH INT 21H CODE ENDS END START

2、A、B、C、D、W是互不相等的在数据段中定义的16位有符号数,并假设加减运算不产生溢出。编写一个完整段定义的汇编语言程序,计算W=(A+B)×(C—D)。 title asmprogram1_1 DA TA SEGMENT A DW 1H B DW 3H C DW 4H D DW 2H W DW 2 DUP(?) DA TA ENDS ; CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX MOV AX,A ADD AX,B MOV BX,C SUB BX,D IMUL BX MOV W,AX MOV W+2,DX MOV AH,4CH INT 21H CODE ENDS END START

3、设X、Y为在数据段中定义的有符号字变量。编写一个完整段定义的汇编语言程序(包含必要的伪指令,给出必要的注释)完成以下操作:若0

单片机原理及接口技术课后习题答案(张毅刚)习题参考答案1章

第1章单片机概述 1.除了单片机这一名称之外,单片机还可称为和。 答:微控制器,嵌入式控制器。 2.单片机与普通微型计算机的不同之处在于其将、、和3部分集成于一块芯片上。 答:CPU、存储器、I/O口。 3.8051与8751的区别是。 A.内部数据存储单元数目不同B.内部数据存储器的类型不同C.内部程序存储器的类型不同D.内部寄存器的数目不同 答:C。 4.在家用电器中使用单片机应属于微计算机的。 A.辅助设计应用;B.测量、控制应用;C.数值计算应用;D.数据处理应用答:B。 5.微处理器、微计算机、微处理机、CPU、单片机它们之间有何区别? 答:微处理器、微处理机和CPU都是中央处理器的不同称谓;而微计算机、单片机都是一个完整的计算机系统,单片机特指集成在一个芯片上的用于测控目的的单片微计算机。 6.MCS-51系列单片机的基本型芯片分别为哪几种?它们的差别是什么? 答:MCS-51系列单片机的基本型芯片分别是8031、8051和8751。它们的差别是在片内程序存储器上。8031无片内程序存储器,8051片内有4KB的程序存储器ROM,而8751片内集成有4KB的程序存储器EPROM。 7.为什么不应当把51系列单片机称为MCS-51系列单片机? 答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。 8.AT89C51单片机相当于MCS-51系列单片机中的哪一种型号的产品? 答:相当于MCS-51系列中的87C51,只不过是AT89C51芯片内的4KB Flash存储器取代了87C51片内的4KB的EPROM。

单片机原理与接口技术习题

单选题 1.执行中断返回指令RETI,会从堆栈取出数作为地址送给(C )。 1. A. DPTR 2. B. PSW 3. C. PC 4. D. Rn 2、从MCS-51单 片机外部数据 存储器取数据 时,可以采用指 令(D )。 1. A. MOV A , R1 2. B. POP A 3. C. MOVC A , @A+DPTR 4. D. MOVX A , 3、指令MOV A, @R0 中源操作 数的寻址方式 为(B )。 1. A. 寄存器寻 址

2. B. 寄存器间接寻址 3. C. 立即寻址 4. D. 直接寻址 4、MCS-51单片机是根据(A )中的数值作为 地址读取指令。 1. A. PC 2. B. DPTR 3. C. SP 4. D. PSW 5、8051单片机使用2MHz的晶振,一个机器周期是(C )微秒。 1. A. 1 2. B. 4

3. C. 6 4. D. 12 6、用于设置定时器/计数器工作方式的寄存器是(D )。 1. A. PCON 2. B. TCON 3. C. SCON 4. D. TMOD 7、若需要从MCS-51单片机外部数据存储器取数据时,可以采用的指令为(A )。 1. A. MOVX A, @R0 2. B. MOV A, @R1

3. C. MOVC A, @A + DPTR 4. D. POP A 8、MCS-51单片机复位操作会把PC初始化为( B )。 1. A. 0100H 2. B. 0000H 3. C. 0003H 4. D. 000BH 9、MCS―51单片机一个机器周期由(D)个振荡周期构成。 1. A. 1 2. B. 4 3. C. 6

微机原理及接口技术实验报告

实验一 DEBUG命令及其基本操作 一.实验目的: 1.熟练掌握DEBUG的常用命令,学会用DEBUG来调试程序。 2.深入了解数据在存储器中的存取方法,了解堆栈中数据的压入与弹出方法。 3.掌握各种寻址方法,了解简单指令的执行过程。 二、实验容: 1.打开计算机,在WINXP操作系统下,点击“开始”,选择“运行”,在“打开”一栏中输入“debug”,运行DEBUG应用程序,将出现DEBUG的提示符“-”。 2.在DEBUG提示符后键入字母“-a100”,回车后,屏幕上就会出现下面类似的容: (具体到每个计算机所产生的段地址和偏移地址可能有所不同) 这表示在地址1383:0100处,DEBUG等待用户键入程序助记符,下面键入程序: 3.在DEBUG的提示符后键入G,这是执行程序的命令,然后回车,就可以看到结果了。 4.现在让我们用“d”命令来看一下存储器 在100H~107H这8个单元,程序覆盖了原来的容,右边的字符是组成程序的ASCII码等价字符,圆点表示不可显示字符。 5.下面我们用反汇编命令来查看一下所键入的程序。“U”命令的格式是“U起始地址,终止地址”,即把起始地址到终止地址之间的十六进制码反汇编成汇编语言助记符语句。键入: 大家在屏幕上不仅可以看到地址和助记符,而且还可以看到与汇编语言等价的机器语言。6.现在我们修改存储单元的容,看看显示情况和变化。 我们看到显示的结果发生了变化,这是因为DOS的2号功能调用是显示输入数据的ASCII 码字符。 7.下面我们给程序命名并存盘。在键入“n”后紧跟程序名及扩展名

因为文件的字节数必须事先放在BX和CX中,其中BX保存高16位,CX保存低16位,整个32位的数保存文件的字节数,一般来说,BX设置为0,因为CX可存放的字节数为64K,对于一般的程序已足够了。 8.结束后可用Q命令退出DEBUG程序。 三、实验习题 1.写出完成下列功能的指令序列 (1)传送20H到AL寄存器 (2)将(AL)*2 (3)传送25H到BL寄存器 (4)(AL)*(BL) 问最后的结果(AX)=? 单步执行结果: 2.分别写出完成下列指令要求的指令: (1)将BX的低4位清零; (2)将AX的高4位置1; (3)将DX的低4位取反; (4)将CX的中间八位清零; (5)将AX中与BX中的对应位不相同的位均置1.

单片机原理及接口技术第三版李朝青课后习题答案

单片机原理及接口李朝青 1.89C51单片机内包含哪些主要逻辑功能部件? 答:80C51系列单片机在片内集成了以下主要逻辑功能部件: (l)CPU(中央处理器):8位 (2)片内RAM:128B (3)特殊功能寄存器:21个 (4)程序存储器:4KB (5)并行I/O口:8位,4个 (6)串行接口:全双工,1个 (7)定时器/计数器:16位,2个 (8)片内时钟电路:1个 2.89C51的EA端有何用途? 答:/EA端接高电平时,CPU只访问片内flash Rom并执行内部程序,存储器。/EA端接低电平时,CPU只访问外部ROM,并执行片外程序存储器中的指令。/EA 端保持高电平时,CPU执行内部存储器中的指令。 3. 89C51的存储器分哪几个空间?如何区别不同空间的寻址? 答:ROM(片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits 地址)(64KB) 片外RAM(MOVX)(16bits地址)(64KB) 片内RAM(MOV)(8bits地址)(256B) 4. 简述89C51片内RAM的空间分配。 答:片内RAM有256B 低128B是真正的RAM区 高128B是SFR(特殊功能寄存器)区 5. 简述布尔处理存储器的空间分配,片内RAM中包含哪些可位寻址单元。答:片内RAM区从00H~FFH(256B) 其中20H~2FH(字节地址)是位寻址区 对应的位地址是00H~7FH 6. 如何简捷地判断89C51正在工作? 答:用示波器观察8051的XTAL2端是否有脉冲信号输出(判断震荡电路工作是否正常?) ALE(地址锁存允许)(Address Latch Enable)输出是fosc的6分频用示波器观察ALE是否有脉冲输出(判断 8051芯片的好坏?) 观察PSEN(判断8051能够到EPROM 或ROM中读取指令码?) 因为/PSEN接外部EPROM(ROM)的/OE端子 OE=Output Enable(输出允许) 7. 89C51如何确定和改变当前工作寄存器组?

微机原理与接口技术实验报告

微机原理与接口技术实验报告

2

3

实验一:数据传送 实验学时:2 实验类型:验证 实验要求:必修 一.实验目的 1.学习程序设计的基本方法和技能,掌握用汇编语言设计、编写、调试和运行程序的方法; 学习用全屏幕编辑软件QEDIT.EXE建立源程序(.ASM文件); 学习用汇编软件MASM.EXE对源文件汇编产生目标文件(.OBJ文件); 学习用连接程序LINK.EXE对目标文件产生可执行文件(.EXE文件); 学习用调试软件TD.EXE调试可执行文件; 2.掌握各种寻址方法以及简单指令的执行过程。 二.实验器材 PC机 三.实验组织运行要求 1.利用堆栈实现AX的内容与BX的内容进行交换。堆栈指针SP=2000H,AX=3000H,BX=5000H; 2.汇编、调试、观察、记录结果; ⑴用QEDIT.EXE软件输入汇编语言源程序,以.ASM格式文件存盘; ⑵用MASM对源程序进行汇编产生二进制目标文件(.OBJ文件),再用连接程序LINK产生可执行文件(.EXE文件); ⑶用调试软件TD调试、运行程序,观察、记录结果。 四.实验步骤 1.进入子目录E:>\SY86后,利用QEDIT.EXE(简称Q)送入以下汇编语言源程序,并以M1.ASM文件存盘 ⑴汇编语言程序的上机过程 ①进入\SY86子目录 E:>CD\SY86 E:\SY86> ②进入QEDIT.EXE 编辑界面 E:\SY86> Q ③输入文件名*.ASM(如M1.ASM)后,输入源程序 源程序 DATA SEGMENT PARA PUBLIC’DATA’ ;数据段定义 DB 512 DUP(0) DATA ENDS STACK SEGMENT PARA STACK’STACK’ ;堆栈段定义 DB 512 DUP( ?) 4

单片机原理及接口技术 复习要点

单片机原理及接口技术复习要点 第1章微型计算机基础 1、常用进制转换 2、原码、补码表示方法及表示范围,符号扩展 3、无符号数及有符号数的加减运算 4、二进制数的逻辑运算 5、ASCII码及BCD码 第2章MCS-51单片机的结构和原理 1、CPU,存储器和总线等概念 2、单片机的定义及组成 3、8051单片机的内部RAM的结构 1)寄存器区(00H~1FH单元) 2)位寻址区(20H~2FH单元) 3)特殊功能寄存器 4、标志寄存器CY,OV,P 5、堆栈和SP 6、时钟和复位电路,复位时PC,SP的内容 7、MCS-51单片机引脚 第3章汇编语言与汇编程序 1、符号指令的寻址方式 (1)寄存器寻址 (2)立即寻址 (3)直接寻址 (4)间接寻址 (5)变址寻址 (6)位寻址 2、数据传送类指令 掌握:MOV,MOVC,MOVX,PUSH,POP 了解XCH,XCHD,SWAP 3、算术运算指令 掌握:ADD,ADDC,INC,SUBB,DEC,MUL,DIV,DA

4、逻辑运算及移位类指令 ANL,ORL,XRL,CPL,RR,RL,RRC,RLC 5、位操作指令 掌握SETB,CLR,MOV,了解ANL,ORL,CPL位操作 6、常量、数据标号和指令标号 7、汇编地址计数器$,ORG 8、指令周期、机器周期、状态 第4章汇编语言程序设计 1、顺序程序设计 BCD码,ASCII码相互转换, 2、分支程序设计 (1)条件转移指令:JZ,JNZ,JC,JNC,JB,JNB (2)比较不等转移指令:CJNE (3)无条件转移指令 (4)掌握AJMP,了解LJMP,JMP,SJMP 十六进制数与ASCII码的相互转换,无符号数比较大小 3、循环程序设计 掌握DJNZ指令,缓冲区数据读取,写入操作,多数据累加求和等。 4 子程序的概念,主程序与子程序间的参数传递,子程序的调用指令与返回指令,子程序的设计 第5章MCS-51单片机内部接口电路 1、接口的概念及功能 2、数据传送方式及特点 3、传送控制方式:查询方式、中断方式、DMA方式 4、中断的概念,处理过程,中断优先权,中断的处理过程、中断源、中断标志位、中断允许寄存器,中断入口地址 5、中断程序设计 主程序:中断入口地址设置;开中断源中断允许位,开CPU总中断 中断服务程序:注意保护现场和恢复现场,中断返回。

相关主题
文本预览
相关文档 最新文档