K
Kumar_373
Guest
Bisakah satu membantu saya dengan kode berikut ini hanya menampilkan nol dalam 7 segmen kaki bahkan jika i meningkatkan Vin
Saya telah menghubungkan CS5550 SDI, SDO, SCK untuk 8.051 port1
Terima kasihAD_VALUE_00 EQU 30H; R: 30H
AD_VALUE_01 EQU 31H; R: 31H
AD_VALUE_02 EQU 32H; R: 32HAD_DO BIT P1.0; CS5550UTPUT PORT
AD_SK BIT P1.1; CS5550 Clock PORT
AD_DI BIT P1.2; CS5550 INPUT PORTorg 8000h
ljmp utama
utama: mov sp, # 0dfh
acall init_5550
adc_scan: acall ad_read
mov ad_value_02, sebuah
mov 60h, a
lcall 019bh
acall ad_read
mov ad_value_01, sebuah
mov 60h, a
lcall 019bh
acall ad_read
mov ad_value_00, sebuah
mov 60h, a
lcall 019bh
ret
ad_read: mov b, # 08
read_next_bit: CLR ad_sk
nop
mov c, ad_do
RLC sebuah
setb ad_sk
; nop
; nop
djnz b, read_next_bit
ret
init_5550: mov a, # 04h; menulis perintah mengaktifkan
acall ad_write; mendapatkan PGA
mov a, # 00h
acall ad_write
mov a, # 00h
acall ad_write
mov a, # 00h
acall ad_write; memperolehmov a, # 04h; menulis perintah mengaktifkan
acall ad_write; penyaring
mov a, # 00h
acall ad_write
mov a, # 00h
acall ad_write
mov a, # 20h; High pass filter memungkinkan
acall ad_write;
mov a, # 74h; menulis perintah mengaktifkan
acall ad_write; konversi
mov a, # 80h
acall ad_write
mov a, # 00h
acall ad_write
mov a, # 00h
acall ad_write
mov a, # 0e8h; memulai konversi
acall ad_write
sjmp adc_scan
ad_write: mov b, # 08
write_next_bit: CLR ad_sk
RLC sebuah
mov ad_di, c
setb ad_sk
nop
djnz b, write_next_bit
ret
akhir
Saya telah menghubungkan CS5550 SDI, SDO, SCK untuk 8.051 port1
Terima kasihAD_VALUE_00 EQU 30H; R: 30H
AD_VALUE_01 EQU 31H; R: 31H
AD_VALUE_02 EQU 32H; R: 32HAD_DO BIT P1.0; CS5550UTPUT PORT
AD_SK BIT P1.1; CS5550 Clock PORT
AD_DI BIT P1.2; CS5550 INPUT PORTorg 8000h
ljmp utama
utama: mov sp, # 0dfh
acall init_5550
adc_scan: acall ad_read
mov ad_value_02, sebuah
mov 60h, a
lcall 019bh
acall ad_read
mov ad_value_01, sebuah
mov 60h, a
lcall 019bh
acall ad_read
mov ad_value_00, sebuah
mov 60h, a
lcall 019bh
ret
ad_read: mov b, # 08
read_next_bit: CLR ad_sk
nop
mov c, ad_do
RLC sebuah
setb ad_sk
; nop
; nop
djnz b, read_next_bit
ret
init_5550: mov a, # 04h; menulis perintah mengaktifkan
acall ad_write; mendapatkan PGA
mov a, # 00h
acall ad_write
mov a, # 00h
acall ad_write
mov a, # 00h
acall ad_write; memperolehmov a, # 04h; menulis perintah mengaktifkan
acall ad_write; penyaring
mov a, # 00h
acall ad_write
mov a, # 00h
acall ad_write
mov a, # 20h; High pass filter memungkinkan
acall ad_write;
mov a, # 74h; menulis perintah mengaktifkan
acall ad_write; konversi
mov a, # 80h
acall ad_write
mov a, # 00h
acall ad_write
mov a, # 00h
acall ad_write
mov a, # 0e8h; memulai konversi
acall ad_write
sjmp adc_scan
ad_write: mov b, # 08
write_next_bit: CLR ad_sk
RLC sebuah
mov ad_di, c
setb ad_sk
nop
djnz b, write_next_bit
ret
akhir