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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

用幾個單片機(jī)點(diǎn)亮LED時,同時供電后會出現(xiàn)時間差

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:276442 發(fā)表于 2019-4-19 16:47 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
如題,我用幾個單片機(jī)點(diǎn)亮LED,一開始用的延時而已,同時供電后亮滅同步,經(jīng)過一段時間后會出現(xiàn)不同步的現(xiàn)象,我以為是延時誤差的原因,后來改用了定時器,定時0.5S,出現(xiàn)的問題一樣,也是一開始同步,經(jīng)過一段時間后不同步,請問是什么原因?qū)е碌哪兀?br />
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:155507 發(fā)表于 2019-4-19 17:41 | 只看該作者
你這改的代碼程序也不發(fā),讓大家猜嘛,那叫人家怎么幫你?
回復(fù)

使用道具 舉報

板凳
ID:499770 發(fā)表于 2019-4-19 17:55 | 只看該作者
難道是晶震誤差?
回復(fù)

使用道具 舉報

地板
ID:434390 發(fā)表于 2019-4-19 18:00 | 只看該作者
時間長了單片機(jī)之間時間偏差肯定越來越大,時鐘同步解決
回復(fù)

使用道具 舉報

5#
ID:276442 發(fā)表于 2019-4-20 08:40 | 只看該作者
補(bǔ)發(fā)下代碼
#include <REG52.H>       
#include <stdio.h>   //Keil library       
#include <INTRINS.H>
#define FSCLK        11059200
typedef unsigned char  uchar;
typedef unsigned short ushort;
typedef unsigned int   uint;
uint num = 1,flag = 1,time = 0;

sbit led1=P1^2;
sbit led2=P1^4;
void times(int num);
void Delay_ms(uint time)
{
        uint i,j;
        for(i = 0;i < time;i ++)
                for(j = 0;j < 930;j ++);
}

void main()
{
         
        while(1)
        {
    led1 = 0;
    led2 = 0;
    times(1);
                led2 = 1;
                led1 = 1;
                times(1);
       
}
        }
void time0()interrupt 1
{
        TMOD = 0X01;
        TH0 = (65536-FSCLK/12/20)/256;
        TL0 = (65536-FSCLK/12/20)%256;
        ET0 = 1;
        EA = 1;
        time ++;
        if(time == 10)
        {
                time = 0;
                flag = 1;
        }
}
void times(uint num)
{
        while(num!=0)
        {
                TR0 = 1;
        if(flag!=0)
        {
                num--;
                flag = 0;
                TR0 = 0;
        }
}
}
回復(fù)

使用道具 舉報

6#
ID:276442 發(fā)表于 2019-4-20 08:42 | 只看該作者
用的是STC15W408AS,內(nèi)置晶振的
回復(fù)

使用道具 舉報

7#
ID:471632 發(fā)表于 2019-4-20 10:10 | 只看該作者
點(diǎn)led還要用多個單片機(jī)嗎?一個不就解決問題了嗎?好像內(nèi)置的晶振精度不是很高吧!
回復(fù)

使用道具 舉報

8#
ID:213173 發(fā)表于 2019-4-20 10:12 | 只看該作者
namecy 發(fā)表于 2019-4-20 08:42
用的是STC15W408AS,內(nèi)置晶振的

首先單片機(jī)內(nèi)置時鐘誤差就比較大,何況多機(jī)工作不可能同頻同相,時間長了積累誤差非常大。如果必須采用多機(jī)工作只能用一個外部時鐘源向所有MCU提供同步時鐘。STC15W408AS可以設(shè)置為使用外部時鐘。
回復(fù)

使用道具 舉報

9#
ID:160500 發(fā)表于 2019-4-20 10:30 | 只看該作者
必須用同步信號才行
回復(fù)

使用道具 舉報

10#
ID:276442 發(fā)表于 2019-4-20 11:00 | 只看該作者
wulin 發(fā)表于 2019-4-20 10:12
首先單片機(jī)內(nèi)置時鐘誤差就比較大,何況多機(jī)工作不可能同頻同相,時間長了積累誤差非常大。如果必須采用多 ...

好的,謝謝,我試試
回復(fù)

使用道具 舉報

11#
ID:509408 發(fā)表于 2019-4-20 11:05 | 只看該作者
我也遇到過類似問題。 延時時間超過以 unsigned char為基準(zhǔn)的數(shù)值(即>255后) 進(jìn)位標(biāo)志上(CY)有時會出錯誤。
仿真的反匯編也看不出來。 延時一下長一下短的。
建議你再判斷一次會杜絕這個問題。

比如
//=====延時函數(shù)===
//由定時器2確定lgRunTime基準(zhǔn)時間===
void TestDelay(unsigned int lDelayTime)
{
        lgRunTime = 0;
       
        while(lgRunTime<lDelayTime)
        {
                ;       
        }
        while(lgRunTime<lDelayTime)
        {
                ;       
        }
}
回復(fù)

使用道具 舉報

12#
ID:510365 發(fā)表于 2019-4-22 15:44 | 只看該作者
是晶振誤差導(dǎo)致的,建議用一個同步信號去讓多個單片機(jī)同步
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 在线视频 欧美日韩 | 特级特黄特色的免费大片 | 性一交一乱一透一a级 | 亚洲精品大全 | 精品亚洲国产成av人片传媒 | 91免费在线 | 一区二区三区四区在线播放 | 免费大黄视频 | 久久久久国产精品一区二区 | 欧美成人一区二免费视频软件 | 在线婷婷 | 国产999精品久久久影片官网 | 久久国产精品免费一区二区三区 | 一级毛片视频 | 免费观看av | 激情一区 | 国产成人精品免费视频 | 99热热| 中文无吗 | 黄色一级视频 | 欧美日韩久久精品 | 最新中文字幕第一页视频 | 综合久| 亚洲一区成人 | 久久99精品久久久久久 | 91久久久久久久久久久久久 | 无吗视频 | 一级少妇女片 | 中文字幕一区在线观看视频 | 成人av鲁丝片一区二区小说 | 一区二区三区四区不卡 | 成人在线观看免费视频 | 中文字幕亚洲一区二区三区 | 日韩日韩日韩日韩日韩日韩日韩 | 欧美综合一区 | 黄色毛片大全 | 中文字幕一区二区三区在线观看 | 国产人久久人人人人爽 | 国产黄色在线观看 | 国产精品视频在 | 欧美一区在线视频 |