⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testdinzhuanv10.c

📁 LED照明行业地砖及护栏控制器程序 从现况来看
💻 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_buf_r,dis_buf_g,dis_buf_b;	//显示缓冲
uchar 	mode;				
uchar 	pointer;
uchar	send_buf[4];
uchar	pwm,rl;
uchar 	setadd;
jmp_buf env;
int retval;
uchar bdata flags;
sbit flag0=flags^0;
sbit flag1=flags^1;
sbit flag2=flags^2;
sbit flag3=flags^3;
sbit frameok=flags^4;
//*********************************
void televise(uchar add);
//*********************************
//*******************************
void delay1s(uint j)
{
uint i;
while(j!=0)
	{
	for(i=0;i<15530;i++);
	j--;
	}
}
//*******************************
void send_del(uchar j)
{
while(j!=0)
	{
	j--;
	}
}
void test(void)
{
uchar i;
for(i=1;i<40;i++)
	{
	dis_buf_r=255;dis_buf_g=0;dis_buf_b=0;
	televise(i);
	delay1s(50);
	}
for(i=1;i<40;i++)
	{
	dis_buf_r=0;dis_buf_g=255;dis_buf_b=0;
	televise(i);
	delay1s(50);
	}
for(i=1;i<40;i++)
	{
	dis_buf_r=0;dis_buf_g=0;dis_buf_b=255;
	televise(i);
	delay1s(50);
	}

}

//----------------------------------
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;
TL0=V_TL0;
TH0=V_TH0;
TR0=1;
ET0=1;
TR1=1;
ET1=0;
ES=1;
EA=1;
PS=1;
frameok=0;
pointer=0;
dis_buf_b=dis_buf_g=dis_buf_r=0;
setadd=(~P1)&0x3f;
while(1)
	{
	dis_buf_r=255;dis_buf_g=0;dis_buf_b=0;
	televise(0);
	delay1s(5);
	dis_buf_r=0;dis_buf_g=255;dis_buf_b=0;
	televise(0);
	delay1s(5);
	dis_buf_r=0;dis_buf_g=0;dis_buf_b=255;
	televise(0);
	delay1s(5);
	test();
	}
}
//**************************
//将数据广播发送
//*****************************
void televise(uchar	add)
{
TB8=1;
SBUF=add;while(!TI);TI=0;
TB8=0;
send_del(20);
SBUF=dis_buf_r;
while(!TI);TI=0;
send_del(20);
SBUF=dis_buf_g;
while(!TI);TI=0;
send_del(20);
SBUF=dis_buf_b;
while(!TI);TI=0;
send_del(20);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -