找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

10個74HC595級聯(lián) 單片機程序請教

查看數(shù): 3100 | 評論數(shù): 5 | 收藏 1
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2020-9-5 13:08

正文摘要:

下面的程序可以發(fā)送10個8位二進制代碼給級聯(lián)的10個74HC595嗎?我仿真的時候只顯示2個74HC595收到正確數(shù)據(jù),不知道是什么原因。 這個代碼我是拿CSDN上的代碼改的。是不是還需控制10腳MR和13腳OE呢?如果是,該怎么 ...

回復

ID:230975 發(fā)表于 2020-9-5 22:01
wulin 發(fā)表于 2020-9-5 20:38
缺少 SCK = 0; RCK = 0; 初始化設置,其它沒有問題。

#include

ID:284050 發(fā)表于 2020-9-5 21:16
wulin 發(fā)表于 2020-9-5 20:38
缺少 SCK = 0; RCK = 0; 初始化設置,其它沒有問題。

#include

十分感謝!加了初始化以后,完全避免了輸出不是想要輸出的問題了
ID:284050 發(fā)表于 2020-9-5 21:07
感謝。
ID:213173 發(fā)表于 2020-9-5 20:38
缺少 SCK = 0; RCK = 0; 初始化設置,其它沒有問題。

#include<reg51.h>
#include<intrins.h>

typedef unsigned char uchar;
typedef unsigned int uint;

/**********函數(shù)聲明********************/
void SendTo595(uchar byteData);
/***********************************/

sbit SER = P3^4;    //p3.4腳控制串行數(shù)據(jù)輸入
sbit SCK = P3^6;    //串行輸入時鐘
sbit RCK = P3^5;    //存儲寄存器時鐘

void main()
{
        char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};  
        SCK = 0;
        RCK = 0;
        SendTo595(table[0]);  
        SendTo595(table[1]);         
        SendTo595(table[2]);  
        SendTo595(table[3]);
        SendTo595(table[4]);  
        SendTo595(table[5]);         
        SendTo595(table[6]);  
        SendTo595(table[7]);
        SendTo595(table[8]);         
        SendTo595(table[9]);  
        /*位移寄存器數(shù)據(jù)準備完畢,轉(zhuǎn)移到存儲寄存器*/
        RCK = 1;         //上升沿,讓存儲寄存器時鐘變?yōu)楦唠娖剑⒀訒r2個時鐘周期
        _nop_();
        _nop_();
        RCK = 0;
        while(1);
}
//功能:發(fā)送一個字節(jié)的數(shù)據(jù)給595,再并行輸出
void SendTo595(uchar byteData)
{
        char i=0;
        for(;i<8;i++)
        {
                SER = byteData>>7;         
                byteData= byteData<<1;      
                SCK = 1;          //上升沿,讓串行輸入時鐘變?yōu)楦唠娖,并延時2個時鐘周期
                _nop_();
                _nop_();
                SCK = 0;          //變?yōu)榈碗娖剑瑸橄麓螠蕚?br />         }  
}

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

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

快速回復 返回頂部 返回列表