PIC16F684 用内部8MHZ,输出脚输出最高频率是?

[复制链接]
2140|18
 楼主| wyjie 发表于 2021-10-9 22:54 | 显示全部楼层 |阅读模式
PIC16F684 用内部8MHZ,输出脚输出最高频率是?
 楼主| wyjie 发表于 2021-10-9 22:56 | 显示全部楼层
本帖最后由 wyjie 于 2021-10-9 22:59 编辑

PIC16F684  用内部8MHZ,输出脚取反,输出最高频率是?
 楼主| wyjie 发表于 2021-10-9 23:02 | 显示全部楼层
我实测是周期是8 US. 我调了好长时间,
chuxh 发表于 2021-10-9 23:02 | 显示全部楼层
以前用12F508 输出脚取反,好像最高周期可达2US。10F206 工作速度是1 US指令周期。
stly 发表于 2021-10-9 23:05 | 显示全部楼层
不知16 F684工作速度,指令周期是多少???
dengdc 发表于 2021-10-9 23:07 | 显示全部楼层

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因
 楼主| wyjie 发表于 2021-10-9 23:13 | 显示全部楼层
#include<pic.h>   //PIC16F684
__CONFIG(0xC04);
void main(void)
{
        CMCON0=0x07;
        ANSEL=0;
        TRISC=0;
         PORTC=0;
        TRISA=0;
        PORTA=0;
        WDTCON=0X09;                 
        OSCCON=0B011100111; //8mhz
        OPTION_REG= 0b00001000;        
         while(1)
         {         
                RA1=~RA1;//实测是周期是6US.  单周期应是3 US       //除跳转指令外的所有指令都是单周期的,   体现不了单周期????  
         }
jlyuan 发表于 2021-10-9 23:13 | 显示全部楼层
还有那个寄存器要设???
pengf 发表于 2021-10-9 23:15 | 显示全部楼层
看一下反编译的汇编代码。
zhanghqi 发表于 2021-10-9 23:16 | 显示全部楼层
你的内部8MHZ配错了 OSCCON=0B01110001
zhanghqi 发表于 2021-10-9 23:23 | 显示全部楼层

本帖子中包含更多资源

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

×
chuxh 发表于 2021-10-9 23:23 | 显示全部楼层
有点好奇,这样做的目的是什么?
dingy 发表于 2021-10-9 23:26 | 显示全部楼层
直接写寄存器试试,不要写位。
wangpe 发表于 2021-10-9 23:32 | 显示全部楼层
之前控制RGB灯的时候,这样翻转过IO。
zhanghqi 发表于 2021-10-9 23:34 | 显示全部楼层
1/8*4=0.5US指令周期
一个方波要0.5*2=1US
所以8MHZ主频下,输出方波频率不会超过1MHZ
zwll 发表于 2021-10-9 23:36 | 显示全部楼层
你有没有想过,用指令使IO口全速翻转的话, 那么CPU哪里来的时间来做其他的事情》??
dingy 发表于 2021-10-9 23:38 | 显示全部楼层
所以,这样做没有任何意义的。
supernan 发表于 2021-10-9 23:40 | 显示全部楼层
当然,如果说能把指令弄清楚也算收获的话,也算是不错了。
 楼主| wyjie 发表于 2021-10-9 23:42 | 显示全部楼层

其实还是不大明白,我再琢磨琢磨吧,多谢了哈先
您需要登录后才可以回帖 登录 | 注册

本版积分规则

927

主题

12706

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部