各位高手,你好!我做了一个4×4的点阵,以显示五字为例,显示会出现鬼影,极不稳定,看不出是一个五字,如果扫描的时间长,会明显看到每一列在慢慢扫描,请问应如何调整这个问题,另外,如何我想搞那文字可以移动的话,应注意些什么问题? 程序中高4位的数据并没有用到. Delay: LDI delay_ct1,0Fh; LDI delay_ct2,0Fh; SBIM delay_ct2,01h; BC $-1; SBIM delay_ct1,01h; BC $-4; Delay_Exit: RTNI ------------------------------------------------------ Program_Main: LDI dis_two,05H;查表次数 LDI scan_tbr,01H;扫描指针归一 LDI dis_tbr,01H;查表指针归一 DIS: LDI TBR,00H;设置TBR的值为0 LDA dis_tbr,00H;取查表指针 CALL DATA_TABLE;查数据表 STA TEMP_L,00H;保存低位数据 LDA TBR,00H;读入高4位的数据 STA TEMP_H,00H; 保存高位数据 LDA TEMP_L,00H;取低位数据 STA PB,00H;先送低4位数据 LDA scan_tbr,00H;取出扫描指针 STA PA,00H;先扫第一列 CALL Delay; 调用延时子程序 CALL Delay; // LDI PA,00H; // CALL Delay; // CALL Delay; LDA scan_tbr,00H;取出扫描指针 ADDM scan_tbr,00H;扫描指针移右一位 ADIM dis_tbr,01H;查表指针加一 LDA dis_two,00;是否查到最后一个数据 SUB dis_tbr,00h; BAZ $+2; JMP DIS; JMP Program_Main; ;------------------------------------------------------------------ ; 五字的数据表 ORG 300H ;设置PC地址 DATA_TABLE: TJMP ; H L RTNW 0000B,0010B ;301H/ RTNW 0000B,0000B ;302H/ RTNW 0000B,0010B ;301H/ RTNW 0000B,0000B ;302H/ |