找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

基于51單片機(jī)的紅外遙控調(diào)光燈

[復(fù)制鏈接]
ID:952172 發(fā)表于 2021-7-12 16:01 | 顯示全部樓層 |閱讀模式
做的單片機(jī)設(shè)計(jì),分享給大家
代碼參考了一下網(wǎng)上的資料加以改進(jìn)。
原理圖是用proteus畫的,
實(shí)物圖也在下面。
實(shí)現(xiàn)功能有
顯示屏顯示小燈泡亮度的數(shù)據(jù);

實(shí)物圖1

實(shí)物圖1

實(shí)物圖2

實(shí)物圖2

仿真圖

仿真圖


單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #define TH0_TL0 (65536-1000)  
  3. unsigned char count0=100;       //低電平的占空比
  4. unsigned char count1=0;         //高電平的占空比
  5. unsigned char IrValue[2];
  6. sbit PWM=P1^0;               //PWM輸出


  7. unsigned char Time_delay;

  8. /************函數(shù)聲明**************/
  9. void Delay (unsigned char x);     //延時(shí)程序
  10. void Motor_LED(void);             //亮度
  11. void Timer0_init (void);          //定時(shí)器T0中斷 ;若與紅外程序建立,避免沖突,改為定時(shí)器中斷T1

  12. /****************延時(shí)處理**********************/
  13. void Delay (unsigned char x)
  14. {
  15.   Time_delay=x;
  16.    while (Time_delay!=0);           //等待中斷,PWM輸出時(shí)間間隔
  17. }

  18. /*******按鍵處理加pwm占空比**********/
  19. void Motor_LED (void)
  20. {
  21.         if (IrValue[2]==0x16)    //按下"0"
  22. {
  23.         count0=20;
  24. }
  25. if(IrValue[2]==0x0c)     //按下"1"
  26. {
  27.         count0=50;
  28. }
  29. if(IrValue[2]==0x18)     //按下"2"
  30. {
  31.         count0=80;
  32. }
  33. }

  34. /***********定時(shí)器0初始化***********/
  35. void Timer0_init(void)
  36. {
  37.         TMOD=0x01;//定時(shí)器0工作于方式1
  38.         //TH0=TH0_TL0/256;
  39.         //TL0=TH0_TL0%256;
  40.         TR0=1;
  41.         ET0=1;
  42.         EA=1;
  43. }

  44. /*********主函數(shù)********************/
  45. void main(void)
  46. {
  47.         Timer0_init();
  48.         while(1)
  49. {
  50.          Motor_LED();
  51. }
  52. }
  53. /**************定時(shí)0中斷處理******************/
  54. void Timer0_int(void) interrupt 1 using 1
  55. {
  56.         TR0=0;    //設(shè)置定時(shí)器初值期間,關(guān)閉定時(shí)器
  57.         //TL0=TH0_TL0%256;
  58.         //TH0=TH0_TL0/256;
  59.                 if(Time_delay!=0)  //延時(shí)函數(shù)用
  60. {
  61.          Time_delay--;
  62.          PWM=0;
  63.          if(++count1<count0)
  64.          {
  65.                  PWM=1;
  66.     }
  67.   else PWM=0;
  68.          if(count1>=100)
  69.   {
  70.     count1=0;
  71.    }
  72.   }
  73. }
復(fù)制代碼

評(píng)分

參與人數(shù) 1黑幣 +30 收起 理由
admin + 30 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:952172 發(fā)表于 2021-7-12 16:02 | 顯示全部樓層
后續(xù)會(huì)上傳原理圖文件, 方便大家進(jìn)行仿真。
回復(fù)

使用道具 舉報(bào)

ID:229641 發(fā)表于 2021-7-13 07:55 來自手機(jī) | 顯示全部樓層
是緩慢變亮的啟動(dòng)方式嗎?沒有電路圖啊
回復(fù)

使用道具 舉報(bào)

ID:952172 發(fā)表于 2021-7-13 09:33 | 顯示全部樓層
觸景情傷 發(fā)表于 2021-7-13 07:55
是緩慢變亮的啟動(dòng)方式嗎?沒有電路圖啊

對(duì)的 電路圖后期上傳
回復(fù)

使用道具 舉報(bào)

ID:954807 發(fā)表于 2021-7-20 08:54 | 顯示全部樓層
請(qǐng)問什么時(shí)候上傳原理圖文件  
回復(fù)

使用道具 舉報(bào)

ID:607312 發(fā)表于 2021-9-7 09:22 | 顯示全部樓層
解碼部分方便上傳一下嗎,謝謝
回復(fù)

使用道具 舉報(bào)

ID:1126743 發(fā)表于 2024-6-24 14:00 | 顯示全部樓層
仿真太模糊了,看不清
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表