实验1实验2熟悉软件开发环境及51单片机编程学生版.docx
- 文档编号:9923759
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:45
- 大小:113.91KB
实验1实验2熟悉软件开发环境及51单片机编程学生版.docx
《实验1实验2熟悉软件开发环境及51单片机编程学生版.docx》由会员分享,可在线阅读,更多相关《实验1实验2熟悉软件开发环境及51单片机编程学生版.docx(45页珍藏版)》请在冰点文库上搜索。
实验1实验2熟悉软件开发环境及51单片机编程学生版
实验一、熟悉软件开发环境及51单片机资源认识
——I/O口的应用与编程
计算机的应用是一个系统,这个系统应由两部分组成――硬件和软件。
硬件是指具体的元器件、电路等,软件则是指程序和数据。
如果説硬件是计算机应用系统的基础的话,那么软件则是计算机应用系统的灵魂。
计算机原理告诉我们程序和数据是被“装载”在计算机存
储器中的,从某种意义上讲,认识一个计算机的存储器系统是开发软件所必须的。
为了全面认识51系列单片机的存储空间,实验一与实验二列出四个实训单元。
在进行完四个实训单元后,要求学生应全面了解51系列单片机的程序存储器(ROM)、片内随机)空间的范围、用途和使用方法等。
RAMRAM)和片外随机存储器(片外存储器(片内
1.1认识51系列单片机的程序存储器(ROM)
第一部分教学要求
一、实验目的:
1.认识51系列单片机的程序存储器(ROM)的空间范围;
2.认识汇编指令编码在ROM中存储形式;
3.掌握指令编码和指令编码所在地址的概念;
4.了解51系列单片机的程序存储器(ROM)固定地址的用途。
二、实训平台
1.PC机,台/人;
2.伟福V3.2版仿真软件或其它51系列单片机仿真软件
三、实验报告内容:
项目(M)(P)
形式
成绩评定
1
ROM存储空间描述51系列单片机
书面
2
51系列单片机ROM空间使用情况观察
填表
3
总成绩
教师签名
(注:
成绩评定等级:
优、良、中、及格、不及格)
教学内容第二部分
一、预备知识存储器1.ROM即只读存储器之意,其特点是在计算机正常运行的情况下Memory)ROM(ReadOnly
通常用来存储固定不变的程序存储器只能进行读操作且断电后信息不会丢失,对ROMCPU按其性能可分为以下几类:
和数据,如引导程序、基本输入输出系统程序等。
ROMROM
(1)掩模工艺要求存储的信息,制造成固定的半导体掩模版生产的。
一它是由芯片制造厂根据ROM适用于存储固定不变的程序和ROM其存储的信息只能读出,不能改变。
这种旦制出成品后,数据,批量生产时,成本较低。
PROM
(2)可一次编程进行一次编程。
ROM允许用户对EPROM
可擦除的(3)可分为紫外线擦除的可按擦除的方法不同,即可擦除。
进行多次编程,ROM允许用户对.
和电擦除的电擦除可编程序只读存储器EPROM(ErasableProgrammableReadOnlyMemory)OnlyProgrammableRead器EEPROM(ElectricallyErasable序除编程只读存储可擦Memory)。
(4)Flash存储器年代末逐渐发展起来的一种新型不挥发性半导体存储器,世纪80Flash存储器是在20在系统的电可擦除性的一些优点,实现了结构简单、密度高和EEPROM它结合了以往EPROM(Sector)Flash存储器和传统存储器的最大区别在于它是按块高密度、低成本和高可靠性。
、数字蜂窝电PCBIOS擦除,按位编程,从而实现了快闪擦除的高速度。
目前它广泛应用于话、汽车领域和微控制器等许多领域。
存储器需通过专用的编程器将程序和数据写入其中。
EEPROM、FlashEPROM、
空间51系列单片机ROM2.
的程序存储器地址范64KB16位的,所以能寻址由于5l系列单片机的程序计数器PC是系列单片机中根据不同的型号,5l围。
允许用户程序调用或转向64KB的任何存储单元。
在,掩模版的ROM其程序存储器的形式也有所不同。
例如:
8051单片机在芯片内部设置了4KBFlash的8KBEPROM,89C52单片机在芯片内部设置了的8751单片机在芯片内部设置了4KB。
单片机在芯片内部没有设置程序存储器,需要在单片机外部配置EPROM存储器,而8031引脚接高电平引脚为访问内部或外部程序存储器的选择端。
当EA51系列单片机的EA将首先访问内部存储器,当指令地址超过内部存储器的最大地址时,自动转向片外时,CPU单只能访问外部程序存储器。
对于8031接地),CPUROM去取指令。
当EA引脚接低电平时(片机,由于其内部无程序存储器,故只能采用这种接法。
开始编址。
程序存储器低端的一些地址被固系列单片机程序存储器的地址从0000H510000H定地用作特定程序的入口地址:
0000H:
单片机复位后的程序入口地址;0001H
0003H:
外部中断0的中断服务程序入口地址;
000BH:
定时器0的中断服务程序入口地址;:
:
0013H:
外部中断l的中断服务程序入口地址;:
:
001BH:
定时器1的中断服务程序入口地址;
0023H:
串行端口的中断服务程序入口地址;
002BH:
定时器2的中断服务程序入口地址。
FFFFH
1.1.1ROM空间示意图
编程时,通常在这些入口地址开始的二三个单元中,放人一条转移指令,以使相应的服务与实际分配的程序存储器区域中的程序段相对应(仅在中断服务程序较短时,才可以将中断服务程序直接放在相应的人口地址开始的几个单元中)。
3.源程序汇编与程序定位伪指令
将汇编语言源程序转换为计算机能执行的机器码形式的目标程序的过程叫汇编。
汇编常用的方法有两种:
一是手工汇编,二是利用计算机汇编。
手工汇编时,把程序用助记符指令写出后,通过手工方式查指令编码表,逐个把助记符指令翻译成机器码,然后把得到的机器码程序(以十六进制形式)键入到单片机开发机中,并进行调试。
由于手工汇编是按绝对地址进行定位的,所以,对于偏移量的计算和程序的修改有诸多不便。
通常只有程序较小或条件所限时才使用。
机器汇编是在常用的个人计算机上,使用交叉汇编程序将汇编语言源程序转换为计算机能执行的机器码形式的目标程序。
汇编工作由计算机自动完成。
生成的目标程序由PC机传到开发机上,经调试无误后,再固化到程序存储器ROM中。
机器汇编与手工汇编相比具有极大的优势,是汇编工作的首选。
本教材选用的伟福仿真软件就可进行机器汇编。
伪指令不是单片机执行的指令,没有对应的机器码,仅是用来对汇编过程进行某种控制。
常用的伪指令有:
ORG
位伪指令定)1(.
格式:
[标号:
]ORGl6位地址
功能:
规定程序块或数据块存放的起始地址。
如:
ORG8000H
START:
MOVA,#30H
该语句规定第一条指令从地址8000H单元开始存放。
标号START的值为8000H。
通常,在一段汇编语言源程序的开始,都要设置一条ORG伪指令来指定该程序在存储器中存放的起始位置。
若省略ORG伪指令,则该程序段从0000H单元开始存放。
在一个源程序中,可以多次使用ORG伪指令,以规定不同程序段或数据段存放的起始地址,但要求16位地址值由
小到大依序排列,不允许空间重叠。
(2)汇编结束伪指令END
格式:
[标号:
]END[表达式]
功能:
结束汇编。
汇编程序遇到END伪指令后即结束汇编。
处于END之后的程序,汇编程序不予处理。
(3)字节数据定义伪指令DB
格式:
[标号:
]DB8位字节数据表
功能:
从标号指定的地址单元开始,在程序存储器中定义字节数据。
字节数据表可以是一个或多个字节数据、字符串或表达式。
该伪指令将字节数据表中的数据按从左到右的顺序依次存放在指定的存储单元中。
一个数据占一个存储单元。
4.伟福V3.2版仿真软件使用
见后续实验讲义。
二、实训程序
ORG0000H
*AJMPBEGIN;转初始化程序段
ORG0003H
LJMPPINT0;转外部中断0的中断服务程序
ORG0100H
BEGIN:
SETBEA;初始化程序段
SETBEX0
SETBPX0
SETBIT0
MOVR0,#03H
MOVA,#0A8H
MOV@R0,A
MOVR1,#20H
MOVR2,#31H
MOVR0,#00H
MOVA,@R1
MOVX@R0,A
MOVR0,#03H
MOVA,#01H
MOVX@R0,A
CLRA
MOVX@R0,A
*LOOP:
SJMP$
ORG2000H
的中断服务程序0外部中断;PINT0:
MOVR0,#00H
INCR1
MOVA,@R1
MOVX@R0,A
MOVR0,#02H
MOVA,#01H
MOVX@R0,A
CLRA
MOVX@R0,A
*DJNZR2,NEXT
CLREX0
SJMPDONE
NEXT:
SETBEX0
DONE:
RETI
END
三、实训
将以上实训程序通过伟福V3.2版仿真软件(或其它51系列单片机仿真软件)输入到计算机中,并以*.ASM文件名保存,然后进行汇编。
汇编成功后,通过伟福V3.2版仿真软件的“窗口(W)→数据窗口(D)→CODE”菜单观察程序存储器(ROM)中的内容,理解“地址”、“指令代码”的概念,并了解51系列单片机程序存储器(ROM)空间的分布特点。
注:
本节实训不要求学生具体读懂上述程序的具体功能。
具体步骤如下:
(1)打开伟福V3.2版仿真软件,选择伟福软件模拟器。
如图1.1.2所示
1.1.2图
所示1.1.3输入实训程序。
如图(F)选择“文件
(2)→新建文件,”(N)
1.1.3
图
后缀新文.ASM,在弹出的对话框中输入带有”(3)程序输完后,选择“文件(F)→另存为(A)
(注意磁盘上。
或E件名。
按“保存”按钮后,程序就会以带有.ASM后缀的文件形式存储D所示)如图1.1.4此时程序中字符会根据伟福仿真软件的设置变色。
1.1.4图
所示。
若无错,则会在模拟”对源程序进行汇编,如图选择“项目(4)→编译1.1.5
的程序存储器中形成机器指令代码。
.
1.1.5
图
1.1.6)中的内容。
如图,观察程序存储器(ROM→数据窗口(W)(D)→CODE”(5)选择“窗口
所示
1.1.6图
黑字部分为蓝字部分为地址,图1.1.7是在模拟的程序存储器中形成的机器指令代码。
指令代码。
拖动右侧的滚动条可观察整个程序存储器空间的内容。
指令所在的地址指令代码.
1.1.7图
号指令的指令编码形成)窗口数据,填写下列表格。
(在实验过程中注意*(6)根据图1.1.7
指令编码指令助记符指令编码起始地址AJMP0100H21H,00H0000H
LJPM2000H
0003H02H,20H,00H
1.2认识51系列单片机的片内随机存储器(片内RAM)
第一部分教学要求
一、实验目的
1、认识51系列单片机片内随机存储器(片内RAM)的空间范围;
2、认识51系列单片机片内随机存储器的区域划分;
3、掌握字节地址和位地址的概念;
4、了解R0~R7寄存器与字节地址的关系。
二、实训平台
1、PC机,台/人;
2、伟福V3.2版仿真软件或其它51系列单片机仿真软件
三、实验报告内容
项目
形式
1字节地址和位地址的概念描述
书面
2单片机片内随机存储器的空间使用情况观察
填表
总成绩3
教师签名
成绩评(注:
成绩评定等级:
优、良、中、及格、不及格)
第二部分教学内容
一、预备知识
1.RAM存储器
RAM(RandomAccessMemory)即随机访问存储器之意,RAM存储器是一种既可读又可写的易失性存储器,其特点是断电后所存储的信息将全部丢失,通常用来暂存运行的程序和数据。
但在单片机应用系统中RAM存储器仅被用来暂存运行的数据。
2.51系列单片机片内随机存储器的区域划分
51系列单片机片内随机存储器根据型号的不同,其存储容量为128B或256B。
典型芯片的容量为128B,被划分为工作寄存器区、位寻址区和通用RAM区等三个区域。
如图1.2.1所示。
8个工作寄存器组,每组占4个字节又被分成32中,最低的RAM其中单片机片内.
个字节。
即:
寄存器0组:
地址00H一07H;
寄存器1组:
地址08H一0FH;
寄存器2组:
地址10H一17H;
寄存器3组:
地址18H—1FH。
每个工作寄存器组都有8个寄存器,分别称为:
R0,R1,?
,R7。
程序运行时,只能有一个工作寄存器组作为当前工作寄存器组。
当前工作寄存器组的选择是由特殊功能寄存器中的程序状态字寄存器PSW的RSl、RS0两位决定的。
可以对这两位进行编程,以选择不同的工作寄存器组。
工作寄存器组与RSl、RS0的关系及地址如表2—l所示。
图1.2.151系列单片机片内RAM区域划分
表2—18051单片机工作寄存器地址表
RS1RS0R0组号DPH,#20HMOVDPL中的值=MOVMOV
R1R2R3R4R5掌握
R6的形成DPTR
0000H0栈顶地址栈顶中的数据DPTR中的值=
04H01H05H02H03H00H单元中的数据01H单元中的数据
06H
01108HTL0,#00HTL0的字节地址=
0CH0AH0DH09H0BHTL0中的值=
0EH
12010H寄存器名TH0,#10H中的值=TH0
12H11H14H15H13H图中的值=T0掌握
16H的形成T0
19H
1EH
1DH
11
1BH
1AH
3
1CH
18H
R707H0FH17H1FH
在工作寄存器区之后的20H~2FH的16个字节为位寻址区,共有128位。
每位都有相应的位地址,范围是00H~7FH。
利用位寻址,可以对被寻址的位进行位操作。
在实际应用中常把各种程序状态标志、位控制变量设在位寻址区内。
对于该区未用到的单元也可以作为通用RAM使用。
位寻址区之后的30H~7FH共80个字节为通用RAM区。
这些单元有两种用途:
其一可以作为数据缓冲器使用;其二设置堆栈区。
51系列单片机的堆栈一般设在30H~7FH的范围内。
栈顶的位置由SP寄存器指示。
系统复位时SP的初值为07H,在系统初始化时可以重新设置。
3.寻址方式与汇编指令
立即数寻址:
例MOV30H,#20H;将数据20H送入30H单元中;
直接寻址:
例MOV30H,20H;将20H单元中的数据送入30H单元中;
间接寻址:
例MOV@R0,30H;将30H单元中的数据送入以R0寄存器中的内容为地址的存储单元中;
寄存器中;R0送入20H将数据;,#20HR0MOV寄存器寻址:
例
位寻址:
例SETB00H;将位地址为00H的位置1。
二、实训程序
ORG0000H
AJMPBEGIN
ORG0030H
BEGIN:
MOVR0,#00H;0=>R0
MOVR1,#11H;11H=>R1
MOVR6,#66H;66H=>R6
MOVR7,#77H;77H=>R7
MOVR0,01H;将01单元中的数据=>R0①
MOVR6,07H;将07单元中的数据=>R6
SETBRS0;设置寄存器组为一组,RS1,RS0=01②
MOVR0,00H;将00单元中的数据=>寄存器一组中的R0
MOVR1,01H;将01单元中的数据=>寄存器一组中的R1
MOVR7,07H;将07单元中的数据=>寄存器一组中的R7
SETBRS1;设置寄存器组为三组,RS1,RS0=11③
MOVR6,00H;将00单元中的数据=>寄存器三组中的R6
MOVR7,17H;将17单元中的数据=>寄存器三组中的R7
MOV20H,#00H;0=>20H单元④
MOV2FH,#0FFH;FFH=>2FH单元
SETB00H;位地址00H置“1”⑤
SETB07H;位地址07H置“1”
CLR78H;位地址78H清“0”
CLR7FH;位地址7FH清“0”
MOV31H,#31H;31H=>31H单元⑥
MOV32H,#32H;32H=>32H单元
CLRRS0;⑦
CLRRS1;设置寄存器组为0组,RS1,RS0=00
PUSH00H;将00单元中的数据入栈
MOVSP,#30H;重新设置栈地址为30H⑧
PUSH00H;将00单元中的数据入栈
PUSH01H;将01单元中的数据入栈⑨
POP00H;弹出栈顶数据至00单元
POP01H;弹出栈顶数据至01单元
AJMP$;⑩
三、实训
1.阅读以上程序,正确理解每一条指令功能。
2.将以上实训用程序通过伟福V3.2版仿真软件(或其它51系列单片机仿真软件)输入到计算机中,并以*.ASM文件名保存,然后进行汇编。
3.汇编成功后,分别将光标移至标记①~⑨所在行,通过伟福V3.2版仿真软件的“执行(R)→设置/取消断点(B)”菜单对标记①~⑨所在行设置断点。
如图1.2.2所示。
4.选择伟福V3.2版仿真软件的“执行(R)→复位(E)菜单。
使程序从第一条指令开始执行。
起点
断点
图1.2.2
5.通过伟福V3.2版仿真软件的“执行(R)→全速执行(R)”菜单,执行到第一个断点处暂
停。
6.通过伟福V3.2版仿真软件的“窗口(W)→数据窗口(D)→DATA”菜单,观察指令运行结果。
如图1.2.3和图1.2.4所示。
图1.2.3
数据地址
图1.2.4
7.填写下表。
体会0组寄存器组与片内RAM地址的关系。
寄存器名寄存器的地址寄存器中数据
R0
R1
R6
R7
8.通过伟福V3.2版仿真软件的“执行(R)→全速执行(R)”菜单,执行到第二个断点处暂
停。
9.通过伟福V3.2版仿真软件的“窗口(W)→数据窗口(D)→DATA”菜单,观察指令运行结果。
10.填写下表。
体会寄存器与寄存器之间的数据传递。
寄存器名寄存器的地址寄存器中数据
R0
R6
11.通过伟福V3.2版仿真软件的“执行(R)→全速执行(R)”菜单,执行到第三个断点处暂
停。
12.通过伟福V3.2版仿真软件的“窗口(W)→数据窗口(D)→DATA”菜单,观察指令运行结
果。
13.填写下表。
体会第一组寄存器组与片内RAM地址的关系。
寄存器名寄存器的地址寄存器中数据
R0
R1
R7
14.通过伟福V3.2版仿真软件的“执行(R)→全速执行(R)”菜单,执行到第四个断点处暂
停。
15.通过伟福V3.2版仿真软件的“窗口(W)→数据窗口(D)→DATA”菜单,观察指令运行结
果。
16.填写下表。
体会第三组寄存器组与片内RAM地址的关系。
寄存器名寄存器的地址寄存器中数据
R6
R7
17.通过伟福V3.2版仿真软件的“执行(R)→全速执行(R)”菜单,执行到第五个断点处暂
停。
18.通过伟福V3.2版仿真软件的“窗口(W)→数据窗口(D)→DATA”菜单,观察指令运行结
果。
19.填写下表。
体会位寻址空间。
RAM字节地址字节地址中数据
20H
2FH
20.通过伟福V3.2版仿真软件的“执行(R)→全速执行(R)”菜单,执行到第六个断点处暂
停。
.
21.通过伟福V3.2版仿真软件的“窗口(W)→数据窗口(D)→DATA”菜单,观察指令运行结
果。
22.填写下表。
体会位地址与字节地址的关系。
RAM字节地址字节地址中数据
20H
2FH
23.通过伟福V3.2版仿真软件的“执行(R)→全速执行(R)”菜单,执行到第七个断点处暂
停。
24.通过伟福V3.2版仿真软件的“窗口(W)→数据窗口(D)→DATA”菜单,观察指令运行结
果。
25.填写下表。
RAM字节地址字节地址中数据
31H
32H
26.通过伟福V3.2版仿真软件的“执行(R)→全速执行(R)”菜单,执行到第八个断点处暂
停。
27.通过伟福V3.2版仿真软件的“窗口(W)→数据窗口(D)→DATA”菜单,观察指令运行结
果。
28.填写下表。
体会初始栈区的位置
栈顶地址栈顶中的数据
29.通过伟福V3.2版仿真软件的“执行(R)→全速执行(R)”菜单,执行到第九个断点处暂
停。
30.通过伟福V3.2版仿真软件的“窗口(W)→数据窗口(D)→DATA”菜单,观察指令运行结
果。
31.填写下表。
体会修改后栈区的位置
32.通过伟福V3.2版仿真软件的“执行(R)→全速执行(R)”菜单,执行到第十个断点处暂
停。
33.通过伟福V3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 熟悉 软件 开发 环境 51 单片机 编程 学生