📄 74hc183.c
字号:
#include "STC89C51.h"
#define uch unsigned char
sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;
sbit LED=P3^7;
sbit BEE=P4^3;
sbit A1=P1^0;
sbit B1=P1^1;
sbit C1=P1^2;
sbit G2=P1^3;
sbit G1=P1^4;
#define TRUE 1
#define FALSE 0
uch key=0;
uch t;
void timer0() interrupt 1 //定时器中断函数,在允许中断情况下,定时器溢出时产生动作。
{
t=t+1;
TH0=0x3C;//重装初值
TL0=0xAF;
}
void init()
{
P20=TRUE;
P21=TRUE;
P22=TRUE;
P23=TRUE;
}
/* void keyscan()
{
if (key==6)
{
P23=0;
if (P22==0)
key=3;
if (P21==0)
key=5;
if (P20==0)
key=1;
init();
P22=0;
if (P21==0)
key=4;
if (P20==0)
key=2;
init();
}
else
{
P21=0;
if (P20==0)
key=6;
init();
}
}
*/
/* void delay()
{
uch i;
uch j;
uch k;
for (i=0;i<250;i++)
{
for (j=0;j<200;j++)
{
// for (k=0;k<100;k++)
// {
// }
}
}
}
*/
void main()
{
uch i;
init();
TMOD=0x0001;//定时器计时是在初始值基础上计时,
TH0=0x3C;//50ms定时
TL0=0xAF;//0XFFFF-0x3CAF=0xc350=50,000
TR0=1; //定时器中断条件3-1
EA=1; //定时器中断条件3-2
ET0=1; //定时器中断条件3-3
P1=0;
while (1)
{
for (i=0;i<16;i++)
{
if (i<8)
{
P1=i;
G1=1;
// P1|=(i|0x10);
// delay();
}
else
{
P1=(i-8);
G2=1;
// P1|=((i-8)|0x08);
// delay();
}
while (t<1)
{
}
t=0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -