资源简介
这不是我写的,但是觉得不错,关于流水等之类的所有问题基本都在此程序中了
代码片段和文件信息
#include “main.h“
//**********************************System Fuction*************************************************
void Delay1ms(unsigned int count)
{
unsigned int ij;
for(i=0;i for(j=0;j<120;j++);
}
void Display(unsigned char Value)
{
P3 = LEDDisplayCode[Value];
}
void LEDFlash(void)
{
Display(RunMode);
}
unsigned char GetKey(void)
{
unsigned char KeyTempCheckValueKey = 0x00;
CheckValue = P2&0x32;
if(CheckValue==0x32)
return 0x00;
Delay1ms(10);
KeyTemp = P2&0x32;
if(KeyTemp==CheckValue)
return 0x00;
if(!(CheckValue&0x02))
Key|=0x01;
if(!(CheckValue&0x10))
Key|=0x02;
if(!(CheckValue&0x20))
Key|=0x04;
return Key;
}
void InitialTimer2(void)
{
TL2 = RCAP2L = 0x00;
T2CON = 0x00; //16 Bit Auto-Reload Mode
TH2 = RCAP2H = 0xFC; //重装值初始值 TL2 = RCAP2L = 0x18;
ET2=1; //定时器 2 中断允许
TR2 = 1; //定时器 2 启动
EA=1;
}
void SetSpeed(unsigned char Speed)
{
SystemSpeed =SpeedCode[Speed];
}
void LEDShow(unsigned int LEDStatus)
{
P1 = ~(LEDStatus&0x00FF);
P0 = ~((LEDStatus>>8)&0x00FF);
}
void InitialCPU(void)
{
RunMode = 0x00;
TimerCount = 0;
SystemSpeedIndex = 10;
P1 = 0x00;
P0 = 0x00;
P2 = 0xFF;
P3 = 0x00;
Delay1ms(500);
P1 = 0xFF;
P0 = 0xFF;
P2 = 0xFF;
P3 = 0xFF;
SetSpeed(SystemSpeedIndex);
Display(RunMode);
}
//Mode 0
void Mode_0(void)
{
LEDShow(0x0001< LEDIndex = (LEDIndex+1)%16;
}
//Mode 1
void Mode_1(void)
{
LEDShow(0x8000>>LEDIndex);
LEDIndex = (LEDIndex+1)%16;
}
//Mode 2
void Mode_2(void)
{
if(LEDDirection)
LEDShow(0x0001< else
LEDShow(0x8000>>LEDIndex);
if(LEDIndex==15)
LEDDirection = !LEDDirection;
LEDIndex = (LEDIndex+1)%16;
}
//Mode 3
void Mode_3(void)
{
if(LEDDirection)
LEDShow(~(0x0001< else
LEDShow(~(0x8000>>LEDIndex));
if(LEDIndex==15)
LEDDirection = !LEDDirection;
LEDIndex = (LEDIndex+1)%16;
}
//Mode 4
void Mode_4(void)
{
if(LEDDirection)
{
if(LEDFlag)
LEDShow(0xFFFE< else
LEDShow(~(0x7FFF>>LEDIndex));
}
else
{
if(LEDFlag)
LEDShow(0x7FFF>>LEDIndex);
else
LEDShow(~(0xFFFE< }
if(LEDIndex==15)
{
LEDDirection = !LEDDirection;
if(LEDDirection) LEDFlag = !LEDFlag;
}
LEDIndex = (LEDIndex+1)%16;
}
//Mode 5
void Mode_5(void)
{
if(LEDDirection)
LEDShow(0x000F< else
LEDShow(0xF000>>LEDIndex);
if(LEDIndex==15)
LEDDirection = !LEDDirection;
LEDIndex = (LEDIndex+1)%16;
}
//Mode 6
void Mode_6(void)
{
if(LEDDirection)
LEDShow(~(0x000F< else
LEDShow(~(0xF000>>LEDIndex));
if(LEDIndex==15)
LEDDirection = !LEDDirection;
LEDIndex = (LEDIndex+1)%16;
}
//Mode 7
void Mode_7(void)
{
if(LEDDirection)
LEDShow(0x003F< else
LEDShow(0xFC00>>LEDIndex);
if(LEDIndex==9)
LEDDirection = !LEDDirection;
LEDInde
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2801078 2005-09-17 04:19 走马灯\hurricanelamp.bmp
文件 856 2009-11-27 17:36 走马灯\HurricaneLamp.PWI
文件 11685 2009-11-27 17:35 走马灯\Keil\HurricaneLamp
文件 4382 2009-11-27 17:35 走马灯\Keil\HurricaneLamp.c
文件 3871 2009-11-27 17:35 走马灯\Keil\HurricaneLamp.hex
文件 58 2009-11-27 17:35 走马灯\Keil\HurricaneLamp.lnp
文件 11455 2009-11-27 17:35 走马灯\Keil\HurricaneLamp.LST
文件 20037 2009-11-27 17:35 走马灯\Keil\HurricaneLamp.M51
文件 2172 2009-11-27 17:36 走马灯\Keil\HurricaneLamp.Uv2
....... 1334 2008-09-03 18:15 走马灯\Keil\HurricaneLamp_Opt.Bak
文件 6030 2009-11-27 17:36 走马灯\Keil\HurricaneLamp.plg
....... 2138 2008-08-28 08:40 走马灯\Keil\HurricaneLamp_Uv2.Bak
文件 1855 2009-11-27 17:36 走马灯\Keil\HurricaneLamp.Opt
文件 5115 2002-04-16 15:32 走马灯\Keil\STARTUP.A51
文件 545 2009-11-27 17:34 走马灯\Keil\main.h
文件 14597 2009-11-27 17:35 走马灯\Keil\HurricaneLamp.OBJ
文件 165791 2006-01-19 02:55 走马灯\Last Loaded HurricaneLamp.DBK
文件 166024 2009-11-27 17:36 走马灯\HurricaneLamp.DSN
目录 0 2009-11-26 23:25 走马灯\Keil
目录 0 2009-11-26 23:25 走马灯
----------- --------- ---------- ----- ----
3219023 20
评论
共有 条评论