学号 14142200277序号 19
单片机原理与接口技术
实验报告
实验项目序号 一 实验项目名称 跑马灯实验
姓 名 卢志雄 专 业 电子信息工程 班 级 电信14-2BF
完成时间 2016年4月2日
一、实验内容
实验内容为3项,其中第1、2项必做。 1、基本的流水灯。
根据图1电路,编写一段程序,使8个发光二极管D1、D2、D3、D4、D5、D6、D7、D8顺序(正序)点亮:先点亮D1,再点亮D2、D3……D8、D1……,循环点亮。每点亮一个LED,采用软件延时一段时间。
2、简单键控的流水灯。
不按键,按正序点亮流水灯;按下K1不松手,按倒序点亮流水灯,即先点亮D8,再顺序点亮D7、D6……D1、D8……。松手后,又按正序点亮流水灯。
3、键控的流水灯。
上电,不点亮LED,按一下K1键,按正序点亮流水灯。按一下K2键,按倒序点亮流水灯,按一下K3键,全部关闭LED。
二、电路原理图
+5VD0D1D2D3D4D5D6D7U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617K1K2K3K418XTAL29RST293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51 图1 跑马灯实验电路原理图
三、程序流程图
开始 检测P2键值 完成对应键值的功能 判断P2键值是否改变
图2 简单键控的流水灯程序流程图
四、源程序
1、基本的流水灯 #include
for(i=0;i<250;i++); }
void main( ) { data uchar a; a=1;
//保证只有一个点亮
//主函数
//延时函数
while(1)
//不断循环
{ P2=~a; //低电平点亮
//左移一位,右补0 //全0
a=a<<1;
if(a==0)a=1;
delay(2250);} //流动点亮延时 }
2、简单键控的流水灯 #include
#define uchar unsigned char #define uint unsigned int void delay(uint i) { uchar t; }
void main() {
data uchar a; a=1;
while(i--) { }
for(t=0;t<120;t++);
while(P2==0xff)
{
P0=~a;
a=a<<1; if(a==0)
a=1;
delay(250);
}
while(P2==0xfe)
{ P0=~a;
相关推荐: