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

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

QQ登錄

只需一步,快速開始

搜索

我想按鍵按下一次單片機(jī)就發(fā)送一次數(shù)據(jù)到串口助手,但一直循環(huán)發(fā)送

查看數(shù): 6643 | 評(píng)論數(shù): 12 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁(yè)<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2018-10-25 22:12

正文摘要:

求大神幫忙看看我的問(wèn)題 單片機(jī)源程序如下: #include <REG52.h> unsigned char code a[]={0x78,0x09,0x00,0x00,0x00}; unsigned char i,j; sbit k3 = P3^3; bit flag; void delay(unsigned int n)  ...

回復(fù)

ID:416027 發(fā)表于 2018-10-26 21:22
你可以用while()語(yǔ)句檢測(cè)按鍵是否彈起來(lái),單片機(jī)的運(yùn)行速度很快你按鍵按下一次的時(shí)間這段程序可能走了好幾遍了
ID:357396 發(fā)表于 2018-10-26 20:40
感謝各位大神幫助!!,好像是我的開發(fā)板有問(wèn)題,換了一個(gè)板子就好了
ID:410942 發(fā)表于 2018-10-26 17:06
wulin 發(fā)表于 2018-10-26 08:13
改一下按鍵程序即可
void key()
{

改一下按鍵程序即可
void key()
{
        if(k3==0)
        {
                delay(100);
                if(k3==0)
                {
                        for(i=0;i<5;i++)
                        {
                                Send_string(a);                  
//                                delay(10);               
                        }         
                     //   while(!k3);這句放這里 還是有時(shí)會(huì)發(fā)兩次
                }
                 //   while(!k3);這句放這里效果最好。
        }
                 //   while(!k3);這句放這里也可以。
}

ID:410942 發(fā)表于 2018-10-26 14:29
加多一個(gè)標(biāo)志位flag.按下一次flag取反,在按鍵里加多一個(gè)判斷。if(k3==0&&flag==0)..這樣試一下。
ID:357396 發(fā)表于 2018-10-26 11:41

我用中斷也是這樣...........
ID:330198 發(fā)表于 2018-10-26 10:14
我試過(guò)沒問(wèn)題,除非你按鍵一直按下了,否則不會(huì)一直發(fā)的
ID:383749 發(fā)表于 2018-10-26 10:08
樓上說(shuō)的EA=1,是需要開總中斷的。另外你的硬件是怎么設(shè)計(jì)的,按鍵按下去拉低IO口,松開后有上拉電阻拉高吧?
ID:308437 發(fā)表于 2018-10-26 09:03
你串口中斷沒寫啊。如果不寫,可以直接在發(fā)送完,寫上ES=0;(關(guān)閉串口,但是不建議這做,可能會(huì)有很多問(wèn)題),還是把程序放到中斷吧
ID:164602 發(fā)表于 2018-10-26 08:25
你的程序,我修改了一下,符合我的板子:12M下的4800加倍(從程序上看,你的波特率是11.0592M下的9600)
得到的結(jié)果是沒有問(wèn)題的——你的程序中問(wèn)題是按鍵沒有松開消抖。
#include <REG51.h>

unsigned char code a[]={0x78,0x09,0x00,0x00,0x00};
unsigned char i,j;
sbit k3 = P3^3;
bit flag;

void delay(unsigned int n)   
{
    unsigned char a,b;
    for(a=0;a<n;a++)
        for(b=0;b<123;b++);
}


void InitUART(void)
{
//    TMOD = 0x20;
//    SCON = 0x50;
//    TH1 = 0xFD;  //9600
//    TL1 = TH1;
//    PCON = 0x00;
//    EA = 0;
//    ES = 1;
//    TR1 = 1;
        PCON |= 0x80;
        SCON = 0x50;
        TMOD &= 0x0F;
        TMOD |= 0x20;
        TL1 = 0xF3;
        TH1 = 0xF3;
        ET1 = 0;
        TR1 = 1;
}


void Send_string(unsigned char c)
{
  SBUF=c;
  while(TI==0);
  TI=0;
}

void key()
{
        if(k3==0)
        {
                delay(100);
      if(k3==0)
      {
         for(i=0;i<5;i++)
         {
             Send_string(a[i]);
             delay(10);
         }
                                 for (i=0;(i<50)&&(k3==0);i++)
                                 {
                                                delay(100);
                                        }
       }
        }
}

void main(void)
{
        P3 = 0xff;
        InitUART();         
        while(1)
        {
     key();
  }
}

看你的截圖,接收到的數(shù)據(jù)多了一個(gè)FF,這個(gè)沒有找到原因。因?yàn)槟阍瓉?lái)的程序只會(huì)發(fā)送兩次,也是不循環(huán)一直發(fā)送,也沒有收到多余的數(shù)據(jù)(在我的板子了,修改了波特率后)
ID:213173 發(fā)表于 2018-10-26 08:13
改一下按鍵程序即可
void key()
{
        if(k3==0)
        {
                delay(100);
                if(k3==0)
                {
                        for(i=0;i<5;i++)
                        {
                                Send_string(a[i]);                  
//                                delay(10);               
                        }         
                        while(!k3);
                }
        }
}
ID:415560 發(fā)表于 2018-10-25 23:41
用中斷吧,中斷好做一點(diǎn)
ID:357396 發(fā)表于 2018-10-25 22:24
EA=1的

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 青青草在线播放 | 国产一区二区电影 | 久热国产精品 | 热99在线 | 色天堂视频 | 中文字幕精品一区二区三区精品 | 国产精品久久久久久吹潮 | 狠狠操狠狠干 | 亚洲一区二区三区免费在线观看 | 成人免费视频播放 | 黄色片网站在线观看 | 91精品久久久久 | 日本天堂一区二区 | 国产偷录视频叫床高潮对白 | 在线观看视频91 | 女生羞羞网站 | 久久精品av| 久久国产精品99久久久久久丝袜 | 一级毛片观看 | 一区二区三区四区国产 | 免费观看一区二区三区毛片 | a级毛片基地 | 亚洲国产精品一区二区久久 | 拍真实国产伦偷精品 | 久久91av| 国产精品久久久久久网站 | 久久精品国产亚洲一区二区三区 | 国产日韩精品视频 | 91视视频在线观看入口直接观看 | 天天久久 | 小川阿佐美pgd-606在线 | 亚洲精品影院 | 四虎永久免费地址 | 国产高清在线精品一区二区三区 | 精品国产一区二区在线 | 国产免费一区二区三区免费视频 | 免费国产一区二区视频 | 亚洲一区精品在线 | 日本视频在线播放 | h在线免费观看 | 亚洲瑟瑟|