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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5108|回復: 2
打印 上一主題 下一主題
收起左側(cè)

入門第一個74HC595驅(qū)動 C語言

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:374522 發(fā)表于 2018-7-19 08:42 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/********   實驗驅(qū)動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    稱位寄存器壯態(tài)保持
   X     X      X    上沿    X    輸出存儲器鎖存(移位寄存器中的壯態(tài)值)
   X     X      X    下沿    X    輸出存儲器壯態(tài) 保持
   **************分析******************
   實計使用:
    SI   數(shù)據(jù)       (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;    //延時基數(shù)
extern unsigned int b  =  1;      //并行數(shù)據(jù) 初使參數(shù)
extern unsigned int c  =  0;
// int temp=0b00000001;   //  移位數(shù)據(jù) 初使參數(shù)
/**************分析******************
    實計使用:
    SI   數(shù)據(jù)   (14腳)
        RCK  鎖存   (12腳)
        SCK  時鐘   (11時鐘)
   注意:第調(diào)用一次 腳位電平反轉(zhuǎn) ^=
***************************************/
#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
};
/********將顯示數(shù)據(jù)裝入74HC595內(nèi)部移位奇存器*****/
void WR_595(char c)
{
     char  unm,j,i,x; //定義3個(16位)常量
         unm=DisTab[c];        // 顯示數(shù)據(jù)存入 unm 中
         for (j=0;j<7;j++)
         {  
                SCK_1;             //上沿 移位寄存器(存儲)
          //  x = unm&0x80;      //數(shù)據(jù) (unm 與 0X80)與運算后存入X
                 x = unm&0b1000000;
                if(x==0)           // 數(shù)據(jù)寫到 SI 端口
                  {
                   SI_0;  //如果X==0,SI_1 數(shù)據(jù)寫1,
                  }
                  else             //如果X==0,SI_1 數(shù)據(jù)寫0,
                     {
                       SI_1;
                     }
             SCK_0;             //下沿 移位寄存器(壯態(tài)保持)
                 unm = unm<<1;      //數(shù)據(jù)移位
      }
  }                       
/**********鎖存并顯示**************/
void OUT_595(void)
    {
             RCK_1;             //上沿,壯態(tài)鎖存
                 RCK_0;             //下沿,保持74HC595輸出壯態(tài)
                 Delay_ms(500);    //延時 74HC顯示一段時間
    }
/**********************************/



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

}


評分

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

查看全部評分

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩亚洲一区 | 综合二区 | 少妇午夜一级艳片欧美精品 | 91中文字幕在线 | 欧美亚洲成人网 | 欧美精品日韩 | 成人午夜免费视频 | 日本成人午夜影院 | 欧美福利 | 国产成人在线视频免费观看 | 免费观看黄a一级视频 | 午夜精品一区二区三区在线视频 | 久久99深爱久久99精品 | 亚洲视频欧美视频 | 国产a视频| 国产一区二区三区亚洲 | 99精品视频免费观看 | 国产xxxx岁13xxxxhd | 久久久久成人精品 | 亚洲欧美久久 | 亚洲日韩中文字幕一区 | 国产精品不卡一区 | www.蜜桃av.com | 99热精品国产 | 亚洲免费精品 | 欧美成人综合 | 国产精品一区久久久 | 欧美一区二区三区 | 操操日 | 国产目拍亚洲精品99久久精品 | 国产午夜精品久久久 | 日韩一二三区视频 | 亚洲一区二区三区高清 | 日日操夜夜操视频 | 激情小视频 | 亚洲天堂中文字幕 | 99在线资源| 婷婷久久网 | 久久se精品一区精品二区 | 国产精品久久久久久久一区二区 | 天天宗合网 |