qq_59858469 2021-07-11 23:44 采纳率: 0%
浏览 55

求一个节日彩灯控制器的系统工作原理

描述一下节日彩灯控制器的系统工作原理,要写报告
#include "intrins.h"
sbit K1 = P1^0;
sbit K2 = P1^1;
sbit K3 = P1^2;
sbit K4 = P1^3;
sbit K5 = P1^4;
sbit K6 = P1^5;
void Delay100ms()
{
unsigned char i, j, k;

nop();
nop();
i = 5;
j = 52;
k = 195;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void DelayK(unsigned char t)
{
while(t--);
}
unsigned char i;

void Key()
{
if(K1==0)
{
DelayK(100);
if(K1==0)
{
P0 = 0xf9;
for(i = 0;i < 8;i++)
{
P2=(0x1<<i);
Delay100ms();
}
while(K1==0);
P0 = 0;
for(i = 0;i < 8;i++)
{
P2=(0x1>>i);
Delay100ms();
}
}
}
if(K2==0)
{
DelayK(100);
if(K2==0)
{
P0 = 0xa4;
for(i = 0;i < 7;i++)
{
P2=(0x1<<i);
Delay100ms();
}
while(K2==0);
P0 = 0;
for(i = 0;i < 7;i++)
{
P2=(0x1>>i);
Delay100ms();
}
}
}
if(K3==0)
{
DelayK(100);
if(K3==0)
{
P0 = 0xb0;
for(i = 0;i < 6;i++)
{
P2=(0x1<<i);
Delay100ms();
}
while(K3==0);
P0 = 0;
for(i = 0;i < 6;i++)
{
P2=(0x1>>i);
Delay100ms();
}
}
}
if(K4==0)
{
DelayK(100);
if(K4==0)
{
P0 = 0x99;
for(i = 0;i < 8;i++)
{
P2=(0x2<<i);
Delay100ms();
}
while(K4==0);
P0 = 0;
for(i = 0;i <5;i++)
{
P2=(0x1>>i);
Delay100ms();
}
}
}
if(K5==0)
{
DelayK(100);
if(K5==0)
{
P2 = 0;
}
}

if(K6==0)
{
DelayK(100);
if(K6==0)
{
P2 = 0xff;
}
}
}
void main()
{
while(1)
{
Key();
}
}
img

  • 写回答

1条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 创建了问题 7月11日

      悬赏问题

      • ¥15 我想用matlab处理spm8和vbm8的数据分析,用于分析nii文件各种脑区的图像,但是在第一步使用estimate and write中就出错,如何解决?
      • ¥15 能否给一个SOCKET通转USB通信的安卓程序代码
      • ¥15 前端js跨域请求问题
      • ¥15 C++SMTP服务器
      • ¥15 为什么52单片机测温实物LCD不显示数值?(c语言)
      • ¥30 《红色警戒2》最新mod《泰矿危机2》修改敌方单位阵营易语言
      • ¥15 C语言频闪问题与时间显示
      • ¥15 利用funguild进行大型真菌生态型划分
      • ¥20 急!希望找到这个程序的作者help
      • ¥20 windows系统文件缺失去