单片机io口实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一

以下所有KEIL工程、程序均命名为自己姓名的拼音

一、实验目的:

熟悉KEIL软件的开发,掌握程序下载流程

二、实验环境:

1.硬件:PC微机、单片机开发板

2.软件:KEIL

三、实验步骤:

1.在KEIL中新建工程文件,在工程文件下新建C文件“姓名首字母.c”并加入到工程

中(注意C语言编程时,工程中要保留STARTUP.A51汇编文件)。

2.编写程序,初始化内部数据寄存器0x40开始的100个地址单元,写入0x55,然后复

制到0x60开始的存储器中,使用软件仿真的方式调试程序,观察程序模拟运行的结果:

#include "reg52.h"

unsigned char *p,*q;

unsigned char i;

int main(){

p=0x40;

for(i=0;i<10;i++)

{

*p=0x55;

p++;

}

for(i=0;i<10;i++)

{

*p=*q;

q++;

p++;

while(1);

}

}

调试时,在调试界面中依次找到

a) 变量观察窗口

b) 存储器窗口

c) 单步运行

d) 全速运行

程序运行结果(存储器窗口截图):

3.编写程序,控制实验板上的LED灯:D1-D3点亮,D4-D7熄灭,D8点亮#include”reg52.h”

sbit P1_4=P1^4;

int main()

{

P1_4=0;

P0=0x1E;

While(1);

}

4.编写C语言程序,实现LED灯循环点亮

#include "reg52.h"

void delay (unsigned z)

{

while(z--);

}

int main()

{

unsigned char i;

P1&=~(0x01<<4);

P0=0xff;

i=0x01;

while (1)

{

P0=~i;

i=i<<1;

if(i==0x0)

i=0x01;

delay(10000);

}

}

四、实验总结

相关文档
最新文档