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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

最近在弄HEF4094的單片機(jī)驅(qū)動,可是總有點(diǎn)問題,求大神指點(diǎn)啊!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:410399 發(fā)表于 2018-10-22 11:35 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
下面代碼是4094的輸入,不知道哪里出了問題,輸入和輸出的不太一樣,求指點(diǎn)啊!!!

void datain3(unsigned char dat16_09)
{
        unsigned char j;
        unsigned char i,tt;
        CLK4094 = 1;
        ST_4094_3  = 1;
        
        tt = dat16_09;        
        for(i = 0;i<9;i++)
        {
                j =  tt &(0x01);
                if(j == 1)
                {         DIN_4094_3 = 0;        }
                else
                {         DIN_4094_3 = 1;        }

                CLK4094 = 1;                    
                delay_us(20);
                CLK4094 = 0;        
                delay_us(20);         

                tt = tt>>1;
        }

        ST_4094_3   =  1;        
        delay_us(20);
        ST_4094_3   =  0;
        delay_us(20);

        CLK4094  =  1;  
//        ST_4094_3   =  1;
//        DIN_4094_3  =  1;
}


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

使用道具 舉報(bào)

沙發(fā)
ID:94031 發(fā)表于 2018-10-22 15:46 | 只看該作者
由于4094移位是先送高位再送低位所以你要把這兩句修改一下:
j =  tt &(0x01);   改為   j =  tt & 0x80;
tt = tt>>1;        改為   tt = tt<<1;
回復(fù)

使用道具 舉報(bào)

板凳
ID:410399 發(fā)表于 2018-10-23 08:31 | 只看該作者
xuyaqi 發(fā)表于 2018-10-22 15:46
由于4094移位是先送高位再送低位所以你要把這兩句修改一下:
j =  tt &(0x01);   改為   j =  tt & 0x80; ...

改了之后變成全部燈都亮了
回復(fù)

使用道具 舉報(bào)

地板
ID:94031 發(fā)表于 2018-10-23 13:27 | 只看該作者
mosqu 發(fā)表于 2018-10-23 08:31
改了之后變成全部燈都亮了

你的tt是什么值呢?
回復(fù)

使用道具 舉報(bào)

5#
ID:410399 發(fā)表于 2018-10-23 14:54 | 只看該作者
xuyaqi 發(fā)表于 2018-10-23 13:27
你的tt是什么值呢?

16進(jìn)制的值,
回復(fù)

使用道具 舉報(bào)

6#
ID:94031 發(fā)表于 2018-10-23 15:12 | 只看該作者
你把程序打包出來
回復(fù)

使用道具 舉報(bào)

7#
ID:410399 發(fā)表于 2018-10-23 16:06 | 只看該作者

#include <STC15W.h>
#include <intrins.h>

sbit DIN_4094_1 = P6^5;                //data
sbit ST_4094_1 = P6^7;                //str

sbit CLK_4094 = P4^3;                //SLK

unsigned char code zheng[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};   //逆時(shí)鐘旋轉(zhuǎn)相序表
unsigned char code fan[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};    //正時(shí)鐘旋轉(zhuǎn)相序表

void TransByteTo4094_ElecExpValve1(unsigned char dat16_09);

void delay_us(unsigned char i)
{
        unsigned char j;
        for(i; i>0;i--)
                for(j = 200;j>0;j--);
}
void delay(unsigned int o)
{
        while(--o);

}


void main()
{
        unsigned char n,k;
        unsigned char m;
        unsigned int time = 0;
        while(1)
        {
                for(time = 0; time < 50;time++)
                {
                        for(k = 0;k < 8; k++)
                        {
                                m = zheng[k];
                                TransByteTo4094_ElecExpValve1(m);
                                delay(500);
                               
                        }
                }
                for(time = 0; time < 50;time++)
                {
                        for(n = 0;n < 8; n++)
                        {
                                m = fan[n];
                                TransByteTo4094_ElecExpValve1(m);
                                delay(500);
                        }
                }

        }

}

void TransByteTo4094_ElecExpValve1(unsigned char dat16_09)
{
        unsigned char j;
        unsigned char i,tt;
        CLK_4094 = 1;
        ST_4094_1  = 1;
       
        tt = dat16_09;         
        for(i = 0;i<8;i++)
        {
                j =  tt &(0x01);
                if(j == 1)
                {         DIN_4094_1 = 0;        }
                else
                {         DIN_4094_1 = 1;        }

                CLK_4094 = 1;                        
                delay_us(10);
                CLK_4094 = 0;        
                delay_us(10);         

                tt = tt>>1;
        }

        ST_4094_1   =  1;        
        delay_us(10);
        ST_4094_1   =  0;
        delay_us(10);

        CLK_4094  =  1;   
        ST_4094_1   =  1;
        DIN_4094_1  =  1;
}

回復(fù)

使用道具 舉報(bào)

8#
ID:410399 發(fā)表于 2018-10-23 16:57 | 只看該作者
  1. #include <STC15W.h>
  2. #include <intrins.h>

  3. sbit DIN_4094_1 = P6^5;                //data
  4. sbit ST_4094_1 = P6^7;                //str

  5. sbit CLK_4094 = P4^3;                //SLK

  6. unsigned char code zheng[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};   //逆時(shí)鐘旋轉(zhuǎn)相序表
  7. unsigned char code fan[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};    //正時(shí)鐘旋轉(zhuǎn)相序表

  8. void TransByteTo4094_ElecExpValve1(unsigned char dat16_09);

  9. void delay_us(unsigned char i)
  10. {
  11.         unsigned char j;
  12.         for(i; i>0;i--)
  13.                 for(j = 200;j>0;j--);
  14. }
  15. void delay(unsigned int o)
  16. {
  17.         while(--o);

  18. }


  19. void main()
  20. {
  21.         unsigned char n,k;
  22.         unsigned char m;
  23.         unsigned int time = 0;
  24.         while(1)
  25.         {
  26.                 for(time = 0; time < 50;time++)
  27.                 {
  28.                         for(k = 0;k < 8; k++)
  29.                         {
  30.                                 m = zheng[k];
  31.                                 TransByteTo4094_ElecExpValve1(m);
  32.                                 delay(500);
  33.                                
  34.                         }
  35.                 }
  36.                 for(time = 0; time < 50;time++)
  37.                 {
  38.                         for(n = 0;n < 8; n++)
  39.                         {
  40.                                 m = fan[n];
  41.                                 TransByteTo4094_ElecExpValve1(m);
  42.                                 delay(500);
  43.                         }
  44.                 }

  45.         }

  46. }

  47. void TransByteTo4094_ElecExpValve1(unsigned char dat16_09)
  48. {
  49.         unsigned char j;
  50.         unsigned char i,tt;
  51.         CLK_4094 = 1;
  52.         ST_4094_1  = 1;
  53.        
  54.         tt = dat16_09;         
  55.         for(i = 0;i<8;i++)
  56.         {
  57.                 j =  tt &(0x01);
  58.                 if(j == 1)
  59.                 {         DIN_4094_1 = 0;        }
  60.                 else
  61.                 {         DIN_4094_1 = 1;        }

  62.                 CLK_4094 = 1;                        
  63.                 delay_us(10);
  64.                 CLK_4094 = 0;        
  65.                 delay_us(10);         

  66.                 tt = tt>>1;
  67.         }

  68.         ST_4094_1   =  1;        
  69.         delay_us(10);
  70.         ST_4094_1   =  0;
  71.         delay_us(10);

  72.         CLK_4094  =  1;   
  73.         ST_4094_1   =  1;
  74.         DIN_4094_1  =  1;
  75. }

復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

9#
ID:111634 發(fā)表于 2018-10-23 21:55 | 只看該作者
本帖最后由 zl2168 于 2018-10-24 09:01 編輯

實(shí)例43  CC4094串入并出控制8/16循環(huán)燈
Proteus仿真一下,確認(rèn)有效。
實(shí)例43 CC4094串行輸出控制8-16循環(huán)燈.rar (67.45 KB, 下載次數(shù): 30)

以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1.書中電路和程序設(shè)計(jì)有詳細(xì)說明,程序語句條條有注解。
回復(fù)

使用道具 舉報(bào)

10#
ID:94031 發(fā)表于 2018-10-24 09:15 | 只看該作者

要有硬件連接圖以及說明具體碰到什么問題?
回復(fù)

使用道具 舉報(bào)

11#
ID:410399 發(fā)表于 2018-10-24 10:12 | 只看該作者
xuyaqi 發(fā)表于 2018-10-24 09:15
要有硬件連接圖以及說明具體碰到什么問題?

已經(jīng)解決了,謝謝大神指點(diǎn)
回復(fù)

使用道具 舉報(bào)

12#
ID:286963 發(fā)表于 2018-10-24 10:12 | 只看該作者
j =  tt &(0x01);   tt = tt>>1;    這里修改一下
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人在线黄色 | 久久亚洲免费 | 国产人成在线观看 | 人人鲁人人莫人人爱精品 | 国内精品视频 | 91精品国产91久久久久久 | 精品国产一区二区三区在线观看 | 在线亚洲精品 | 青青艹在线视频 | wwwxxx国产 | 日韩欧美国产精品 | 久久久久亚洲 | 九九国产 | 成人欧美一区二区三区 | 欧美综合一区二区三区 | 夏同学福利网 | 国产在线不卡 | 三级黄色片在线 | 亚洲国产精品日韩av不卡在线 | 欧美成人免费电影 | 亚洲一区二区三区在线播放 | 欧美性tv| 日韩精品在线看 | 一区二区三区电影在线观看 | 国产亚洲精品久久yy50 | 夜久久 | 欧美国产日韩一区二区三区 | 国产探花在线精品一区二区 | 午夜影院在线观看 | 亚洲在线电影 | 日本韩国电影免费观看 | 黄色一级大片在线免费看产 | 亚洲精品一区二区三区中文字幕 | 国产精品久久久久久久久久 | 在线 丝袜 欧美 日韩 制服 | 国产精品久久久久久久免费大片 | 精品亚洲一区二区三区四区五区 | 一二区成人影院电影网 | 国产欧美精品一区二区色综合朱莉 | 国产精品视频一二三 | 18成人在线观看 |