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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7606|回復: 15
打印 上一主題 下一主題
收起左側

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

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏8 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:285380 發表于 2020-7-24 10:54 | 只看該作者
說老實話   這種程序語言我就沒看懂。
回復

使用道具 舉報

板凳
ID:241423 發表于 2020-7-24 13:35 | 只看該作者
caifei9280 發表于 2020-7-24 10:54
說老實話   這種程序語言我就沒看懂。

那是匯編語言,執行效率最高,最難讀懂的語言
回復

使用道具 舉報

地板
ID:69310 發表于 2020-8-16 10:46 | 只看該作者
大神啊,膜拜了,謝謝
回復

使用道具 舉報

5#
ID:224782 發表于 2020-8-22 22:52 | 只看該作者
STC12的話單獨驗證是可以的,加進系統里使用要考慮好參考電壓的問題。電壓不穩對AD按鍵來說是災難,實用的話為了省事最好用STC15或者STC8
回復

使用道具 舉報

6#
ID:126173 發表于 2020-8-29 07:49 | 只看該作者
謝謝,有自己的思想。
回復

使用道具 舉報

7#
ID:65956 發表于 2020-9-1 11:45 | 只看該作者
首先為你還在用匯編的點贊,曾幾何時我也是從匯編過來的,現在已改為C了,會匯編的來學改用C的很好學的,但前提是要有人幫指導一二,然后通過自己不斷的實踐,從實踐中不斷的改進,會學得更快的,支持你
回復

使用道具 舉報

8#
ID:375228 發表于 2020-10-22 01:40 | 只看該作者
匯編好,學習學習
回復

使用道具 舉報

9#
ID:832512 發表于 2020-10-22 22:36 | 只看該作者
caifei9280 發表于 2020-7-24 10:54
說老實話   這種程序語言我就沒看懂。

沒看懂那就學唄哈哈
回復

使用道具 舉報

10#
ID:675767 發表于 2021-2-5 23:43 來自觸屏版 | 只看該作者
又是位匯編大佬,這兩天在琢磨這個ADC檢測多個按鍵的事,只會C,還沒想好怎么寫
回復

使用道具 舉報

11#
ID:99987 發表于 2021-2-12 17:10 | 只看該作者
匯編不錯,代碼寫的不錯。
回復

使用道具 舉報

12#
ID:856401 發表于 2021-3-28 22:03 來自觸屏版 | 只看該作者
匯語言,實在不了好移植。樓主寫C語言吧
回復

使用道具 舉報

13#
ID:468209 發表于 2021-3-29 11:01 來自觸屏版 | 只看該作者
舊時老式彩色電視就會這樣的原理 但有一個很大的缺點 一但回南天按鍵受潮 按鍵本身就會產生電阻值 AD就會判斷錯誤 比如說你想按加音量 結果給你直接換臺了 這也是老式電視通病
回復

使用道具 舉報

14#
ID:976070 發表于 2022-2-12 22:07 | 只看該作者
沒有參數設置?
回復

使用道具 舉報

15#
ID:200844 發表于 2023-7-1 10:39 | 只看該作者
用匯編寫的程序真的很少了,我也只能看的懂匯編,C一直覺得復雜看不懂。
回復

使用道具 舉報

16#
ID:731755 發表于 2023-7-4 08:18 來自觸屏版 | 只看該作者
這個方法,在電視機上早就有了,從2002年電視機芯片開始用單片機,里面的按鍵就是采用這種方法
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品欧美一区二区三区不卡 | 美女逼网站 | 久久精品一区二区三区四区 | a级黄色网| 久久夜视频 | 久久国产精品久久久久久 | 久久久精品久 | 一区二区三区国产精品 | 日韩在线综合 | 欧美日韩在线综合 | 在线一区视频 | 日本精品在线观看 | 野狼在线社区2017入口 | 国产日韩精品在线 | 亚洲国产欧美91 | 韩日一区 | 最新国产精品精品视频 | 狠狠爱综合 | 毛片免费在线观看 | 日韩二区| 亚洲精品久久 | 久久精品一区 | 欧美成人a∨高清免费观看 色999日韩 | 91精品国产综合久久久久久丝袜 | 亚洲第一区国产精品 | 最新日韩在线视频 | 国产精品久久在线观看 | 一区二区三区久久久 | 久久91 | 精品欧美一区二区三区免费观看 | 亚洲精品一二三 | 999热精品| 欧美性生活视频 | 国产高清精品一区二区三区 | 偷拍亚洲色图 | 99精品在线观看 | 日韩欧美字幕 | 亚洲日韩中文字幕一区 | 亚洲热在线视频 | www四虎影视| 国产成人精品在线 |