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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2716|回復: 1
打印 上一主題 下一主題
收起左側

有STC8A8K64S4A12單片機呼吸燈程序嗎 求幫助

[復制鏈接]
跳轉到指定樓層
樓主
ID:490151 發表于 2019-3-17 16:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
有STC8A8K64S4A12單片機呼吸燈程序嗎
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:155507 發表于 2019-4-6 22:17 | 只看該作者
我給你來個程序試試

  1. //STC8A8K64S4A12單片機呼吸燈程序


  2. #include "reg51.h"
  3. #include "intrins.h"

  4. //測試工作頻率為11.0592MHz

  5. #define CYCLE           0x1000

  6. sfr     P_SW2       =   0xba;
  7. sfr     PWMCFG      =   0xf1;
  8. sfr     PWMIF       =   0xf6;
  9. sfr     PWMFDCR     =   0xf7;
  10. sfr     PWMCR       =   0xfe;

  11. #define PWMC            (*(unsigned int volatile xdata *)0xfff0)
  12. #define PWMCKS          (*(unsigned char volatile xdata *)0xfff2)
  13. #define TADCP           (*(unsigned int volatile xdata *)0xfff3)
  14. #define PWM0T1          (*(unsigned int volatile xdata *)0xff00)
  15. #define PWM0T2          (*(unsigned int volatile xdata *)0xff02)
  16. #define PWM0CR          (*(unsigned char volatile xdata *)0xff04)
  17. #define PWM0HLD         (*(unsigned char volatile xdata *)0xff05)
  18. #define PWM1T1          (*(unsigned int volatile xdata *)0xff10)
  19. #define PWM1T2          (*(unsigned int volatile xdata *)0xff12)
  20. #define PWM1CR          (*(unsigned char volatile xdata *)0xff14)
  21. #define PWM1HLD         (*(unsigned char volatile xdata *)0xff15)
  22. #define PWM2T1          (*(unsigned int volatile xdata *)0xff20)
  23. #define PWM2T2          (*(unsigned int volatile xdata *)0xff22)
  24. #define PWM2CR          (*(unsigned char volatile xdata *)0xff24)
  25. #define PWM2HLD         (*(unsigned char volatile xdata *)0xff25)
  26. #define PWM3T1          (*(unsigned int volatile xdata *)0xff30)
  27. #define PWM3T2          (*(unsigned int volatile xdata *)0xff32)
  28. #define PWM3CR          (*(unsigned char volatile xdata *)0xff34)
  29. #define PWM3HLD         (*(unsigned char volatile xdata *)0xff35)
  30. #define PWM4T1          (*(unsigned int volatile xdata *)0xff40)
  31. #define PWM4T2          (*(unsigned int volatile xdata *)0xff42)
  32. #define PWM4CR          (*(unsigned char volatile xdata *)0xff44)
  33. #define PWM4HLD         (*(unsigned char volatile xdata *)0xff45)
  34. #define PWM5T1          (*(unsigned int volatile xdata *)0xff50)
  35. #define PWM5T2          (*(unsigned int volatile xdata *)0xff52)
  36. #define PWM5CR          (*(unsigned char volatile xdata *)0xff54)
  37. #define PWM5HLD         (*(unsigned char volatile xdata *)0xff55)
  38. #define PWM6T1          (*(unsigned int volatile xdata *)0xff60)
  39. #define PWM6T2          (*(unsigned int volatile xdata *)0xff62)
  40. #define PWM6CR          (*(unsigned char volatile xdata *)0xff64)
  41. #define PWM6HLD         (*(unsigned char volatile xdata *)0xff65)
  42. #define PWM7T1          (*(unsigned int volatile xdata *)0xff70)
  43. #define PWM7T2          (*(unsigned int volatile xdata *)0xff72)
  44. #define PWM7CR          (*(unsigned char volatile xdata *)0xff74)
  45. #define PWM7HLD         (*(unsigned char volatile xdata *)0xff75)

  46. void PWM_Isr() interrupt 22
  47. {
  48.     static bit dir = 1;
  49.     static int val = 0;

  50.     if (PWMCFG & 0x80)
  51.     {
  52.         PWMCFG &= ~0x80;                        //清中斷標志
  53.         if (dir)
  54.         {
  55.             val++;
  56.             if (val >= CYCLE) dir = 0;
  57.         }
  58.         else
  59.         {
  60.             val--;
  61.             if (val <= 1) dir = 1;
  62.         }
  63.         _push_(P_SW2);
  64.         P_SW2 |= 0x80;
  65.         PWM0T2 = val;
  66.         _pop_(P_SW2);
  67.     }
  68. }

  69. void main()
  70. {
  71.     P_SW2 = 0x80;
  72.     PWMCKS = 0x00;                              // PWM時鐘為系統時鐘
  73.     PWMC = CYCLE;                               //設置PWM周期為
  74.     PWM0T1= 0x0000;
  75.     PWM0T2= 0x0001;
  76.     PWM0CR= 0x80;                               //使能PWM0/P2.0輸出
  77.     P_SW2 = 0x00;

  78.     PWMCR = 0xc0;                               //啟動PWM模塊
  79.     EA = 1;

  80.     while (1);
  81. }


復制代碼
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 北条麻妃一区二区三区在线观看 | 天天夜干| 蜜桃av一区二区三区 | 91麻豆产精品久久久久久 | 亚洲视频在线播放 | 一区精品视频 | 日本高清中文字幕 | 国产视频久久久 | 玖玖爱365| 91视频在线观看 | 亚洲不卡视频 | 亚洲一区国产 | 午夜色婷婷 | 日韩久久精品 | 国产一区二区三区不卡av | 欧美精品一区二区三区在线播放 | 亚州精品成人 | 成人国产精品久久 | 久久人人网| 欧美a∨ | 精品动漫一区 | 中文成人无字幕乱码精品 | 青青草综合网 | 99久久精品视频免费 | 日本欧美视频 | 九九热这里 | 精品免费国产视频 | 国产丝袜一区二区三区免费视频 | 本地毛片 | 日韩午夜网站 | 国产精品精品视频一区二区三区 | 久久国产精品-国产精品 | 久久久久久久久久久蜜桃 | 日本午夜视频 | 91视频88av| 久久网一区二区 | 国产精品视频一区二区三区不卡 | 在线播放国产一区二区三区 | 亚洲国产精品一区二区第一页 | 羞羞在线视频 | 精品免费视频 |