欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2730|回復: 1
收起左側

用74hc595控制列和74hc138控制行的點陣程序?

[復制鏈接]
ID:425296 發表于 2018-11-30 23:31 | 顯示全部樓層 |閱讀模式
sbit SHCP=P3^6;//595的移位信號         
sbit STCP=P3^5;//是595的鎖存信號            
sbit SER=P3^4;/串  

sbit IA=P1^0;//行控制線A   
sbit IB=P1^1;//行控制線B
sbit IC=P1^2;//行控制線C


回復

使用道具 舉報

ID:94031 發表于 2018-12-1 09:17 | 顯示全部樓層
給個參考程序:
#include "reg51.h"                         //此文件中定義了單片機的一些特殊功能寄存器
#include<intrins.h>

typedef unsigned int u16;          //對數據類型進行聲明定義
typedef unsigned char u8;

sbit SRCLK=P3^6;//SH_CP
sbit RCLK =P3^5;//ST_CP
sbit SER  =P3^4;//DS

sbit IA=P1^0;//行控制線A   
sbit IB=P1^1;//行控制線B
sbit IC=P1^2;//行控制線C

u8 ledduan[]={0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00};
u8 ledwei[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
/*******************************************************************************
* 函 數 名         : delay
* 函數功能                   : 延時函數,i=1時,大約延時10us
*******************************************************************************/
void delay(u16 i)
{
        while(i--);        
}

/*******************************************************************************
* 函數名         : Hc595SendByte(u8 dat)
* 函數功能                   : 向74HC595發送一個字節的數據
* 輸入           : 無
* 輸出                  : 無
*******************************************************************************/
void Hc595SendByte(u8 dat)
{
        u8 a;
        SRCLK=0;      //首先設移位寄存器為低電平
        RCLK=0;         //再設存儲寄存器為低電平
        for(a=0;a<8;a++)
        {
                SER=dat>>7;        //輸入
                dat<<=1;

                SRCLK=1;
                _nop_();
                _nop_();
                SRCLK=0;        
        }

        RCLK=1;
        _nop_();
        _nop_();
        RCLK=0;
}


void main()
{                        
        u8 i;
        while(1)
        {
                P0=0x7f;
                for(i=0;i<8;i++)
                {
                        switch(i)
            {
                                case 0:  IA=0;IB=0;IC=0; break;
                                case 1:  IA=1;IB=0;IC=0; break;
                                case 2:  IA=0;IB=1;IC=0; break;
                                case 3:  IA=1;IB=1;IC=0; break;
                                case 4:  IA=0;IB=0;IC=1; break;
                                case 5:  IA=1;IB=0;IC=1; break;
                                case 6:  IA=0;IB=1;IC=1; break;
                                case 7:  IA=1;IB=1;IC=1; break;
                  }
                  Hc595SendByte(ledduan[i]);    //發送段選數據
                        delay(100);                   //延時
                        Hc595SendByte(0x00);  //消隱
                }        
        }               
}
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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