PIC16F883上电后自己延时2-5秒

2020-02-07 09:40发布

本帖最后由 lovehebut 于 2014-3-13 11:18 编辑

各位大侠,我在使用PIC16F883的时候会在上电后马上点亮一个LED,但是这个LED会在2-5秒才被点亮,具体测试如下:

1--LED的的电平确实是2-5秒后才从单片机输出的

2--电源用的3.3V,用示波器观看,上电的时候电源没有延迟

3--直接用3.3V,不经过单片机点亮一个LED,这样是没问题的

4--考虑问题出在单片机上

5--用的是8M外部晶振,开始怀疑是晶振的问题,可是换成内部晶振,结果一样

6--已经在配置里面去掉了上电延时和时钟切换

7--每一个IO口都会有这个延时

以上就是我的测试过程,请大家帮忙看看,谢谢.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
28条回答
gaolf_2012
1楼-- · 2020-02-07 14:04
配置字寄存器(CONFIG)中的FOSC<2:0> 位配置确定是HS?
gaolf_2012
2楼-- · 2020-02-07 17:31
在线调试看OSCCON的值
bit 7 未实现:读为0
bit 6-4 IRCF<2:0>:内部振荡器频率选择位
111 = 8MHz
110 = 4MHz (默认)
101 = 2MHz
100 = 1MHz
011 = 500kHz
010 = 250kHz
001 = 125kHz
000 = 31kHz(LFINTOSC)
bit 3 OSTS:振荡器起振延时状态位(1)
1 = 器件使用由配置字寄存器中的FOSC<2:0> 定义的外部时钟源
0 = 器件使用内部振荡器(HFINTOSC 或LFINTOSC)
bit 2 HTS:HFINTOSC 状态位(高频 — 8 MHz 到125 kHz)
1 = HFINTOSC稳定
0 = HFINTOSC不稳定
bit 1 LTS:LFINTOSC 稳定位(低频 — 31 kHz)
1 = LFINTOSC稳定
0 = LFINTOSC不稳定
bit 0 SCS:系统时钟选择位
1 = 内部振荡器用作系统时钟
0 = 时钟源由配置字寄存器中的FOSC<2:0> 定义
注1: 双速启动时如果选择了LP、XT 或HS 振荡器模式或使能了故障保护模式会使该位复位为0。
xmcsl
3楼-- · 2020-02-07 22:41
 精彩回答 2  元偷偷看……
lovehebut
4楼-- · 2020-02-07 23:44
gaolf_2012 发表于 2014-3-12 12:23
配置字寄存器(CONFIG)中的FOSC 位配置确定是HS?

是的,确定是HS,而且单片机运行应该是正常的,因为我用示波器看了定时器的频率.
lovehebut
5楼-- · 2020-02-08 01:37
xmcsl 发表于 2014-3-12 12:36
查复位电路

没有用复位电路,直接上电复位的
lovehebut
6楼-- · 2020-02-08 02:41
gaolf_2012 发表于 2014-3-12 12:30
在线调试看OSCCON的值
bit 7 未实现:读为0
bit 6-4 IRCF:内部振荡器频率选择位

我用串口输入了 OSTS和HTS, 均为1,也就说明用的是外部晶振,并且稳定

一周热门 更多>