完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
大家好,我一直在试着做一个PWM/模式控制器,用于一个电池供电的坏闪光灯,我使用了PIC16F15313和XC8编译器……问题是这是我第一个使用PIC微型计算机的项目,我是一个完全新手,在闪光灯箱里空间有限,我想操作E微作为尽可能小的权力。我的微输入是:1。亮度设置锅输入- ADC输入-2。模式设置开关输入- ADC输入-3。低电池睡眠输入-数字输入-4。MCLR引脚是主清除功能,我的输出从微是:1。PWM高控制输出-PWM3输出-2。PWM Low控制输出- PWM4输出,这是我的伪代码代码:1。检查模式设置开关输入:A)如果开关值低于或等于0.25v或ADc值256;然后:1.低功率模式被接合(睡眠模式)2.所有输出被设置为低B)如果开关值高于或等于0.75v或ADc值786;然后:1.读取亮度设置Pot输入并将值分配给变量ADCB 2。变量ADCB的值驱动PWM33的占空比。如果开关值在0.75v和0.25之间或ADc值786和256之间,PWM3在引脚RA2C上输出;然后:1.读取亮度设置Pot输入并将其值分配给可变ADCB 2.可变ADCB的值驱动PWM43的占空比.PWM4在引脚RA4EXint)低电池上输出;然后:模式开关被重载,模式被终止,直到电池被充电或外部电源被接通;连接1。低功耗模式(睡眠模式)2.所有输出设置为低,这是我的主要。
|
|
相关推荐
19个回答
|
|
|
(1)您的代码标签不工作,因为您省略了/代码标签(2),您使用MCC吗?所有初始化代码都是隐藏的,没有显示源代码的[3]XC8是一个“C89”兼容编译器,这意味着您不能在代码块的中间创建变量,它必须位于块的开头。这是C99增强。D不退出。在所有要继续执行的代码周围放置一段时间(1)循环。
|
|
|
|
|
|
您的函数只将RA2/RA3设置为零,从不设置为零(顺便说一下,您应该在编写时使用LATAbits.LATA2而不是PORTAbits.RA2),所以无论发生什么事情,都应该始终将它们保持在低位。很难说您是否配置了某些功能来做这件事。使用相应的LF部件(PC16LF15313)您将获得更小的功耗。
|
|
|
|
|
|
对不起,我没有正确地复制代码…这是其他文件:这是CONFIG.H:这是中断。h:这是PPSYCONFIG.H:
|
|
|
|
|
|
我在使用LF部分,需要额外的代码吗?我还能唤醒软件中的微控制器吗?我将在代码中修复PORTAbits……我不使用MCC,我将修复代码:并且中断没有停止与我一起工作,我真的不知道如何设置PPS,我在数据表中查看了表15-1页186,我真的迷路了。
|
|
|
|
|
|
嗨,你用MCC来生成初始化代码吗?如果不是,我建议你这么做。它对于最新的PIC16F1xxx产品尤其有用,这些产品具有大量的外围设备,因此需要初始化许多寄存器以获得所需的功能。
|
|
|
|
|
|
我建议你先从简单的事情开始。先做一个闪烁的LED,然后,一旦它工作,你就添加其他东西——一次一个。
|
|
|
|
|
|
这里漏***
|
|
|
|
|
|
谢谢,我马上就改正。我建议你先从简单的事情开始。首先制作一个闪烁的LED,然后,一旦它工作,你添加其他东西-一次一个。我做到了,这里是闪烁灯的代码:m a in.c:config.h:我根本不使用MCC,而且我是它的一个完全新手:你说得对,PIC16F15323有很多外围设备,甚至更多。寄存器初始化…
|
|
|
|
|
|
这是修改后的main.c文件:和config.h文件:ADC看起来不错,我将测试它,并将结果通知您……
|
|
|
|
|
|
在使工作正常之前,摆脱那些睡眠指令。您仍然允许您的主函数退出。不应该将代码放入.h文件中,而应该只放入定义。config.h包含代码forvoid ADC_Init()和ADC_Read()。它们需要放入单独的C文件中,而不是H文件。把它们放在你的主C文件中直到你工作。
|
|
|
|
|
|
修正了…但是,他们需要的中断和PPSDO如何?C不。H文件?
|
|
|
|
|
|
代码在C文件中,定义在H文件中。如果你没有一本好的C书来解释这一点,请读一读:在C和C++中组织代码文件(忽略C++特定的位)
|
|
|
|
|
|
我把所有非定义术语都移到main.c,包括中断ADC设置代码:但由于某些原因,ADC设置代码根本不起作用,编译器无法识别。这是config.h文件:
|
|
|
|
|
|
“不承认”在什么意义上?此外,写入LATX而不是PORTX
|
|
|
|
|
|
哦,我想我已经确定了吗?也许不是悲伤:这里是错误窗口:这是主要的.C文件:
|
|
|
|
|
|
你是否包括XC.H文件?
|
|
|
|
|
|
|
|
|
我还删除了主(…)的东西……如果你读了错误页面,就会有多条线,尽管Tayay.
|
|
|
|
|
|
1。“中断设置部分”中的所有内容都需要在函数中或内部(2)中。不要从主()返回。确保你有一个无限循环,使主()从不退出。3。移动你的包含线到你的.c文件的顶部。4。不要在你的配置文件中包含.lc.h & gt;在配置文件中打开LVP关闭.H.6。我肯定还有更多…
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1123浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 01:49 , Processed in 1.294595 second(s), Total 108, Slave 91 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1445