ADC0832數字電壓表數碼管顯示(示例程序)

2020-12-05 電子產品世界
;********************************************************************************

描述:

本文引用地址:http://www.eepw.com.cn/article/201611/317443.htm

ADC0832數字電壓表數碼管顯示

調節ADC0832旁邊的電位器,數碼管顯示ADC0832轉換值的大小
;*******************************************************************************

**********************************************************************************
AD_CLKEQUP1.0
AD_DATEQUP1.1
AD_CSEQUP3.4
DISSTARTEQU30H;顯示單元首地址
LED_DATAEQUP0;數碼管數據定義
ORG0000H
JMPSTART

;--------------------------------------------------------
START:MOVSP,#60H
MOVA,#00H
MOV20H,A
MOVP0,#0FFH
MOVP2,#0FFH

START1:CALLAD_CONV
CALLAD_CHULI
CALLQUSHU
CALLADPLAY
JMPSTART1
;---------------------------------------------------------
AD_CONV:;ADC0832初始化
SETBAD_CS;一個轉換周期開始
CLRAD_CLK
CLRAD_CS;CS置0,片選有效
SETBAD_DAT;DI置1,起始位
SETBAD_CLK;第一個脈衝
CLRAD_DAT;在負跳變之前加一個DI反轉操作
CLRAD_CLK
SETBAD_DAT;DI置1,設為單通道
SETBAD_CLK;第二個脈衝
CLRAD_DAT;***
CLRAD_CLK;
CLRAD_DAT;DI置0,選擇通道0
SETBAD_CLK;第三個脈衝
SETBAD_DAT;***
CLRAD_CLK
NOP
SETBAD_CLK;第四個脈衝
MOVR1,#08H;計數器初值,讀取8位數據,
AD_READ:CLRAD_CLK;下降沿
MOVC,AD_DAT;讀取DO端數據
RLCA;C移入A,高位在前
SETBAD_CLK;下一個脈衝
DJNZR1,AD_READ;沒讀完繼續
SETBAD_CS
MOV20H,A;轉換結果發給20H
RET
;------------------------------------------------------
AD_CHULI:
CLRC
MOVR5,#00H;十進位轉換的低位寄存器
MOVR4,#00H;十進位轉換的高位寄存器
MOVR3,#08H;十進位調整的次數
MOVA,20H
AD_CHULI1:
RLCA
MOVR2,A
MOVA,R5
ADDCA,R5
DAA
MOVR5,A
MOVA,R4
ADDCA,R4
MOVR4,A
MOVA,R2
DJNZR3,AD_CHULI1
MOVA,R5
ADDA,R5
DAA
MOVR5,A
MOVA,R4
ADDCA,R4
DAA
MOVR4,A
RET
;-------------------------------------------------
QUSHU:MOVA,R5
ANLA,#0FH
MOVDISSTART,A
MOVA,R5
ANLA,#0F0H
SWAPA
MOVDISSTART+1,A
MOVA,R4
ANLA,#0FH
MOVDISSTART+2,A
MOVA,R4
ANLA,#0F0H
MOVDISSTART+3,A
RET
;---------------------------------------------------
ADPLAY:PUSHPSW
CLRPSW.3
SETBPSW.4

MOVR0,#DISSTART;開始填充顯示單元
MOVR2,#03H;共計填充3位
DISP1:MOVA,@R0;獲得當前位地址
MOVDPTR,#TAB_NU;獲得表頭
MOVCA,@A+DPTR;獲得編碼數據
MOV@R0,A;保存編碼數據
INCR0;指向下一個帶轉換數據
DJNZR2,DISP1;繼續轉換,直到完成

MOVR0,#DISSTART;獲得顯示單元首地址
MOVR1,#07FH;從第一個數碼管開始
MOVR2,#03H;共顯示3位數碼管
DISP2:MOVLED_DATA,@R0;讀取顯示單元數據
MOVP2,R1;開始顯示當前位
MOVA,R1;準備顯示下一位
RRA;
MOVR1,A;下一位
INCR0;取下一個單元地址
JNBACC.5,DISP3;第三位數碼管加小數點
JMPDISP4
DISP3:MOVA,@R0
ANLA,#7FH
MOV@R0,A
DISP4:LCALLDELAY5MS;延時2MS
DJNZR2,DISP2;重複顯示下一個
POPPSW
RET;顯示完成,返回
;---------------------------------------------------
DELAY5MS:
MOVR6,#10
DEL1:MOVR7,#100
DJNZR7,$
DJNZR6,DEL1
RET
;-------------------------------------------------
TAB_NU:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
DB80H,90H,88H,83H,0C6H,0A1H,86H,8EH

相關焦點

  • 簡易數字直流電壓表電路及程序
    設計一個簡易數字直流電壓表。(量程0V-2V、測量速度為大於等於2次/秒、測量誤差在±0.05V以內,有超限報警、數碼管顯示。)
  • adc0832工作原理詳解_引腳圖及功能_內部結構及應用電路
    adc0832內部結構及應用電路 adc0832內部結構圖 以下是基於stc89c51和ADC0832,(0x30 在液晶顯示中表示數字0) total_freq/=10; lcd_hang2[4]=total_freq%10+0x30;lcd_hang3[4]=total_freq%10+0x30; //在液晶中顯示時十位 total_freq/=10; lcd_hang2[3]=total_freq%10+0x30;lcd_hang3[3]=total_freq%10
  • 數碼管顯示電壓電路圖大全(六款數碼管顯示電壓電路原理圖詳解)
    數碼管顯示電壓電路圖大全(六款數碼管顯示電壓電路原理圖詳解) 本設計選用解碼驅動器74F244,用來驅動LED 數碼管 顯示預置電壓,分別由單片機P2.0~P2.7 接口控制。LED 共陰極控制端由P1.4~P1.6 接口 控制,並用三極體8050 來控制LED 的顯示。
  • 8段數碼管引腳圖,8段數碼管動態顯示詳解
    數碼管按段數可分為七段數碼管和8段數碼管,八段數碼管比七段數碼管多一個發光二極體單元,也就是多一個小數點(DP)這個小數點可以更精確的表示數碼管想要顯示的內容;按能顯示多少個(8)可分為1位、2位、3位、4位、5位、6位、7位等數碼管。   按發光二極體單元連接方式可分為共陽極數碼管和共陰極數碼管。
  • LabVIEW+Arduino之四位數碼管顯示
    微信搜索【沛華測控】訂閱我們Shania本來想更一期「一位數碼管倒計時」的課程,後面覺得不是很有意思,於是換成四位數碼管,想做一個「數碼管顯示電壓值」的效果。請看視頻實物接線圖這裡我們用到一個電位器跟一個12引腳的共陽極四位數碼管,數碼管的引腳圖如下:單個數碼管的每一段用a、b、c、d、d、e、f、dp標誌,對應Arduino的0-7號數字引腳;公共端1-4對應8-11號數字引腳
  • 第36節:帶數碼管顯示的加法簡易計算器
    這一節要教會大家兩個知識點:第一個:數字按鍵的輸入和十進位數值的移位方法。第二個:繼續加深理解按鍵與數碼管的關聯程序框架。具體內容,請看原始碼講解。(1)硬體平臺:基於朱兆祺51單片機學習板。數字1鍵對應S1鍵,數字2鍵對應S2鍵,數字3鍵對應S3鍵….
  • 數碼管的工作原理與編碼顯示接口分析
    數碼管的一種是半導體發光器件,數碼管的工作原理是通過單片機的I/O埠進行驅動數碼管的各個段碼,點亮不同的段碼從而形成字符顯示出我們要的數字。本文引用地址:http://www.eepw.com.cn/article/201710/368896.htm  數碼管是一類價格便宜、使用簡單,通過對其不同的管腳輸入相對的電流,使其發亮,從而顯示出數字能夠顯示 時間、日期、溫度等所有可用數字表示的參數的器件。在電器特別是家電領域應用極為廣泛,如顯示屏、空調、熱水器、冰箱等等。
  • 單片機實現7段數碼管顯示
    本文引用地址:http://www.eepw.com.cn/article/201611/315974.htm單片機選擇常用的AT89C52,用與控制7段數碼管的顯示,共有4位7段共陰極數碼管,用於顯示數據.另外所需的器件如下:1、74ls273地址鎖存器,用於字位鎖存器和字型鎖存器,上升沿鎖存。
  • LabVIEW+ Arduino之多通道簡易電壓表
    微信搜索藍字【沛華測控】訂閱我們沛華LabVIEW基礎課程|第9講『LabVIEW+Arduino』多通道簡易電壓表哈嘍,大家好!這裡是Shania!因為前陣子忙著考試,很久沒更新啦!今天終於有點動力更新,來玩一下基於LabVIEW +Arduino的多通道簡易電壓表吧!請看視頻實物接線圖這裡我們來測量鋰電池的電壓,鋰電池的正極與Arduino UNO的A1引腳相接,電池負極接GND。(PS:不要接反了;測量電壓範圍為0-5V。)
  • 自學單片機第四十一篇:什麼是數碼管
    在日常的顯示中,我看到的最多的是數碼管,也就是數字顯示的七段數碼管。萬年曆,溫度計,工業顯示屏等等。主要是原理簡單,顯示也比較豐富,可以完全滿足日常需求,節能。數碼管:數欄位碼顯示管。常見的是七段的,有的帶上小數點,時間顯示的會帶上秒表閃爍分隔。也有些複雜的顯示,會用米字型的,使得顯示內容更豐富。儘管顏色不一,外形各異,但原理是一樣的,內部都是一個一個的小LED並聯而成,通過控制單個小燈,實現總體中的部分亮滅。
  • 共陽數碼管連接體會
    1.用數字萬用表,二極體測量檔位,找出4個共陽引腳。用紅表筆一個一個碰每個引腳,然後用黑表筆刮其他引腳,當看到數碼管有閃爍,說明紅表筆碰到的就是閃爍的那一位數碼管的共陽腳。以此類推,找出其他三個,並記錄。
  • 數碼管的基礎知識
    我們都知道發光二極體常常用於各種電子設備中充當指示燈作用,除發光二極體外,常見用於顯示的器件還有數碼管,比如電子時鐘中的顯示時間的就是數碼管,萬用表中的顯示屏也是利用了數碼管。其實數碼管的本質就是發光二極體的組合使用,最常見的就是七段數碼管和八段數碼管了,七段數碼管就是由7個長條形的發光二極體組成,八段數碼管就比七段數碼管多了一個點,比如上圖中就是一個兩位的八段數碼管,它只比七段數碼管多了右下角的一個點。
  • 數碼管與ARDUINO 開發板的連接使用
    數碼管簡介74HC595同數據相關的引腳可以分為三類:DS:串行數據輸入,接單片機的某個數字I/O引腳。對於一個最簡單的74HC595應用來講,可以用單片機的三個數字I/O埠分別控制DS、SH_CP和ST_CP,然後將MR和OE分別接VCC和地。
  • 2.3寸1位7段數碼管公司
    ==4}} {{/if}} 2、數碼管動態顯示接口是單片機中應用為廣泛的一種顯示方式之一,動態驅動是將所有數碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,但究竟是那個數碼管會顯示出字形,取決於單片機對位選通COM
  • LED數碼管知識簡介
    因此它被廣泛用作數字儀器儀表、數控裝置、計算機的數顯器件。 2.性能簡易檢測 LED數碼管外觀要求顏色均勻、無局部變色及無氣泡等,在業餘條件下可用乾電池作進一步檢查。現以共陰數碼管為例介紹檢查方法。
  • 0.52寸4位14段數碼管廠家
    0.52寸4位14段數碼管廠家  (3)LED數碼管缺筆段對於A/D轉換器為7107的儀表,可檢查7107用於顯示輸出的各對應輸出腳與Ⅴ+(正電源腳)閘的電壓(即用萬用表的黑表筆接所對應的輸出腳,紅表筆接電源供電正端電壓點),若始終為幾毫伏,則表明7107壞,應予以更換;如有4V 左右(數碼管管腳端為負),LED卻不亮,則表時7107輸出正常,接著可檢查數碼管的各自對應管腳與Ⅴ+之間的電壓
  • 0.36寸3位7段數碼管
    0.36寸3位7段數碼管   數碼管動態顯示接口是單片機中應用為廣泛的一種顯示方式之一,動態驅動是將所有數碼管的8個顯示筆劃「a,b,c,d,e,f,g,dp」的同名端連在一起,另外為每個數碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,但究竟是哪個數碼管會顯示出字形,取決於單片機對位選通COM端電路的控制,