完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
嗨,谢谢你看。我用PIC12F1840编写了一大段代码,在写RA5时遇到了麻烦,你能确认一下我是否漏掉了什么吗?老实说,这可能是我的面包板布线有问题,但我想我会要求和再次检查这个同时我自己检查。在这上面挠了几天,真傻。所以,尝试使用RA5发送一个方波信号,但是它不起作用,只是找人再检查一下,我不是很愚蠢,并且错过了一些显而易见的东西。下面是我设置允许这样做的各种代码片段。非常感谢Geoff/*CONFIG1*/pragma config FOSC=INTOSC/*振荡器选择(INTOSC振荡器:CLKIN管脚上的I/O功能)*/pragma配置WDTE=OFF/*看门狗定时器启用(WDT禁用)*/pragma配置PWRTE=OFF/*上电定时器启用(PWRT禁用)*/pragma配置MCLRE=OFF/*MCLR管脚功能选择(MCLR/VPP管脚功能是MCLR)*/pragma配置g CP=OFF/*Flash程序内存代码保护(禁用程序内存代码保护)*/pragma配置CPD=OFF/*数据内存代码保护(禁用数据内存代码保护)*/pragma配置BOREN=OFF/*Brown-out Reset Enable(禁用布朗-out Reset)*/pragma配置CLKO关闭/启用时钟功能(CKOUT功能禁用)。CLKOUT管脚上的I/O或振荡器功能)*/#pragma配置IESO=OFF/*内部/外部切换(内部/外部切换模式被禁用)*/pragma配置FCMEN=OFF/*故障安全时钟监视器启用(故障安全时钟监视器被禁用)*//*CONFIG2*/pragma配置WRT=OFF/*F冲击存储器自写保护(写保护)*/pragma配置PLLEN=OFF/*PLL启用(4xPLL禁用)*/pragma配置STVREN=ON/*堆栈溢出/下溢出复位启用(堆栈溢出或下溢将导致复位)*/pragma配置BORV=LO/*布朗复位电压选择n (Brown-out Reset Vol.(Vbor),选择低跳闸点。*/pragma config LVP=OFF/*低压编程启用(MCLR/VPP上的高压必须用于编程)*/.FOSC(4000000).FCYC(FOSC/4)._XTAL_FREQ FOSC OSCCON=0b0101010;//选择4MHz内部osci没有PLL/*76543210***0X58=01011000*76543210**0X58=01011000*76543210**7PLLEN 1=4xPLL被启用*0=4xPLL被启用*0=4xPPL被禁*0*0=4xPPLPPL被禁*6-3位IRCF*3:0>内部振荡器Freq*1111*1111=16Mz*1111=1111=16Mz*1110=8Mhz*1110=8Mhz或32Mhz高频*1101Mhz HF*1101*1101*1101=8Mhz*1101=8Mhz*1101=8Mhz*1101=8Mhz 1 1 0=125kHz HF*0111=500kHz MF*0110=250kHz MF*0100=62.5kHz MF*0011=31.25kHz HF*0010=31.25kHz MF*0010=31.15kHz MF*000x=31kHz LF*位2未实现*位SCS系统时钟选择1x内部Osc,01定时器1,00时钟2:0>2:0>**/ADCON0=0x00;//关闭ADC ADCON1=0x00;FVRCON=0x00;FVRCON=0X00;ANSELA=0x00;ANSELA=0x00;ANSELA=0x00;//使所有GPIO数字LATATATA全部GPIO=0TRISA=0x00;//使所有GPIO为零TRISA;TRISA=0X00;//maks所有GPIO输出//ANSELH位ANSELH位ANSELH位.ANS03=0;ANS03=0;0;0//不要求,因为Pin3没有ADCAADCAANSELA位。ANSA0=1;ANSA0=1;ANSA0=设置RA0 as模拟输入,0=Digial,1=模拟INTCONbits.GIE=1;//enable中断TRISAbits.TRISA0=1;//设置RA0作为输入,0=Ouptut,1=Input TRISAbits.TRISA1=0;//设置RA1作为输出,0=Ouptut,1=Input TRISAbits.TRISA2=0;//设置RA2作为输出,0=Ouptut,1=Input TRISAbits.TRISA3=1;//设置RA3put,0=Ouptut,1=Input TRISAbits.TRISA4=0;//Set RA4作为输出,0=Ouptut,1=Input TRISAbits.TRISA5=0;//Set RA5作为输出,0=Ouptut,1=InputOP._REGbits.nWPUEN=0;//1=All PortA Pull Up.d(如果启用了MCLR)//0=所有PortA Pull Up由单个锁存器WPUAbits启用。3=1;//设置RA3 OP._REGbits.TMR0CS=0;//内部时钟OP._REGbits.TMR0SE=0;//Inc为低到高OP._REGbits.PS=0b110;//PreScaler 0001:2,001 1:4,0101 01 1:8,011:16//100 1:32101 1:64110 1:128111 1:256。多谢
|
|
相关推荐
4个回答
|
|
|
另外,这不能是真正的代码,因为没有主()函数。请再试一次,发布完整的程序。
|
|
|
|
|
|
感谢QHB为您的意见和帮助,真正的代码超过1500行,谢天谢地,主要是工作。我试图保持简单。我是PIC12F1840的新手,所以我希望它具有配置问题(端口上的某些东西的冲突),因此配置代码和代码片段。但是我同意我们的评论,并且同意它通常有助于看到整个画面。下次我会做得更好,非常感谢杰夫。
|
|
|
|
|
|
减少测试的复杂性。制作一个新的程序来设置所有的东西,然后进入一个循环来切换PIN。
|
|
|
|
|
|
也许是SR锁存器?
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1124浏览 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 02:29 , Processed in 0.742555 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2339