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

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

QQ登錄

只需一步,快速開始

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

51單片機(jī)串口的接收,每次都可以接收到,但反應(yīng)時(shí)間很長(zhǎng),有時(shí)要等10秒鐘,不知道原因

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:347721 發(fā)表于 2018-8-14 15:59 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
上位機(jī)發(fā)1給單片機(jī)時(shí),蜂鳴器以400ms頻率發(fā)聲,發(fā)2時(shí)以200ms頻率,發(fā)3時(shí)以100ms頻率,發(fā)4時(shí)關(guān)閉蜂鳴器#include<reg52.h>
#define uchar unsigned char
sbit beep=P1^5;
sbit led=P2^0;
uchar a;
uchar t;
uchar i,j;

void init()//初始化
{
        TMOD=0x21;
        SCON=0x50;
        TH1=0xf3;
        TL1=TH1;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        PCON=0x00;
        
        EA=1;
        ES=1;
        ET0=1;
        
        TR0=1;
        TR1=1;
        t=0;
}
void timer0() interrupt 1
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        t++;
        if(t==2)
        {
                t=0;
                i++;//每100ms,i加1
                if(i==j)
                {
                        i=0;
                        beep=~beep;
                        led=~led;
                        
                }
        }
        
}
void uart() interrupt 4
{
        
        if(RI)
        {
                RI=0;
                a=SBUF;
        }
        else
                TI=0;
}

void main()
{
        init();
        while(1)
        {
                switch(a)
                {
                        case 0x01:j=4;break;
                        case 0x02:j=2;break;
                        case 0x03:j=1;break;
                        case 0x04:TR0=0;led=1;break;
                }
        }
}

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

使用道具 舉報(bào)

沙發(fā)
ID:221865 發(fā)表于 2018-8-14 19:57 | 只看該作者
會(huì)不會(huì)是在switch里跑飛了,加個(gè)default看看。建議一些變量定義后初始化。
回復(fù)

使用道具 舉報(bào)

板凳
ID:123289 發(fā)表于 2018-8-14 23:32 | 只看該作者
你思路不清,建議你畫個(gè)框圖看看。
回復(fù)

使用道具 舉報(bào)

地板
ID:123289 發(fā)表于 2018-8-14 23:36 | 只看該作者
例:當(dāng)前I=3,你收到了一個(gè)2,會(huì)如何呢?
回復(fù)

使用道具 舉報(bào)

5#
ID:347721 發(fā)表于 2018-8-15 06:45 | 只看該作者
yzwzfyz 發(fā)表于 2018-8-14 23:36
例:當(dāng)前I=3,你收到了一個(gè)2,會(huì)如何呢?

謝謝,你這樣一說(shuō)我突然就明白了,就像你說(shuō)的如果現(xiàn)在i=3,但收到信息后把j改成了2,那i 就肯定已經(jīng)大于j了,i=j的條件就不會(huì)滿足,我把i=j改為i>=j后再測(cè)試就沒(méi)有問(wèn)題了
回復(fù)

使用道具 舉報(bào)

6#
ID:213173 發(fā)表于 2018-8-15 07:41 | 只看該作者
你試試
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit beep=P1^5;
sbit led=P2^0;
uchar i,a=0;
uint j;
void init()//初始化
{
        PCON=0x00;
        SCON=0x50;
        TMOD=0x21;
        TH1=0xf3;
        TL1=0xf3;
        TH0=0xff;
        TL0=0xff;
        EA=1;
        ES=1;
        ET0=1;       
        TR0=0;
        TR1=1;
}
void timer0() interrupt 1
{
        TH0=(65536-j)/256;
        TL0=(65536-j)%256;
        beep=~beep;
        i++;
        if(i>=250)
        {
                i=0;
                led=~led;
        }
}
void uart() interrupt 4
{        
        RI=0;
        a=SBUF;
        switch(a)
        {
                case 0x01: j=65036;TR0=1;break;
                case 0x02: j=64536;TR0=1;break;
                case 0x03: j=63536;TR0=1;break;
                case 0x04: j=0;TR0=0;led=1;beep=1;break;
                default: break;
        }
}

void main()
{
        init();
        while(1);
}
回復(fù)

使用道具 舉報(bào)

7#
ID:295874 發(fā)表于 2018-8-15 09:15 | 只看該作者
喬陸騰 發(fā)表于 2018-8-15 06:45
謝謝,你這樣一說(shuō)我突然就明白了,就像你說(shuō)的如果現(xiàn)在i=3,但收到信息后把j改成了2,那i 就肯定已經(jīng)大于j ...

改為i>=j雖然可以測(cè)試通過(guò),但是不一定與你事先約定的時(shí)間對(duì)的上,建議還是使用i==j來(lái)進(jìn)行判定,只不過(guò)每次串口中斷收到一次控制數(shù)據(jù)j,均將時(shí)間計(jì)數(shù)器i與t執(zhí)行一次清零操作,使其時(shí)間基準(zhǔn)歸零一次,可以準(zhǔn)確做到你要求的400、200、100ms的要求。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产特一级黄色片 | 蜜桃特黄a∨片免费观看 | 另类视频区 | 人人干在线视频 | 欧美日韩一区二区三区四区五区 | 99精品欧美一区二区蜜桃免费 | 国产精品久久久久久久久免费 | 精品国产一区二区三区性色av | 日韩欧美精品在线播放 | 精品亚洲一区二区三区 | 欧美在线观看一区 | 亚洲精品免费在线 | 男人天堂午夜 | 欧美一区二区三区在线观看 | 成年人在线观看 | 久色网 | 99久久免费观看 | 国产一极毛片 | 国产精品资源在线观看 | 久草久草久草 | 久久久www成人免费无遮挡大片 | 国产资源一区二区三区 | 亚洲一区二区三区免费视频 | 免费在线播放黄色 | 伊人免费在线观看高清 | 亚洲精品日韩综合观看成人91 | 国产免费一区二区三区最新6 | 深爱激情综合 | 亚洲电影第三页 | 91影片| 久久一二| 日本黄色影片在线观看 | 一区二区精品视频 | 成人免费观看网站 | 国产精品激情 | 国产精品毛片久久久久久 | 一区二区精品在线 | 99爱在线免费观看 | 1级毛片 | 久久久久久一区 | 国产a级黄色录像 |