首页 / 资料库 / 电路图
流水灯电路(含源程序代码)
2023-09-18 22:14:00
流水灯电路(含源程序代码)
其实现程序:
#i nclude
unsigned char RunMode;
//**********************************System FucTIon*************************************************
void Delay1ms(unsigned int count)
{
unsigned int i,j;
for(i=0;i for(j=0;j<120;j++);
}
unsigned char code LEDDisplayCode[] = { 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, //0~7
0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};
void Display(unsigned char Value)
{
P3 = LEDDisplayCode[Value];
}
void LEDFlash(unsigned char Count)
{
unsigned char i;
bit Flag;
for(i = 0; i {
Flag = !Flag;
if(Flag)
Display(RunMode);
else
Display(0x10);
Delay1ms(100);
}
Display(RunMode);
}
unsigned char GetKey(void)
{
unsigned char KeyTemp,CheckValue,Key = 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;
}
unsigned int TImerCount,SystemSpeed,SystemSpeedIndex;
void IniTIalTImer2(void)
{
T2CON = 0x00; //16 Bit Auto-Reload Mode
TH2 = RCAP2H = 0xFC; //重装值,初始值 TL2 = RCAP2L = 0x18;
ET2=1; //定时器 2 中断允许
TR2 = 1; //定时器 2 启动
EA=1;
}
unsigned int code SpeedCode[]={ 1, 2, 3, 5, 8, 10, 14, 17, 20, 30,
40, 50, 60, 70, 80, 90, 100, 120, 140, 160,
180, 200, 300, 400, 500, 600, 700, 800, 900,1000};//30
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
unsigned int LEDIndex = 0;
bit LEDDirection = 1,LEDFlag = 1;
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;
最新内容
手机 |
相关内容
异构计算时代,RISC-V架构发展应该更
异构计算时代,RISC-V架构发展应该更大胆一些,时代,异构计算,低功耗,功耗,开放源代码,计算,随着74HC273D人工智能、大数据、云计算等支撑高端芯片研发,合见工软进军国产
支撑高端芯片研发,合见工软进军国产EDA全流程,软进,研发,芯片,布局,中国,垄断,合见工软(HuaJian Microelectronics)是一家专注于EDA(Ele基于单片金纳米线逻辑电路的多功能
基于单片金纳米线逻辑电路的多功能智能可穿戴设备开发,智能,可穿戴设备,逻辑电路,健康,分享,监测,随着科技的不断发展,可穿戴设备已电阻、电感与电容的区别
电阻、电感与电容的区别,常见,介电常数,电路设计,性是,单位,温度,电阻、电感和电容是电路中常见的三种基本元件,它们在电路中起着不如何设计一个对按键信号进行计数的
如何设计一个对按键信号进行计数的计数器?,计数器,信号,全加器,触发器,输出,输入,设计一个对按键信号进行计数的计数器可以通过使用大模型时代,如何搭建数据的“智能化
大模型时代,如何搭建数据的“智能化流水线”?,流水线,数据,时代,模型,特征工程,数据收集,在大模型时代,搭建数据的智能化流水线变得尤数字电路中的计数器详解
数字电路中的计数器详解,计数器,数字电路,十进制数,触发器,用于,十进制,数字电路中的LM2575S-ADJ计数器是一种重要的组合逻辑电路,用ARM系列BC847BW芯片的解密方法
ARM系列BC847BW芯片的解密方法,解密,芯片,方法,样品,电路图,成分,BC847BW芯片是一款NPN通用双极型晶体管芯片,属于ARM系列产品。由于