当前位置:文档之家› 跑马灯实训报告

跑马灯实训报告

摘要:AT89C51是美国ATMEL公司生产的AT89系列单片机中的一种,该
器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

关键字:AT89C51 兼容高效微控制器
目录
一、实训目的 (2)
二、电路设计与生成 (2)
1、设计跑马灯 (2)
2、生成PCB板 (2)
三、程序设计 (3)
1、程序设计 (3)
2、运行结果 (4)
四、实训总结 (4)
一、实训目的
了解AT89C51管脚的基本功能,学会运用Protel 99 se设计电路,并生成PCB 板,印刷线路板。

使用KEIL C51设计单片机程序,生成HEX文件,将程序下载到单片机内并运行。

从而达到初步掌握简单单片机小程序的设计,制作,调试的目的。

二、电路设计与生成
1、设计跑马灯
利用单片机最小系统,使P1口八个发光二极管做跑马灯和流水灯显示。

设计的电路图如下:
2、生成PCB板
(1)保存电路图,单击菜单栏DESIGN项,选择其中的更新PCB;
(2)在弹出的对话框中,单击preview change;
(3)校对弹出界面中的相关元件的信息,再单击Execute,生成元器件;(4)最后对生成的元器件进行排版,生成如下图所示:
三、程序设计
1、程序设计
#include"reg51.h"
unsigned char tab[]={1,2,4,8,0x10,0x20,0x40,0x80,0x80,0x40,0x20,
0x10,8,4,2,1};
void delay(unsigned char n)
{ unsigned int d;
unsigned char i;
for(i=0;i<n;i++)
for(d=0;d<30000;d++);
}
void main()
{ unsigned char i,j;
while(1)
{ for(j=0;j<5;j++)
{
for(i=0;i<8;i++)
{
P1=~tab[i];
delay(10);
}
}
for(j=0;j<5;j++)
{
for(i=0;i<8;i++)
{ P1=~tab[8+i];
delay(10);
}
}
for(j=0;j<5;j++)
{
for(i=0;i<8;i++)
{ P1=~tab[i];
delay(20);
P1=~tab[i+1];
delay(20);
P1=~tab[i+2];
delay(20);
}
}
for(j=0;j<3;j++)
{
for(i=0;i<8;i++)
{ P1=~tab[i];
delay(20);
P1=~tab[i+2];
delay(30);
}
}
}
}
2、运行结果
八个发光二级管顺时针依次发光,连续五次,再返向五次,完成基本的跑马灯显示,然后再依次亮三个,退一个再亮三个,逐个发光。

四、实训总结
经过几天的单片机实训,掌握了开发单片机的具体方法,实现了从设想到产品的全部流程。

了解了AT89C51管脚的基本功能,学会运用Protel 99 se设计电路,并生成PCB板及印刷线路板。

感谢指导老师的悉心教导,让我受益匪浅。

相关主题