⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2seg.txt

📁 DAC0808C DAC转换使用方法
💻 TXT
字号:
;8MHZ
;二只数码管显示出0-99一百个数字
;电路连接为:164数据脚接RXD,而时针脚接TXD,TXD供时针信号
;P1.4为1时控制数码管个位显示,P1.3控制十位
led bit 20h			;专用于二只数码管LOOP显示
seg0 bit P1^4			;为1时,表示数码管开,反之关
seg1 bit P1^3
org 00h 
sjmp main
org 0bh
ajmp timer0			;定时器0,4MS

org 0030h

main:
mov dptr,#table			;读表,用于显示
mov scon,#00h			;串口工作于方式0
mov r5,#00h			;1秒个数
mov r6,#00h			;计数最多为100计数器
mov th0,#0d6h
mov tl0,#55h			;4ms

main_loop:
mov tmod,#00h			;timer 工作于方式0
setb ea
setb et0
setb tr0			;开始定时
call get_bit
ajmp main_loop

get_bit:
clr	tr0			;得到个位,十位过程不要定时		
mov	a,r6			;R6暂存后a中
mov	b,#10
div	ab
mov	r2,a			;十位存于R2
mov	r1,b			;R1存个位
bit_back:
setb 	tr0			;定时重新开始
ret

display:
clr 	seg1			;先关后关.那里都一样
clr 	seg0
cpl	led			;对位取反.LOOP显示二只灯
jnb	led,led2
sjmp 	led1
led2:
mov	a,r2			;LED2显示十位
movc	a,@a+dptr
mov	r2,a
mov 	sbuf,r2
wait_1:
jnb	ti,wait_1
clr	ti
setb	seg1			;dis
sjmp 	dis_ret
led1:
mov 	a,r1			;LED1显示个位
movc	a,@a+dptr
mov	r1,a
mov 	sbuf,r1
wait_2:
jnb	ti,wait_2
clr	ti
setb 	seg0			;dis
dis_ret:
ret

timer0:
push acc
mov th0,#0d6h
mov tl0,#55h			;4ms
call	display
inc	r5
cjne 	r5,#255,timer0_back
mov 	r5,#00h			;定时至1s
inc	r6
cjne	r6,#100,timer0_back
mov 	r6,#00h			;最多计数至100
timer0_back:
pop acc
reti			

table:
	DB      00000011B       ;'0'code
        DB      10011111B       ;'1'code
        DB      00100101B       ;'2'code
        DB      00001101B       ;'3'code
        DB      10011001B       ;'4'code
        DB      01001001B       ;'5'code
        DB      01000001B       ;'6'code
        DB      00011111B       ;'7'code
        DB      00000001B       ;'8'code
        DB      00001001B       ;'9'code
        DB      11111111B       ;nothing to display('A')
	DB	00000000B	;ret data
END 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -