一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 1628|回复: 1

仍然关于上位机和串口通讯

[复制链接]
发表于 2012-12-16 14:21 | 显示全部楼层 |阅读模式
还没用到刚才超级版主说的\0判断完毕,写了个固定字节的程序,但是发送后显示是乱码...很无奈...
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define SCAN P1
sbit HC138_A=P2^0;         
sbit HC138_B=P2^1;   
sbit HC138_C=P2^2;   
sbit HC138_D=P2^3;
sbit SHCP=P1^0;
sbit STCP=P1^1;
sbit DR=P1^2;
sbit DR1=P1^3;
sbit ENT=P1^4;
uint word;      
uchar move;
uchar line;
uchar speed=12;
uchar BUF[12];
uchar disp[64]={0},num=0;

unsigned char ReData,SenData;

void loadline()
{
uchar s;
for(s=0;s<5;s++)
{
  BUF[2*s]=disp[word+1+32*s+2*line];      
  BUF[2*s+1]=disp[word+32*s+2*line];     
}
}
void sendline()
{
char s,p;
uchar inc,k,j;
if(move<8)
         inc=0;
else inc=1;      
for(s=0+inc;s<=7+inc;s++)
{
  if(move<8)
       j=move;
  else j=move-8;      
  k=(BUF[s]<<j)|(BUF[s+1]>>(8-j));     
  for(p=0;p<8;p++)
   { DR=(k&0x80);                        
  SHCP=0;                                
        SHCP=1;
     k<<=1;
                                             
    }
}
}

void Delay(uchar us)  
{
while(--us);  
}
void dis()
{
  for(line=0;line<16;line++)
     {
      loadline();
      sendline();
                        
      STCP=1;  
      STCP=0;
      HC138_A=line&0x01;
                        HC138_B=line&0x02;
                        HC138_C=line&0x04;
                        HC138_D=line&0x08;
     
                        Delay(1);
     }
}


void ser_int (void) interrupt 4 using 1
{

if(RI == 1)        
{
  RI = 0;      

disp[num]=SBUF;
num++;
   
}
}


void main()
{
     SCON = 0x50;                     
     TMOD|= 0x20;                     
  PCON|= 0x80;           
  TH1 = 0xF3;   
  TL1 = 0xF3;         
  TR1  = 1;                                                            
  ES   = 1;                        
  EA   = 1;         


   
  
while(1)
{
  while(word<64)  
  {
   while(move<16)
   {
       dis();
    move++;
     
   }
   move=0;
   word=word+32;      
  }
  word=0;
}

}

不知道问题出在哪里...请高手指正,也欢迎小白咱们一起讨论呀~~
发表于 2012-12-16 14:50 | 显示全部楼层
本帖最后由 fujiachun 于 2012-12-16 15:29 编辑

老大,人家回一个您发个新帖,啥时候算完呀,谁知道去那个帖子回答呀。
乱码先检查波特率
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2026-1-13 01:44 , Processed in 0.028269 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表