单片机原理及其接口技术实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理及其接口技术实验指导书
实验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