8051单片机最小系统设计与制作 - 图文

更新时间:2024-03-25 00:07:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

常熟理工学院单片机实验报告

实验名称:8051单片机最小系统设计与制作 班级:电科121 小组:第7组 姓名: 050212127 张勇 050212129 周飞翔 050212123 姚尧 050212131 朱陶 实验时间:2014.10.10

一.实验目的

1、掌握采用Keil uVision集成开发环境下单片机程序的编辑、编译、连接方法; 2、掌握程序的下载(烧写);

3、熟悉器件,掌握单片机最小系统的设计与制作

二.实验仪器

面包板 单片机编程器 示波器 开关 电源 万用表 晶振 二极管 1 1 1 3 1 1 1 8 三.实验内容

进行两个按键控制8个发光二极管的跑马灯控制相关硬件与软件设计,并完成制作与调试。

四.实验步骤:

1.硬件部分

图 1

如图1:主要包括复位开关,晶振,开关按钮,二极管4个部分

2.软件部分

在Keil 环境下编写程序,生成.hex文件,并通过Proteus进行功能仿真,测试电路是否可以满足实验要求。 程序代码如下:

#include\

#define DELAY_1S 25000 void delay(unsigned int n) {

unsigned int i; for(i=0;i

void main()

{ unsigned char d[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};

}

char i; while(1) { if((P1&0x01)==0) //S1按下循环左移 { i=0; while((P1&0x02)!=0) //当S0按下时停止左循环 { P2=~d[i]; delay(DELAY_1S); i++; if(i==8) i=0; } } else if((P1&0x02)==0) //S0按下循环右移 { i=7; while((P1&0x01)!=0) //当S1按下停止右循环 { P2=~d[i]; delay(DELAY_1S); i--; if(i==-1) i=7; } } }

3.调试

采用编程器进行程序烧写,并将烧写好的芯片放到设计系统中进行实物验证

本组成员所连面包板实物图,如图2

图2

按下S1,二极管从左依次点亮,按下S0,二极管向右依次点亮。

调试过程中的问题:

在连接完面包板后,本组最大的错误是开关引脚接错了,通过电压表检查,发现所接的两个引脚一直是处于短路状态。

晶振上的波形图,如图3

图3

晶振波形图为正弦波,由此证明了该电路的正确性。

五:实验小结

通过本次8051单片机最小系统设计与制作的实验,我们对单片机系统设计有了

基本的认识,同时也学会了使用Keil软件进行编写程序和通过Proteus进行功能仿真。在连接面包板时要注意插线,避免虚插。最后检查电路时,要充分利用万用表和示波器,快速地找到并解决错误。

本文来源:https://www.bwwdw.com/article/v868.html

Top