|
單片機(jī)用的是STC12C5A60S2 晶振12M
AD判斷部分我自己琢磨的 穩(wěn)定性還可以吧 只要?jiǎng)e快速輪換按不同按鍵就沒(méi)事 最大顯示數(shù)是255
基準(zhǔn)電源用的是5V 所以電壓必須穩(wěn)定沒(méi)有波動(dòng) 也可以用431做一個(gè)穩(wěn)定的基準(zhǔn)電源
串聯(lián)的分壓電阻隨意選擇 只要能拉開(kāi)電壓差距就行 按下按鍵看顯示屏顯示的數(shù) 在到程序里修改該按鍵值的數(shù)據(jù)范圍
比如顯示的是20 程序里對(duì)應(yīng)按鍵的最小數(shù)填15 最大數(shù)填25 這兩個(gè)數(shù)及它們之間的數(shù)都屬于該按鍵的
對(duì)地電容我是隨便選的 不知道是多少 能用就行
電路原理圖如下:
51hei截圖20200708194939.jpg (64.99 KB, 下載次數(shù): 108)
下載附件
2020-7-8 20:03 上傳
制作出來(lái)的實(shí)物圖如下:
51hei截圖20200708200941.jpg (43.51 KB, 下載次數(shù): 94)
下載附件
2020-7-8 20:10 上傳
51hei截圖20200708200949.jpg (40.21 KB, 下載次數(shù): 107)
下載附件
2020-7-8 20:10 上傳
51hei截圖20200708192154.jpg (261.18 KB, 下載次數(shù): 110)
下載附件
2020-7-8 20:03 上傳
MA:
MOV ADC_CONTOR,#0C8H ;開(kāi)啟P1.0的AD轉(zhuǎn)換 電壓 #11001000B
LCALL AD ;調(diào)用AD子程序
MOV A,ADC_RES
MOV 33H,A; 電壓數(shù)據(jù)放入33H
MOV B,#100 ;100放入B
DIV AB ;ADC_RES除以B
MOV 36H,A ;A余數(shù)放入36H
MOV A,B ;B余數(shù)放入A
MOV B,#10 ;10放入B
DIV AB ;A除以B
MOV 37H,A ;A放入37H
MOV 38H,B ;B放入38H
MOV A,33H; 取出電壓數(shù)據(jù)放入A 用于按鍵對(duì)比
RET;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;AD轉(zhuǎn)換子程序
AD: MOV A,ADC_CONTOR
LCALL DELAY30MS
JNB 0E4H,AD
CLR 0E4H
MOV ADC_CONTOR,A
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ADDAT:
;按鍵0 0~05等于按鍵0按下
V_KEY0: CJNE A,#0,V_KEY0_2;
V_KEY0_1: CLR OUT0;
LCALL DIP; 調(diào)用顯示
LCALL MA; 調(diào)用AD檢測(cè)
CJNE A,#255,V_KEY0; 判斷按鍵釋放
LJMP V_KEY0_4
V_KEY0_2: CJNE A,#05,V_KEY0_3;
LJMP V_KEY0_1;
V_KEY0_3: JC V_KEY0_1;
V_KEY0_4: MOV P3,#0FFH; P3輸出高電位
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;按鍵1 18~27等于按鍵1按下
V_KEY1: CJNE A,#18,V_KEY1_2;
V_KEY1_1: CLR OUT1;
LCALL DIP;
LCALL MA;
CJNE A,#255,V_KEY1;
LJMP V_KEY1_4
V_KEY1_2: CJNE A,#27,V_KEY1_3;
LJMP V_KEY1_1;
V_KEY1_3: JC V_KEY1_1;
V_KEY1_4: MOV P3,#0FFH;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;按鍵2 38~46等于按鍵2按下
V_KEY2: CJNE A,#38,V_KEY2_2;
V_KEY2_1: CLR OUT2;
LCALL DIP;
LCALL MA;
CJNE A,#255,V_KEY2;
LJMP V_KEY2_4
V_KEY2_2: CJNE A,#46,V_KEY2_3;
LJMP V_KEY2_1;
V_KEY2_3: JC V_KEY2_1;
V_KEY2_4: MOV P3,#0FFH;
|
評(píng)分
-
查看全部評(píng)分
|