完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
/////////PCA CEX0为PWM 输出模式//////////////
/////////PWM.c////////////////////////// #include typedef unsigned int uint; typedef unsigned char uchar; typedef unsigned long ulong; sfr16 RCAP2=0xca; sfr16 RCAP3=0xca; sfr16 RCAP4=0xca; sfr16 TMR4=0xcc; sfr16 TMR3=0xcc; sfr16 TMR2=0xcc; sfr16 PCA0CP0=0xfb; sfr16 PCA0CP1=0xfd; sfr16 PCA0CP2=0xe9; sfr16 PCA0CP3=0xeb; sfr16 PCA0CP4=0xed; sfr16 PCA0CP5=0xe1; uchar temppage; void delay1ms(uint time){//延迟1ms uint i; uint j; for (i=0;i for(j=0;j<300;j++); } } void pca0ini(){//CEX0为8bit PWM输出模式 SFRPAGE = 0x00; PCA0CPM0=0X42; } void PWM0_set(uchar low){//占空比设置,高电平占空比为(256-low)/256 SFRPAGE = 0x00; PCA0CPH0=low; } void pcaini(){ SFRPAGE=0x00; PCA0MD=0x08;//PCA采用系统时钟,且PCA溢出中断禁止 PCA0CN=0x42;//启动PCA计数器 //EIE1|=0x08;//将此代码屏蔽,禁止PCA中断 } void config(){ //看门狗禁止 WDTCN = 0x07; WDTCN = 0xDE; WDTCN = 0xAD; SFRPAGE = 0x0F; //交叉开关配置,CEX0-CEX5配置到P0.0-P0.5 XBR0 = 0x30; XBR1 = 0x00; XBR2 = 0x40; XBR3 = 0x00; //管脚输出配置,P0口为开漏输出,其中P0.6接上拉电阻,P0为数字输入口 SFRPAGE = 0x0F; P0MDOUT = 0x00; P1MDIN = 0xFF; //晶振配置,采用内部晶振8分频 SFRPAGE = 0x0F; CLKSEL = 0x00; OSCXCN = 0x00; OSCICN = 0x84; } void main(void){ xdata uchar lowset; config(); pcaini(); pca0ini(); lowset=00; PWM0_set(lowset); while(1){ delay1ms(2000); lowset+=20; PWM0_set(lowset); } } 谁能帮着把上面的程序改成直接输出一个固定占空比的PWM波的程序啊 并且说明怎么修改初始占空比 |
|
相关推荐
1个回答
|
|
在线等答案 可以加QQ2607386161聊 谢谢了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard EL 1板卡-i2c与从设备通讯编程示例之i2c-tools工具使用
976 浏览 0 评论
stc15f2k60s2利用串口传输字模存储到eeprom并进行点阵显示
1093 浏览 1 评论
1356 浏览 0 评论
607 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-串口通讯编程示例之串口编写程序
1236 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11600 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-4 01:44 , Processed in 0.477347 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号