标题: 点阵广告牌制作完全资料【带仿真带led点阵代码生成器】 [打印本页]

作者: shige    时间: 2013-6-26 16:16
标题: 点阵广告牌制作完全资料【带仿真带led点阵代码生成器】
用了比较简单的方法实现上位机控制点阵,程序是活的 根据你发送不同的汉字去改变·希望朋友指出缺点加以更改·大家也给点建议 首先安装虚拟串口添加COM3和COM4(也就相当于把电脑的两个COM口相连)在PROTEUS中的选择COM3上位机选择COM4就可以实现虚拟串口了 上位机软件说明,在输入旷中打上相关汉字然后点击条形点阵然后点击串口发送选择COM口——写入新数据·就OK 了 不懂的加QQ176709330本人喜欢交好友手把手你实现本功能 源代码仿真文件下载地址: 点阵广告牌完美版1.0.zip (81.86 KB, 下载次数: 599) 下面是源代码预览:
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char 
#define uint unsigned int 
sbit 	H1	=	P1^0;
sbit 	H2	=	P1^1;
sbit  LATCH_L	=	P1^2;
sbit  OUT_L		=	P1^3;
sbit  DS_H		=	P1^4;
sbit  DS_L		=	P1^5;
void display();
void rxd_data();
void in_data();
void RXD_232();
void INIT();
uchar  xdata TABLE[1500];
uchar BUFF[6];
uint ROW=0xfffe;
bit  ks_bit;
uint second;
uchar s;	
uint temp,time,nib;
uchar num,left,cc;
uint count;
bit xz_bit;
uint num_int,num1_int;
void delay(uint z)
{
 while(z--);
}
void main()
{	 

	uchar clean;
	INIT();
	while(1)
	{  


	if(xz_bit)
	if(second++>=1000)
	{
	ks_bit=1;second=0;xz_bit=0;num_int=0;num1_int=0;
 	 for(clean=0;clean<64;clean++)
	 {
	   TABLE[(count-5)+clean+49]=0x00;
	 }
	}
	if(ks_bit)	
	display();
		
	 
	}
}

void INIT()
{
   	TMOD=0x21;
	TH0=0xfc;
	TL0=0x18;
	TH1=0xfd;
	TL1=0xfd;
	EA=1;
	TR0=1;
	ET0=1;
	TR1=1;
	SM0=0;
	SM1=1; 
	REN=1;
	ES=1;



}

void RXD_232()
{
 

 
	if(RI)
	{ 

	second=0;
	  if(ks_bit)
	  {
	  nib=0;
	 s=0;num=0;
     cc=0;
	 ROW=0xfffe;
	 left=0; 
	P0=255;
	H2=H1=1;
	H2=H1=0;
	count=0; 
	  }

    	ks_bit=0;

	if(count++>=5)
	{	
	if(((count-5)*2)>=num_int&&((count-5)*2)<num_int+32)
	TABLE[((count-5)*2+64)-(num1_int)]=SBUF;
	if((count-5)*2>=32+num_int&&(count-5)*2<64+num_int)
	TABLE[(((count-5)*2)+1+64)-(num1_int+32)]=SBUF;
	if(((count-5)*2)%64==0)
	{ 
	num1_int=num1_int+32;
	num_int=num_int+64; 
	}
	}


	RI=0;
	xz_bit=1;
	}

	
}

void display()
{
	P0=255;
	H2=H1=1;
	H2=H1=0;
		  	
	in_data();
	rxd_data();	
	OUT_L=0;
	OUT_L=1; 
	P0=ROW/256;
	H2=1;
	H2=0;
	P0=ROW%256;
	H1=1;
	H1=0;
	num++;
	if(num==16)num=0;
	ROW=_irol_(ROW,1);
	delay(150);
}

void rxd_data()
{	uchar l,i,temp;
	if(time>=50)
	{
		  time=0;
	left++;
	if(left>=8)
		{left=0;
	    cc++;  
		if(cc>=2){cc=0;nib=nib+32;
		if(nib>=count+32)nib=0;
		}
		}
	}	 
	   for(l=0+cc;l<4+cc;l++)
	   {
	   temp=BUFF[l]<<left|BUFF[l+1]>>8-left;
	   for(i=0;i<8;i++)
	   	 {
		 
		   	temp<<=1;
			DS_L=CY;
			LATCH_L=0;
			LATCH_L=1;
		 }
	   }
}
void in_data()
{
for(s=0;s<=2;s++)
 {
 BUFF[2*s+1]=TABLE[nib+s*32+1+2*num];
 BUFF[2*s]=TABLE[nib+s*32+2*num];
 }
} 
void tim0() interrupt 1
{  	
	TH0=0xfc;
	TL0=0x18;
	time++;
}
void tim1() interrupt 4
{  	
		  RXD_232(); 
}

作者: sonyffff    时间: 2014-4-1 19:15
感谢分享,学习一下! 51黑有你更精彩!!

作者: yixiaow810c    时间: 2014-4-4 14:43
新手学习下,感谢楼主!
作者: zdmjjp    时间: 2014-5-11 08:08
感谢分享,学习一下!
作者: keepit    时间: 2014-5-11 17:31

感谢分享,学习一下!
作者: zhw931124    时间: 2014-5-26 15:31
下载不了呀???
作者: piaoxue1949    时间: 2014-7-18 17:26
感谢分享,学习一下!
作者: WKK001    时间: 2014-7-18 17:34
谢谢分享哈!
作者: zdmjjp    时间: 2014-7-20 14:23
新手学习下,感谢楼主!
作者: 啦啦665    时间: 2014-10-29 14:53
不错,谢谢分享
作者: mutebenben    时间: 2014-10-30 06:25
谢谢楼主分享
作者: xiuyueyuan2013    时间: 2014-11-5 12:26
很多用的,下载下来看看
作者: zjf110    时间: 2014-11-25 02:29
大侠的共享精神可嘉
作者: 77408187    时间: 2014-11-25 18:33
是8*8点

作者: 叫兽    时间: 2014-11-25 22:42
下来试试。感谢了
作者: 时光倾城    时间: 2014-11-27 10:43
这种类型的点阵太多了,不知道有没有什么不同
作者: dzljp    时间: 2014-11-27 23:48
感谢分享,学习一下!
作者: 小孩叽叽喳喳    时间: 2014-12-1 10:16
谢谢楼主分享~!
作者: 小孩叽叽喳喳    时间: 2014-12-1 10:16
谢谢楼主分享~!
作者: 还在jl懂    时间: 2014-12-2 09:20
还没试,应该不错
作者: 潍坊论坛    时间: 2015-1-8 22:31
支持楼主分享!
作者: 2808569472    时间: 2015-1-11 17:08
谢谢楼主分享,谢谢。。
作者: 2808569472    时间: 2015-1-11 17:08
谢谢楼主分享,谢谢。。
作者: shahai    时间: 2015-1-13 21:51
下载试试,刚好手头一块烂屏
作者: ls0899    时间: 2015-1-17 23:16
学习再学习
作者: fontex    时间: 2015-4-14 11:48
学习了,谢谢!
作者: 未名时代    时间: 2015-4-14 16:13
很厉害加油哦
作者: 星星一眨眼    时间: 2015-4-15 19:04
谢谢分享有电路图吗
作者: 心宇(语)    时间: 2015-4-17 21:18
学习一下
作者: Prettyboy2012    时间: 2015-4-19 19:13
收藏 一下。
作者: fontex    时间: 2015-4-21 09:23
多谢分享!
作者: 周安松    时间: 2015-4-22 04:52
感谢分享,学习一下!
作者: lilogo    时间: 2015-4-22 11:11
谢谢分享
作者: uva2015    时间: 2015-4-26 11:19
谢谢分享
作者: airqin    时间: 2015-5-3 21:53
初到贵坛,学习了.
作者: 午夜红酒不醉人    时间: 2015-5-6 22:19
刚刚想学,就看到楼主的分享了,感谢
作者: delay    时间: 2015-9-7 01:46
感谢分享,下来看看
作者: delay    时间: 2015-9-7 10:03
好东西,学习一下,谢谢分享
作者: yyqshy    时间: 2015-10-1 10:51
好东西啊,就是那CMO口难装
作者: xiaoyuxinke    时间: 2015-10-2 05:24
感谢,这东西好啊
作者: 二九九    时间: 2015-10-3 08:30
没有 注解,我是新手,看不太懂。谢谢。
作者: scm_beginner    时间: 2015-10-3 16:52
好东西,非常感谢。
作者: szdgsz    时间: 2016-2-22 12:14
谢谢分享!!!
作者: xiaopihai03    时间: 2016-3-10 22:59
下载了。看一下
作者: rgxnt    时间: 2016-3-12 15:55
感谢分享,学习一下! 51黑有你更精彩!!
作者: a1098834549    时间: 2016-5-26 18:41
好人呀
作者: zjq20032006    时间: 2016-5-26 21:25
很好的程序,自己试一下再来评价                    .
作者: bnm1051    时间: 2016-12-23 08:59
感谢楼主分享,正好毕业设计要用
作者: 六河    时间: 2017-12-13 14:36
新手学习下,感谢楼主!
作者: ab560    时间: 2017-12-13 17:02
学习学习,谢谢楼主
作者: renqian4436    时间: 2017-12-14 08:45
真的很不错
作者: wylx    时间: 2017-12-14 08:59
好资料,收藏备用。谢谢!
作者: 你好啊123    时间: 2017-12-20 20:36
感谢分享
作者: 水水水    时间: 2018-1-10 22:29
感觉不错
作者: a1357787200    时间: 2018-4-8 13:46
挺好的

作者: xvshuo    时间: 2018-10-10 15:14
有没有完整的仿真图

作者: 殇心珏    时间: 2018-11-27 21:48
谢谢楼主

作者: LZT123    时间: 2020-6-24 10:34
非好  程序很给力
作者: zdmjjp    时间: 2020-6-26 07:37
感谢分享,学习一下!
作者: 467517098    时间: 2023-5-31 11:57
根本用不了这个软件




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1