我个人的情况是不懂PIC,玩过51,要短期内搞明白PIC12F629这个小玩意。
用途:
第一片:SPI控制两个芯片,上电后等0.5秒,先片选芯片甲,往里写几十个字节,关闭,再片选芯片乙,写几十个字节,关闭,从此冬眠直到下一次Reset。
第二片:外接编码器,判断左转右转和开关触发,存放在自己的缓存里,然后解码后往芯片甲乙里的固定位址把数写进去。
大家说,我天生愚笨,技校学历,想研究透这个小玩意,需要多长的时间呢?在编程器和实验板都在手里的情况下,2个月行吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
感觉要用好还是有点问题,PIC玩过,建议玩PIC的还是玩汇编!!!!!
=========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
}
}
说来惭愧,我在1996年曾经考过C语言,并且过了,但从那之后到现在,再也没碰过任何形式的编程,51仅限于用查表查书的方式来控制几个继电器(实用主义至上害死人)。现如今C语言里的while if看得我都发晕。
我看了一下大侠的源程序,大体明白了,跟10多年前的C大体差不多。
在include文件里,规定了部分操作命令的地址,pic是各种命令各自占一段是吧。
然后在编程时,首先include一下芯片,再声明一些即将使用的函数定义或者引脚定义吗?哈哈,这个跟51很像,比汇编要查表写命令可省事多了。再用C的循环逻辑来利用这些命令,把自己要写的操作数字装来装去是吧?
谢谢各位大侠,让我找到了年轻时那似曾相识的成就感。当然要是我理解错了,大家可要指出哦。
一周热门 更多>