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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4711|回復(fù): 3
收起左側(cè)

基于51單片機和Proteus仿真的手動程控放大器

[復(fù)制鏈接]
ID:517871 發(fā)表于 2019-5-9 17:22 | 顯示全部樓層 |閱讀模式
#include <AT89X52.h>
#include <intrins.h>
sbit sbF1 = P2 ^ 0;   //不進行放大處理
sbit sbF20 = P2 ^ 1;  //放大20倍
sbit sbF30 = P2 ^ 2;  //放大30倍
sbit sbF50 = P2 ^ 3;  //放大50倍

sbit sbDIN = P3 ^ 0;                        //MAX7219的數(shù)據(jù)引腳
sbit sbLOAD = P3 ^ 1;                      //MAX7219的控制引腳
sbit sbCLK = P3 ^ 2;                       //MAX7219的時鐘引腳

//顯示緩沖區(qū)定義
unsigned char Disp_Buffer[8]=            //MAX7219的輸出緩沖
{
        0,0,0,0,0,0,0,0
};
unsigned char Disp_Buffer1[8]=            //MAX7219的輸出緩沖
{
        0,0,0,0,0,0,0,1
};
unsigned char Disp_Buffer20[8]=            //MAX7219的輸出緩沖
{
        0,0,0,0,0,0,2,0
};
unsigned char Disp_Buffer30[8]=            //MAX7219的輸出緩沖
{
        0,0,0,0,0,0,3,0
};
unsigned char Disp_Buffer50[8]=            //MAX7219的輸出緩沖
{
        0,0,0,0,0,0,5,0
};

void DelayMS(unsigned int ms)              //毫秒級延時函數(shù)
{
        unsigned int i,j;
        for( i=0;i<ms;i++)
                for(j=0;j<1141;j++);       
}
//寫MAX7219函數(shù),Addr為MAX7219的內(nèi)部寄存器地址,Dat為待寫入的數(shù)據(jù)
void Write7219(unsigned char Addr,unsigned char Dat)
{
        unsigned char i;
        sbLOAD = 0;                                         
        for(i=0;i<8;i++)                               //先送出8位地址
        {
                 sbCLK = 0;                                   //時鐘拉低
                Addr <<= 1;                                  //移位送出地址
                sbDIN        = CY;                                    //送出數(shù)據(jù)
                sbCLK = 1;                                   //時鐘上升沿
                _nop_();
                _nop_();
                sbCLK = 0;                                   
        }
        for(i=0;i<8;i++)                              //再送出8位數(shù)據(jù)
        {
                 sbCLK = 0;
                Dat <<= 1;                                  //移位送出數(shù)據(jù)
                sbDIN        = CY;
                sbCLK = 1;
                _nop_();
                _nop_();
                sbCLK = 0;       
        }
        sbLOAD = 1;
}
//MAX7129的初始化函數(shù)
void Initialise7219()
{
        Write7219(0x09,0xff);                 //編碼模式寄存器
        Write7219(0x0a,0x07);                 //顯示亮度控制
        Write7219(0x0b,0x07);                 //掃描控制
        Write7219(0x0c,0x01);                 //關(guān)閉模式控制寄存器設(shè)置
}

void  Wobbling ()   //延時程序防止按鍵抖動
{
  unsigned int i;
  for(i=0;i<1000;i++);
}

void main()
{
  unsigned char i;
        Initialise7219();                     //首先初始化MAX7129
        DelayMS(1);                         //延時1毫秒
  for(i=0;i<8;i++)
        {
                 Write7219(i+1,Disp_Buffer[i]);      //將顯示緩沖區(qū)內(nèi)的數(shù)據(jù)循環(huán)送出
        }
  P1 = 0x00;    //初始化端口
  P2 = 0xFF;  
  P1 = 0x11;   //再不按鍵的情況下默認為不進行放大處理
  while(1)
  {
  if (sbF1 == 0) //判斷是否按下按鍵
  {
    Wobbling();   //時間延時程序,軟件防抖動
    if( sbF1 == 0)  //確定按下按鍵
    {
      P1 = 0x11;   //放大1倍
      for(i=0;i<8;i++)
            {
                     Write7219(i+1,Disp_Buffer1[i]);      //顯示放大1倍
            }
    }
  }
  if(sbF20 == 0)  //判斷是否按下按鍵         
  {
    Wobbling();   //時間延時程序,軟件防抖動
    if(sbF20 == 0) //確定按下按鍵
    {            
      P1 = 0x22;   //放大20倍
      for(i=0;i<8;i++)
            {
                     Write7219(i+1,Disp_Buffer20[i]);      //顯示放大20倍
            }
     }            
  }
  if(sbF30 == 0) //判斷是否按下按鍵         
  {
    Wobbling();   //時間延時程序,軟件防抖動
    if(sbF30 == 0) //確定按下按鍵   
    {         
      P1 = 0x44;   //放大30倍  
      for(i=0;i<8;i++)
            {
                     Write7219(i+1,Disp_Buffer30[i]);      //顯示放大20倍
            }
     }            
  }
  if(sbF50 == 0) //判斷是否按下按鍵         
  {
    Wobbling();   //時間延時程序,軟件防抖動
    if(sbF50 == 0)//確定按下按鍵  
    {         
      P1=0x88;  //放大50倍   
      for(i=0;i<8;i++)
            {
                     Write7219(i+1,Disp_Buffer50[i]);      //顯示放大20倍
            }
     }         
  }
}
}


放大器.png

基于51單片機和Proteus仿真的手動程控放大器.zip

73.67 KB, 下載次數(shù): 74, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報

ID:207534 發(fā)表于 2020-5-12 11:04 來自觸屏版 | 顯示全部樓層
為啥放大倍數(shù)好像只有幾倍
回復(fù)

使用道具 舉報

ID:771983 發(fā)表于 2020-6-30 09:30 來自觸屏版 | 顯示全部樓層
圖不行啊
回復(fù)

使用道具 舉報

ID:806551 發(fā)表于 2021-10-13 16:21 | 顯示全部樓層
為啥放大倍數(shù)好像只有幾倍
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品在线一区 | 日韩欧美在线视频观看 | 在线亚洲精品 | 在线观看欧美日韩 | 国产精品福利视频 | 懂色av一区二区三区 | 色综合一区二区 | 成人a视频 | 欧美黄色片网站 | 欧美三级在线视频 | 永久免费看mv网站入口亚洲 | 色多多视频在线观看 | 狠狠艹狠狠干 | 日韩在线观看中文字幕 | 国产精品免费一区 | 欧美综合激情 | 国产精品免费在线播放 | 天天看天天干 | 国产精品一区二区不卡 | 三年中文在线观看免费大全中国 | 中文字幕在线免费视频 | 亚洲一区久久 | 国产一区二区网站 | 日韩av在线不卡 | 黄色国产 | 成年人国产| 成人在线网址 | 日本不卡视频 | 玖玖视频 | av免费看片 | 国产永久在线 | 日韩8x8x | 国产欧美日韩在线视频 | 91亚洲国产成人久久精品网站 | 伊人久久精品视频 | 黄视频免费观看 | 蜜桃91丨九色丨蝌蚪91桃色 | 青草视频在线观看免费 | 日日操天天操 | 久久天堂网 | 91成人精品一区在线播放 |