想用无线蓝牙弄个智能LED格栅灯来着,转用PIC
单片机搁浅呀。定时器没弄出来,一步步倒查好像时钟也没对,琢磨了一个星期了
程序:
#include<pic.h>
#define LED_G RA0
unsigned int i;
unsigned char j;
void main(void)
{
OSCCON = 0b01101010; //内部时钟4M
TRISA0 = 0; //A0口输出
LED_G = 0; //LED_G亮
while(1)
{
for(j=0;j<200;j++) //外循环
{
for(i=0;i<50000;i++); //内循环
}
LED_G = ~LED_G; //按位取反
}
}
附件1:内部时钟测试文件
附件2:定时器1测试文件
-
PIC12LF1822配置字
-
时钟配置位
-
-
PIC12LF1822 Inner Osc.rar
下载积分: 积分 -1 分
91.34 KB, 下载次数: 11, 下载积分: 积分 -1 分
内部时钟测试文件
-
-
TMR1_TEST.rar
下载积分: 积分 -1 分
96.88 KB, 下载次数: 13, 下载积分: 积分 -1 分
定时器1测试文件
#include<pic12lf1822.h>
#define LED_G RA0
unsigned int i;
unsigned char j;
//子程序
void Delay_MS(unsigned char MS)
{
for(j=0;j<100;j++)
for(i=0;i<MS;i++);
}
void main(void)
{
OSCCON = 0b01101010; //内部时钟4M
TRISA0 = 0; //A0口输出
while(1)
{
LED_G = 0; //LED_G亮
Delay_MS(1000);
LED_G = 1; //LED_G灭
Delay_MS(1000);
}
}
仿真和片子上加载程序都可以实现功能,难道不兼容位取反么?(~)和(!)都不行
一周热门 更多>