没有合适的资源?快使用搜索试试~ 我知道了~
单片机实验指导书配汇编语言参考程序 1.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 184 浏览量
2023-06-06
18:38:31
上传
评论
收藏 712KB PDF 举报
温馨提示
试读
33页
单片机实验指导书配汇编语言参考程序 1.pdf
资源推荐
资源详情
资源评论
- -
1
单片机实验指导书
一、硬件实验系统介绍
实验板的基础板部分主要组成由 2 个 STC-89C51 单片机,电源开关、复位电路,下载电路,流水灯模块、数码管
显示模块、键盘模块、脉冲发生电路等组成。
二、单片机实验板使用说明
1. 下载软件为 STC-ISP V3.X 版本。
2. 程序下载前,选定所使用的单片机,将 J4 短路帽连接到位,单片机的电源连接到位。
3. 根据实验项目所实现功能的要求,利用杜邦线,实现各功能模块与所选单片机的连接。
4. 利用 Keil 调试软件建立工程文件,编写源程序,编译调试,直到无错误,生成.HEX 可执行文件。
5. 双击桌面上的 STC-ISP 在线编程软件,将可执行文件下载到实验开发板的单片机。
6.开始下载程序前,关闭实验板的总电源,等待下载软件提示上电后,再打开实验板电源。
三、Keil 软件使用简要说明
1.为了文件安全和方便管理,先在 D 盘下建立一个空文件夹,起名“单片机实验”文件;在“单片机实验”文件
夹中在建立多个文件夹,每个文件夹中存放一个实验项目,避免相互混合。
2. 双击桌面上的 Keil uVision4 图标,出现启动画面。
3. 选择“主菜单 project \ New uVision Project”新建一个工程。
4. 在对话框中,选择相应的路径和文件夹,并给工程取名后保存,不需要扩展名。
5. 接下来自动弹出一个对话框“Select Device for Target‘Target 1„’”,为工程对象选择器件,就是选择 CPU
类型。我们找到并选中“Atmel”下的 AT89C51;
(8051-based Fullly Static 24MHz CMOS controller with 32 I/O Lines,2 Timers/Counters,6 Interrupts/2
Priority Levels,UART,Three-Level Program Memory Lock,4K Bytes Flash Memory,128 Bytes On-chip RAM)
工程对象选项设定:单击“工程”菜单中的“options for Target 属性”命令。
a) 在“目标”标签中,晶体 X 晶振频率(MHz),默认为 12MHz,可以有针对性修改。其它采用默认设置。
b) 在“输出”标签中,在“建立 hex 格式文件”前打勾选中,其它采用默认设置。
6. 工程创建完毕,接下来开始建立一个源程序文本;选择“主菜单 File \ New”命令,新建一个源程序文本文件。
在程序编辑区写入或复制一个完整的源程序;
7. 选择保存文件时,需要输入源程序文件的名称。如果是汇编语言源程序,后缀名是“.asm”,如果是 C 语言源
程序,后缀名则是“.c”,然后保存到指定路径。
8. 接下来需要把刚创建的源程序文件添加到工程项目文件中,选择 project 左边的管理窗口,单击工程管理器中
“Target1”前的“+”号,右击“Source Group 1”\ “Add File to ‘Source Group 1’” ,在接下来的对话框中
选择文件类型“*.a*”,在文件列表中选择相应的文件,然后点击“Add”即可。
9.在点“ADD”按钮时会感到奇怪,对话框不会消失,直接点击“Close”关闭就行了,此时可以看到程序文本字体颜
色已发生了变化。
10. 编译文件:执行“工程”菜单中的“构造目标文件”。无错误时,自动产生“*.hex”文件。
11. 如果有错误,根据提示信息修改源程序,直至编译通过。编译通过后将产生与工程名相同,以 hex 为扩展名
的目标文件。
12. Keil uVISION 拥有强大的功能,以上只是必备的基本操作,还有仿真、调试等功能。
四、Protues 软件使用简要说明
1. 在桌面的“开始”程序菜单中,在桌面上选择【开始】→【程序】→“Proteus 7 Professional”,打开设计界面。
2. 用鼠标左键单击界面左侧预览窗口下面的“P”按钮,弹出“Pick Devices”(元件拾取)对话框。
3. 通过按类别查找和拾取元件或直接查找和拾取元件,把元件从元件拾取对话框中拾取到图形编辑界面的对象
选择器中。单片机、晶振、电阻、电容、发光二极管等
4. 把相应元件从对象选择器中放置到图形编辑区中,调整元件摆放位置和放置方向,进行电路连接,编辑修改
元件参数,完成电路设计。
5. 在资料盘上建立一个单独的文件夹,并进行取名存盘。
6. 借助 Keil 程序设计与汇编平台,结合课本实例,完成针对硬件电路的程序设计、汇编,注意汇编后产生的
“.HEX”文件的存储路径。
7. 在 protues 系统中,加载单片机软件,观察程序运行效果。
8. 修改程序-仿真运行-再修改程序-再仿真运行。
- -
2
实验一 单片机开发环境(编程与仿真调试平台软件 keil 与件 protues)的联合使用
——以 I/O 接口简单流水灯实验为例
一、 实验目的
1.学习编程、汇编与仿真调试平台软件 keil 的使用方法和技巧。
2.通过调试运行,理解和掌握程序存储器 ROM 的结构特点、存储寻址、空间分配特点;理解和掌握数据存储器 RAM
的功能分区、结构特点。
3.利用 Keil 调试软件,设计汇编语言源程序的设计过程,掌握建立工程,编译源程序,程序的调试方法。
4.理解和掌握指令的含义和使用,进一步提高编程的技巧和水平。学习利用 Protues 仿真软件绘制单片机最小系
统仿真电路。
5.学习 Keil 调试软件、Protues 仿真软件的联合应用。
二、实验仪器、材料
1.微型计算机(PⅣ以上);
2.编程、汇编与模拟平台软件 Keil uVision4;
3.电子技术专业仿真软件 protues 运行平台。
三、实验内容
1.学习编程、汇编与模拟平台软件 Keil uVision4 的使用;
2.针对 STC89C51 单片机进行小功能软件的汇编语言源程序设计;
3.对汇编语言源程序进行编译-修改-编译;
4.利用单步、全速运行,观察体会程序的运行过程。
5.学习电子技术专业仿真软件 protues 的使用方法和技巧;
6.针对 STC89C51 单片机进行最小系统电路设计,有目的的进行简单外围电路设计;
7.借助 Keil 程序设计与汇编平台,结合课本实例,完成针对硬件电路的程序设计、汇编;
8.在仿真软件 protues 中的硬件电路中,运行汇编后的单片机程序,观察软件的运行过程;
9.修改程序-仿真运行-再修改程序-再仿真运行„。
四、实验项目及实验步骤
1.Keil uVision4 软件的使用
1)为了文件安全和方便管理,先在 D 盘下建立一个空文件夹,起名单片机实验;在该文件夹中再建立多个文件夹,
分别存放多个不同的实验项目(如:实验一、实验二等),避免相互混合。
2)双击桌面上的 Keil uVision4 图标,出现启动画面。
3)选择“主菜单 project \ New uVision Project”新建一个工程。
4)在对话框中,选择相应的路径和文件夹,并给工程取名后保存,不需要填后缀。
5)接下来自动弹出一个对话框“Select Device for Target‘Target 1„’”,为工程对象选择器件,就是选择 CPU 类
型。找到并选中“Atmel”下的 AT89C51;
(8051-based Fullly Static 24MHz CMOS controller with 32 I/O Lines,2 Timers/Counters,6 Interrupts/2 Priority
Levels,UART,Three-Level Program Memory Lock,4K Bytes Flash Memory,128 Bytes On-chip RAM)
6)工程创建完毕,接下来开始建立一个源程序;选择“主菜单 File \ New”命令,新建一个源程序文本文件。在下
面空白区别写入或复制一个完整的汇编程序;
7)选择保存文件,文件另存为命令,输入源程序文件的名称。因为是汇编语言源程序,后缀名是“. asm”,如果是
C 语言源程序,后缀名则是“. c”,并留意保存路径,然后保存。
8)接下来需要把刚创建的源程序文件添加到工程项目文件中,选择 project 左边的管理窗口,右击“Source Group
1”\ “Add File to ‘Source Group 1’” ,在接下来的对话框中选择文件类型“*.a*”,在文件列表中选择相应的文件,
然后点击“Add”即可。
9)在点“ADD”按钮时会感到奇怪,对话框不会消失,直接点击“Close”关闭就行了,此时可以看到程序文本字体颜
色已发生了变化;
10)接下来还需要对项目的器件及选项进行简单设置,选择“主菜单 project \ Options for Target‘Target 1„’,在对
话框中选择“Target”标签,将晶振频率设成 12M(12MHZ 方便计算指令时间);再选择“Output”标签,选中“Create
HEX File”,使编译器编译时输出单片机需要的 HEX 文件;
11)Keil uVISION 拥有强大的功能,以上只是必备的基本操作,还有仿真、调试等功能。
2.仿真软件 protues 的简单使用操作
- -
3
1)在桌面的“开始”程序菜单中,在桌面上选择【开始】→【程序】→“Proteus 7 Professional”,打开设计界面。
2)用鼠标左键单击界面左侧预览窗口下面的“P”按钮,弹出“Pick Devices”(元件拾取)对话框。
3)通过按类别查找和拾取元件或直接查找和拾取元件,把元件从元件拾取对话框中拾取到图形编辑界面的对象选
择器中。单片机、晶振、电阻、电容、发光二极管等
4)把相应元件从对象选择器中放置到图形编辑区中,调整元件摆放位置和放置方向,进行电路连接,编辑修改元
件参数,完成电路设计。
5)在 D 盘上建立一个单独的文件夹,将文件命名保存在该文件夹下。
6)借助 Keil 程序设计与汇编平台,结合课本实例,完成针对硬件电路的程序设计、汇编,注意汇编后产生的“.HEX”
文件的存储路径。
7)在 protues 系统中,加载单片机软件,观察程序运行效果。
8)“修改程序-仿真运行-再修改程序-再仿真运行;”。
3.汇编语言源程序设计
1)点亮一只发光二极管练习
2)使用移位指令控制 8 只发光二极管的循环点亮控制
P2 口可以作为输出口接发光二极管,既可以输出高电平“1”,也可以输出低电平“0”,“ 1”和“0”的位置和多
少可以任意组合,可以实现流水灯的点亮控制。利用对累加器 A 的移位指令,控制改变 A 中的值后从 P2 口输出,实
现花样等的点亮控制。利用仿真软件实现电路设计,观察软硬件的运行特点。
P27
P25
P24
P23 P24
P22
P21
P20 P23
P26 P25
P27
P20
P21
P22
P26
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
C1
22pf
C2
22pf
C3
10uF
X1
12M
R1
10k
D2
D3
D4
D5
D6
D7
D8
D9
R3
220
R4
220
R5
220
R6
220
R7
220
R8
220
R9
220
R10
220
ORG 0000H
MOV A,#0FEH
LOOP1:MOV P2,A
ACALL Delay1s
RR A
SJMP LOOP1
Delay1s:MOV R6,#04H //延时 1S 子程序
Delay1:MOV R7,#0FFH
Delay2:MOV R2,#0FFH
Delay3:DJNZ R2,Delay3
DJNZ R7,Delay2
DJNZ R6,Delay1
RET
END
五、实验结果分析
- -
4
硬件及接口实验
实验二 流水灯实验——简单点亮历程控制
一、实验题目
选定利用单片机的输出口线做流水灯的输出控制,选定所使用的流水灯模块,然后用杜邦线进行电路连接。例如
选用下方单片机的 P2 口,共阴的流水灯模块完成本次实验。指定实现的点亮历程如下:
1. 使发光二极管从左到右逐个点亮,并循环,时间间隔 1S。
2. 使发光二极管从左到右逐个点亮,并循环,时间间隔 2S。
二、实验目的
1.学习熟悉汇编软件 Keil 和在线编程 STC-ISP 软件的使用;
2. 单片机系统实现花样流水灯实验的硬件电路和软件编程技巧;
3.学习单片机 IO 口作为输出口的使用方法和移位指令的使用;
4.学习延时子程序的编写和使用;
5. 进一步熟悉、掌握 MCS-51 单片机指令系统和应用软件的编程方法和技巧。
三、实验仪器、材料
1. 微型计算机(PⅣ以上);
2. 编程、汇编与模拟平台软件 Keil uVision4;
3. 电子技术专业仿真软件 protues 运行平台;
4. 单片机实验开发电路板。
四、有关说明
P2 口为准双向口,P2 口的每一位都能独立地定义为输入位或输出位。作为输入位时,必须向锁存器相应位写入“l”,
该位才能作为输入。51 单片机中所有口锁存器在复位时均置为“l"如果后来在口锁存器写过“0”,在需要时应写入一
个“l”,使它成为一个输入。
再来看一下延时程序的实现。现常用的有两种方法,一是用定时器中断来实现,一是用指令循环来实现。在系统
时间允许的情况下可以采用后一种方法。
本实验系统晶振为 11.059MHz,则一个机器周期约为 1us。现要写一个延时 1ms 的程序,可大致写出如下:
机器周期数
MOV R7, #100 1 (1)
DELI:MOV R6, #X 1 (2)
DELZ:DJNZ R6, DELZ 2 (3)
DJNZ R7, DELI 2 (4)
RET 2
上面 MOV、DJNZ 指令均需两个机器周期,所以每执行一条指令需要 2us,现求出 X 值:
[1+(1+2*X+2)*100+2](机器周期数)*1us=1000us
上式可近似列出,即
2*X*100=1000
经计算得 X=5。
五、实验电路:参见系统板和实验一仿真电路图
六、程序框图如右所示
汇编语言参考程序
/*利用软件延时,让 8 只小灯以简单点亮历程流动*/
ORG 0000H
LJMP MAIN
ORG 0100H
开始
置初值
输出到P2口
延时
循环左移一位以显示下一位
图 1 实验一二程序框图
- -
5
MAIN:MOV A,#0FEH
LOOP:MOV P2,A
ACALL DELAY
RL A
SJMP LOOP
/*延时 125ms 的延时子程序*/
DELAY:MOV R7,#250
DELAY1:MOV R6,#250
DELAY2:DJNZ R6,$
DJNZ R7,DELAY1
RET
END
七、实验要求
1. 完成仿真电路设计,要求电路布局整齐规范,参数标注清楚;
2. 在参考程序的基础上,按实验题目要求编写源程序代码;
3. 编译连接源程序,在仿真电路上实现题目要求;
4. 利用杜邦线在实验开发板上连接电路,下载程序,反复调试,直至实现题目要求;
5. 完成实验报告,包括实验题目、目的,硬件原理图、软件程序框图,调试通过的源程序;
6. 总结本实验的编程方法和技巧,程序调试过程中出现的问题及问题解决情况。
实验二 流水灯实验——任意点亮历程的流水灯的控制
一、实验题目
假设所使用的硬件模块及硬件连线与实验一相同。指定实现的点亮历程如下:
1. 使发光二极管从左到右依次逐个点亮,并循环,每个点亮状态之间间隔 1.5s。
2. 使发光二极管从两头向中间依次点亮然后全灭再全亮,最后是程序从开始循环,每个点亮状态之间间隔 1s。
二、实验目的
l.学习利用查表指令获得数据,输出数据的程序设计方法;
2.进一步巩固延时子程序的编写和使用;
3. 进一步熟悉、掌握 MCS-51 单片机指令系统和应用软件的编程方法和技巧。
三、实验仪器、材料
1. 微型计算机(PⅣ以上)
2. 编程、汇编与模拟平台软件 Keil uVision4
3. 电子技术专业仿真软件 protues 运行平台
4. 单片机实验开发电路板
四、实验电路和连线自由设计
五、程序框图如下所示
汇编语言参考程序:
/*利用查表指令实现任意点亮历程的流水灯控制*/
ORG 0000H
LJMP MAIN
ORG 0100H
剩余32页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 83
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功