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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5206|回復: 2
打印 上一主題 下一主題
收起左側

入門第一個74HC595驅動 C語言

[復制鏈接]
跳轉到指定樓層
樓主
ID:374522 發表于 2018-7-19 08:42 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/********   實驗驅動74HC595 芯片********
     單片機型號:ATMEGA48PA

   /********** 74HC595電平邏輯*********************
   SI   SCK   SCLR   RCK     OE   輸出管腳
   X     X      X     X      H    QA--QH 輸出高阻
   X     X      X     X      L    QA--QH 輸出有效值
   X     X      L     X      X    稱位寄存器清零
   L   上沿     H     X      X    稱位寄存器存儲 L
   H   上沿     H     X      X    稱位寄存器存儲 H
   x   下沿     H     X      X    稱位寄存器壯態保持
   X     X      X    上沿    X    輸出存儲器鎖存(移位寄存器中的壯態值)
   X     X      X    下沿    X    輸出存儲器壯態 保持
   **************分析******************
   實計使用:
    SI   數據       (14腳)
        RCK  鎖存       (12腳)
        SCK  時鐘       (11腳)
       OE 與 RCK 相連  (13腳)
           SCLR 接高電平   (10腳)
   ***************************************/
//ICC-AVR application builder : 2017-12-5 17:22:41
// Target : m48
// Crystal: 1.0000Mh
/***************************************************/
#include <iom48v.h>
#include <macros.h>
#define uchar unsigned char
#define uint  unsigned int
extern unsigned int a  =  10;    //延時基數
extern unsigned int b  =  1;      //并行數據 初使參數
extern unsigned int c  =  0;
// int temp=0b00000001;   //  移位數據 初使參數
/**************分析******************
    實計使用:
    SI   數據   (14腳)
        RCK  鎖存   (12腳)
        SCK  時鐘   (11時鐘)
   注意:第調用一次 腳位電平反轉 ^=
***************************************/
#define   SI_1    PORTB  |=  (1<<0)  
#define   SI_0    PORTB  &= ~(1<<0)

#define   SCK_1   PORTB  |= (1<<1)  
#define   SCK_0   PORTB  &=~(1<<1)  

#define   RCK_1   PORTB  |= (1<<2)
#define   RCK_0   PORTB  &=~(1<<2)


/************端口初使化******************************/
void port_init(void)
{
  PORTB = 0x00;
  DDRB  = 0xFF;
  PORTC = 0x00;
  DDRC  = 0xFF;
  PORTD = 0B00000011;
  DDRD  = 0xFF;

}
/***************mS延時***********************/
void Delay_ms(unsigned int Time)
{
  unsigned char n=0;
    while(Time>0)
    {   
        for (n=1;n<187;n++)
        {
            NOP();
        }
        Time--;
    }
}
/***********顯示/字**************************/
const unsigned char DisTab[]=  
{ 0b00000000,  // 0
  0b00000001,  // 1
  0b00000011,  // 2
  0b00000111,  // 3
  0b00001111,  // 4
  0b00011111,  // 5
  0b00111111,  // 6
  0b01111111,  // 7
  0b11111111,  // 8
// 0b00000000,  // 9
};
/********將顯示數據裝入74HC595內部移位奇存器*****/
void WR_595(char c)
{
     char  unm,j,i,x; //定義3個(16位)常量
         unm=DisTab[c];        // 顯示數據存入 unm 中
         for (j=0;j<7;j++)
         {  
                SCK_1;             //上沿 移位寄存器(存儲)
          //  x = unm&0x80;      //數據 (unm 與 0X80)與運算后存入X
                 x = unm&0b1000000;
                if(x==0)           // 數據寫到 SI 端口
                  {
                   SI_0;  //如果X==0,SI_1 數據寫1,
                  }
                  else             //如果X==0,SI_1 數據寫0,
                     {
                       SI_1;
                     }
             SCK_0;             //下沿 移位寄存器(壯態保持)
                 unm = unm<<1;      //數據移位
      }
  }                       
/**********鎖存并顯示**************/
void OUT_595(void)
    {
             RCK_1;             //上沿,壯態鎖存
                 RCK_0;             //下沿,保持74HC595輸出壯態
                 Delay_ms(500);    //延時 74HC顯示一段時間
    }
/**********************************/



/***************開始***********************/
void main(void)
{  
    port_init();            //端口初使化
  while(1)                  //超極循環
   {
        char i;
                for(i=0;i<8;i++)
                    {   
                            WR_595(2);   //顯示數據裝入并顯示
                                OUT_595();
                    }               
                 
   }  

}


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:1 發表于 2018-7-19 15:58 | 只看該作者
樓主能分享下原理圖嗎?
回復

使用道具 舉報

板凳
ID:374522 發表于 2018-7-20 20:32 | 只看該作者
不好意思,還不會傳圖片
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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