void main(void) //主函数
{ P0=0x00; P1=0xff; P2=0xf0; P3=0x0f; while(1) }
在输入上述程序时,读者已经看到了事先保存待编辑的文件的好处了吧,即Keil c51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。程序输入完毕后,如下图所示
8)在上图中,单击“Project”菜单,再在下拉菜单中单击“Built Target”选项(或者使用快 捷键F7),编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session” (或者使用快捷键Ctrl+F5),屏幕如下所示
第 6 页 共 165 页
9)调试程序:在上图中,单击“Debug”菜单,在下拉菜单中单击“Go”选项,(或者使用快 捷键F5),然后再单击“Debug”菜单,在下拉菜单中单击“Stop Running”选项(或者使用快捷 键Esc);再单击“View”菜单,再在下拉菜单中单击“Serial Windows #1”选项,就可以看到程 序运行后的结果其结果如下图所示
至此,我们在Keil C51上做了一个完整工程的全过程。但这只是纯软件的开发过程,如何
第 7 页 共 165 页
使用程序下载器看一看程序运行的结果呢?
10)单击“Project”菜单,再在下拉菜单中单击“
” 在
下图中,单击“Output”中单击“Create HEX File” 选项,使程序编译后产生HEX代码,供下载器软件使用。把程序下载到AT89S51单片机中。
第 8 页 共 165 页
实验二 储存器块清零
一.实验目的
1. 通过实验了解单片机的数据存储器写入与擦除的方法; 2. 学习使用伟福软件。
二.实验内容
编程实现0030H~0039H RAM的内容清零。
三.实验步骤
1. 运行Keil C51软件,新建一个工程(如clr),新建一个文件CLR.asm。 将文件
添加到工程中并编译,如有错,请更改直到编译成功,如有错,请更改直到编译成功 2. 点击按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”
(或者使用快捷键Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口
3. 在存储器窗口中输入D:30H,然后单步执行,查看30H~39H单元值的变化
四.实验参考程序 ORG 0000H LJMP START ORG 0030H START: MOV 30H,#10H MOV 31H,#11H MOV 32H,#12H MOV 33H,#13H MOV 34H,#14H MOV 35H,#15H MOV 36H,#16H MOV 37H,#17H MOV 38H,#18H MOV 39H,#19H MOV R0,#30H LOOP1: CLR A
MOV @R0,A INC R0
CJNE R0,#3AH,LOOP1 END
第 9 页 共 165 页
实验三 二进制BCD码转换
一.实验目的
1. 通过实验了解十进制转二进制BCD码的方法;
2.学习使用伟福软件。 二.实验内容
把123转换成二进制BCD码再以16进制存于30H~32H中。
三.实验步骤
1. 运行Keil C51软件,新建一个工程(如clr),新建一个文件CLR.asm。 将文件
添加到工程中并编译,如有错,请更改直到编译成功 2. 点击按钮或单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”
(或者使用快捷键Ctrl+F5)进入调试模式,在调试模式下,会出现以下窗口,其中中间的窗口为存储器窗口
3.在存储器窗口中输入D:30H,然后单步执行,查看30H~32H单元值的变化内容的变化。
四.实验参考程序
RESULT EQU 30H ORG 00H LJMP START START:MOV SP,#40H MOV A,#123 LCALL BINTOBAC SJMP $ BINTOBAC:
MOV B,#100
DIV AB ;除以100得百位数 MOV RESULT,A MOV A,B MOV B,#10
DIV AB ;余数除以10得十位数 MOV RESULT+1,A
MOV RESULT+2,B ;余数为个位数 RET END
第 10 页 共 165 页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库51单片机实验(2)在线全文阅读。
相关推荐: