1、实验一 Keil C51 集成开发环境的使用10 级电子一班 王磊 2010412326一、实验目的1. 熟悉 Keil C51 集成开发环境的基础操作;2. 掌握简单 C51 和汇编程序的编写、调试。二、实验仪器与设备1. 微机 1 台2. Keil C51 集成开发环境三、 实验内容1 仔细阅读附录 2 即教材(陈海宴编著)相关内容,掌握 Keil C51 集成开发环境的基本功能。2 分别用汇编语言和 C51 编写清零程序。把片外 RAM 中的 7000H-70FFH 单元内容清零。3 分别用汇编计和 C51 编写查找相同数个数程序。统计片外 RAM 7000H-700FH 中“00H”的
2、个数并保存在片内 RAM30H 单元。四、实验框图及步骤1、 清零程序(1) 汇编语言程序设计框图开始R0=000 送到 7000HDPTR+1,R0-1R0=0?结束NY(2) 实验步骤用连续或单步方式运行程序,检查 7000H-700FH 单元中执行程序前后的内容变化。(3) 假使把 7000H-70FFH 中的内容改成 FF,如何修改?(4) 用 C51 重新编写该程序,运行程序并查看结果。2.查找相同数个数(1)汇编语言设计程序框图判断开始字节数送 R0,查找字节数 R17000HDPTR从 DPTR 中取数判断和被查数相同否DPTR+1字节数到吗?R1 送 30H 单元结束R1+1Y
3、(2)实验步骤在 7000H700FH 单元中放入随机数,其中几个单元输入 0;用连续或单步方式运行程序;观察片内 RAM 30H 的内容,应显示“00H ”的个数。(3)用 C51 重新编写该程序,运行程序并查看结果。五、实验总结1.用 Keil 创建一个项目的过程:创建一个工程:选择 ProjectNew Project 菜单项,弹出新建项目对话框,选择保存路径且输入文件名,选择 CPU STC89C51/52,单击确定;创建新的源程序:单击新建一个文档,单击保存,输入保存文件名时加上后缀名“.c 或.asm”;把原程序添加到工程中:在 Project Workspace 显示框内单击文件
4、夹 Target 1 左边的符号“+”,再单击文件夹 Source Group 1。在弹出的界面中选中 Add Files to GroupSource Group1选项,在弹出的对话框选择刚才创建的源程序文件。2.(1)在单步执行时,如何修改寄存器的内容keil 调试界面左边有一个 Registers 窗口,里面显示单片机所有寄存器的值,双击要修改寄存器的值,就可以修改了(2)如何设置片内数存、片外数存中的内容通过宏定义通过指针_at_3. 实验中遇到的问题以及解决的办法刚开始时用指针没有给指针变量储存类型导致在 xdata 中没有出现想要的结果解决方法:在指针变量前面加上存储类型 xdat
5、a4. 实验程序#includevoid main()unsigned char xdata *p;for(p=0x7000H;punsigned char xdata *p;unsigned char data *q;void main()q=0x30;*q=0;for(p=0x7000;p=0x700F;p+)if(*p=0)(*q)+;while(1);MOV R0,#10HMOV R1,#00HMOV DPTR,#7000HFIND:MOVX A,DPTRCJNE A,#00H,NEXTINC R1NEXT: INC DPTRDJNZ R0,FINDMOV 30H,R1SJMP $END