欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: STC12C5A60S2單片機AD按鍵程序(節(jié)約io口) [打印本頁]

作者: 418854190    時間: 2020-7-8 20:06
標題: STC12C5A60S2單片機AD按鍵程序(節(jié)約io口)
單片機用的是STC12C5A60S2  晶振12M
AD判斷部分我自己琢磨的  穩(wěn)定性還可以吧  只要別快速輪換按不同按鍵就沒事    最大顯示數(shù)是255

基準電源用的是5V 所以電壓必須穩(wěn)定沒有波動     也可以用431做一個穩(wěn)定的基準電源   
串聯(lián)的分壓電阻隨意選擇 只要能拉開電壓差距就行  按下按鍵看顯示屏顯示的數(shù)  在到程序里修改該按鍵值的數(shù)據(jù)范圍
比如顯示的是20   程序里對應(yīng)按鍵的最小數(shù)填15 最大數(shù)填25    這兩個數(shù)及它們之間的數(shù)都屬于該按鍵的   
對地電容我是隨便選的 不知道是多少  能用就行  

電路原理圖如下:


制作出來的實物圖如下:



MA:
    MOV        ADC_CONTOR,#0C8H        ;開啟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 用于按鍵對比
        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檢測
                                         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;

51hei截圖20200708200955.jpg (38.73 KB, 下載次數(shù): 196)

51hei截圖20200708200955.jpg

51hei截圖20200708201001.jpg (31.87 KB, 下載次數(shù): 210)

51hei截圖20200708201001.jpg

STC12C5A60S2 - 1602 - AD按鍵.rar

29.71 KB, 下載次數(shù): 54, 下載積分: 黑幣 -5


作者: caifei9280    時間: 2020-7-24 10:54
說老實話   這種程序語言我就沒看懂。

作者: Sanada    時間: 2020-7-24 13:35
caifei9280 發(fā)表于 2020-7-24 10:54
說老實話   這種程序語言我就沒看懂。

那是匯編語言,執(zhí)行效率最高,最難讀懂的語言
作者: cjffengyu    時間: 2020-8-16 10:46
大神啊,膜拜了,謝謝
作者: 大風吹過啊    時間: 2020-8-22 22:52
STC12的話單獨驗證是可以的,加進系統(tǒng)里使用要考慮好參考電壓的問題。電壓不穩(wěn)對AD按鍵來說是災(zāi)難,實用的話為了省事最好用STC15或者STC8
作者: 湖南孵化    時間: 2020-8-29 07:49
謝謝,有自己的思想。
作者: aking991    時間: 2020-9-1 11:45
首先為你還在用匯編的點贊,曾幾何時我也是從匯編過來的,現(xiàn)在已改為C了,會匯編的來學(xué)改用C的很好學(xué)的,但前提是要有人幫指導(dǎo)一二,然后通過自己不斷的實踐,從實踐中不斷的改進,會學(xué)得更快的,支持你
作者: zhyzsn    時間: 2020-10-22 01:40
匯編好,學(xué)習(xí)學(xué)習(xí)
作者: Abcd123456njiuy    時間: 2020-10-22 22:36
caifei9280 發(fā)表于 2020-7-24 10:54
說老實話   這種程序語言我就沒看懂。

沒看懂那就學(xué)唄哈哈
作者: fhq1087    時間: 2021-2-5 23:43
又是位匯編大佬,這兩天在琢磨這個ADC檢測多個按鍵的事,只會C,還沒想好怎么寫
作者: madell    時間: 2021-2-12 17:10
匯編不錯,代碼寫的不錯。
作者: 3486635230    時間: 2021-3-28 22:03
匯語言,實在不了好移植。樓主寫C語言吧
作者: 1860774xxxx    時間: 2021-3-29 11:01
舊時老式彩色電視就會這樣的原理 但有一個很大的缺點 一但回南天按鍵受潮 按鍵本身就會產(chǎn)生電阻值 AD就會判斷錯誤 比如說你想按加音量 結(jié)果給你直接換臺了 這也是老式電視通病
作者: dhbt2021    時間: 2022-2-12 22:07
沒有參數(shù)設(shè)置?
作者: 山水2000    時間: 2023-7-1 10:39
用匯編寫的程序真的很少了,我也只能看的懂匯編,C一直覺得復(fù)雜看不懂。
作者: 13872888583    時間: 2023-7-4 08:18
這個方法,在電視機上早就有了,從2002年電視機芯片開始用單片機,里面的按鍵就是采用這種方法




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1