久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

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

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

電路原理圖如下:


制作出來的實物圖如下:



MA:
    MOV        ADC_CONTOR,#0C8H        ;開啟P1.0的AD轉換        電壓  #11001000B
        LCALL AD        ;調用AD子程序
        MOV        A,ADC_RES
        MOV 33H,A;           電壓數據放入33H
        MOV  B,#100           ;100放入B
    DIV  AB                   ;ADC_RES除以B
    MOV  36H,A           ;A余數放入36H
    MOV  A,B           ;B余數放入A
    MOV  B,#10           ;10放入B
    DIV  AB                   ;A除以B
    MOV  37H,A           ;A放入37H
    MOV  38H,B           ;B放入38H
        MOV A,33H;           取出電壓數據放入A 用于按鍵對比
        RET;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;AD轉換子程序
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;                                 調用顯示
                                         LCALL MA;                                 調用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, 下載次數: 196)

51hei截圖20200708200955.jpg

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

51hei截圖20200708201001.jpg

STC12C5A60S2 - 1602 - AD按鍵.rar

29.71 KB, 下載次數: 54, 下載積分: 黑幣 -5


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

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

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

沒看懂那就學唄哈哈
作者: 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
舊時老式彩色電視就會這樣的原理 但有一個很大的缺點 一但回南天按鍵受潮 按鍵本身就會產生電阻值 AD就會判斷錯誤 比如說你想按加音量 結果給你直接換臺了 這也是老式電視通病
作者: dhbt2021    時間: 2022-2-12 22:07
沒有參數設置?
作者: 山水2000    時間: 2023-7-1 10:39
用匯編寫的程序真的很少了,我也只能看的懂匯編,C一直覺得復雜看不懂。
作者: 13872888583    時間: 2023-7-4 08:18
這個方法,在電視機上早就有了,從2002年電視機芯片開始用單片機,里面的按鍵就是采用這種方法




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 一级黄色av | 欧美在线免费观看视频 | 国产精品久久久久久久久久 | 在线观看不卡av | 黄色大片在线免费观看 | 成人av播放 | av在线播放网站 | 国产精品午夜视频 | 91午夜精品亚洲一区二区三区 | 丰满少妇在线观看网站 | 国产黄在线 | 三年中文在线观看免费大全中国 | 成 人 黄 色 片 在线播放 | 亚洲精品国产精品国自产在线 | 美日韩在线视频 | av网站免费在线观看 | 欧美爱爱视频 | 国产无限资源 | 欧美成人激情 | 国产黄色av | 国产欧美日韩视频 | 久草福利在线 | 国产伊人久久 | 成人一区二区在线 | 在线播放中文字幕 | 成人网av| 欧美视频免费 | 亚洲成人免费在线观看 | 国产精品96 | 天天躁日日躁bbbbb | 国产视频黄色 | 国产精品国产三级国产专区52 | 99久久精品一区二区成人 | 美女视频福利 | 又黄又爽的网站 | 九月丁香婷婷 | 狠狠操夜夜操 | 亚洲激情一区二区 | 黑人巨大精品欧美一区二区 | 国产欧美久久久 | 日本免费一级 |