📄 hkhensel.c
字号:
//************************************
//***********
//**** 2004-06-19 mcu at89c2051 38400BPS OSC 22.1184MHZ
//香港展,凯信国际 控制板
//************************************
#include <at892051.h>
#include <stdio.h>//一般I/O函数
#include <stdlib.h>//标准函数
#include <absacc.h>//绝对地址
#include <intrins.h>//内部函数
#include <setjmp.h>
#define uchar unsigned char
#define uint unsigned int
#define Byte unsigned char
#define Word unsigned int
#define ulong unsigned long
#define bool bit
#define true 1
#define false 0
#define V_TH0 0xf8 /* 时间常数高8位 (65536-500)/256 */
#define V_TL0 0xc5 /* 时间常数低8位 (65536-500)%256 11.0592*/
#define ADD 1
//******************************
sbit roe=P3^2;
sbit goe=P3^3;
sbit boe=P3^4;
//**************************************************************
uchar dis_red[4];
uchar dis_grn[4];
uchar dis_blu[4];
uchar setadd;
uchar bdata flags;
sbit flag0=flags^0;
sbit flag1=flags^1;
sbit flag2=flags^2;
sbit flag3=flags^3;
sbit frameok=flags^4;
uchar code x64cr[]=
{
//红色数据:
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x0F,0x1A,
0x27,0x32,0x3C,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
0x3F,0x3D,0x35,0x29,0x1D,0x11,0x07,0x00,};
//------------------------------------------------
uchar code x64cg[]=
{
//绿色数据:
0x07,0x13,0x20,0x2C,0x38,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,
0x3F,0x3F,0x3F,0x3D,0x36,0x2C,0x22,0x17,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
//---------------------------
uchar code x64cb[]=
{
0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x39,0x30,0x26,0x1B,0x11,0x7,0x01,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x8,0x12,0x1D,0x29,
0x33,0x3C,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,};
//*********************************
void sendall(void);
//*********************************
//*******************************
void delay(uchar j)
{
uint i;
while(j!=0)
{
for(i=0;i<1000;i++);
j--;
}
}
//*******************************
void send_del(uchar j)
{
while(j!=0)
{
j--;
}
}
//**************************
//将数据广播发送
//*****************************
void sendall(void)
{
uchar j;
for(j=0;j<4;j++)
{
TB8=1;
SBUF=j+1;while(!TI);TI=0;
TB8=0;
send_del(20);
SBUF=dis_red[j];
while(!TI);TI=0;
send_del(20);
SBUF=dis_grn[j];
while(!TI);TI=0;
send_del(20);
SBUF=dis_blu[j];
while(!TI);TI=0;
send_del(20);
}
}
//***********************************
//多彩流动
//***************************************
void qcld(uchar speed)
{
uchar j,x;
for(j=0;j<40;j++)
{for(x=3;x>0;x--)
{
dis_red[x]=dis_red[x-1];
dis_grn[x]=dis_grn[x-1];
dis_blu[x]=dis_blu[x-1];
}
dis_red[0]=x64cr[j];
dis_grn[0]=x64cg[j];
dis_blu[0]=x64cb[j];
sendall();
delay(speed);
}
}
//************************
//----------------------------------
void main(void)
{
TMOD=0x21;
SCON=0xd0;
TH1=0xfd;
TL1=0xfd; //256-(22.1184*10~6/32/12/3/38400*2)
//PCON=0X80;//倍频
SM2=1;
TR1=1;
ET1=0;
//ES=1;
REN=0;
EA=1;
while(1)
{
qcld(80);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -