您所在位置: 网站首页 / C51单片机实行流水灯程序.doc / 文档详情
C51单片机实行流水灯程序.doc 立即下载
2024-12-12
约4.4千字
约6页
0
38KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

C51单片机实行流水灯程序.doc

C51单片机实行流水灯程序.doc

预览

免费试读已结束,剩余 1 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

#include<reg51.h>
#defineLEDPortP1
unsignedcharLED01_[9]=
				{0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,};
											//方式0,方式1灯开关数组。
unsignedcharLED23_[5]=
				{0xFF,0x7E,0xBD,0xDB,0xE7};
										//	方式2,方式3灯开关数组。
unsignedcharLED4_[16]={0XFF,0X7F,0X3F,0X1F,0X0F,0X07,0X03,0X01,0X00,0X01,0X03,0X07,0X0f,0X1f,0X3f,0X7f};	//方式4




unsignedcharLED56_[8]={0XFF,0X3F,0X9F,0XCF,0XE7,0XF3,0XF9,0XFC};

unsignedcharLED7_[]={0X0F,0XF0,0X33,0XCC,0X3C,0XC3,0XFF};

unsignedcharTAB[9]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80};//定义断码表。



unsignedchari=0,j=9;						//数据选择计数。
											
unsignedcharMode=0;					//模式选择,默认为模式0。

unsignedcharCount=1;					//定时器中断计数。

unsignedcharDelay=1;					//延迟计数,通过改变改数值改变灯状态延迟时间。
											//灯延迟时间=uc_Dalay*定时器溢出时间。

voidmain()
{	P2=0X3F;												
	TMOD=0x01;								//定时器0模式一。
	TH0=0x3C;
	TL0=0xB0;								//溢出时间:50ms。
	TR0=1;									//定时器0开启。

	IT0=1;									//外部中断0下降沿触发。
	IT1=1;									//外部中断1下降沿触发。

	EX0=1;									//外部中断0开。
	EX1=1;									//外部中断1开。
	ET0=1;									//定时器0中断开。
	EA=1;									//总中断开。

	while(1);
}


//*********************************************************************************************************
//*																										*
//*		************************************定时器0中断函数************************************			*
//*																										*
//*<函数功能>:当定时器0溢出时执行此函数,首先执行2个判断:												*
//*				(1)if判断是否改变灯的状态,可用于改变延时时间;										*
//*				(2)switch判断闪烁模式,根据不同模式对灯进行不同的通断。								*
//*			最后对定时器TH0,TL0重新赋值,溢出时间为50ms。												*
//*																										*
//*********************************************************************************************************

voidvTimer0(void)interrupt1			
{
	
	if(Count%Delay==0)			//通过此判断语句来改变延时。,例如:当uc_Delay=6时,定时器										
	{									//溢出5次时灯状态改变1次。同时uc_Count重新赋值1.否则,uc_Count++
		Count=1;						//等待下一次溢出。因此可以改变延时。
		switch(Mode)
			{
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<模式0,灯从上往下依次点亮,不断循环。>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
				case0:					
						if(i>=8)
							i=0;
查看更多
王子****青蛙
实名认证
内容提供者
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

C51单片机实行流水灯程序

文档大小:38KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用