欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機智能充電器程序
[打印本頁]
作者:
楚門的世界
時間:
2019-6-27 14:24
標題:
單片機智能充電器程序
智能充電器的源程序
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit GATE = P2^0;
sbit BP = P2^1;
uint t_count,int0_count;
/* 定時器0中斷服務子程序 */
void timer0() interrupt 1 using 1
{
TR0 = 0; // 停止計數
TH0 = -5000/256; // 重設計數初值
TL0 = -5000%256;
t_count++;
if (t_count>600) // 第一次外部中斷0產生后3s
{
if (int0_count==1) // 還沒有出現第二次外部中斷0,則認為充電完畢
{
GATE = 0; // 關閉充電電源
BP = 0; // 打開蜂鳴器報警
}
else // 否則即是充電出錯
{
GATE = 1;
BP = 1;
}
ET0 = 0; // 關閉T0中斷
EX0 = 0; // 關閉外部中斷0
int0_count = 0;
t_count = 0;
}
else
TR0 = 1; // 啟動T0計數
}
/* 外部中斷0服務子程序 */
void int0() interrupt 0 using 1
{
if (int0_count==0)
{
TH0 = -5000/256; // 5ms定時
TL0 = -5000%256;
TR0 = 1; // 啟動定時/計數器0計數
t_count = 0; // 產生定時器0中斷的計數器清零
}
int0_count++;
}
/* 初始化 */
void init()
{
EA = 1; // 打開CPU中斷
PT0 = 1; // T0中斷設為高優先級
TMOD = 0x01; // 模式1,T0為16位定時/計數器
ET0 = 1; // 打開T0中斷
IT0 = 1; // 外部中斷0設為邊沿觸發
EX0 = 1; // 打開外部中斷0
GATE = 1; // 光耦正常輸出電壓
BP = 1; // 關閉蜂鳴器
int0_count = 0; // 產生外部中斷0的計數器清零
}
void main()
{
/* 調用初始化函數 */
init();
/* 無限循環 */
while(1);
}
復制代碼
作者:
admin
時間:
2019-6-27 19:32
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1