91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

模擬量電容式觸摸 單片機型號STC12C2052AD 使用ADC功能 內部RC時鐘 P1.1接口引線接一塊金屬片。 可實現對P1.6 P1.7的控制。 測試程序時可以在P1.6或P1.7在VCC之間連接LED,方可測試。 P1.6為鎖存 P1.7為不鎖存。實現效果見實驗 可自行控制5V繼電器實現自己要做的東西。 程序出自杜洋工作室。 希望各位網友多點支持

資源截圖

代碼片段和文件信息

說明:
模擬量電容式觸摸
STC12C2052AD?使用ADC功能?內部RC時鐘???
P1.1接口引線接一塊金屬片。
可實現對P1.6?P1.7的控制。
測試程序時可以在P1.6或P1.7在VCC之間連接LED,方可測試。
P1.6為鎖存?P1.7為不鎖存。實現效果見實驗

/*********************************************************************************************/

#include??//STC12Cx052或STC12Cx052AD系列單片機頭文件
#include? //51基本運算(包括_nop_空函數)

sbit?LED1?=?P1?^?7;?//I/O設置為強推高電平?(無鎖存功能)
sbit?LED2?=?P1?^?6;?//I/O設置為強推高電平?(鎖存功能)

/*********************************************************************************************
函數名:毫秒級CPU延時函數
調??用:DELAY_MS?(?);
參??數:1~65535(參數不可為0)
返回值:無
結??果:占用CPU方式延時與參數數值相同的毫秒時間
備??注:應用于1T單片機時i<600,應用于12T單片機時i<125
/*********************************************************************************************/
void?DELAY_MS?(unsigned?int?a){
unsigned?int?i;
while(?--a?!=?0){
for(i?=?0;?i? }
}
/*********************************************************************************************/

/*********************************************************************************************
函數名:8位A/D轉換函數
調??用:??=?Read?(?);
參??數:輸入的端口(0000?0XXX?其中XXX是設置輸入端口號,可用十進制0~7表示,0表示P1.0,7表示P1.7)
返回值:8位的ADC數據
結??果:讀出指定ADC接口的A/D轉換值,并返回數值
備??注:適用于STC12C2052AD單片機
/**********************************************************************************************/
unsigned?char?Read?(unsigned?char?CHA){
unsigned?char?AD_FIN=0;?//存儲A/D轉換標志
????CHA?&=?0x07;????????????//選擇ADC的8個接口中的一個(0000?0111?清0高5位)
????ADC_CONTR?=?0x00; //ADC轉換的速度(0XX0?0000?其中XX控制速度,請根據數據手冊設置)
????_nop_();
????ADC_CONTR?|=?CHA;???????//選擇A/D當前通道
????_nop_();
????ADC_CONTR?|=?0x80;??????//啟動A/D電源
????DELAY_MS(1);????????????//使輸入電壓達到穩定(1ms即可)
????ADC_CONTR?|=?0x08;??????//啟動A/D轉換(0000?1000?令ADCS?=?1)
????while?(AD_FIN?==0){?????//等待A/D轉換結束
????????AD_FIN?=?(ADC_CONTR?&?0x10);?//0001?0000測試A/D轉換結束否
????}
????ADC_CONTR?&=?0xE7;??????//1111?0111?清ADC_FLAG位?關閉A/D轉換?
return?(ADC_DATA);??????????//返回A/D轉換結果(8位)
}
/**********************************************************************************************/

/*********************************************************************************************
函數名:觸摸按鍵處理函數
調??用:??=?Read_R?();
參??數:無
返回值:bit?1表示有感應物,0表示沒有感應物
結??果:
備??注:需要根據實現應用調協靈敏度和其他參數
/**********************************************************************************************/
bit?Read_R?(void){
unsigned?char?Riim=0ijk;
bit?aa;
for(ii=0;ii<3;ii++){?//循環檢查防干擾
j=0;k=0;
for(i=0;i<10;i++){?//一次采集數據的數量
DELAY_MS?(3);
R?=?Read?(0);
if(R? k++;

}
if(R?==?0xFF){?
j++;
}
}
if(k>1?&&?j>1){
m++;
}else{
m=0;
}
}
if(m>2){
aa?=1;
}else{
aa=0;
}
LED1?=?~aa;
return(aa);
}
/**********************************************************************************************/

/*********************************************************************************************
函數名:主函數
調??用:無
參??數:無

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4386??2010-06-20?19:04??ADC電容式\EASY_TOUCH_ADCC

?????文件???????4077??2012-03-23?15:32??ADC電容式\EASY_TOUCH_ADCC.c

?????文件????????627??2010-06-20?19:04??ADC電容式\EASY_TOUCH_ADCC.hex

?????文件?????????62??2010-06-20?19:04??ADC電容式\EASY_TOUCH_ADCC.lnp

?????文件???????7076??2010-06-20?19:04??ADC電容式\EASY_TOUCH_ADCC.LST

?????文件???????9502??2010-06-20?19:04??ADC電容式\EASY_TOUCH_ADCC.M51

?????文件???????4903??2010-06-20?19:04??ADC電容式\EASY_TOUCH_ADCC.OBJ

?????文件???????1049??2010-06-20?22:48??ADC電容式\EASY_TOUCH_ADCC.Opt

?????文件???????2684??2010-06-20?22:48??ADC電容式\EASY_TOUCH_ADCC.plg

?????文件???????2126??2010-06-20?18:42??ADC電容式\EASY_TOUCH_ADCC.Uv2

????.......??????1042??2010-06-20?18:58??ADC電容式\EASY_TOUCH_ADCC_Opt.Bak

????.......?????????0??2010-06-20?18:37??ADC電容式\EASY_TOUCH_ADCC_Uv2.Bak

?????目錄??????????0??2010-06-20?22:48??ADC電容式

-----------?---------??----------?-----??----

????????????????37534????????????????????13


評論

共有 條評論