完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
是关于点阵广告牌设计的,有上位机和下位机
#include #include #define uchar unsigned char #define uint unsigned int ***it H1=P1^0; ***it H2 =P1^1; ***it LATCH_L =P1^2; ***it OUT_L =P1^3; ***it DS_H =P1^4; ***it 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) 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;//0xff 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=_iror_(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]< 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(); } |
|
相关推荐
8个回答
|
|
也就是上位机通过串口发送数据给单片机显示
|
|
|
|
能详细一点吗?比如这里是怎么实现字符的左移?如何改成右移?昨晚搞了一晚上也没弄明白 |
|
|
|
ROW=_iror_(ROW,1) rior应该是自带的函数啊,可以查看原型的啊
|
|
|
|
嗯嗯,昨晚就试过这个,但是改过后字倒过来了,也就是说如果倒过来看确实是右移。。。。 |
|
|
|
对,把问题细化,要不让我一下全部注释我也醉了!欢迎常来哈!
|
|
|
|
谁愿意免费干活的
|
|
|
|
路过看看。发现本科还是需要学习很多。
|
|
|
|
应该把问题细分到具体都模块,这样才有条理,不然看起来很麻烦,尤其是这样浏览网页似的。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
4828 浏览 3 评论
6115 浏览 1 评论
6381 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
8124 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1236 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 17:26 , Processed in 0.635603 second(s), Total 61, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号