久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
帶感應的小夜燈的PIC單片機源碼(可手動控制or自動控制)
[打印本頁]
作者:
libodianzi
時間:
2018-8-25 12:14
標題:
帶感應的小夜燈的PIC單片機源碼(可手動控制or自動控制)
基于pic16f616單片機 可以手動控制 也可自動控制(開啟感應開關)
單片機源程序如下:
#include<pic.h>
#define u16 unsigned int
#define u8 unsigned char
u8 second,fen=0,miao=0,key=0,mode;
u16 adval; //3v/5v*1024=614
u16 x1=512;
bit loop1,yy1;
int pwm;
__CONFIG(0xfd94); //fdd5 RA4可以輸出主頻率的4分頻
//const u8 table[]={160,130,101,90,80};
const u8 tab[]={150,100,60,30};
void init()
{//OSCTUNE=0x0f; //修改主頻率
ADCON0=0x9d;
ADCON1=0x20;
INTCON=0xd0; //開啟總中斷 外部中斷 外設中斷
INTEDG=1; // 設置觸發中斷的條件為電平從低到高觸發
PIE1=0x41; //允許Time1中斷
TMR1L=(65536-1000)%256;
TMR1H=(65536-1000)/256;
T1CON=0x01; //使能Time1
PR2=160; //周期計數
CCP1CON=0x3c; //0011 1100單輸出 P1A被調制 1011 1100半橋輸出 P1A P1B被調制
CCPR1L=40; //脈沖寬度計數
}
void delay500us(u16 x)
{
u16 a,b;
for(a=x;a>0;a--)
for(b=20;b>0;b--);
}
void delayms(u16 x)
{
u16 a,b;
for(a=x;a>0;a--)
for(b=220;b>0;b--);
}
void beep()
{
u8 i;
for(i=255;i>0;i--)
{
delay500us(8);
RA1=!RA1;
}
RA1=0;
}
void ledstate()
{ u8 i;
RC0=0;
loop1=1;
while(loop1)
{
for(i=3;i>0;i--)
{ beep();
RC0=!RC0;
delayms(1000);
}
loop1=0;
}
}
void KEY_Scan(void) //鍵值掃描
{
if((RC2==1) || (RC1=1) || (RA4==1) || (RA5==1))
{
delayms(50);//去抖動
if(RC2==1) //A led模式與開關
{
delayms(200);
delayms(200);
delayms(200);
delayms(200);
if(RC2==1) key=!key; //0 on 1 off
else mode=!mode; //0 手動模式 1 自動模式
while(RC2);
}
else if(RC1==1) //B 音頻開關
{
RC4=!RC4;
while(RC1!=0);
}
else if(RA4==1) //C 亮度加
{
if(mode==0)
{
pwm++;
if(pwm>=3){pwm=3;beep();}
while(RA4);
}
}
else if(RA5==1) //D 亮度減
{
if(mode==0)
{
pwm--;
if(pwm<1){pwm=0;beep();}
while(RA5);
}
}
}
}
void pwm_out()
{
T2CON=0x04;
CCP1CON=0x3c;
RC0=1;
RA0=0;
delayms(5);
CCPR1L=tab[pwm];
delayms(4);
}
void pwm_out1()
{
T2CON=0x04;
CCP1CON=0x3c;
RC0=1;
RA0=1;
delayms(5);
if(yy1)
{
CCPR1L=tab[3];
delayms(4);
}
else
{
CCPR1L=tab[0];
delayms(4);
}
}
void stopstate() // pwm 停止輸出
{
T2CON=0x00;
CCP1CON=0x00;
RC0=0;
RA0=0;
RC5=1;
}
void interrupt time1(void)
{
if(TMR1IE&&TMR1IF) //定時器1用于產生秒信號 定時時間為25ms
{
TMR1IF=0;
TMR1L=(65536-50000)%256;
TMR1H=(65536-50000)/256;
second++;
if(second>=40) //40*25ms =1000ms
{ second=0;
if(miao++>=60)
{ miao=0;
fen++;
if(fen>=60)
fen=0;
}
}
}
if(INTE&&INTF) ////外部中斷
{
while(RA2==1)
{
KEY_Scan();
}
INTF=0;
}
if(ADIE && ADIF)
{
ADIF=0; // A/D標志位清零
adval=ADRESH;//00000000 00000011
adval=adval<<8|ADRESL;//00000011 11111111
if(adval>x1) yy1=1;
else yy1=0;
GODONE=1;
}
}
void main()
{
TRISC=0x00;
TRISC|=0x0e;
TRISA=0x00;
TRISA|=0x34;
ANSEL=0x80;
RC0=0; //電源指示
RC4=0; //繼電器
RC5=0; //PWM
RA0=0; //手動自動指示
RA1=0; //警告音
ledstate();
init();
GODONE=1;
delayms(100);
while(1)
{
if(key==0)
{
switch(mode)
{
case 0:pwm_out();
break;
case 1:pwm_out1();
break;
}
}
else stopstate();
}
}
復制代碼
所有資料51hei提供下載:
xyd.rar
(52.5 KB, 下載次數: 70)
2018-8-25 12:12 上傳
點擊文件名下載附件
程序源碼
下載積分: 黑幣 -5
作者:
janson
時間:
2018-8-31 14:47
謝謝分享,很給力。
作者:
Yunuis
時間:
2019-6-6 14:30
正是需要的
作者:
waerdeng
時間:
2019-6-22 23:02
謝謝老司機分享!
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
成人精品免费视频
|
久久精品久久久久久
|
www.日日操
|
国产欧美日韩一区二区三区在线观看
|
日韩精品在线播放
|
欧美专区在线
|
黄视频免费观看
|
美女一区
|
日韩在线精品
|
成人a免费
|
国产精品成人一区二区
|
欧美中文字幕在线观看
|
日本不卡一区二区
|
免费久久久久久
|
午夜精品一区二区三区在线视
|
亚洲国产一区二区在线
|
99久久夜色精品国产亚洲96
|
超碰精品在线观看
|
一区二区三区中文字幕
|
亚洲精品中文字幕中文字幕
|
色网站在线免费观看
|
91久久国产综合久久91精品网站
|
自拍偷拍第一页
|
91文字幕巨乱亚洲香蕉
|
黄色国产在线视频
|
久久性
|
国产一区二区三区视频在线观看
|
日韩有码在线播放
|
91精品国产乱码久久久久久久久
|
国产一区二区在线免费
|
精品日韩
|
日韩欧美精品一区
|
亚洲精品久久久久久久久久久久久
|
一级片在线视频
|
亚洲精品1区
|
免费艹逼视频
|
久久性色
|
亚洲 欧美 综合
|
黄a免费网络
|
精品免费国产一区二区三区四区
|
精品国产一区二区在线
|