亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3264|回復(fù): 0
收起左側(cè)

求大神幫我看個程序。

[復(fù)制鏈接]
ID:42668 發(fā)表于 2012-7-10 16:09 | 顯示全部樓層 |閱讀模式

為什么給串口送的都是0。

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar a ,b;
uchar code table[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
sbit dula = P2^6;
sbit wela = P2^7;
void Key_Scan();
void xianshi();
void fa_jian(uchar Num);
uchar KeyNo = 16;
uchar Pre_KeyNo = 16;
uchar Timer = 0 ,flag = 0;
void delayms(uint ms)
{
   uint i,j;
   for(i = ms;i > 0;i --)
     for(j = 110;j > 0;j --);
}
void init()
{
   TMOD = 0x21;    //開定時器T0工作方式1于T1工作方式2
   TH0 = (65536 - 5000)/256;
   TL0 = (65536 - 5000)%256;  //設(shè)置5ms初值
   TR0 =1; //啟動定時器0
   ET0 = 1;     //開定時器中斷0
   TH1 = 0xfd;
   TL1 = 0xfd;  //設(shè)置波特率為9600bps
   TR1 = 1;    //啟動定時器2
   REN = 1;  //允許串口接收
   SM0 = 0;
   SM1 = 1;  //設(shè)置串口工作方式1
   EA = 1;    //開總中斷
   ES = 1;    //開串口中斷
}
void main()
{
   init();
   while(1)
  {
    if(flag == 1)
 {
 flag = 0;
 xianshi();    
   fa_jian(KeyNo);
      
  }       
   }
}

void Key_Scan()
{
   uchar Tmp;
   P3 = 0x0f;
   delayms(1);
   Tmp = P3^0x0f;
   switch(Tmp)
   {
      case 1: KeyNo = 0; break;
   case 2: KeyNo = 1; break;
   case 4: KeyNo = 2; break;
   case 8: KeyNo = 3; break;
  default:  KeyNo = 16;
   }
   P3 = 0xf0;
   delayms(1);
   Tmp = (P3 >> 4) ^ 0x0f;
   switch(Tmp)
   {
       case 1: KeyNo += 0; break;
    case 2: KeyNo += 4; break;
    case 4: KeyNo += 8; break;
    case 8: KeyNo += 12;           
   }
}
void ser() interrupt 4
{
   if(RI == 1)
   {
    RI = 0;
  // a = SBUF;
   }  
}

void fa_jian(uchar Num)
{
    ES = 0;
    SBUF = Num;
    while(!TI);
    TI = 0;
    ES = 1;
}

void xianshi()
{
      P3 = 0xf0;
   if(P3 != 0xf0)  Key_Scan();
   if( KeyNo < 16)
   {
    dula = 1;
    P0 = table[KeyNo];
    dula = 0;
    P0 = 0xff;

    wela = 1;
    P0 = 0xfe;
    wela = 0;
    delayms(5);
    }

void T0_Timer() interrupt 1
{
   TH0 = (65536 - 5000)/256;
   TL0 = (65536 - 5000)%256;
   if(++Timer == 20)
   {
      Timer = 0;
   flag = 1;
   }
}    

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表