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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于51單片機實現不同按鍵輸出不同占空比,從而達到調光作用

[復制鏈接]
ID:37147 發表于 2016-10-14 19:26 | 顯示全部樓層 |閱讀模式
輸出0v~5v不同占空比,從而實現多級調光,此程序硬件電路還必須配合SGD1011芯片使用,單片機輸出不同脈沖信號,控制SGD1011輸出電流大小,從而控制不同亮度的燈管。后續會把電容觸摸調光,上傳至51黑電子論壇論壇,資源共享。本壓縮包附有multisim/protues仿真和程序/SGD1011芯片規格介紹書。我也找了好長時間才找到這個SGD1011資料,現分享。謝謝!

0.png
單片機源程序:
  1. #include<reg51.h>     //程序是基于KEIL-C51編寫,引入8051頭文件
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit P37=P3^7;

  5. sbit k1=P1^0; //開、關
  6. sbit k2=P1^1; //一檔
  7. sbit k3=P1^2; //二擋
  8. sbit k4=P1^3; //三擋
  9. sbit k5=P1^4; //四擋
  10. sbit k6=P1^5; //五檔
  11. unsigned int scale=10;   //占空比控制變量
  12. void delay(uint xms)
  13. {
  14.         uint i,j;
  15.         for(i=xms;i>0;i--)
  16.                 for(j=110;j>0;j--);
  17. }
  18. timer0() interrupt 1             //定時器0中斷程序
  19. {
  20.        
  21.     static  unsigned int  tt ;   //tt用來保存當前時間在一個時鐘周期的位置
  22.     tt++;                        //每中斷一次,即每經過250us,tt的值自加1
  23.     if(tt==10)                   //中斷10次定時2.5ms,
  24.     {
  25.         tt=0;                    //使tt=0,開始新的周期,達到循環的效果
  26.         P37=0;                   //點亮LED
  27.     }
  28.     if(scale==tt)                //如果占空比與中斷次數相同時,此時輸出高電平
  29.     P37=1;                       //熄滅LED燈

  30.     /*
  31.     前面的程序是將占空比設置成了10個等級,scale=1時維持高電平的時間
  32.     是1/10個PWM周期(這里是2.5ms),因為scale<=tt的時間段是低電平點亮LED燈的,
  33.     scale>=tt的時間是熄滅LED燈的,通過改變一個周期內高低電平維持的時間長短
  34.     就可以控制LED燈的亮度或者是電機的轉速了,這就是PWM的工作原理
  35.     */
  36. }
  37. void keyscan()
  38. {
  39.         if(k1==0)
  40.         {
  41.                 delay(10);
  42.                 if(k1==0)
  43.                 {
  44.                         scale=10;
  45.                         while(!k1);
  46.                 }
  47.         }
  48.         if(k2==0)
  49.         {
  50.                 delay(10);
  51.                 if(k2==0)
  52.                 {
  53.                         scale=8;
  54.                         while(!k2);
  55.                 }
  56.         }
  57.         if(k3==0)
  58.         {
  59.                 delay(10);
  60.                 if(k3==0)
  61.                 {
  62.                         scale=6;
  63.                         while(!k3);
  64.                 }
  65.         }
  66.         if(k4==0)
  67.         {
  68.                 delay(10);
  69.                 if(k4==0)
  70.                 {
  71.                         scale=4;
  72.                         while(!k4);
  73.                 }
  74.         }
  75.         if(k5==0)
  76.         {
  77.                 delay(10);
  78.                 if(k5==0)
  79.                 {
  80.                         scale=2;
  81.                         while(!k5);
  82.                 }
  83.         }
  84.         if(k6==0)
  85.         {
  86.                 delay(10);
  87.                 if(k6==0)
  88.                 {
  89.                         scale=0;
  90.                         while(!k6);
  91.                 }
  92.         }
  93. }
  94. /*void display()
  95. {
  96.         keyscan();

  97. }*/
  98. void main(void)      
  99. {
  100.         unsigned int n;     //延時循環變量
  101.     TMOD=0x02;        //定時器0,工作模式2(0000 0010),8位定時
  102.     TH0=0x06;         //定時250us(12M晶振)
  103.     TL0=0x06;         //預置值
  104.     TR0=1;            //啟動定時器0
  105.     ET0=1;            //啟動定時器0中斷
  106.     EA=1;             //開啟總中斷
  107.                                           
  108.   while(1)   
  109.   {        
  110.                 keyscan();
  111.          //   for(n=0;n<50000;n++)    //延時一段時間
  112.         //        {
  113.           //      scale=6;                 //占空比控制變量加一
  114.          //       if(scale==10)  scale=0;  //達到循環的效果
  115.         //        }
  116.   }
  117. }
復制代碼

0.png
所有資料打包下載:
IC觸摸6鍵調光程序 硬件仿真.rar (785.5 KB, 下載次數: 49)

評分

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

查看全部評分

回復

使用道具 舉報

ID:127666 發表于 2018-8-28 19:37 | 顯示全部樓層
謝謝樓主的分享
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品日韩一区 | 亚洲免费精品一区 | 日韩成人中文字幕 | 国产一级特黄视频 | 亚洲国产一区二区三区在线观看 | 国产真实乱全部视频 | 99精品国产在热久久 | 久久久久久国产精品 | 免费看啪啪网站 | 亚洲视频一 | 国产精品视频一二三区 | www日韩| 最新国产精品精品视频 | 成人在线网| 精品蜜桃一区二区三区 | 久久久久久久久久久久久久国产 | av午夜电影 | 日韩欧美视频 | 有码一区 | 亚洲精品一区二区三区蜜桃久 | 久热国产精品视频 | 99精品视频免费观看 | 欧美性大战久久久久久久蜜臀 | 伊人色综合久久天天五月婷 | 精品欧美一区二区精品久久久 | 成人亚洲精品 | 日本在线一区二区 | 久久影音先锋 | 久久亚洲欧美日韩精品专区 | 一区二区av | 伊人久久免费视频 | 欧美xxxx色视频在线观看免费 | 国产二区三区 | 四虎最新视频 | 久久久黑人| 亚洲国产电影 | 91久久国产综合久久91精品网站 | 亚洲成人一区二区 | 18性欧美| 国产一区| 国产精品高清一区二区三区 |