作者:广东在线游戏网日期:
返回目录:游戏解答
楼上没用过PIC的就不要胡乱猜测发言。PIC10、12、16、18、24、32虽然是Microchip公司的PIC系列单片机。但结构却是完全不相同的:
首先,PIC10/PIC12/PIC16是pic八位中档单片机,汇编指令只有三十多条,没有乘法除法指令(用汇编写乘除,只能循环做移位计算),其芯片的引脚数从六个引脚的到六十四个引脚的不等,引脚多的所集成的外设功能也多……第二PIC18系列也是八位的PIC单片机,较前者高档点,集成的功能也多比如USB、CAN总线等等。汇编指令有八十多条,和前者不同,带乘法除法指令和硬件乘法器。
第三PIC24系列的是16位单片机, 近七十条汇编指令。有硬件乘法器和硬件除法器(有了它就可以在一个指令周期内完成一个17*17或32/16的算法)。内部集成的存储器较大。还有一种芯片上面没提到,就是dsPIC系列,这其实就是集成了DSP(数字信号处理)功能的PIC24单片机,在进行某些信号控制的时候需要用到它,但它功耗较大。
第四种就是PIC32,它是三十二位的单片机,它出现的目的就是MICROCHIP公司为了用它来盒和ARM做市场竞争的。简单点说,它跟ARM是一个级别的。
虽然MICROCHIP公司的PIC芯片都是用RICS指令结构,但其内部结构不尽相同,如果你要学PIC单片机,建议先学PIC16F887,这款芯片几乎包括了PIC10~16系列中的大部分外设。推荐这个系列的最好先学汇编指令。先把这个学懂了,然后再用PIC10~16系列的其他芯片,你只需要从Microchip的网站上下载Datasheet仔细阅读以下和PIC16F887的区别就可以(指令都一样的)。而PIC18和PIC24和dsPIC系列的,你需要在原有的基础上,多看DATAHSEET,主要是看指令集的区别。这三个系列的可以直接学C,但也要了解一下汇编。
而PIC32,现在它还比不过ARM芯片,市场前景很难估计,也没有几个企业用这芯片的。不建议你现在学这个。
你的第一个问题,看门狗用了预分频的话,那定时器0就不能再用预分频了。有的PIC芯片还带有看门口自己独用的分频器,这样的话可e5a48de588b67a686964616f335以给TIMER0让出一个预分频来(比如PIC16F886)。 看门狗如何设成最优,那只能是从你的指令里计算了,还必须根据你的单片机所运行的环境来看,如果电磁环境很恶劣,最好是较短时间就设置一调喂狗指令。
啊,写了一大堆,如果有不明白的可以百度HI问我。 除了PIC32和PIC10外,其他系列的我都用过一些芯片
以PIC16F887为例,内部看知门狗使用31khz的震荡源,选择wtdcon默认的512预分频,选择option_reg设置的与timer0共用的预分频比为1,看道门内狗定时时间为 (1/31000)*512*1 = 0.0165S,即规格书宣称的复位后默认的17ms的时基,容若要更长时间,增加看门狗的预分频比例即可实现。
不喂狗的话复他会一直重启你的板子。
看门狗的作用是在你死机的时候将系统复位。
里面有个定时器,每隔一段间记一下数,当记满的时候制就给板子复位。
在单片机编程的时候每隔一段时间就清一次看门狗的计数(俗称喂狗),如果程序死机了或者跑飞知了,自然就没办法喂狗道了,计数自然就满了,于是看门狗就复位板子让系统重启。
这样可以避免系统罢工。