您好!关于单片机PIC16F887这个单片机...

PIC16F887单片机如何使用内部振荡器作为系统时钟源?_百度知道
PIC16F887单片机如何使用内部振荡器作为系统时钟源?
使用软件:MPLAB + HI-Tech,希望使用单片机内部8MHz振荡器为系统提供时钟信号,程序编译无错误,但执行到while(!HTS)时进入死循环,不知为何内部振荡器始终无法稳定?#include&HTC.h&__CONFIG(WDTDIS&INTIO&PWRTEN&BOREN&PROTECT);void Delay(unsigned int n);void Init(void);void interrupt ISR(void);void main(void){
while(1);}void Delay(unsigned int n){
i=54054*n;
while(i)i--;}void Init(void){
/***********************OSC setting***********************/
OSCCON=0X71;
while(!HTS);
/*wait stable OSC*/
/***********************Port setting***********************/
/***********************USART setting*****************************/
SPBRG=51; /*Baud=9600*/
INTCON=0xC0;
PIE1=0x20;
}void interrupt ISR(void){
if(RCREG =='Y')
我有更好的答案
按默认排序
PIC16F877好像没有内部震荡源,需要外界电阻电容或晶体.因为很长时间不玩PIC的芯片了,有点忘了.说的不对请谅解.
你看错型号了,是PIC16F887,不过谢谢你的热心回答;我把配置字里的每项都设置了一遍,可以了运行了:__CONFIG(INTIO&WDTDIS&PWRTEN&MCLREN&CP&CPD&BOREN&IESODIS&FCMDIS&LVPDIS&DEBUGDIS),也许单片机一直在复位。
Sorry,是看错了,我没有玩过887,玩过87xA系列的,再就是PIC24HJ系列的.实在对不起.微芯的16单片机采用配置字控制初始态比较普遍.
其他类似问题
系统时钟的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁您好!关于PIC16F887这个单片机的pwm周期,请问它的那个计算公式:[(PR2)+1]×4×Tosc×(TMR2预分频值)_百度知道
您好!关于PIC16F887这个单片机的pwm周期,请问它的那个计算公式:[(PR2)+1]×4×Tosc×(TMR2预分频值)
能否给具体计算值我理解周期PR2公式PR2呢周期设定般设<img class="word-replace" src="/api/getdecpic?picenc=0a5fXFF.解请赤脚啊
我有更好的答案
按默认排序
固定周期倒数频率确定PWM频率些场合用频率能恒定编程者根据电路实际情况需求确定 需要先理解PWM干啥
来自:求助得到的回答
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁高手你好,单片机PIC16F887与PIC16F877A主要有什么区别?编程时要注意哪些?
高手你好,单片机PIC16F887与PIC16F877A主要有什么区别?编程时要注意哪些?
还有一个问题,用PROTEUS仿真单片机时,SOURCE里面的第二个选项的Tools选项为什么老是会自动跑掉,我选择了PICC的,下次再开这个菜单它又变成ASEM51,左下角的勾已经打了还是不行。。。
主要区别,887是纳瓦系列,功耗比877或877a要低; 887有内部RC振荡器,887/887A没有内部振荡器; 887有一个普通CCP模块,一个增强型CCP模块,877A只有两个普通的CCP模块; 887有十四个10位AD输入通道,877只有八个10位AD输入通道 887可以使用内部复位电路(RE3可以做IO或者做复位引脚),877A无此功能;还有其他的东西,在实际的使用中,你要对着DATASHEET来看(特别是IO口的使用,不同的型号IO口内部结构都可能不太一样,认真看datasheet),887有中文的datasheet,去这里下载chinese版本的: 877A没有中文版,如果用到那就自己慢慢看英文的:
另外,我很少用PROTEUS(上大学时候用过),现在我基本上是用实际芯片来做硬件仿真。没法回答你的PROTEUS问题。但我可以告诉你的是,Mplab IDE里的debuger选项中有Proteus VSM。你可以在Proteus软件里先画好图,然后保存关闭。然后在MPLAB里打开你的程序项目,然后打开Debugger -& Select Tools -& Proteus VSM,然后在弹出的PROTEUS窗口打开你刚画的PROTEUS文件,就可以在MPLAB里直接调用Proteus来仿真程序了。 这样可以直接单步调试程序,可以让你直观看到每一条指令对单片机和电路的改变。
其他回答 (2)
主要区别,887是纳瓦系列,功耗比877或877a要低;887有内部RC振荡器,887/887A没有内部振荡器;887有一个普通CCP模块,一个增强型CCP模块,877A只有两个普通的CCP模块;887有十四个10位AD输入通道,877只有八个10位AD输入通道887可以使用内部复位电路(RE3可以做IO或者做复位引脚),877A无此功能;还有其他的东西,在实际的使用中,你要对着DATASHEET来看(特别是IO口的使用,不同的型号IO口内部结构都可能不太一样,认真看datasheet),887有中文的datasheet,去这里下载chinese版本的: 877A没有中文版,如果用到那就自己慢慢看英文的: 另外,我很少用PROTEUS(上大学时候用过),现在我基本上是用实际芯片来做硬件仿真。没法回答你的PROTEUS问题。但我可以告诉你的是,MplabIDE里的debuger选项中有ProteusVSM。你可以在Proteus软件里先画好图,然后保存关闭。然后在MPLAB里打开你的程序项目,然后打开Debugger-&SelectTools-&ProteusVSM,然后在弹出的PROTEUS窗口打开你刚画的PROTEUS文件,就可以在MPLAB里直接调用Proteus来仿真程序了。这样可以直接单步调试程序,可以让你直观看到每一条指令对单片机和电路的改变。
PIC单片机我没有用过
真不好意思
这个问题帮不上忙
相关知识等待您来回答
编程领域专家

我要回帖

更多关于 单片机 的文章

 

随机推荐