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

📄 ningh320.asm

📁 北京宁河电子提供的单片机驱动台湾群创的彩色TFT屏
💻 ASM
📖 第 1 页 / 共 4 页
字号:
		mov	a,ystah
		cjne	a,yendh,rate2
		ret
;************************************k=-1--0即d_x>=d_y时
rate3:		mov	a,ystal
		cjne	a,yendl,rate30
		mov	a,ystah
		cjne	a,yendh,rate30
		sjmp	rate31
rate30:		mov	a,errh
		jb	acc.7,rate32
		mov	a,ystal
		add	a,#1
		mov	ystal,a
		mov	a,ystah
		addc	a,#0
		mov	ystah,a
rate31:		mov	a,xstal
		subb	a,#1
		mov	xstal,a
		mov	a,xstah
		subb	a,#0
		mov	xstah,a
		mov	a,errl
		add	a,d_yl
		mov	errl,a
		mov	a,errh
		addc	a,d_yh
		mov	errh,a
		clr	c
		mov	a,errl
		subb	a,d_xl
		mov	errl,a
		mov	a,errh
		subb	a,d_xh
		mov	errh,a
		sjmp	rate33
rate32:		mov	a,xstal
		clr	c
		subb	a,#1
		mov	xstal,a
		mov	a,xstah
		subb	a,#0
		mov	xstah,a
		mov	a,errl
		add	a,d_yl
		mov	errl,a
		mov	a,errh
		addc	a,d_yh
		mov	errh,a
rate33:		call	dotw
		mov	a,xstal
		cjne	a,xendl,rate30
		mov	a,xstah
		cjne	a,xendh,rate30
		ret
;*************************************k<-1即d_x>d_y
rate4:		mov	a,errh
		jb	acc.7,rate41
		mov	a,ystal
		add	a,#1
		mov	ystal,a
		mov	a,ystah
		addc	a,#0
		mov	ystah,a
		clr	c
		mov	a,errl
		subb	a,d_xl
		mov	errl,a
		mov	a,errh
		subb	a,d_xh
		mov	errh,a
		sjmp	rate42
rate41:		clr	c
		mov	a,xstal
		subb	a,#1
		mov	xstal,a
		mov	a,xstah
		subb	a,#0
		mov	xstah,a
		mov	a,ystal
		add	a,#1
		mov	ystal,a
		mov	a,ystah
		addc	a,#0
		mov	ystah,a
		mov	a,errl
		add	a,d_yl
		mov	errl,a
		mov	a,errh
		addc	a,d_yh
		mov	errh,a
		clr	c
		mov	a,errl
		subb	a,d_xl
		mov	errl,a
		mov	a,errh
		subb	a,d_xh
		mov	errh,a
rate42:		call	dotw
		mov	a,ystal
		cjne	a,yendl,rate4
		mov	a,ystah
		cjne	a,yendh,rate4
		ret

circle:         mov     a,#234
                subb    a,ciryl
                mov     ciryl,a
                clr	a
		clr	flag_cir
		mov	arcx1,a
		mov	arcy2,a
		mov	a,rad
		mov	arcy1,a
		mov	arcx2,a
cir1:		call	amp
		call	squ
		mov	a,arcx1
		cjne	a,arcx2,cir3
cir2:		call	amp
		ret
cir3:		xch	a,arcx2
		mov	arcx1,a
		mov	a,arcy1
		xch	a,arcy2
		mov	arcy1,a
		cpl	flag_cir
		call	amp
		mov	a,arcx1
		xch	a,arcy1
		mov	arcx1,a
		call	squ
		mov	a,arcx1
		xch	a,arcy1
		mov	arcx1,a
		cpl	flag_cir
		cjne	a,arcx2,cir4
		sjmp	cir2
cir4:		xch	a,arcx2
		mov	arcx1,a
		mov	a,arcy1
		xch	a,arcy2
		mov	arcy1,a
		sjmp	cir1
;***********************************方差计算程序
;***********************************@=(a+1)^2+b^2-r^2-b   a=arcx1 b=arcy1
squ:		mov	a,arcx1
		inc	a
		mov	b,a
		mul	ab
		mov	errl,a
		mov	errh,b
		mov	a,arcy1
		mov	b,a
		mul	ab
		add	a,errl
		mov	errl,a
		mov	a,b
		addc	a,errh
		mov	errh,a
		mov	a,rad
		mov	b,a
		mul	ab
		clr	c
		xch	a,errl
		subb	a,errl
		mov	errl,a
		mov	a,b
		xch	a,errh
		subb	a,errh
		mov	errh,a
		jc	squ1
		mov	a,errl
		subb	a,arcy1
		mov	errl,a
		mov	a,errh
		subb	a,#0
		mov	errh,a
		jc	squ1
		dec	arcy1
squ1:		inc	arcx1
		ret
;******************************圆弧扩展子程序
;***************输入:坐标值x=arcx1,y=arcy1,圆心坐标值(cirx,ciry)
;***************x为x1和x2之一,y为y1和y2之一
amp:		mov	a,cirxl
		add	a,arcx1
		mov	xstal,a
		mov	a,cirxh
		addc	a,#0
		mov	xstah,a
		mov	a,ciryl
		add	a,arcy1
		mov	ystal,a
		mov	a,ciryh
		addc	a,#0
		mov	ystah,a
		jb	flag_cir,amp1
		jb	radw_6,amp2
		sjmp	amp3
amp1:		jb	radw_7,amp2
		sjmp	amp3
amp2:		call	dotw
amp3:		mov	a,cirxl
		clr	c
		subb	a,arcx1
		mov	xstal,a
		mov	a,cirxh
		subb	a,#0
		mov	xstah,a
		jb	flag_cir,amp4
		jb	radw_5,amp5
		sjmp	amp6
amp4:		jb	radw_4,amp5
		sjmp	amp6
amp5:		call	dotw
amp6:		mov	a,ciryl
		clr	c
		subb	a,arcy1
		mov	ystal,a
		mov	a,ciryh
		subb	a,#0
		mov	ystah,a
		jb	flag_cir,amp7
		jb	radw_2,amp8
		sjmp	amp9
amp7:		jb	radw_3,amp8
		sjmp	amp9
amp8:		call	dotw
amp9:		mov	a,cirxl
		add	a,arcx1
		mov	xstal,a
		mov	a,cirxh
		addc	a,#0
		mov	xstah,a
		jb	flag_cir,ampa
		jb	radw_1,ampb
		sjmp	ampc
ampa:		jb	radw_0,ampb
		sjmp	ampc
ampb:		call	dotw
ampc:		ret
;*********************************************************************************
dotw:           mov     dptr,#addr_wrow
		mov	a,ystal
                movx    @dptr,a
                mov     dptr,#addr_wcol
		mov	a,xstah
                movx    @dptr,a
		mov	a,xstal
                movx    @dptr,a
                                        ;入口y坐标地址r4=ystal,颜色r3=color的bit2--bit0
                                        ;显示RAM高字节地址
                mov     dptr,#addr_wda
                mov     a,color
                movx    @dptr,a
                ret
;********************************************************************
photo1:		mov	color,#blue	;清成蓝屏
		call	clr_lcd
		mov	r5,#10
photo100:	call	delay_100ms	;延时1秒钟
		djnz	r5,photo100
		mov	color,#yellow
		mov	xstah,#0	;画黄框
		mov	xstal,#5
                mov     ystah,#0
		mov	ystal,#228
		mov	xendh,#1
		mov	xendl,#0dah
                mov     yendh,#0
		mov	yendl,#228
		call	line
		mov	xstah,#1
		mov	xstal,#0dah
                mov     ystah,#0
		mov	ystal,#228
		mov	xendh,#1
		mov	xendl,#0dah
                mov     yendh,#0
		mov	yendl,#5
		call	line
		mov	xstah,#0
		mov	xstal,#5
                mov     ystah,#0
		mov	ystal,#5
		mov	xendh,#1
		mov	xendl,#0dah
                mov     yendh,#0
		mov	yendl,#5
		call	line
		mov	xstah,#0
		mov	xstal,#5
                mov     ystah,#0
		mov	ystal,#5
		mov	xendh,#0
		mov	xendl,#5
                mov     yendh,#0
		mov	yendl,#228
		call	line
		mov	r5,#7
photo101:	call	delay_100ms	;延时0.7秒钟
		djnz	r5,photo101

		mov	xstah,#0	;画黄框
		mov	xstal,#6
                mov     ystah,#0
		mov	ystal,#227
		mov	xendh,#1
		mov	xendl,#0d9h
                mov     yendh,#0
		mov	yendl,#227
		call	line
		mov	xstah,#1
		mov	xstal,#0d9h
                mov     ystah,#0
 		mov	ystal,#227
		mov	xendh,#1
		mov	xendl,#0d9h
                mov     yendh,#0
		mov	yendl,#6
		call	line
		mov	xstah,#0
		mov	xstal,#6
                mov     ystah,#0
		mov	ystal,#6
		mov	xendh,#1
		mov	xendl,#0d9h
                mov     yendh,#0
		mov	yendl,#6
		call	line
		mov	xstah,#0
		mov	xstal,#6
                mov     ystah,#0
		mov	ystal,#6
		mov	xendh,#0
		mov	xendl,#6
                mov     yendh,#0
		mov	yendl,#227
		call	line

		mov	r5,#7
photo102:	call	delay_100ms	;延时0.7秒钟
		djnz	r5,photo102
		mov	xstah,#0	;画黄框
		mov	xstal,#7
                mov     ystah,#0
		mov	ystal,#226
		mov	xendh,#1
		mov	xendl,#0d8h
                mov     yendh,#0
		mov	yendl,#226
		call	line
		mov	xstah,#1
		mov	xstal,#0d8h
                mov     ystah,#0
 		mov	ystal,#226
		mov	xendh,#1
		mov	xendl,#0d8h
                mov     yendh,#0
		mov	yendl,#7
		call	line
		mov	xstah,#0
		mov	xstal,#7
                mov     ystah,#0
		mov	ystal,#7
		mov	xendh,#1
		mov	xendl,#0d8h
                mov     yendh,#0
		mov	yendl,#7
		call	line
		mov	xstah,#0
		mov	xstal,#7
                mov     ystah,#0
		mov	ystal,#7
		mov	xendh,#0
		mov	xendl,#7
                mov     yendh,#0
		mov	yendl,#226
		call	line
		mov	r5,#7
photo103:	call	delay_100ms	;延时0.7秒钟
		djnz	r5,photo103

		mov	xstah,#0	;画黄框
		mov	xstal,#8
                mov     ystah,#0
		mov	ystal,#225
		mov	xendh,#1
		mov	xendl,#0d7h
                mov     yendh,#0
		mov	yendl,#225
		call	line
		mov	xstah,#1
		mov	xstal,#0d7h
                mov     ystah,#0
 		mov	ystal,#225
		mov	xendh,#1
		mov	xendl,#0d7h
                mov     yendh,#0
		mov	yendl,#8
		call	line
		mov	xstah,#0
		mov	xstal,#8
                mov     ystah,#0
		mov	ystal,#8
		mov	xendh,#1
		mov	xendl,#0d7h
                mov     yendh,#0
		mov	yendl,#8
		call	line
		mov	xstah,#0
		mov	xstal,#8
                mov     ystah,#0
		mov	ystal,#8
		mov	xendh,#0

⌨️ 快捷键说明

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