|
【练习】PIC 编程 - LED闪灯 (功力挑战)
[复制链接]
|
|
发表于 13-6-2013 04:03 PM
|
显示全部楼层
pic 发表于 13-6-2013 01:01 PM
哦。。如果要闲聊或分享心得可以去
【闲聊】心情故事,咖啡座~
这里可不可以问下pic18f4550的configuration bit?
|
|
|
|
|
|
|
|
楼主 |
发表于 13-6-2013 06:31 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 13-6-2013 07:17 PM
|
显示全部楼层
pic 发表于 13-6-2013 06:31 PM
两码事,别离题吧。。
你可以去下面问
好的!!!我问是因为那时,我做led flash 时,因为好奇FOSC,一直换。但是不明白的是不一样的FOSC (configuration bits),led flash 的时间不一样。那时我用的crystal是20Mhz。请问INTOSC_HS 和 HS 有什么分别?
|
|
|
|
|
|
|
|
发表于 13-6-2013 08:40 PM
|
显示全部楼层
weitao 发表于 13-6-2013 07:17 PM
好的!!!我问是因为那时,我做led flash 时,因为好奇FOSC,一直换。但是不明白的是不一样的FOSC (con ...
我没有真真使用pic,估计INTOSC_HS是内部振荡器(RC Oscillator) , HS则是外部时钟(使用Cystal)。如果有错误,请更正。
使用内部振荡器时,可以根据fuse bit设置时钟速度,比如4MHz, 8MHz,16MHz等等。
外部时钟的速度就是Crystal的速度了,当然你还可以烧写fuse bit前,启动Div(比如除以8)来减低速度。
使用不同的时钟,凡是关係定时(timing)的代码都会受影响。所以你的LED闪刷时间也就不同了。
这是我根据AVR的经验而写的,如果有错误,请再更正
|
|
|
|
|
|
|
|
发表于 13-6-2013 09:55 PM
|
显示全部楼层
西门庆33 发表于 13-6-2013 08:40 PM
我没有真真使用pic,估计INTOSC_HS是内部振荡器(RC Oscillator) , HS则是外部时钟(使用Cyst ...
其实我也不清楚!!!只知道HS是给external clock。internal clock 的话,要set bit 的!!!(我是第一次有pic18f,之前有16f)
|
|
|
|
|
|
|
|
发表于 12-6-2014 10:42 PM
|
显示全部楼层
//pic18f4550
#include <p18F4550.h>
#define _XTAL_FREQ 2000000
#pragma config FOSC = HS
#pragma config PWRT = OFF
#pragma config BOR = OFF
#pragma config MCLRE = ON
#pragma config PBADEN = OFF
#pragma config ICPRT = OFF
#pragma config LVP = OFF
#pragma config WDT = OFF,DEBUG=OFF
void delayms(unsigned int cx);
void program1();
void program2();
void delayms(unsigned int cx)// cx - no of times of 1ms
{
for (int i = 1;i<=cx;i++)
{
TMR0 = 65497;
TMR0ON=1; //timer 1 on
while(!TMR0IF);//wait until flag set
TMR0IF=0;//clear flag
}
}
void program2()//第二题
{
int a=0;int b=0;
RB1=~RB1;
while(a<=2)
{
RB0=~RB0;
while(b<=10)
{
RB2=~RB2;
delayms(50);
b++;
}
a++;
}
}
void program1()//第一题
{
PORTB=0x03;
delayms(500);
PORTB=0;
delayms(500);
}
void main()
{
TRISB=0x00;
T0CON = 0b00000110;
while(1)
{
//program1();//uncomment it if wan to use that function , note that please uncoment ONE function ONLY!!
//program2();
}
}
本帖最后由 weitao 于 12-6-2014 10:59 PM 编辑
|
|
|
|
|
|
|
|
发表于 12-12-2015 12:37 AM
|
显示全部楼层
本帖最后由 wdx 于 21-12-2015 08:45 PM 编辑
...................................................
|
|
|
|
|
|
|
|
发表于 26-1-2016 09:55 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 27-1-2016 02:19 PM
|
显示全部楼层
|
|
|
|
|
|
| |
本周最热论坛帖子
|