完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
stc PWM输出
#include "reg51.h" #include "intrins.h" #define FOSC 12000000L typedef unsigned char BYTE; typedef unsigned int WORD; #define uint unsigned int sfr P_SW1 = 0xA2; //外设功能切换寄存器1 #define CCP_S0 0x10 //P_SW1.4 #define CCP_S1 0x20 //P_SW1.5 sfr CCON = 0xD8; //PCA控制寄存器 ***it CCF1 = CCON^1; //PCA模块1中断标志 ***it CR = CCON^6; //PCA定时器运行控制位 ***it CF = CCON^7; //PCA定时器溢出标志 sfr CMOD = 0xD9; //PCA模式寄存器 sfr CL = 0xE9; //PCA定时器低字节 sfr CH = 0xF9; //PCA定时器高字节 sfr CCAPM1= 0xDB; //PCA模块1模式寄存器 sfr CCAP1L = 0xEB; //PCA模块1捕获寄存器 LOW sfr CCAP1H = 0xFB; //PCA模块1捕获寄存器 HIGH sfr PCA_PWM1 = 0xf3; //PCA模块1的PWM寄存器 void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=900;y>0;y--); //z=1,delay 1ms } void main() { ACC = P_SW1; ACC &= ~(CCP_S0 | CCP_S1); //CCP_S0=0 CCP_S1=0 P_SW1 = ACC; //(P1.2/ECI, P1.1/CCP0, P1.0/CCP1, P3.7/CCP2) CCON = 0; //初始化PCA控制寄存器 //PCA定时器停止 //清除CF标志 //清除模块中断标志 CL = 0; //复位PCA寄存器 CH = 0; CMOD = 0x02; //设置PCA时钟源 //禁止PCA定时器溢出中断 PCA_PWM1 = 0x40; //PCA模块1工作于7位PWM 00-8位周期长频率小.40-7.80-6位,频率高 CCAP1H = CCAP1L = 0x20; //PWM1的占空比为75% ((80H-20H)/80H) CCAPM1 = 0x42; //PCA模块1为7位PWM模式 //CR = 1; //PCA定时器开始工作 while (1) //10us,100Khz { CCAP1H = CCAP1L = 0x01; CR = 1; //PCA定时器开始工作 delay(2000); CR = 0; //PCA定时器开始工作 CCAP1H = CCAP1L = 0x20; delay(10); CR = 1; //PCA定时器开始工作 delay(2000); CR = 0; //PCA定时器开始工作 CCAP1H = CCAP1L = 0x00;delay(10); CR = 1; //PCA定时器开始工作 delay(2000); CR = 0; CCAP1H = CCAP1L = 0x79;delay(10); CR = 1; //PCA定时器开始工作 delay(2000); CR = 0; CCAP1H = CCAP1L = 0x80;delay(10); CR = 1; //PCA定时器开始工作 delay(2000); CR = 0; CCAP1H = CCAP1L = 0x82;delay(10); CR = 1; //PCA定时器开始工作 delay(2000); CR = 0; } 众筹方案 } |
|
相关推荐
|
|
2255 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
2071 浏览 3 评论
4687 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2215 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2757 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 10:52 , Processed in 0.538718 second(s), Total 64, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号