久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3050|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

求助!光立方的上位機(jī)通訊程序不受控制

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:66631 發(fā)表于 2014-11-6 18:53 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

#include<reg52.h>  
#define uchar unsigned char
#define uint unsigned int
uchar x,y,face,a,b;  
uchar i=0;  
uchar shuzu[8][8];  
/*uchar shuzu[8][8]={  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  
0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  
0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  
0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18,  
0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18,  
0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  
0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  
0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, };   
//顯示固定圖案,數(shù)組可任意改動(dòng) //           */
void delay(uint z)  
{     
  uint x,y;     
  for(x=z;x>0;x--)     
  for(y=10;y>0;y--);   
}
void init()
{  
TMOD=0x22;  
TH1=0XFf;  //波特率設(shè)置,波特率為57600  
TL1=0XFf;  
TH0=0x00;  
TL0=0x00;  
TR1=1;   
TR0=1;   
SCON=0X50;
     PCON|=0x80;   
         EA=1;   
         ES=1;   
         ET0=1;   
         PS=1;    //讓串口中斷優(yōu)先,設(shè)置優(yōu)先級(jí)高些
}   
void main()
   {   
     b=0;  
         init();  
         while(1)  
           {         
            }
   }   
   void rxd()
   interrupt 4   
     {            
         uchar temp=0;      
         RI=0;   
         ++b;      
         if(b>=8)   //上位機(jī)中發(fā)數(shù)據(jù)的時(shí)候,前面一個(gè)不變的地址碼,               
         //要去掉,故到2的時(shí)候才存數(shù)據(jù)   
           {      
           temp=SBUF;     
           shuzu[x][y]=temp;//把數(shù)據(jù)存到數(shù)組中     
           x++;    if(x>=8)  //一列一列存      
           {     
           x=0;        
           y++;     
           if(y>=8)     
           y=0;   
           }  
            }   
                if(b>=65)    //到65,64個(gè)數(shù)據(jù)接收完畢   
                b=0;
                 }   
                 void timer0_isr(void)
                 interrupt 1   //把數(shù)組取出來,送給鎖存器、三極管基極
                 {   

        for (i=0;i<7;i++)  
         {   
         P2|=(0x01<<i);     //573使能端   
          P0=~(shuzu[face][i]);//573數(shù)據(jù)輸入端   
          P2&=~(0x01<<i);    //delay(20);   }      
          P3=0X03;   // P3=~(0x01<<face);  //面選擇端(八個(gè)面分別的公共端) //不要加(taf)   
          if(face<7)   
          face++;   
          else   
          face=0;        
          }
          }

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:51088 發(fā)表于 2014-11-7 10:44 來自手機(jī) | 只看該作者
樓主給的信息太少了,你發(fā)的這個(gè)是下位機(jī)程序吧!會(huì)不會(huì)是晶體振蕩器用錯(cuò)了
回復(fù)

使用道具 舉報(bào)

板凳
ID:66631 發(fā)表于 2014-11-7 20:23 | 只看該作者
#include<reg52.h>  #define uchar unsigned char #define uint unsigned int uchar xx,yy,zz,layer,icnt,rxcnt; uchar display[8][8]; void init() {         TMOD=0x22;//定時(shí)器1 方式2 用于產(chǎn)生波特率;定時(shí)器0 方式2 用于刷新顯示         TH1=0XFD;  //PROTEUS中晶振設(shè)置33.1776MHz(3倍于11.0592MHz)在波特率加倍的情況下初值0xFD對(duì)應(yīng)波特率為57600         TL1=0XFD;         TH0=0xff;         TL0=0xff;         TR1=1;                //開定時(shí)器1         TR0=1;          SCON=0X50;//串口工作于方式1 可接收REN=1         PCON|=0x80;//波特率加倍           EA=1;                //開全局中斷         ES=1;                //開串口中斷         ET0=1;                //開定時(shí)器0中斷         PS=1;                //配置串口中斷優(yōu)先 }  void main() {         rxcnt=0;         init();         while(1); } void rxd() interrupt 4                  //串口中斷服務(wù)程序 {                                                                                   uchar temp=0;                                         RI=0;                 ++rxcnt;                 if(rxcnt>=2)                 {                                                 temp=SBUF;                        //讀出接收到的數(shù)據(jù)                         display[xx][yy]=temp;         //按順序存入顯示數(shù)組中                         xx++;                         if(xx>=8)                                                         {                                 xx=0;                                 yy++;                                 if(yy>=8)                                 yy=0;                         }                 }                 if(rxcnt>=65)                 rxcnt=0;         } /*********************************************** 刷新顯示的工作全部放到定時(shí)器0中斷函數(shù)中來了 P0口是每個(gè)573芯片的輸入端 P1口之前是ULN2803的輸入端,經(jīng)過修改刪除了ULN2803 修改后P1直接作為八個(gè)面分別的公共端。 P2口是8個(gè)573芯片的鎖存控制引腳。 *********************************************/ void timer0_isr(void) interrupt 1 {                 uchar i=0;                 for (i=0;i<7;i++)                 {                         P2|=(0x01<<i);                //鎖存端                         P0=display[layer][i];//573輸入端                         P2&=~(0x01<<i);                 }                                 P1=~(0x01<<layer);                //面選擇端(八個(gè)面分別的公共端)                 if(layer<7)                         layer++;                 else                         layer=0; }
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产在线播放av | 超碰8| 日韩精品一区二区三区高清免费 | 一区二区三区在线播放 | 欧美一区二区三区大片 | 中国一级特黄视频 | 伊人久久国产 | 一级毛片免费完整视频 | 日韩精品一区二区三区中文在线 | 中文字幕人成乱码在线观看 | 在线中文字幕国产 | 国产美女在线观看 | 色综合久久天天综合网 | 韩国电影久久 | 亚洲国产成人在线视频 | 欧美激情黄色 | 日韩三级在线 | 香蕉久久久 | 狠狠干夜夜草 | 美女在线国产 | 一级毛片在线播放 | 欧美成人精品一区二区男人看 | 一区二区三区免费 | av在线免费看网址 | 亚洲一区二区三区免费在线 | 精品国产综合 | 99riav3国产精品视频 | 国产精品久久久久999 | 欧美中文在线 | 国产高清久久久 | 综合久久久 | 亚洲视频一区在线观看 | 97人人澡人人爽91综合色 | 亚洲视频在线观看免费 | 农村黄性色生活片 | 日韩av在线一区 | 中国一级特黄真人毛片免费观看 | 操久久| 人人看人人干 | 欧美在线观看一区 | 色男人天堂av |