数码之家

 找回密码
 立即注册
搜索
查看: 1476|回复: 31

[C51] 用8脚的STC8G1K08A输出占空比可调的方波

[复制链接]
发表于 2024-1-8 16:31:04 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 林华信 于 2024-1-9 17:04 编辑

如上题,用8脚的STC8G1K08A输出占空比可调的方波。一个10K电位器接在芯片的第1脚作电压取样,调节电位器,在第7脚输出占空比可变的方波信号,频率大约1KHz。1脚电压越高,7脚输出的占空比越大。


  1. //STC8G1K08A (1.9-5.5V阔电压范围芯片) SOP8  封装的8脚芯片  0.75元一个  单节18650锂电供电,
  2. //4V时空白的芯片电流为1.7mA,烧录程序后为2.5mA(烧录时选12MHz频率)
  3.                                 
  4. //Y0=P3^2; //PWM输出端1%--100%占空比,K=(dat*256+dat1)/500;// 4v Vcc端串联2K到10K电位器上端子,
  5. //下端子接地,中点接P5.4口取样,调节电位器,P3.2脚出1%--100%占空比脉冲
  6. #include <STC8G.h>//你的编译器中要有STC8G.h文件,否则不能通过编译,完整程序如下

  7. #include <intrins.H>
  8. #define uchar unsigned char //宏定义字符型变量
  9. #define uint unsigned int //宏定义整型变量

  10. #define ADC_POWER 0x80 //ADC 电源控制位
  11. #define  ADC_FLAG 0x10 //ADC 转换结束标志位#define
  12. #define ADC_START 0x08 //ADC 开始转换控制位
  13. #define ADC_SPEEDLL 0x00 //210 个时钟周期转换一次
  14. #define ADC_SPEEDL 0x20 //420 个时钟周期转换一次
  15. #define ADC_SPEEDH 0x40 //630 个时钟周期转换一次
  16. #define ADC_SPEEDHH 0x60 //840 个时钟周期转换一次
  17. /********************************************************************
  18. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 初始定义
  19. *********************************************************************/
  20. uint tcnt=0;
  21. uint sec=0;
  22. uint dat=0;
  23. uint dat1=0;
  24. uint dat2=0;

  25. uint K;

  26. /********************************************************************
  27. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? I/O定义
  28. *********************************************************************/
  29. sbit Y0=P3^2; //PWM输出端1%--100%占空比

  30. uchar CLK=0;//脉冲计数
  31. /********************************************************************
  32. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 定时器T0初始化
  33. *********************************************************************/
  34. void timer0_init()
  35. {
  36. AUXR &= 0x7F;  //定时器时钟12T模式? ? ? ?
  37. TMOD &= 0xF0;  //设置定时器模式
  38. TMOD |= 0x02; //设置定时器模式? ? ? ?
  39. //TL0 = 0x9D;? ? ? ? ? ? ? ? //设置定时初始值
  40. //TH0 = 0x9D;? ? ? ? ? ? ? ? //设置定时重载值
  41.   TL0 = 0xF6;  //设置定时初始值
  42.   TH0 = 0xF6;  //设置定时重载值
  43. TR0=1; //开始定时
  44. ET0=1;
  45. EA=1;
  46. }
  47. void InitADC()
  48. {
  49. ADC_RES = 0; //AD数据寄存器清空
  50. ADC_CONTR = ADC_POWER | ADC_SPEEDLL;//打开AD电源,转换周期210
  51. _nop_(); //延时一个机器周期
  52. _nop_();
  53. _nop_(); //延时一个机器周期
  54. }
  55. /********************************************************************
  56. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 主函数
  57. *********************************************************************/
  58. void main()
  59. {
  60. P3M0 = 0x0c; P3M1 = 0x00;
  61. P5M0 = 0x00; P5M1 = 0x10;
  62. InitADC(); //AD初始化
  63. ADCCFG = 0x0f; //设置ADC时钟为系统时钟/2/16/16
  64. ADC_CONTR = 0x80; //使能ADC模块
  65. timer0_init();
  66. while(1)
  67. {
  68. ADC_CONTR |= 0x44;  //启动AD转换 选择P5.4口
  69. _nop_();
  70. _nop_();
  71. while (!(ADC_CONTR & 0x20)); //查询ADC完成标志
  72. ADC_CONTR &= ~0x20; //清完成标志

  73. dat = ADC_RES; //读取ADC结果高8位,实际是第B0和B1有用
  74. dat1=ADC_RESL;//读取ADC结果低8位,8个位都有用

  75. K=(dat*256+dat1)/500;//4v串联2K到10K电位器上端子,下端子接地,中点接P5.4口取样

  76. //dat1=ADC_RES/2.5;
  77. //if(dat1<=1){dat1=1;}? ? ? ?
  78. //if(dat1>=100){dat1=100;}
  79. //dat2=dat1+100;
  80. }

  81. }

  82. /********************************************************************
  83. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 定时器T0中断服务函数
  84. *********************************************************************/
  85. void t0(void) interrupt 1 using 0 //定时中断服务函数250US一次中断
  86. {

  87. if(K>0)//K越大,占空比越大
  88. {
  89.   if(tcnt==0)  Y0=1;

  90.    if(tcnt==K)  Y0=0;

  91.      tcnt++;
  92.    
  93.     if(tcnt>100)  tcnt=0;

  94. }

  95. }
  96. //}

  97. /********************************************************************
  98. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 结束
  99. *********************************************************************/
复制代码


IMG_20240109_095111.jpg
IMG_20240109_170205.jpg
 楼主| 发表于 2024-1-8 16:32:30 | 显示全部楼层
  1. #ifndef     __STC8G_H_
  2. #define     __STC8G_H_

  3. /////////////////////////////////////////////////

  4. //包含本头文件后,不用另外再包含"REG51.H"

  5. sfr         P0          =           0x80;
  6. sbit        P00         =           P0^0;
  7. sbit        P01         =           P0^1;
  8. sbit        P02         =           P0^2;
  9. sbit        P03         =           P0^3;
  10. sbit        P04         =           P0^4;
  11. sbit        P05         =           P0^5;
  12. sbit        P06         =           P0^6;
  13. sbit        P07         =           P0^7;
  14. sfr         SP          =           0x81;
  15. sfr         DPL         =           0x82;
  16. sfr         DPH         =           0x83;
  17. sfr         S4CON       =           0x84;
  18. sfr         S4BUF       =           0x85;
  19. sfr         PCON        =           0x87;
  20. sfr         TCON        =           0x88;
  21. sbit        TF1         =           TCON^7;
  22. sbit        TR1         =           TCON^6;
  23. sbit        TF0         =           TCON^5;
  24. sbit        TR0         =           TCON^4;
  25. sbit        IE1         =           TCON^3;
  26. sbit        IT1         =           TCON^2;
  27. sbit        IE0         =           TCON^1;
  28. sbit        IT0         =           TCON^0;
  29. sfr         TMOD        =           0x89;
  30. sfr         TL0         =           0x8A;
  31. sfr         TL1         =           0x8B;
  32. sfr         TH0         =           0x8C;
  33. sfr         TH1         =           0x8D;
  34. sfr         AUXR        =           0x8E;
  35. sfr         INTCLKO     =           0x8F;
  36. sfr         P1          =           0x90;
  37. sbit        P10         =           P1^0;
  38. sbit        P11         =           P1^1;
  39. sbit        P12         =           P1^2;
  40. sbit        P13         =           P1^3;
  41. sbit        P14         =           P1^4;
  42. sbit        P15         =           P1^5;
  43. sbit        P16         =           P1^6;
  44. sbit        P17         =           P1^7;
  45. sfr         P1M1        =           0x91;
  46. sfr         P1M0        =           0x92;
  47. sfr         P0M1        =           0x93;
  48. sfr         P0M0        =           0x94;
  49. sfr         P2M1        =           0x95;
  50. sfr         P2M0        =           0x96;
  51. sfr         SCON        =           0x98;
  52. sbit        SM0         =           SCON^7;
  53. sbit        SM1         =           SCON^6;
  54. sbit        SM2         =           SCON^5;
  55. sbit        REN         =           SCON^4;
  56. sbit        TB8         =           SCON^3;
  57. sbit        RB8         =           SCON^2;
  58. sbit        TI          =           SCON^1;
  59. sbit        RI          =           SCON^0;
  60. sfr         SBUF        =           0x99;
  61. sfr         S2CON       =           0x9A;
  62. sfr         S2BUF       =           0x9B;
  63. sfr         IRCBAND     =           0x9D;
  64. sfr         LIRTRIM     =           0x9E;
  65. sfr         IRTRIM      =           0x9F;
  66. sfr         P2          =           0xA0;
  67. sbit        P20         =           P2^0;
  68. sbit        P21         =           P2^1;
  69. sbit        P22         =           P2^2;
  70. sbit        P23         =           P2^3;
  71. sbit        P24         =           P2^4;
  72. sbit        P25         =           P2^5;
  73. sbit        P26         =           P2^6;
  74. sbit        P27         =           P2^7;
  75. sfr         P_SW1       =           0xA2;
  76. sfr         IE          =           0xA8;
  77. sbit        EA          =           IE^7;
  78. sbit        ELVD        =           IE^6;
  79. sbit        EADC        =           IE^5;
  80. sbit        ES          =           IE^4;
  81. sbit        ET1         =           IE^3;
  82. sbit        EX1         =           IE^2;
  83. sbit        ET0         =           IE^1;
  84. sbit        EX0         =           IE^0;
  85. sfr         SADDR       =           0xA9;
  86. sfr         WKTCL       =           0xAA;
  87. sfr         WKTCH       =           0xAB;
  88. sfr         S3CON       =           0xAC;
  89. sfr         S3BUF       =           0xAD;
  90. sfr         TA          =           0xAE;
  91. sfr         IE2         =           0xAF;
  92. sfr         P3          =           0xB0;
  93. sbit        P30         =           P3^0;
  94. sbit        P31         =           P3^1;
  95. sbit        P32         =           P3^2;
  96. sbit        P33         =           P3^3;
  97. sbit        P34         =           P3^4;
  98. sbit        P35         =           P3^5;
  99. sbit        P36         =           P3^6;
  100. sbit        P37         =           P3^7;
  101. sfr         P3M1        =           0xB1;
  102. sfr         P3M0        =           0xB2;
  103. sfr         P4M1        =           0xB3;
  104. sfr         P4M0        =           0xB4;
  105. sfr         IP2         =           0xB5;
  106. sfr         IP2H        =           0xB6;
  107. sfr         IPH         =           0xB7;
  108. sfr         IP          =           0xB8;
  109. sbit        PPCA        =           IP^7;
  110. sbit        PLVD        =           IP^6;
  111. sbit        PADC        =           IP^5;
  112. sbit        PS          =           IP^4;
  113. sbit        PT1         =           IP^3;
  114. sbit        PX1         =           IP^2;
  115. sbit        PT0         =           IP^1;
  116. sbit        PX0         =           IP^0;
  117. sfr         SADEN       =           0xB9;
  118. sfr         P_SW2       =           0xBA;
  119. sfr         ADC_CONTR   =           0xBC;
  120. sfr         ADC_RES     =           0xBD;
  121. sfr         ADC_RESL    =           0xBE;
  122. sfr         P4          =           0xC0;
  123. sbit        P40         =           P4^0;
  124. sbit        P41         =           P4^1;
  125. sbit        P42         =           P4^2;
  126. sbit        P43         =           P4^3;
  127. sbit        P44         =           P4^4;
  128. sbit        P45         =           P4^5;
  129. sbit        P46         =           P4^6;
  130. sbit        P47         =           P4^7;
  131. sfr         WDT_CONTR   =           0xC1;
  132. sfr         IAP_DATA    =           0xC2;
  133. sfr         IAP_ADDRH   =           0xC3;
  134. sfr         IAP_ADDRL   =           0xC4;
  135. sfr         IAP_CMD     =           0xC5;
  136. sfr         IAP_TRIG    =           0xC6;
  137. sfr         IAP_CONTR   =           0xC7;
  138. sfr         P5          =           0xC8;
  139. sbit        P50         =           P5^0;
  140. sbit        P51         =           P5^1;
  141. sbit        P52         =           P5^2;
  142. sbit        P53         =           P5^3;
  143. sbit        P54         =           P5^4;
  144. sbit        P55         =           P5^5;
  145. sbit        P56         =           P5^6;
  146. sbit        P57         =           P5^7;
  147. sfr         P5M1        =           0xC9;
  148. sfr         P5M0        =           0xCA;
  149. sfr         SPSTAT      =           0xCD;
  150. sfr         SPCTL       =           0xCE;
  151. sfr         SPDAT       =           0xCF;
  152. sfr         PSW         =           0xD0;
  153. sbit        CY          =           PSW^7;
  154. sbit        AC          =           PSW^6;
  155. sbit        F0          =           PSW^5;
  156. sbit        RS1         =           PSW^4;
  157. sbit        RS0         =           PSW^3;
  158. sbit        OV          =           PSW^2;
  159. sbit        P           =           PSW^0;
  160. sfr         T4T3M       =           0xD1;
  161. sfr         T4H         =           0xD2;
  162. sfr         T4L         =           0xD3;
  163. sfr         T3H         =           0xD4;
  164. sfr         T3L         =           0xD5;
  165. sfr         T2H         =           0xD6;
  166. sfr         T2L         =           0xD7;
  167. sfr         CCON        =           0xD8;
  168. sbit        CF          =           CCON^7;
  169. sbit        CR          =           CCON^6;
  170. sbit        CCF2        =           CCON^2;
  171. sbit        CCF1        =           CCON^1;
  172. sbit        CCF0        =           CCON^0;
  173. sfr         CMOD        =           0xD9;
  174. sfr         CCAPM0      =           0xDA;
  175. sfr         CCAPM1      =           0xDB;
  176. sfr         CCAPM2      =           0xDC;
  177. sfr         ADCCFG      =           0xDE;
  178. sfr         IP3         =           0xDF;
  179. sfr         ACC         =           0xE0;
  180. sfr         DPS         =           0xE3;
  181. sfr         DPL1        =           0xE4;
  182. sfr         DPH1        =           0xE5;
  183. sfr         CMPCR1      =           0xE6;
  184. sfr         CMPCR2      =           0xE7;
  185. sfr         CL          =           0xE9;
  186. sfr         CCAP0L      =           0xEA;
  187. sfr         CCAP1L      =           0xEB;
  188. sfr         CCAP2L      =           0xEC;
  189. sfr         IP3H        =           0xEE;
  190. sfr         AUXINTIF    =           0xEF;
  191. sfr         B           =           0xF0;
  192. sfr         PWMSET      =           0xF1;
  193. sfr         PCA_PWM0    =           0xF2;
  194. sfr         PCA_PWM1    =           0xF3;
  195. sfr         PCA_PWM2    =           0xF4;
  196. sfr         IAP_TPS     =           0xF5;
  197. sfr         PWMCFG01    =           0xF6;
  198. sfr         PWMCFG23    =           0xF7;
  199. sfr         CH          =           0xF9;
  200. sfr         CCAP0H      =           0xFA;
  201. sfr         CCAP1H      =           0xFB;
  202. sfr         CCAP2H      =           0xFC;
  203. sfr         PWMCFG45    =           0xFE;
  204. sfr         RSTCFG      =           0xFF;

  205. //如下特殊功能寄存器位于扩展RAM区域
  206. //访问这些寄存器,需先将P_SW2的BIT7设置为1,才可正常读写

  207. #define     CKSEL       (*(unsigned char volatile xdata *)0xFE00)
  208. #define     CLKDIV      (*(unsigned char volatile xdata *)0xFE01)
  209. #define     HIRCCR      (*(unsigned char volatile xdata *)0xFE02)
  210. #define     XOSCCR      (*(unsigned char volatile xdata *)0xFE03)
  211. #define     IRC32KCR    (*(unsigned char volatile xdata *)0xFE04)
  212. #define     MCLKOCR     (*(unsigned char volatile xdata *)0xFE05)
  213. #define     IRCDB       (*(unsigned char volatile xdata *)0xFE06)

  214. #define     P0PU        (*(unsigned char volatile xdata *)0xFE10)
  215. #define     P1PU        (*(unsigned char volatile xdata *)0xFE11)
  216. #define     P2PU        (*(unsigned char volatile xdata *)0xFE12)
  217. #define     P3PU        (*(unsigned char volatile xdata *)0xFE13)
  218. #define     P4PU        (*(unsigned char volatile xdata *)0xFE14)
  219. #define     P5PU        (*(unsigned char volatile xdata *)0xFE15)
  220. #define     P0NCS       (*(unsigned char volatile xdata *)0xFE18)
  221. #define     P1NCS       (*(unsigned char volatile xdata *)0xFE19)
  222. #define     P2NCS       (*(unsigned char volatile xdata *)0xFE1A)
  223. #define     P3NCS       (*(unsigned char volatile xdata *)0xFE1B)
  224. #define     P4NCS       (*(unsigned char volatile xdata *)0xFE1C)
  225. #define     P5NCS       (*(unsigned char volatile xdata *)0xFE1D)
  226. #define     P0SR        (*(unsigned char volatile xdata *)0xFE20)
  227. #define     P1SR        (*(unsigned char volatile xdata *)0xFE21)
  228. #define     P2SR        (*(unsigned char volatile xdata *)0xFE22)
  229. #define     P3SR        (*(unsigned char volatile xdata *)0xFE23)
  230. #define     P4SR        (*(unsigned char volatile xdata *)0xFE24)
  231. #define     P5SR        (*(unsigned char volatile xdata *)0xFE25)
  232. #define     P0DR        (*(unsigned char volatile xdata *)0xFE28)
  233. #define     P1DR        (*(unsigned char volatile xdata *)0xFE29)
  234. #define     P2DR        (*(unsigned char volatile xdata *)0xFE2A)
  235. #define     P3DR        (*(unsigned char volatile xdata *)0xFE2B)
  236. #define     P4DR        (*(unsigned char volatile xdata *)0xFE2C)
  237. #define     P5DR        (*(unsigned char volatile xdata *)0xFE2D)
  238. #define     P0IE        (*(unsigned char volatile xdata *)0xFE30)
  239. #define     P1IE        (*(unsigned char volatile xdata *)0xFE31)
  240. #define     P3IE        (*(unsigned char volatile xdata *)0xFE33)

  241. #define     I2CCFG      (*(unsigned char volatile xdata *)0xFE80)
  242. #define     I2CMSCR     (*(unsigned char volatile xdata *)0xFE81)
  243. #define     I2CMSST     (*(unsigned char volatile xdata *)0xFE82)
  244. #define     I2CSLCR     (*(unsigned char volatile xdata *)0xFE83)
  245. #define     I2CSLST     (*(unsigned char volatile xdata *)0xFE84)
  246. #define     I2CSLADR    (*(unsigned char volatile xdata *)0xFE85)
  247. #define     I2CTXD      (*(unsigned char volatile xdata *)0xFE86)
  248. #define     I2CRXD      (*(unsigned char volatile xdata *)0xFE87)
  249. #define     I2CMSAUX    (*(unsigned char volatile xdata *)0xFE88)

  250. #define     TM2PS       (*(unsigned char volatile xdata *)0xFEA2)
  251. #define     TM3PS       (*(unsigned char volatile xdata *)0xFEA3)
  252. #define     TM4PS       (*(unsigned char volatile xdata *)0xFEA4)
  253. #define     ADCTIM      (*(unsigned char volatile xdata *)0xFEA8)

  254. #define     PWM0CH      (*(unsigned char volatile xdata *)0xFF00)
  255. #define     PWM0CL      (*(unsigned char volatile xdata *)0xFF01)
  256. #define     PWM0CKS     (*(unsigned char volatile xdata *)0xFF02)
  257. #define     PWM0TADCH   (*(unsigned char volatile xdata *)0xFF03)
  258. #define     PWM0TADCL   (*(unsigned char volatile xdata *)0xFF04)
  259. #define     PWM0IF      (*(unsigned char volatile xdata *)0xFF05)
  260. #define     PWM0FDCR    (*(unsigned char volatile xdata *)0xFF06)
  261. #define     PWM00T1H    (*(unsigned char volatile xdata *)0xFF10)
  262. #define     PWM00T1L    (*(unsigned char volatile xdata *)0xFF11)
  263. #define     PWM00T2H    (*(unsigned char volatile xdata *)0xFF12)
  264. #define     PWM00T2L    (*(unsigned char volatile xdata *)0xFF13)
  265. #define     PWM00CR     (*(unsigned char volatile xdata *)0xFF14)
  266. #define     PWM00HLD    (*(unsigned char volatile xdata *)0xFF15)
  267. #define     PWM01T1H    (*(unsigned char volatile xdata *)0xFF18)
  268. #define     PWM01T1L    (*(unsigned char volatile xdata *)0xFF19)
  269. #define     PWM01T2H    (*(unsigned char volatile xdata *)0xFF1A)
  270. #define     PWM01T2L    (*(unsigned char volatile xdata *)0xFF1B)
  271. #define     PWM01CR     (*(unsigned char volatile xdata *)0xFF1C)
  272. #define     PWM01HLD    (*(unsigned char volatile xdata *)0xFF1D)
  273. #define     PWM02T1H    (*(unsigned char volatile xdata *)0xFF20)
  274. #define     PWM02T1L    (*(unsigned char volatile xdata *)0xFF21)
  275. #define     PWM02T2H    (*(unsigned char volatile xdata *)0xFF22)
  276. #define     PWM02T2L    (*(unsigned char volatile xdata *)0xFF23)
  277. #define     PWM02CR     (*(unsigned char volatile xdata *)0xFF24)
  278. #define     PWM02HLD    (*(unsigned char volatile xdata *)0xFF25)
  279. #define     PWM03T1H    (*(unsigned char volatile xdata *)0xFF28)
  280. #define     PWM03T1L    (*(unsigned char volatile xdata *)0xFF29)
  281. #define     PWM03T2H    (*(unsigned char volatile xdata *)0xFF2A)
  282. #define     PWM03T2L    (*(unsigned char volatile xdata *)0xFF2B)
  283. #define     PWM03CR     (*(unsigned char volatile xdata *)0xFF2C)
  284. #define     PWM03HLD    (*(unsigned char volatile xdata *)0xFF2D)
  285. #define     PWM04T1H    (*(unsigned char volatile xdata *)0xFF30)
  286. #define     PWM04T1L    (*(unsigned char volatile xdata *)0xFF31)
  287. #define     PWM04T2H    (*(unsigned char volatile xdata *)0xFF32)
  288. #define     PWM04T2L    (*(unsigned char volatile xdata *)0xFF33)
  289. #define     PWM04CR     (*(unsigned char volatile xdata *)0xFF34)
  290. #define     PWM04HLD    (*(unsigned char volatile xdata *)0xFF35)
  291. #define     PWM05T1H    (*(unsigned char volatile xdata *)0xFF38)
  292. #define     PWM05T1L    (*(unsigned char volatile xdata *)0xFF39)
  293. #define     PWM05T2H    (*(unsigned char volatile xdata *)0xFF3A)
  294. #define     PWM05T2L    (*(unsigned char volatile xdata *)0xFF3B)
  295. #define     PWM05CR     (*(unsigned char volatile xdata *)0xFF3C)
  296. #define     PWM05HLD    (*(unsigned char volatile xdata *)0xFF3D)
  297. #define     PWM06T1H    (*(unsigned char volatile xdata *)0xFF40)
  298. #define     PWM06T1L    (*(unsigned char volatile xdata *)0xFF41)
  299. #define     PWM06T2H    (*(unsigned char volatile xdata *)0xFF42)
  300. #define     PWM06T2L    (*(unsigned char volatile xdata *)0xFF43)
  301. #define     PWM06CR     (*(unsigned char volatile xdata *)0xFF44)
  302. #define     PWM06HLD    (*(unsigned char volatile xdata *)0xFF45)
  303. #define     PWM07T1H    (*(unsigned char volatile xdata *)0xFF48)
  304. #define     PWM07T1L    (*(unsigned char volatile xdata *)0xFF49)
  305. #define     PWM07T2H    (*(unsigned char volatile xdata *)0xFF4A)
  306. #define     PWM07T2L    (*(unsigned char volatile xdata *)0xFF4B)
  307. #define     PWM07CR     (*(unsigned char volatile xdata *)0xFF4C)
  308. #define     PWM07HLD    (*(unsigned char volatile xdata *)0xFF4D)
  309. #define     PWM1CH      (*(unsigned char volatile xdata *)0xFF50)
  310. #define     PWM1CL      (*(unsigned char volatile xdata *)0xFF51)
  311. #define     PWM1CKS     (*(unsigned char volatile xdata *)0xFF52)
  312. #define     PWM1IF      (*(unsigned char volatile xdata *)0xFF55)
  313. #define     PWM1FDCR    (*(unsigned char volatile xdata *)0xFF56)
  314. #define     PWM10T1H    (*(unsigned char volatile xdata *)0xFF60)
  315. #define     PWM10T1L    (*(unsigned char volatile xdata *)0xFF61)
  316. #define     PWM10T2H    (*(unsigned char volatile xdata *)0xFF62)
  317. #define     PWM10T2L    (*(unsigned char volatile xdata *)0xFF63)
  318. #define     PWM10CR     (*(unsigned char volatile xdata *)0xFF64)
  319. #define     PWM10HLD    (*(unsigned char volatile xdata *)0xFF65)
  320. #define     PWM11T1H    (*(unsigned char volatile xdata *)0xFF68)
  321. #define     PWM11T1L    (*(unsigned char volatile xdata *)0xFF69)
  322. #define     PWM11T2H    (*(unsigned char volatile xdata *)0xFF6A)
  323. #define     PWM11T2L    (*(unsigned char volatile xdata *)0xFF6B)
  324. #define     PWM11CR     (*(unsigned char volatile xdata *)0xFF6C)
  325. #define     PWM11HLD    (*(unsigned char volatile xdata *)0xFF6D)
  326. #define     PWM12T1H    (*(unsigned char volatile xdata *)0xFF70)
  327. #define     PWM12T1L    (*(unsigned char volatile xdata *)0xFF71)
  328. #define     PWM12T2H    (*(unsigned char volatile xdata *)0xFF72)
  329. #define     PWM12T2L    (*(unsigned char volatile xdata *)0xFF73)
  330. #define     PWM12CR     (*(unsigned char volatile xdata *)0xFF74)
  331. #define     PWM12HLD    (*(unsigned char volatile xdata *)0xFF75)
  332. #define     PWM13T1H    (*(unsigned char volatile xdata *)0xFF78)
  333. #define     PWM13T1L    (*(unsigned char volatile xdata *)0xFF79)
  334. #define     PWM13T2H    (*(unsigned char volatile xdata *)0xFF7A)
  335. #define     PWM13T2L    (*(unsigned char volatile xdata *)0xFF7B)
  336. #define     PWM13CR     (*(unsigned char volatile xdata *)0xFF7C)
  337. #define     PWM13HLD    (*(unsigned char volatile xdata *)0xFF7D)
  338. #define     PWM14T1H    (*(unsigned char volatile xdata *)0xFF80)
  339. #define     PWM14T1L    (*(unsigned char volatile xdata *)0xFF81)
  340. #define     PWM14T2H    (*(unsigned char volatile xdata *)0xFF82)
  341. #define     PWM14T2L    (*(unsigned char volatile xdata *)0xFF83)
  342. #define     PWM14CR     (*(unsigned char volatile xdata *)0xFF84)
  343. #define     PWM14HLD    (*(unsigned char volatile xdata *)0xFF85)
  344. #define     PWM15T1H    (*(unsigned char volatile xdata *)0xFF88)
  345. #define     PWM15T1L    (*(unsigned char volatile xdata *)0xFF89)
  346. #define     PWM15T2H    (*(unsigned char volatile xdata *)0xFF8A)
  347. #define     PWM15T2L    (*(unsigned char volatile xdata *)0xFF8B)
  348. #define     PWM15CR     (*(unsigned char volatile xdata *)0xFF8C)
  349. #define     PWM15HLD    (*(unsigned char volatile xdata *)0xFF8D)
  350. #define     PWM16T1H    (*(unsigned char volatile xdata *)0xFF90)
  351. #define     PWM16T1L    (*(unsigned char volatile xdata *)0xFF91)
  352. #define     PWM16T2H    (*(unsigned char volatile xdata *)0xFF92)
  353. #define     PWM16T2L    (*(unsigned char volatile xdata *)0xFF93)
  354. #define     PWM16CR     (*(unsigned char volatile xdata *)0xFF94)
  355. #define     PWM16HLD    (*(unsigned char volatile xdata *)0xFF95)
  356. #define     PWM17T1H    (*(unsigned char volatile xdata *)0xFF98)
  357. #define     PWM17T1L    (*(unsigned char volatile xdata *)0xFF99)
  358. #define     PWM17T2H    (*(unsigned char volatile xdata *)0xFF9A)
  359. #define     PWM17T2L    (*(unsigned char volatile xdata *)0xFF9B)
  360. #define     PWM17CR     (*(unsigned char volatile xdata *)0xFF9C)
  361. #define     PWM17HLD    (*(unsigned char volatile xdata *)0xFF9D)
  362. #define     PWM2CH      (*(unsigned char volatile xdata *)0xFFA0)
  363. #define     PWM2CL      (*(unsigned char volatile xdata *)0xFFA1)
  364. #define     PWM2CKS     (*(unsigned char volatile xdata *)0xFFA2)
  365. #define     PWM2TADCH   (*(unsigned char volatile xdata *)0xFFA3)
  366. #define     PWM2TADCL   (*(unsigned char volatile xdata *)0xFFA4)
  367. #define     PWM2IF      (*(unsigned char volatile xdata *)0xFFA5)
  368. #define     PWM2FDCR    (*(unsigned char volatile xdata *)0xFFA6)
  369. #define     PWM20T1H    (*(unsigned char volatile xdata *)0xFFB0)
  370. #define     PWM20T1L    (*(unsigned char volatile xdata *)0xFFB1)
  371. #define     PWM20T2H    (*(unsigned char volatile xdata *)0xFFB2)
  372. #define     PWM20T2L    (*(unsigned char volatile xdata *)0xFFB3)
  373. #define     PWM20CR     (*(unsigned char volatile xdata *)0xFFB4)
  374. #define     PWM20HLD    (*(unsigned char volatile xdata *)0xFFB5)
  375. #define     PWM21T1H    (*(unsigned char volatile xdata *)0xFFB8)
  376. #define     PWM21T1L    (*(unsigned char volatile xdata *)0xFFB9)
  377. #define     PWM21T2H    (*(unsigned char volatile xdata *)0xFFBA)
  378. #define     PWM21T2L    (*(unsigned char volatile xdata *)0xFFBB)
  379. #define     PWM21CR     (*(unsigned char volatile xdata *)0xFFBC)
  380. #define     PWM21HLD    (*(unsigned char volatile xdata *)0xFFBD)
  381. #define     PWM22T1H    (*(unsigned char volatile xdata *)0xFFC0)
  382. #define     PWM22T1L    (*(unsigned char volatile xdata *)0xFFC1)
  383. #define     PWM22T2H    (*(unsigned char volatile xdata *)0xFFC2)
  384. #define     PWM22T2L    (*(unsigned char volatile xdata *)0xFFC3)
  385. #define     PWM22CR     (*(unsigned char volatile xdata *)0xFFC4)
  386. #define     PWM22HLD    (*(unsigned char volatile xdata *)0xFFC5)
  387. #define     PWM23T1H    (*(unsigned char volatile xdata *)0xFFC8)
  388. #define     PWM23T1L    (*(unsigned char volatile xdata *)0xFFC9)
  389. #define     PWM23T2H    (*(unsigned char volatile xdata *)0xFFCA)
  390. #define     PWM23T2L    (*(unsigned char volatile xdata *)0xFFCB)
  391. #define     PWM23CR     (*(unsigned char volatile xdata *)0xFFCC)
  392. #define     PWM23HLD    (*(unsigned char volatile xdata *)0xFFCD)
  393. #define     PWM24T1H    (*(unsigned char volatile xdata *)0xFFD0)
  394. #define     PWM24T1L    (*(unsigned char volatile xdata *)0xFFD1)
  395. #define     PWM24T2H    (*(unsigned char volatile xdata *)0xFFD2)
  396. #define     PWM24T2L    (*(unsigned char volatile xdata *)0xFFD3)
  397. #define     PWM24CR     (*(unsigned char volatile xdata *)0xFFD4)
  398. #define     PWM24HLD    (*(unsigned char volatile xdata *)0xFFD5)
  399. #define     PWM25T1H    (*(unsigned char volatile xdata *)0xFFD8)
  400. #define     PWM25T1L    (*(unsigned char volatile xdata *)0xFFD9)
  401. #define     PWM25T2H    (*(unsigned char volatile xdata *)0xFFDA)
  402. #define     PWM25T2L    (*(unsigned char volatile xdata *)0xFFDB)
  403. #define     PWM25CR     (*(unsigned char volatile xdata *)0xFFDC)
  404. #define     PWM25HLD    (*(unsigned char volatile xdata *)0xFFDD)
  405. #define     PWM26T1H    (*(unsigned char volatile xdata *)0xFFE0)
  406. #define     PWM26T1L    (*(unsigned char volatile xdata *)0xFFE1)
  407. #define     PWM26T2H    (*(unsigned char volatile xdata *)0xFFE2)
  408. #define     PWM26T2L    (*(unsigned char volatile xdata *)0xFFE3)
  409. #define     PWM26CR     (*(unsigned char volatile xdata *)0xFFE4)
  410. #define     PWM26HLD    (*(unsigned char volatile xdata *)0xFFE5)
  411. #define     PWM27T1H    (*(unsigned char volatile xdata *)0xFFE8)
  412. #define     PWM27T1L    (*(unsigned char volatile xdata *)0xFFE9)
  413. #define     PWM27T2H    (*(unsigned char volatile xdata *)0xFFEA)
  414. #define     PWM27T2L    (*(unsigned char volatile xdata *)0xFFEB)
  415. #define     PWM27CR     (*(unsigned char volatile xdata *)0xFFEC)
  416. #define     PWM27HLD    (*(unsigned char volatile xdata *)0xFFED)
  417. #define     PWM3CH      (*(unsigned char volatile xdata *)0xFC00)
  418. #define     PWM3CL      (*(unsigned char volatile xdata *)0xFC01)
  419. #define     PWM3CKS     (*(unsigned char volatile xdata *)0xFC02)
  420. #define     PWM3IF      (*(unsigned char volatile xdata *)0xFC05)
  421. #define     PWM3FDCR    (*(unsigned char volatile xdata *)0xFC06)
  422. #define     PWM30T1H    (*(unsigned char volatile xdata *)0xFC10)
  423. #define     PWM30T1L    (*(unsigned char volatile xdata *)0xFC11)
  424. #define     PWM30T2H    (*(unsigned char volatile xdata *)0xFC12)
  425. #define     PWM30T2L    (*(unsigned char volatile xdata *)0xFC13)
  426. #define     PWM30CR     (*(unsigned char volatile xdata *)0xFC14)
  427. #define     PWM30HLD    (*(unsigned char volatile xdata *)0xFC15)
  428. #define     PWM31T1H    (*(unsigned char volatile xdata *)0xFC18)
  429. #define     PWM31T1L    (*(unsigned char volatile xdata *)0xFC19)
  430. #define     PWM31T2H    (*(unsigned char volatile xdata *)0xFC1A)
  431. #define     PWM31T2L    (*(unsigned char volatile xdata *)0xFC1B)
  432. #define     PWM31CR     (*(unsigned char volatile xdata *)0xFC1C)
  433. #define     PWM31HLD    (*(unsigned char volatile xdata *)0xFC1D)
  434. #define     PWM32T1H    (*(unsigned char volatile xdata *)0xFC20)
  435. #define     PWM32T1L    (*(unsigned char volatile xdata *)0xFC21)
  436. #define     PWM32T2H    (*(unsigned char volatile xdata *)0xFC22)
  437. #define     PWM32T2L    (*(unsigned char volatile xdata *)0xFC23)
  438. #define     PWM32CR     (*(unsigned char volatile xdata *)0xFC24)
  439. #define     PWM32HLD    (*(unsigned char volatile xdata *)0xFC25)
  440. #define     PWM33T1H    (*(unsigned char volatile xdata *)0xFC28)
  441. #define     PWM33T1L    (*(unsigned char volatile xdata *)0xFC29)
  442. #define     PWM33T2H    (*(unsigned char volatile xdata *)0xFC2A)
  443. #define     PWM33T2L    (*(unsigned char volatile xdata *)0xFC2B)
  444. #define     PWM33CR     (*(unsigned char volatile xdata *)0xFC2C)
  445. #define     PWM33HLD    (*(unsigned char volatile xdata *)0xFC2D)
  446. #define     PWM34T1H    (*(unsigned char volatile xdata *)0xFC30)
  447. #define     PWM34T1L    (*(unsigned char volatile xdata *)0xFC31)
  448. #define     PWM34T2H    (*(unsigned char volatile xdata *)0xFC32)
  449. #define     PWM34T2L    (*(unsigned char volatile xdata *)0xFC33)
  450. #define     PWM34CR     (*(unsigned char volatile xdata *)0xFC34)
  451. #define     PWM34HLD    (*(unsigned char volatile xdata *)0xFC35)
  452. #define     PWM35T1H    (*(unsigned char volatile xdata *)0xFC38)
  453. #define     PWM35T1L    (*(unsigned char volatile xdata *)0xFC39)
  454. #define     PWM35T2H    (*(unsigned char volatile xdata *)0xFC3A)
  455. #define     PWM35T2L    (*(unsigned char volatile xdata *)0xFC3B)
  456. #define     PWM35CR     (*(unsigned char volatile xdata *)0xFC3C)
  457. #define     PWM35HLD    (*(unsigned char volatile xdata *)0xFC3D)
  458. #define     PWM36T1H    (*(unsigned char volatile xdata *)0xFC40)
  459. #define     PWM36T1L    (*(unsigned char volatile xdata *)0xFC41)
  460. #define     PWM36T2H    (*(unsigned char volatile xdata *)0xFC42)
  461. #define     PWM36T2L    (*(unsigned char volatile xdata *)0xFC43)
  462. #define     PWM36CR     (*(unsigned char volatile xdata *)0xFC44)
  463. #define     PWM36HLD    (*(unsigned char volatile xdata *)0xFC45)
  464. #define     PWM37T1H    (*(unsigned char volatile xdata *)0xFC48)
  465. #define     PWM37T1L    (*(unsigned char volatile xdata *)0xFC49)
  466. #define     PWM37T2H    (*(unsigned char volatile xdata *)0xFC4A)
  467. #define     PWM37T2L    (*(unsigned char volatile xdata *)0xFC4B)
  468. #define     PWM37CR     (*(unsigned char volatile xdata *)0xFC4C)
  469. #define     PWM37HLD    (*(unsigned char volatile xdata *)0xFC4D)
  470. #define     PWM4CH      (*(unsigned char volatile xdata *)0xFC50)
  471. #define     PWM4CL      (*(unsigned char volatile xdata *)0xFC51)
  472. #define     PWM4CKS     (*(unsigned char volatile xdata *)0xFC52)
  473. #define     PWM4TADCH   (*(unsigned char volatile xdata *)0xFC53)
  474. #define     PWM4TADCL   (*(unsigned char volatile xdata *)0xFC54)
  475. #define     PWM4IF      (*(unsigned char volatile xdata *)0xFC55)
  476. #define     PWM4FDCR    (*(unsigned char volatile xdata *)0xFC56)
  477. #define     PWM40T1H    (*(unsigned char volatile xdata *)0xFC60)
  478. #define     PWM40T1L    (*(unsigned char volatile xdata *)0xFC61)
  479. #define     PWM40T2H    (*(unsigned char volatile xdata *)0xFC62)
  480. #define     PWM40T2L    (*(unsigned char volatile xdata *)0xFC63)
  481. #define     PWM40CR     (*(unsigned char volatile xdata *)0xFC64)
  482. #define     PWM40HLD    (*(unsigned char volatile xdata *)0xFC65)
  483. #define     PWM41T1H    (*(unsigned char volatile xdata *)0xFC68)
  484. #define     PWM41T1L    (*(unsigned char volatile xdata *)0xFC69)
  485. #define     PWM41T2H    (*(unsigned char volatile xdata *)0xFC6A)
  486. #define     PWM41T2L    (*(unsigned char volatile xdata *)0xFC6B)
  487. #define     PWM41CR     (*(unsigned char volatile xdata *)0xFC6C)
  488. #define     PWM41HLD    (*(unsigned char volatile xdata *)0xFC6D)
  489. #define     PWM42T1H    (*(unsigned char volatile xdata *)0xFC70)
  490. #define     PWM42T1L    (*(unsigned char volatile xdata *)0xFC71)
  491. #define     PWM42T2H    (*(unsigned char volatile xdata *)0xFC72)
  492. #define     PWM42T2L    (*(unsigned char volatile xdata *)0xFC73)
  493. #define     PWM42CR     (*(unsigned char volatile xdata *)0xFC74)
  494. #define     PWM42HLD    (*(unsigned char volatile xdata *)0xFC75)
  495. #define     PWM43T1H    (*(unsigned char volatile xdata *)0xFC78)
  496. #define     PWM43T1L    (*(unsigned char volatile xdata *)0xFC79)
  497. #define     PWM43T2H    (*(unsigned char volatile xdata *)0xFC7A)
  498. #define     PWM43T2L    (*(unsigned char volatile xdata *)0xFC7B)
  499. #define     PWM43CR     (*(unsigned char volatile xdata *)0xFC7C)
  500. #define     PWM43HLD    (*(unsigned char volatile xdata *)0xFC7D)
  501. #define     PWM44T1H    (*(unsigned char volatile xdata *)0xFC80)
  502. #define     PWM44T1L    (*(unsigned char volatile xdata *)0xFC81)
  503. #define     PWM44T2H    (*(unsigned char volatile xdata *)0xFC82)
  504. #define     PWM44T2L    (*(unsigned char volatile xdata *)0xFC83)
  505. #define     PWM44CR     (*(unsigned char volatile xdata *)0xFC84)
  506. #define     PWM44HLD    (*(unsigned char volatile xdata *)0xFC85)
  507. #define     PWM45T1H    (*(unsigned char volatile xdata *)0xFC88)
  508. #define     PWM45T1L    (*(unsigned char volatile xdata *)0xFC89)
  509. #define     PWM45T2H    (*(unsigned char volatile xdata *)0xFC8A)
  510. #define     PWM45T2L    (*(unsigned char volatile xdata *)0xFC8B)
  511. #define     PWM45CR     (*(unsigned char volatile xdata *)0xFC8C)
  512. #define     PWM45HLD    (*(unsigned char volatile xdata *)0xFC8D)
  513. #define     PWM46T1H    (*(unsigned char volatile xdata *)0xFC90)
  514. #define     PWM46T1L    (*(unsigned char volatile xdata *)0xFC91)
  515. #define     PWM46T2H    (*(unsigned char volatile xdata *)0xFC92)
  516. #define     PWM46T2L    (*(unsigned char volatile xdata *)0xFC93)
  517. #define     PWM46CR     (*(unsigned char volatile xdata *)0xFC94)
  518. #define     PWM46HLD    (*(unsigned char volatile xdata *)0xFC95)
  519. #define     PWM47T1H    (*(unsigned char volatile xdata *)0xFC98)
  520. #define     PWM47T1L    (*(unsigned char volatile xdata *)0xFC99)
  521. #define     PWM47T2H    (*(unsigned char volatile xdata *)0xFC9A)
  522. #define     PWM47T2L    (*(unsigned char volatile xdata *)0xFC9B)
  523. #define     PWM47CR     (*(unsigned char volatile xdata *)0xFC9C)
  524. #define     PWM47HLD    (*(unsigned char volatile xdata *)0xFC9D)
  525. #define     PWM5CH      (*(unsigned char volatile xdata *)0xFCA0)
  526. #define     PWM5CL      (*(unsigned char volatile xdata *)0xFCA1)
  527. #define     PWM5CKS     (*(unsigned char volatile xdata *)0xFCA2)
  528. #define     PWM5IF      (*(unsigned char volatile xdata *)0xFCA5)
  529. #define     PWM5FDCR    (*(unsigned char volatile xdata *)0xFCA6)
  530. #define     PWM50T1H    (*(unsigned char volatile xdata *)0xFCB0)
  531. #define     PWM50T1L    (*(unsigned char volatile xdata *)0xFCB1)
  532. #define     PWM50T2H    (*(unsigned char volatile xdata *)0xFCB2)
  533. #define     PWM50T2L    (*(unsigned char volatile xdata *)0xFCB3)
  534. #define     PWM50CR     (*(unsigned char volatile xdata *)0xFCB4)
  535. #define     PWM50HLD    (*(unsigned char volatile xdata *)0xFCB5)
  536. #define     PWM51T1H    (*(unsigned char volatile xdata *)0xFCB8)
  537. #define     PWM51T1L    (*(unsigned char volatile xdata *)0xFCB9)
  538. #define     PWM51T2H    (*(unsigned char volatile xdata *)0xFCBA)
  539. #define     PWM51T2L    (*(unsigned char volatile xdata *)0xFCBB)
  540. #define     PWM51CR     (*(unsigned char volatile xdata *)0xFCBC)
  541. #define     PWM51HLD    (*(unsigned char volatile xdata *)0xFCBD)
  542. #define     PWM52T1H    (*(unsigned char volatile xdata *)0xFCC0)
  543. #define     PWM52T1L    (*(unsigned char volatile xdata *)0xFCC1)
  544. #define     PWM52T2H    (*(unsigned char volatile xdata *)0xFCC2)
  545. #define     PWM52T2L    (*(unsigned char volatile xdata *)0xFCC3)
  546. #define     PWM52CR     (*(unsigned char volatile xdata *)0xFCC4)
  547. #define     PWM52HLD    (*(unsigned char volatile xdata *)0xFCC5)
  548. #define     PWM53T1H    (*(unsigned char volatile xdata *)0xFCC8)
  549. #define     PWM53T1L    (*(unsigned char volatile xdata *)0xFCC9)
  550. #define     PWM53T2H    (*(unsigned char volatile xdata *)0xFCCA)
  551. #define     PWM53T2L    (*(unsigned char volatile xdata *)0xFCCB)
  552. #define     PWM53CR     (*(unsigned char volatile xdata *)0xFCCC)
  553. #define     PWM53HLD    (*(unsigned char volatile xdata *)0xFCCD)
  554. #define     PWM54T1H    (*(unsigned char volatile xdata *)0xFCD0)
  555. #define     PWM54T1L    (*(unsigned char volatile xdata *)0xFCD1)
  556. #define     PWM54T2H    (*(unsigned char volatile xdata *)0xFCD2)
  557. #define     PWM54T2L    (*(unsigned char volatile xdata *)0xFCD3)
  558. #define     PWM54CR     (*(unsigned char volatile xdata *)0xFCD4)
  559. #define     PWM54HLD    (*(unsigned char volatile xdata *)0xFCD5)
  560. #define     PWM55T1H    (*(unsigned char volatile xdata *)0xFCD8)
  561. #define     PWM55T1L    (*(unsigned char volatile xdata *)0xFCD9)
  562. #define     PWM55T2H    (*(unsigned char volatile xdata *)0xFCDA)
  563. #define     PWM55T2L    (*(unsigned char volatile xdata *)0xFCDB)
  564. #define     PWM55CR     (*(unsigned char volatile xdata *)0xFCDC)
  565. #define     PWM55HLD    (*(unsigned char volatile xdata *)0xFCDD)
  566. #define     PWM56T1H    (*(unsigned char volatile xdata *)0xFCE0)
  567. #define     PWM56T1L    (*(unsigned char volatile xdata *)0xFCE1)
  568. #define     PWM56T2H    (*(unsigned char volatile xdata *)0xFCE2)
  569. #define     PWM56T2L    (*(unsigned char volatile xdata *)0xFCE3)
  570. #define     PWM56CR     (*(unsigned char volatile xdata *)0xFCE4)
  571. #define     PWM56HLD    (*(unsigned char volatile xdata *)0xFCE5)
  572. #define     PWM57T1H    (*(unsigned char volatile xdata *)0xFCE8)
  573. #define     PWM57T1L    (*(unsigned char volatile xdata *)0xFCE9)
  574. #define     PWM57T2H    (*(unsigned char volatile xdata *)0xFCEA)
  575. #define     PWM57T2L    (*(unsigned char volatile xdata *)0xFCEB)
  576. #define     PWM57CR     (*(unsigned char volatile xdata *)0xFCEC)
  577. #define     PWM57HLD    (*(unsigned char volatile xdata *)0xFCED)

  578. /////////////////////////////////////////////////

  579. #endif
复制代码

打赏

参与人数 1家元 +20 收起 理由
慕名而来 + 20 認真發帖

查看全部打赏

回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-8 16:33:48 | 显示全部楼层
林华信 发表于 2024-1-8 16:32
#ifndef     __STC8G_H_
#define     __STC8G_H_

上面的头文件一定要用
回复 支持 反对

使用道具 举报

发表于 2024-1-8 16:53:07 | 显示全部楼层
这么多代码的吗,这么复杂?
回复 支持 反对

使用道具 举报

发表于 2024-1-8 17:53:23 | 显示全部楼层
发吧多发点
   
不是多图杀不死论坛
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-8 18:20:30 来自手机浏览器 | 显示全部楼层
alangxl 发表于 2024-1-8 16:53
这么多代码的吗,这么复杂?


你发个用电位器取样来调节占空比输出方波的程序上来哈,越简单越好。
回复 支持 反对

使用道具 举报

发表于 2024-1-8 19:22:18 | 显示全部楼层
这个8脚IC很实用的。
回复 支持 反对

使用道具 举报

发表于 2024-1-8 20:08:03 | 显示全部楼层
我选择用NE555
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2024-1-8 20:46:34 来自手机浏览器 | 显示全部楼层
renpeng009 发表于 2024-1-8 20:08
我选择用NE555

NE555可以,超级简单。但功耗大了一点。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-8 20:50:24 来自手机浏览器 | 显示全部楼层
renpeng009 发表于 2024-1-8 20:08
我选择用NE555

如果要把电压转换成占空比,NE555比较难实现的。
回复 支持 反对

使用道具 举报

发表于 2024-1-8 21:29:07 | 显示全部楼层
林华信 发表于 2024-1-8 20:50
如果要把电压转换成占空比,NE555比较难实现的。

换个思路,改变电阻就是改变电容的充放电时间
回复 支持 反对

使用道具 举报

发表于 2024-1-8 23:00:08 来自手机浏览器 | 显示全部楼层
大佬有这个单片机的寄存器代码例程吗?
回复 支持 反对

使用道具 举报

发表于 2024-1-9 05:54:21 | 显示全部楼层
林华信 发表于 2024-1-8 20:50
如果要把电压转换成占空比,NE555比较难实现的。

印象中改变5脚电位,也能改变输出占空比,性能肯定不如单片机的。
回复 支持 反对

使用道具 举报

发表于 2024-1-9 07:14:17 | 显示全部楼层
10位ADC,最大1023,除以500还能有多少?

捕获.PNG

回复 支持 反对

使用道具 举报

发表于 2024-1-9 09:09:46 | 显示全部楼层
请教一下,你是如何生成带标号的整个文档的?我采用直接复制粘贴得到的不带标号,且左右对齐格式也大乱。
回复 支持 反对

使用道具 举报

发表于 2024-1-9 09:26:59 | 显示全部楼层
刘佑红 发表于 2024-1-9 09:09
请教一下,你是如何生成带标号的整个文档的?我采用直接复制粘贴得到的不带标号,且左右对齐格式也大乱。 ...

别人教我的转分享给你吧,发帖时上侧工具条里有一个<>标签,按它就可以出现一个下拉框,将你的程序贴上在发表就是那样了,但值得提醒的是我操作时还是经常乌龙,有时代码贴好后还想输入文字时一回车就都乱了,不知道是我电脑的问题还是网站的问题。
回复 支持 反对

使用道具 举报

发表于 2024-1-9 11:24:41 | 显示全部楼层
慕名而来 发表于 2024-1-9 09:26
别人教我的转分享给你吧,发帖时上侧工具条里有一个标签,按它就可以出现一个下拉框,将你的程序贴上在发 ...

谢谢指点!刚才试了试,已经很整齐,但没有真正发出,以后有代码需发布时再试试。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-9 14:10:26 来自手机浏览器 | 显示全部楼层
xixia001 发表于 2024-1-9 07:14
10位ADC,最大1023,除以500还能有多少?

你认为除以10就得当吗?我实际试过除以10不好用,结果试到除以500才能基本对应电位器的调节位置输出相应的占空比。不信你亲自实验一下哈。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-9 17:06:23 来自手机浏览器 | 显示全部楼层
xixia001 发表于 2024-1-9 07:14
10位ADC,最大1023,除以500还能有多少?

你看我刚新上的图就明白了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-9 17:07:56 来自手机浏览器 | 显示全部楼层
xixia001 发表于 2024-1-9 07:14
10位ADC,最大1023,除以500还能有多少?


用了左对齐的10位转换结果,所以同一般右对齐不同的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-29 10:24 , Processed in 0.124801 second(s), 13 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表