资讯详情

三维坐标调整的单片机实验

 今天终于把三维坐标调整的单片机实验完成,通过实验及编程,今天成功使用了指针和数据比较,完成数据调整和比较,程序如下,实验图如下:

  如有需要实验源文件的可以QQ我,有想在商业应用的,可以付一点辛苦费,将程序修改为合适的。本人在找工作,也随便把单片机方面搞得更精通点!

程序图:

程序代码:

DEDA DATA 55H YANSDATA56H MXQDATA60H MXBDATA61H MXSDATA62H MXGDATA63H MYQDATA64H MYBDATA65H MYSDATA66H MYGDATA67H MZQDATA68H MZBDATA69H MZSDATA6AH MZGDATA6BH ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; LXQDATA30H LXBDATA31H LXSDATA32H LXGDATA33H LYQDATA34H LYBDATA35H LYSDATA36H LYGDATA37H LZQDATA38H LZBDATA39H LZSDATA3AH LZGDATA3BH ;;;;;;;;;;;;;;;;;;;;;;;;; LSQDATA40H LSBDATA41H LSSDATA42H LSGDATA43H ;;;;;;;;;;;;;;;;;;;;;;;; LSQ1DATA50H LSB1DATA51H LSS1DATA52H LSG1DATA53H ;;;;;;;;;;;;;;;;;;;;;;;; LSDATA70H LDATA71H LSDDATA72H ;;;;;;;;;;;;;;;;;;;;;;; QITP0.0;按键位定义 GIBITP0.1 GDBITP0.2 SIBITP0.3 SDBITP0.4 YXBITP0.5

;;;;;;;;;;;;;;;;;;;;;;;;; ORG 0H ;程序代码由地址0开始执行 MAIN: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;启动数据显示 SX:JBYX,XX1 JNBYX,$ AJMPB_J XX1:JBQD,XX2 JNBQD,$ AJMP S_T_D XX2: LCALL LSLED AJMP SX RET ;;;;;;;;;;;;;;;;;;;;;;;;;运行时显示 LSLED: ;LCALD1 ;LCALL LED2 ;RET MOVP3,#0D0H LCALL LED_1 INCP3 LCALL LED_2 INCP3 LCALL LED_3 INCP3 LCALL LED_4 INCP3 LCALL LED_5 INCP3 LCALL LED_6 INCP3 LCALL LED_7 INCP3 LCALL LED_8 INCP3 LCALL LED_9 INCP3 LCALL LED_10 INCP3 LCALL LED_11 INCP3 LCALL LED_12 INCP3 LCALL LED_13 INCP3 LCALL LED_14 INCP3 LCALL LED_15 INCP3 LCALL LED_16 INCP3 LCALL LED_17 INCP3 LCALL LED_18 INCP3 LCALL LED_19 INCP3 LCALL LED_20 INCP3 LCALL LED_21 INCP3 LCALL LED_22 INCP3 LCALL LED_23 INCP3 LCALL LED_24 RET LED1: MOVLSL,#0D0H MOVR1,#60H LED1_1: MOVXA,@R1 MOVP3,LSL LCALL LED INCLSL INCR1 MO,LSL CJNEA,#0D,LED1_1 MOVR1,#30H MOVA,LSL CJNEA,#0E7H,LED1_1 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;运行数据调用 B_J:JBYX,B_J_0 JNBYX,$ AJX B_J_0:LCALLL_S_X_L LCALLB_J_L LCALLL_S_L_X LCALLL_S_Y_L LCALLB_J_L LCALLL_S_L_Y LCALLL_S_Z_L LCALLB_J_L LCALLL_S_L_Z MOVYANS,#5;;;;;;;;;;;;;;;;;;;;;加一数据延时赋值 B_J_LED:LCALLLSLED DECYANS MOVA,YANS CJNEA,#0,B_J_LED AJMPB_J ;;;;;;;;;;;;;;;;;;;;;;;数据调用;;;;;;;;;;;;;;;;;;;;;;;;; L_S_X_L:MOVLSQ,MXQ MOVLSB,MXB MOVLSS,MXS MOVLSG,MXG MOVLSQ1,LXQ MOVLSB1,LXB MOVLSS1,LXS MOVLSG1,LXG RET L_S_Y_L:MOVLSQ,MYQ MOVLSB,MYB MOVLSS,MYS MOVLSG,MYG MOVLSQ1,LYQ MOVLSB1,LYB MOVLSS1,LYS MOVLSG1,LYG RET L_S_Z_L:MOVLSQ,MZQ MOVLSB,MZB MOVLSS,MZS MOVLSG,MZG MOVLSQ1,LZQ MOVLSB1,LZB MOVLSS1,LZS MOVLSG1,LZG RET L_S_L_X:MOVLXQ,LSQ1 MOVLXB,LSB1 MOVLXS,LSS1 MOVLXG,LSG1 RET L_S_L_Y:MOVLYQ,LSQ1 MOVLYB,LSB1 MOVLYS,LSS1 MOVLYG,LSG1 RET L_S_L_Z:MOVLZQ,LSQ1 MOVLZB,LSB1 MOVLZS,LSS1 MOVLZG,LSG1 RET ;;;;;;;;;;;;;;;;;;;;;数据比较;;;;;;;;;;;;;;;;;;;;;; B_J_L: MOVA,LSQ CJNEA,LSQ1,B_J_LD MOVA,LSB CJNEA,LSB1,B_J_LD MOVA,LSS CJNEA,LSS1,B_J_LD MOVA,LSG CJNEA,LSG1,B_J_LD RET B_J_LD:JCB_J_LQ_X

B_J_LQ_D:INCLSG1 MOVA,LSG1 CJNEA,#10,B_J_END MOVLSG1,#0 INCLSS1 MOVA,LSS1 CJNEA,#10,B_J_END MOVLSS1,#0 INCLSB1 MOVA,LSB1 CJNEA,#10,B_J_END MOVLSB1,#0 INCLSQ1 MOVA,LSQ1 CJNEA,#10,B_J_END MOVLSQ1,#9 MOVLSB1,#9 MOVLSS1,#9 MOVLSG1,#9 AJMPB_J_END B_J_LQ_X:DECLSG1 MOVA,LSG1 CJNEA,#-1,B_J_END MOVLSG1,#9 DECLSS1 MOVA,LSS1 CJNEA,#-1,B_J_END MOVLSS1,#9 DECLSB1 MOVA,LSB1 CJNEA,#-1,B_J_END MOVLSB1,#9 DECLSQ1 MOVA,LSQ1 CJNEA,#-1,B_J_END MOVLSQ1,#0 MOVLSB1,#0 MOVLSS1,#0 MOVLSG1,#0 AJMPB_J_END B_J_END: RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;光标操作 ;;;;;;;;;;延时赋值;;;;;;;;;;;;;;;;;;; FU_Z:MOV R4,#10 MOV YANS,#10 RET ;;;;;;;;;;;;;;;指针值;;;;;;;;;;;;;;;;;;;; S_T_D:MOVR0,#60H MOVLS,@R0 S_T_D_0: MOV@R0,LS JBQD,S_T_D_B JNBQD,$ AJMPSX S_T_D_B: LCALL FU_Z ;;;;;;;;;;;;;;;光标判断;;;;;;;;;;;;;;;;; S_T_D_A: JBGI,S_T_D_1 JNBGI,$ MOV@R0,LS INCR0 MOVA,R0 CJNEA,#6CH,S_T_D_2 MOVR0,#60H AJMPS_T_D_2 S_T_D_1: JBGD,S_T_D_2 JNBGD,$ MOV@R0,LS DECR0 MOVA,R0 CJNEA,#5FH,S_T_D_2 MOVR0,#6BH ;;;;;;;;;;;;;;;;数据判断;;;;;;;;;;;;;;;; S_T_D_2: MOVA,@R0 LCALL S_L MOVLS,A MOV@R0,LS ;;;;;;;;;;;;;;;;;;闪烁判断;;;;;;;;;;;;; S_T_D_R: MOVA,R4 CJNE A,#0,S_T_D_RD LJMP S_T_D_Y S_T_D_RD: DEC R4 LCALL LSLED LJMP S_T_D_A S_T_D_Y: MOV@R0,#10 MOV A,YANS CJNE A,#0,S_T_D_ LJMP S_T_D_0 S_T_D_YD: DEC YANS LCALL LSLED MOV@R0,LS LJMP S_T_D_A ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;数据判断 S_L: SETB SI SETB SD JB SI,S_J JNB SI,$ CJNE A,#9,S_E MOV A,#9 AJMP S_J S_E:INC A S_J:JB SD,S_E3 JNB SD,$ CJNE A,#0,S_E2 MOV A,#0 AJMP S_E3 S_E2: DEC A S_E3:RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;数码管显示 LED: MOV D,#TABLE MOVC A,@A+TR MOV P1,A LCALL DELAY1 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; LED_1:MOV A,LXQ LCALL LED RET LED_2:MOV A,LXB LCALL LED RET LED_3:MOV A,LXS LCALL LED RET LED_4:MOV A,LXG LCALL LED RET LED_5:MOV A,LYQ LCALL LED RET LED_6:MOV A,LYB LCALL LED RET LED_7: MOV A,LYS LCALL LED RET LED_8:MOV A,LYG LCALL LED RET LED_9:MOV A,LZQ LCALL LED RET LED_10: MOV A,LZB LCALL LED RET LED_11:MOV A,LZS LCALL LED RET LED_12:MOV A,LZG LCALL LED RET LED_13:MOV A,MXQ LCALL LED RET LED_14:MOV A,MXB LCALL LED RET LED_15:MOV A,MXS LCALL LED RET LED_16:MOV A,MXG LCALL LED RET LED_17:MOV A,MYQ LCALL LED RET LED_18:MOV A,MYB LCALL LED RET LED_19: MOV A,MYS LCALL LED RET LED_20:MOV A,MYG LCALL LED RET LED_21:MOV A,MZQ LCALL LED RET LED_22: MOV A,MZB LCALL LED RET LED_23:MOV A,MZS LCALL LED RET LED_24:MOV A,MZG LCALL LED RET TABLE: DB 0C0H ;"0" DB 0F9H ;"1" DB 0A4H ;"2" DB 0B0H ;"3" DB 99H ;"4" DB 92H ;"5" DB 82H ;"6" DB 0F8H ;"7" DB 80H ;"8" DB 90H ;"9" DB0FFH DB0FFH DB0FFH DB0FFH DB0FFH DB0FFH DELAY1: MOV R7,#10 L1: MOV R6,

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台