找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2288|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)電壓表(ADC0809)實(shí)驗(yàn)匯編代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:382683 發(fā)表于 2019-6-19 15:23 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
要求:通過(guò)并行模擬數(shù)字轉(zhuǎn)換器芯片ADC0809,測(cè)試模擬電壓并且顯示(0-5V)。
實(shí)驗(yàn)箱上“串并轉(zhuǎn)換數(shù)碼管顯示”區(qū)提供了四個(gè)8段數(shù)碼管顯示電路,采用靜態(tài)方式顯示。數(shù)碼管是由74LS164串并轉(zhuǎn)換后輸出得到。當(dāng)74LS164有數(shù)據(jù)輸入時(shí),發(fā)來(lái)一個(gè)時(shí)鐘74LS164數(shù)據(jù)向下一段轉(zhuǎn)移。若滿(mǎn)8個(gè)時(shí)鐘則點(diǎn)亮一個(gè)8段數(shù)碼管,然后發(fā)生位移,數(shù)據(jù)向下一位數(shù)碼管傳送,即串行輸入的數(shù)據(jù)可依次在4個(gè)數(shù)碼管上顯示。數(shù)碼管上顯示實(shí)時(shí)溫度值。
實(shí)驗(yàn)箱“數(shù)模轉(zhuǎn)換”區(qū)提供ADC0809電路。
參考接線(xiàn)
   1) AD0809的零通道09IN0孔用連線(xiàn)接至模擬信號(hào)發(fā)生器的VIN孔。
2)AD0809的片選信號(hào)CS09孔接“譯碼器”YC2(0A000-0AFFFH)孔。
3)“脈沖源”中的0.5MHZ孔連AD0809的CLOCK孔。
  4)CLK -- P1.1;DIN -- P1.2
數(shù)碼管的顯示碼:
uint8 LED_Table[16]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0x3e, 0xe0,
                                             0xfe,0xe6,0xee,0x3e,0x9c,0x7a, 0x9e,0x8e};


匯編代碼:
程序代碼
LED_0 EQU 30H
LED_1 EQU 31H
LED_2 EQU 32H         
ADC EQU 35H      
CLOCK BIT P2.4   
ST BIT P2.5
EOC BIT P2.6
OE BIT P2.7
   ORG 00H     
   SJMP START     
   ORG 0BH                                 
   LJMP INT_T0     
START: MOV LED_0, #00H
       MOV P2, #0FFH
       MOV LED_1, #00H
       MOV LED_2, #00H
       MOV DPTR, #TABLE     
       MOV TMOD, #02H     
       MOV TH0, #245H     
       MOV TL0, #00H
       MOV IE, #82H
       SETB TR0      
WAIT: CLR ST
      SETB STH
      CLR ST      
      JNB EOC, $     
      SETB OE      
      MOV ADC, P1   
      CLR OE     
      MOV A, ADC     
      MOV B, #51
      DIV AB      
      MOV LED_2, A     
      MOV A, B
      MOV B, #5
      DIV AB     
      MOV LED_1, A
      MOV LED_0, B   
      LCALL DISP     
      SJMP WAIT
INT_T0: CPL, CLOCK     
      RETI
DISP: MOV A, LED_0     
      MOVC A, @A+DPTR
      CLR P2.3
      MOV P0, A
      LCALL DELAY      
      SETB P2.3      
      MOV A, LED_1     
      MOVC A,@A+DPTR     
      CLR P2.2
      MOV P0, A     
      LCALL DELAY
      SETB P2.2
      MOV A, LED_2
      MOVC A, @A+DPTRL
      CLR P2.1
      ORL A, #80H      
      MOV P0, A
      LCALL DELAY
      SETB P2.1
      RET
DELAY: MOV R6, #10      
D1:    MOV R7, #250      
      DJNZ R7, $      
      DJNZ R6, D1
      RET
TABLE: DB 3FH, 06H, 5BH, 4FH, 66H     
       DB 6DH, 7DH, 07H, 7FH, 6FH
      END

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

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表