PIC12F629短期突击,大家给个意见

2020-02-09 09:30发布

我个人的情况是不懂PIC,玩过51,要短期内搞明白PIC12F629这个小玩意。

用途:
第一片:SPI控制两个芯片,上电后等0.5秒,先片选芯片甲,往里写几十个字节,关闭,再片选芯片乙,写几十个字节,关闭,从此冬眠直到下一次Reset。
第二片:外接编码器,判断左转右转和开关触发,存放在自己的缓存里,然后解码后往芯片甲乙里的固定位址把数写进去。

大家说,我天生愚笨,技校学历,想研究透这个小玩意,需要多长的时间呢?在编程器和实验板都在手里的情况下,2个月行吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
my2009
1楼-- · 2020-02-09 12:41
建议先用 16F877A 或  18Fxxxx 把程序功能调通, 再移植到12F629 上面, 因为前者软件和各种资源都比较多,2个月行应该可以了
hyperma
2楼-- · 2020-02-09 18:17
多谢大侠的指点,打通任督二脉后,再拿产品给大家看。
millwood0
3楼-- · 2020-02-09 22:05
 精彩回答 2  元偷偷看……
zhuyi25762
4楼-- · 2020-02-10 01:01
2个月行应该可以了???

感觉要用好还是有点问题,PIC玩过,建议玩PIC的还是玩汇编!!!!!
millwood0
5楼-- · 2020-02-10 04:46
for example, this is a generic c program that flips gpio.2. with little modification, it should run on other mcus (pic or otherwise).

=========code===========

#include <htc.h>
#include "gpio.h"
#include "delay.h"

__CONFIG(MCLRDIS & BORDIS & WDTDIS & PWRTEN & INTIO);

#define LED_PORT                        GPIO
#define LED_DDR                                TRISIO
#define LED                                        (1<<2)        //led on gpio.2
#define LED_DLY                                100                //time delay

void mcu_init(void) {
        //ANSEL=0x00;                                                //all pins digital
        CMCON=0x07;                                                //analog comparators off

        IO_CLR(LED_PORT, LED);                        //clear led
        IO_OUT(LED_DDR, LED);                        //led as output
}


void main(void)
{
        mcu_init();                                                //reset the mcu
        while (1){
                //TODO Auto-generated main function
                IO_FLP(LED_PORT, LED);                //flip the led
                delay_ms(LED_DLY);                        //waste some time
        }
}
hyperma
6楼-- · 2020-02-10 06:26
向各位悉心帮助我的大侠致敬。

说来惭愧,我在1996年曾经考过C语言,并且过了,但从那之后到现在,再也没碰过任何形式的编程,51仅限于用查表查书的方式来控制几个继电器(实用主义至上害死人)。现如今C语言里的while if看得我都发晕。

我看了一下大侠的源程序,大体明白了,跟10多年前的C大体差不多。

在include文件里,规定了部分操作命令的地址,pic是各种命令各自占一段是吧。
然后在编程时,首先include一下芯片,再声明一些即将使用的函数定义或者引脚定义吗?哈哈,这个跟51很像,比汇编要查表写命令可省事多了。再用C的循环逻辑来利用这些命令,把自己要写的操作数字装来装去是吧?

谢谢各位大侠,让我找到了年轻时那似曾相识的成就感。当然要是我理解错了,大家可要指出哦。

一周热门 更多>