Keil C51集成开发环境的使用练习.docx
《Keil C51集成开发环境的使用练习.docx》由会员分享,可在线阅读,更多相关《Keil C51集成开发环境的使用练习.docx(18页珍藏版)》请在冰豆网上搜索。
KeilC51集成开发环境的使用练习
实验一KeilC51集成开发环境的使用练习
一、实验目的
熟悉KeilC51集成开发环境的使用方法。
二、实验要求
熟练掌握KeilC51集成开发环境的工程建立、编辑与编译功能。
三、实验仪器和设备
1、硬件:
计算机
2、软件:
Keil软件uVision3
四、实验内容
1、进行KeilC51集成开发环境的安装和使用练习;
2、试建立一个工程项目并进行编译。
五、实验方法和步骤
1、启动软件:
双击桌面的KeilC51快捷图标
,进入如下图所示的KeilC51集成开发环境。
2、建立工程项目:
选择工具栏的【Project】→【NewProject】命令,建立一个新的𝛍Vision3工程,取一个工程名,单击“保存(S)”按钮。
选择CPU的型号为P80/87C52X2,确定。
在跳出的界面上
选择NO.
3、建立程序文件:
单击【File】→【New】新建一个名为Text1的空白文件,单击【File】→【Save】
输入文件名,保存格式为.asm汇编文件。
4、添加项目文件:
右击SourceGroup1选择
然后选择刚才新建的汇编文件,单击Add.
在上面环境中编写程序。
5、工程的详细设置:
在μVision2的菜单【Project】→【OptionsForTarget‘Target1’】的Output选项卡中,选中CreateHEXFile以产生hex文件。
在Target选项卡中XTAL:
12M
6、进行汇编:
选择菜单【Project】→【Rebuildalltargetfiles】后,程序会进行汇编,若没有错误则生成相应的机器码.hex文件。
六、实验注意事项
1、做实验要养成一个良好的习惯,在每次做实验时,都要在E盘新建一个文件夹,把项目和汇编源文件保存在其中,为了下一步的添加源文件做准备;
2、如果我们在做软硬件联合调试的时候,就要注意一定要选择正确CPU的型号(在此实验板中为:
Philips的P89C52X2),但如果我们只做软件仿真或者纯硬件实验时,我们在选择CPU型号时就没有具体的要求了。
七、实验参考程序
ORG0000H
LJMPMain
ORG00F0H
Main:
MOVR7,#0
Loop:
MOVR6,#0
DJNZR6,$
DJNZR6,$
DJNZR6,$
DJNZR6,$
DJNZR7,Loop
CPLP1.0;P1.0取反
CPLP1.1;P1.1取反
CPLP1.2;P1.2取反
CPLP1.3;P1.3取反
CPLP1.4;P1.4取反
CPLP1.5;P1.5取反
CPLP1.6;P1.6取反
CPLP1.7;P1.7取反
SJMPMain
END
实验二基于KeilC51集成开发环境的仿真与调试
一、实验目的
熟悉KeilC51集成开发环境调试功能的使用和DP-51PRO单片机综合仿真实验仪的使用。
二、实验要求
熟练掌握结合DP-51RPO单片机综合仿真实验仪和KeilC51集成开发环境进行仿真调试。
三、实验设备及仪器
IBMPC机一台
DP-51RPO单片机综合仿真实验仪一台
四、实验内容
按照以下内容建立文件并编译仿真调试。
ORG8000H
LJMPMain
ORG80F0H
Main:
MOVR7,#0
Loop:
MOVR6,#0
DJNZR6,$
DJNZR6,$
DJNZR6,$
DJNZR6,$
DJNZR7,Loop;延时
CPLP1.0;P1.0取反
CPLP1.1;P1.1取反
CPLP1.2;P1.2取反
CPLP1.3;P1.3取反
CPLP1.4;P1.4取反
CPLP1.5;P1.5取反
CPLP1.6;P1.6取反
CPLP1.7;P1.7取反
SJMPMain
END
五、实验方法和步骤
1、用40针排线把DP-51PRO实验仪上的A1区J76接口与A2区J79接口相连,然后使用导线把A2区的接口与D1区的J52接口相连,实验二原理图如图2.1所示。
图2.1实验二原理图
2、使用KeilC51集成开发环境建立工程、编辑与编译“实验内容”中所列的程序。
3、软件调试环境的设置。
(1)在keil软件的工具栏上找到
环境设置窗口快捷图标,单击进入环境设置窗口,如图2.2所示:
图2.2调试环境设置窗口
(2)Target选项卡的设置:
对于在DP-51PRO单片机综合仿真实验仪上进行的仿真、调试,由于MON51监控程序已经占用了从0000H~7FFFH地址单元的程序存储空间,因此自己编写的应用程序必须从8000H地址单元开始存放,即应设置Off-ChipCodeMemory栏内的Eprom选项。
具体设置参见图2.3。
图2.3调试环境具体设置窗口
(3)Output选项卡设置:
在图2.3界面上选择Output选项,进入环境输出设置窗口,在CreateHEXFile选项前面的方框打上√,即源文件通过编译后会生成一个十六进制的机器码.hex文件。
此机器码在仿真时将被烧录到DP-51PRO单片机试验仪的FLASH中。
如图2.4所示。
图2.4Output选项设置窗口
(4)Debug环境的设置:
在图2.4界面上选择Debug选项,进入如图2.5所示的设置界面,即可对其中的每项进行具体的设置。
图2.5Debug调试环境设置
注意:
在该选项卡中,UseSimulator是模拟仿真,它只能对程序的语法及其结构做一般性分析,与硬件没有联系。
如果是做纯软件仿真时,就应该选择该项。
而Use选项则是硬件仿真,且根据所选用的驱动而使用不同的硬件仿真方式。
对于DP-51PRO单片机综合实验仪而言,在Use下拉列表框中应选择KeilMonitor-51Driver选项。
4、根据以上要求把软件调试环境的设置好,然后再编译一次。
5、对DP-51PRO实验仪上电,然后按照要求设置实验仪并使用软件DPflash把MON51监控程序下载到实验仪。
6、关闭DPflash软件(很重要)。
把DP-51RPO单片机综合仿真实验仪A1区的工作模式选择开关(MOD-SW1)切换到RUN处,然后按一下复位键(RST),MON51程序即开始运行。
此时,DP-51RPO单片机综合仿真实验仪进入调试状态。
7、此时就可以进行仿真调试。
在keilc51软件工具栏中找到并单击debug快捷图标
,进入如图2.6所示的调试界面。
图2.6debug调试界面
如果在退出仿真退出调试模式后想再次进入仿真模式,可以先按一下A1区的复位键(RST)。
我们可以在仿真调试环境下设置断点,单步,全速运行等。
在调试过程中可以看见D1区的LED的亮灭是由程序来控制的。
六、实验思考题
如何仿真和调试C51程序?
(可以把上面的例子改为C51程序,然后再编译调试)
实验三查LED段码实验
一、实验目的
掌握单片机简单程序的设计,熟悉采用Keil软件的调试技术。
掌握使用某些窗口,比如寄存器窗口等。
二、实验要求
熟悉掌握KeilC51集成开发环境仿真调试技术。
三、实验仪器和设备
1、硬件:
计算机
2、软件:
uVision3
四、实验内容
设计一查LED段码的程序。
五、实验方法和步骤
1-6步骤如实验一。
7、根据要求对调试环境设置好后(注意:
此时的实验为纯软件仿真,所以目标应用程序应该从0000H开始存放,如实验二图2.2所示;在图2.5Debug调试环境设置中,debug调试方式应选UseSimulator模拟仿真。
),进入debug调试界面,注意观看A的变化。
六、实验参考程序
ORG0000H
LJMPMAIN
ORG0200H
MAIN:
MOVSP,#60H
MOVA,#07H
LCALLTAB
SJMP$
TAB:
INCA
MOVCA,@A+PC
RET
DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,80H,090H,088H,083H
DB0C6H,0A1H,86H,8EH;(0~F)共阳段码
END
七、实验思考题
使用MOVX指令来编写查表程序。
实验四无符号十进制数加法实验
一、实验目的
掌握MCS-51汇编语言设计和调试方法,熟悉Keil的操作方法。
二、实验要求
熟悉51单片机内部RAM中数据的传送以及内部和外部RAM之间数据的传送。
二、实验内容
编写并调试一个双字节无符号十进制数加法程序,其功能为将由数据表输入的两个字节压缩BCD码(即4位十进制数)的加数和被加数写入由(R0)指出的内部RAM中,井将这两个数相加,结果存放于(R1)指向的内部RAM中。
例如:
被加数写人41H、40H单元,加数写人51H、50H单元,运行程序结果写入52H,、51H、50H中,则加法程序功能为:
(41H)(40H)+(51H)(50H)—¬¬¬—52H、51H、50H
实验程序参考流程图如右图所示。
三、实验仪器和设备
1、硬件:
计算机
2、软件:
Keil软件uVision3
四、实验方法和步骤
1、断点设在BPI,全速带断点运行程序,碰到BPI后,检查41H、40H、51H、50H与键入值是否对应。
2、全速或断点运行程序,检查十进制数运算结果52H、51H、50H的是否正确。
3、程序连续运行,改变加数、被加数后,显示运行结果。
若有错误改用单步或断点分段调试程序,排除软件错误。
五、实验注意事项
在观察存储器内容时,注意要区分存储单元窗口。
六、实验思考题
若将8051内部RAM改用外部RAM,应如何修改无符号十进制数加法实验程序。
实验五无符号十进制数减法实验
一、实验目的
掌握MCS-51汇编语言程序设计方法。
二、实验要求
熟悉51单片机内部RAM中数据的传送以及内部和外部RAM之间数据的传送。
三、实验仪器与设备
1、硬件:
计算机
2、软件:
Keil软件uVision3
四、实验内容
编写并调试一个双字节无符号十进制数减法实验程序,其功能为将两个字节数BCD码减数和被减数,分别送由(R0)指向的内部RAM,并将这两个无符号十进数相减,结果存放于(R1)指向的内部RAM中。
实验程序参考流程图如5.1图所示:
5.1(a)主程序流程图5.1(b)子程序图
五、实验方法与步骤
1、断点运行程序,检查41H、40H、51H、50H与输入值是否正确对应。
2、断点运行程序,检查计算结果42H、41H、40H是否正确。
3、程序连续运行,改变减数、被减数后,查看运行结果。
若有错误改用单步或断点分段调试程序,排除软件错误。
六、实验思考题
若将8051内部RAM改用外部RAM,应如何修改无符号十进制数减法实验程序。
实验六数据排序实验
一、实验目的
熟悉MCS-51单片机指令系统,掌握程序设计方法。
二、实验要求
熟悉51单片机内部RAM中数据的传送以及内部和外部RAM之间数据的传送。
三、实验仪器和设备
1、硬件:
计算机
2、软件:
Keil软件uVision3
四、实验内容
编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中n个单子节无符号二进制数按从小到大的次序重新排列,并将这一列数据从小到大依次存储在外部RAM的从2000H开始的单元中。
五、实验方法和步骤
1、设置断点,检查50H~59H内容是否为10个任意排列原始数据。
2、设置断点,两数比较后第一个数大于第二个数则所在RAM位置交换。
否则不变。
3、设置断点,检查50H---59H内容是否已经按从小到大次序排列。
4、连续运行,再复位检查外部RAM2000H~2009H内容是否为事先设定10个数据按从小到大次序排列。
5、程序运行如果不进入断点,则应分段检查程序,用单步或断点方式调试。
实验七数据传送实验
一、实验目的
掌握MCS-51单片机内部RAM和外部RAM的数据操作,掌握这两部分RAM存贮器的特点与应用。
二、实验要求
熟悉51单片机内部RAM中数据的传送以及内部和外部RAM之间数据的传送。
三、实验内容
编写并调试一个数据传送程序,将内部RAM40~4FH的16个数据送到MCS-51的外部RAM2000H~200FH,再将外部RAM2000H~200FH数据送到MCS-51单片机内部RAM50H~5FH。
实验程序参考流程图如右图所示:
四、实验仪器和设备
1、硬件:
计算机
2、软件:
Keil软件uVision2
五、实验方法和步骤
1、设置断点BP1,程序运行至断点,检查40~4FH数据是否为2、4、6、8、A、C、……等16个数据。
2、设置断点BP2,程序运行至断点,检查外部RAM(2000~200FH)数据是否与40H~4FH数据一一对应。
3、设置断点BP3,程序运行至断点,检查50H
~5FH数据是否与外部RAM(2000H~200FH)数据正确对应。
4、如果程序运行不能进入某一断点,则应单步、断点分段检查程序,排除错误直至正确为止。