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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

Proteus仿真 使用cd4094和xcom做流水燈

查看數(shù): 3623 | 評論數(shù): 10 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2021-6-10 09:07

正文摘要:

仿真如圖 求教思路

回復

ID:893765 發(fā)表于 2021-6-12 19:12
名字不是重點 發(fā)表于 2021-6-12 00:12
呵呵。。。太晚了,睡了嗎?
你都知道報錯led未定義了,你就不會把
STB=0;

初始化串口方式為方式0 用查詢方式,禁止串口中斷 數(shù)據(jù)送入發(fā)送緩沖區(qū)
ID:824490 發(fā)表于 2021-6-12 00:12
田所浩二單推人 發(fā)表于 2021-6-11 22:46
#include
#include
#define uchar unsigned char

呵呵。。。太晚了,睡了嗎?
你都知道報錯led未定義了,你就不會把
STB=0;
uchar led=0xfe;
這兩行對調一下順序?
還有,你知道SCON、ES、SBUF這些專用寄存器和標志位有正確用途嗎?
照葫蘆畫瓢了,還能畫出個南瓜來。
太晚了,睡吧,明天還在上班,歹命啊!
ID:893765 發(fā)表于 2021-6-11 22:46
名字不是重點 發(fā)表于 2021-6-11 12:16
你不要用串口來發(fā)數(shù)據(jù)啊。。

void LED_OUT(uchar data) //這是發(fā)送一個字節(jié)(8位)數(shù)據(jù)的函數(shù),給你參考 ...

#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
sbit DATA=P3^0;
sbit CLK=P3^1;
sbit STB=P3^4;

void delay(void)
{uchar i;
for(i=0;i<2;i++)
_nop_();
}

void main(void)
{uchar t;
STB=0;
uchar led=0xfe;
SCON=0x00;
ES=0;
SBUF=led;
for(t=0;t<8;t++)
{if(led&0x80)
        {DATA=1;}
else
        {DATA=0;}
  CLK=0;
  delay();
  CLK=1;
  led=_crol_(led,1);
  delay();
  CLK=0;
}
  STB=1;
  delay();
  STB=0;
}

更加照葫蘆畫瓢了 左移那句不知為啥報錯led未定義
ID:824490 發(fā)表于 2021-6-11 12:16
你不要用串口來發(fā)數(shù)據(jù)啊。。

void LED_OUT(uchar data) //這是發(fā)送一個字節(jié)(8位)數(shù)據(jù)的函數(shù),給你參考一下。
{
        uchar i;
        for(i=8;i>=1;i--)
        {
                sda= (data &0x80)
                data <<=1;
                sck= 0;
                sck= 1;
        }
}

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

ID:893765 發(fā)表于 2021-6-11 12:06
名字不是重點 發(fā)表于 2021-6-11 08:59
這樣當然不行啦!
4094的手冊你看過了嗎?數(shù)據(jù)移位的基本條件是CLK的的上跳變。
“在CLK的上升沿,把SD ...

#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
sbit DATA=P3^0;
sbit CLK=P3^1;
sbit STB=P3^4;

void delay(void)
{uchar i;
for(i=0;i<2;i++)
_nop_();
}

void main(void)
{uchar led=0xfe;
SCON=0x00;
ES=0;
while(1)
{STB=1;
  SBUF=led;
  while(TI==0)
  STB=0;
        if(SBUF&0x01)
        {DATA=1;}
        else
        {DATA=0;}
  CLK=0;
  delay();
  CLK=1;
  delay();
  CLK=0;
  TI=0;
  delay();
  led=_crol_(led,1);
  }
}
照葫蘆畫瓢弄的 仿真燈全亮(笑cry)
ID:123289 發(fā)表于 2021-6-11 11:20
是4094未認真讀通。
ID:824490 發(fā)表于 2021-6-11 08:59

這樣當然不行啦!
4094的手冊你看過了嗎?數(shù)據(jù)移位的基本條件是CLK的的上跳變。
“在CLK的上升沿,把SDA上的數(shù)據(jù)移入”,你看你的代碼有做到了嗎?
你要把8bit的數(shù)據(jù)拆開一位一位在從SDA口發(fā)出,同時CLK也要做相應的上、下跳變。CLK是什么?就是時鐘信號,在傳輸SDA時要有相應的、變化高低的。你的代碼中光有SDA變化不夠的。
再努努力,你就要成功了。+U!
ID:893765 發(fā)表于 2021-6-10 18:13
#include<reg51.h>
#include<intrins.h>
sbit STB=P3^4;
void main(void)
{unsigned char led=0xfe;
unsigned int i;
SCON=0x00;
ES=0;
while(1)
{STB=1;
  SBUF=led;
  while(TI==0)
  STB=0;
  TI=0;
  for(i=0;i<20000;i++)
  led=_crol_(led,1);
  }
}

仿真只有第一盞燈亮
ID:824490 發(fā)表于 2021-6-10 17:40
你要解決的問題有3:
1、通IO口,把數(shù)據(jù)發(fā)送出去;
2、4094的驅動;
3、流水燈的流水方式。
ID:893765 發(fā)表于 2021-6-10 10:43
刪除本帖

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 大象视频一区二区 | 精品一区视频 | 亚洲精品久久久久久国产精华液 | 国产成人精品久久二区二区91 | 中文字幕在线一区 | 久久免费视频1 | 欧美激情视频一区二区三区免费 | 久久久久久久久久久久久九 | 亚洲在线成人 | 色综合久 | 精品欧美视频 | 成人在线免费 | 亚洲免费网| 91精品国产91久久久久游泳池 | 午夜影院在线观看视频 | 亚洲欧美中文日韩在线v日本 | 国产不卡在线观看 | 国产一区二区自拍 | 人人鲁人人莫人人爱精品 | 美女毛片免费看 | 久久久久久久综合 | 欧美成人第一页 | 亚洲一区综合 | 国产一区亚洲 | 午夜精品久久久久久久久久久久 | 香蕉久久久久久 | 日韩在线免费看 | 嫩草一区二区三区 | 人人澡视频 | 欧美精品成人一区二区三区四区 | 亚洲国产高清在线 | 免费成人国产 | 国产高清视频一区 | 91观看| 亚洲免费视频一区 | 国内精品免费久久久久软件老师 | 九九免费 | 国产精品一区二区不卡 | 福利网址 | 免费观看一级特黄欧美大片 | 99精品一区二区 |