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

標(biāo)題: 單片機(jī)手動(dòng)程控放大器仿真+源程序+電路原理圖(MAX7219驅(qū)動(dòng)數(shù)碼管顯示) [打印本頁]

作者: 51黑ff    時(shí)間: 2016-8-31 21:18
標(biāo)題: 單片機(jī)手動(dòng)程控放大器仿真+源程序+電路原理圖(MAX7219驅(qū)動(dòng)數(shù)碼管顯示)


單片機(jī)手動(dòng)程控放大器仿真電路原理圖(工程文件清晰版請(qǐng)下載本帖最后的附件),采用MAX7219驅(qū)動(dòng)數(shù)碼管顯示.

單片機(jī)手動(dòng)程控放大器源程序如下:
  1. #include <AT89X52.h>
  2. #include <intrins.h>
  3. sbit sbF1 = P2 ^ 0;   //不進(jìn)行放大處理
  4. sbit sbF20 = P2 ^ 1;  //放大20倍
  5. sbit sbF30 = P2 ^ 2;  //放大30倍
  6. sbit sbF50 = P2 ^ 3;  //放大50倍

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

  10. //顯示緩沖區(qū)定義
  11. unsigned char Disp_Buffer[8]=            //MAX7219的輸出緩沖
  12. {
  13.          0,0,0,0,0,0,0,0
  14. };
  15. unsigned char Disp_Buffer1[8]=            //MAX7219的輸出緩沖
  16. {
  17.          0,0,0,0,0,0,0,1
  18. };
  19. unsigned char Disp_Buffer20[8]=            //MAX7219的輸出緩沖
  20. {
  21.          0,0,0,0,0,0,2,0
  22. };
  23. unsigned char Disp_Buffer30[8]=            //MAX7219的輸出緩沖
  24. {
  25.          0,0,0,0,0,0,3,0
  26. };
  27. unsigned char Disp_Buffer50[8]=            //MAX7219的輸出緩沖
  28. {
  29.          0,0,0,0,0,0,5,0
  30. };

  31. void DelayMS(unsigned int ms)              //毫秒級(jí)延時(shí)函數(shù)
  32. {
  33.         unsigned int i,j;
  34.         for( i=0;i<ms;i++)
  35.                 for(j=0;j<1141;j++);        
  36. }
  37. //寫MAX7219函數(shù),Addr為MAX7219的內(nèi)部寄存器地址,Dat為待寫入的數(shù)據(jù)
  38. void Write7219(unsigned char Addr,unsigned char Dat)
  39. {
  40.          unsigned char i;
  41.         sbLOAD = 0;                                         
  42.         for(i=0;i<8;i++)                               //先送出8位地址
  43.         {
  44.                  sbCLK = 0;                                   //時(shí)鐘拉低
  45.                 Addr <<= 1;                                  //移位送出地址
  46.                 sbDIN        = CY;                                    //送出數(shù)據(jù)
  47.                 sbCLK = 1;                                   //時(shí)鐘上升沿
  48.                 _nop_();
  49.                 _nop_();
  50.                 sbCLK = 0;                                   
  51.         }
  52.         for(i=0;i<8;i++)                              //再送出8位數(shù)據(jù)
  53.         {
  54.                  sbCLK = 0;
  55.                 Dat <<= 1;                                  //移位送出數(shù)據(jù)
  56.                 sbDIN        = CY;
  57.                 sbCLK = 1;
  58.                 _nop_();
  59.                 _nop_();
  60.                 sbCLK = 0;        
  61.         }
  62.         sbLOAD = 1;
  63. }
  64. //MAX7129的初始化函數(shù)
  65. void Initialise7219()
  66. {
  67.          Write7219(0x09,0xff);                 //編碼模式寄存器
  68.         Write7219(0x0a,0x07);                 //顯示亮度控制
  69.         Write7219(0x0b,0x07);                 //掃描控制
  70.         Write7219(0x0c,0x01);                 //關(guān)閉模式控制寄存器設(shè)置
  71. }

  72. void  Wobbling ()   //延時(shí)程序防止按鍵抖動(dòng)
  73. {
  74.   unsigned int i;
  75.   for(i=0;i<1000;i++);
  76. }

  77. void main()
  78. {
  79.   unsigned char i;
  80.         Initialise7219();                     //首先初始化MAX7129
  81.         DelayMS(1);                         //延時(shí)1毫秒
  82.   for(i=0;i<8;i++)
  83.         {
  84.                  Write7219(i+1,Disp_Buffer[i]);      //將顯示緩沖區(qū)內(nèi)的數(shù)據(jù)循環(huán)送出
  85.         }
  86.   P1 = 0x00;    //初始化端口
  87.   P2 = 0xFF;  
  88.   P1 = 0x11;   //再不按鍵的情況下默認(rèn)為不進(jìn)行放大處理
  89.   while(1)
  90.   {
  91.   if (sbF1 == 0) //判斷是否按下按鍵
  92.   {
  93.     Wobbling();   //時(shí)間延時(shí)程序,軟件防抖動(dòng)
  94.     if( sbF1 == 0)  //確定按下按鍵
  95.     {
  96.       P1 = 0x11;   //放大1倍
  97.       for(i=0;i<8;i++)
  98.             {
  99.                      Write7219(i+1,Disp_Buffer1[i]);      //顯示放大1倍
  100.             }
  101.     }
  102.   }
  103.   if(sbF20 == 0)  //判斷是否按下按鍵         
  104.   {
  105.     Wobbling();   //時(shí)間延時(shí)程序,軟件防抖動(dòng)
  106.     if(sbF20 == 0) //確定按下按鍵
  107.     {            
  108.       P1 = 0x22;   //放大20倍
  109.       for(i=0;i<8;i++)
  110.             {
  111.                      Write7219(i+1,Disp_Buffer20[i]);      //顯示放大20倍
  112.             }
  113.      }            
  114.   }
  115.   if(sbF30 == 0) //判斷是否按下按鍵         
  116.   {
  117.     Wobbling();   //時(shí)間延時(shí)程序,軟件防抖動(dòng)
  118.     if(sbF30 == 0) //確定按下按鍵   
  119.     {         
  120.       P1 = 0x44;   //放大30倍  
  121.       for(i=0;i<8;i++)
  122.             {
  123.                      Write7219(i+1,Disp_Buffer30[i]);      //顯示放大20倍
  124.             }
  125.      }            
  126.   }
  127.   if(sbF50 == 0) //判斷是否按下按鍵         
  128.   {
  129.     Wobbling();   //時(shí)間延時(shí)程序,軟件防抖動(dòng)
  130.     if(sbF50 == 0)//確定按下按鍵  
  131.     {         
  132.       P1=0x88;  //放大50倍   
  133.       for(i=0;i<8;i++)
  134.             {
  135.                      Write7219(i+1,Disp_Buffer50[i]);      //顯示放大20倍
  136.             }
  137.      }         
  138.   }
  139. }
  140. }
復(fù)制代碼



單片機(jī)手動(dòng)程控放大器所有資料下載:
http://www.zg4o1577.cn/bbs/dpj-54940-1.html



作者: qfewfweq    時(shí)間: 2019-6-29 08:51
你做處實(shí)物了嗎?





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产成人一区二区 | 在线久草 | 国产区在线 | 精品免费av| 亚洲欧美综合精品久久成人 | 在线观看亚洲 | 天堂综合 | 男女羞羞的网站 | 97伊人 | 亚洲一区二区中文字幕 | 一区二区三区在线电影 | 亚洲一区二区三区免费视频 | 久草视频在线播放 | 日韩成人中文字幕 | 成人国产精品视频 | 国产精品一区二区三 | 91视频在线网站 | 欧美人成在线视频 | 久久精品一级 | 亚洲精品永久免费 | 日韩欧美成人一区二区三区 | 黄视频网址 | 伊人伊人 | av永久免费| 国产高清一区二区 | 国产福利91精品 | 日韩一级免费电影 | 视频在线亚洲 | 精品国产91乱码一区二区三区 | 亚洲高清在线视频 | 精品91久久| 成人午夜影院 | 精品一区二区视频 | 久久久日韩精品一区二区三区 | 欧美一区二区在线观看 | 欧美精品a∨在线观看不卡 国产精品久久国产精品 | 精品成人一区二区 | 中文字幕久久精品 | 欧美精品片 | 狠狠色综合久久丁香婷婷 | 国产日韩欧美激情 |