我的储存器测试程序
先说说我的测试思路。
我是用计算机串口来测试储存器的,先从计算机发出一个数据(hex)到单片机,单片机收到后把该数据移动到外部储存器(要测试的)然后移回来,从串口发给计算机,计算机收到后比较发出和收到的数据,一致的话,储存器单元正常,不一样就是出错。
程序中用到DPTR来指向外部储存单元,每收到一个数据,DPTR加一,从而完成挨个储存单元的测试。
测试结果发现,坏数据块有一定规律的出现,更换储存器后,出错的规律有变化,但仍然出错。
我的串口线长只有0.6米,而且如果去掉MOVX指令,即不测试外储存器的话,数据传送(计算机传出、传回)出错几率很小的。
下面是偶的测试程序:
;本程序串口工作速率1200bps
org 0000h
jmp main
org 0023h
jmp com
main:mov tmod,#00100000b
mov pcon,#10000000b
mov scon,#01010000b
mov th1,#0cch
mov tl1,#0cch
setb tr1
setb es
setb ea
mov dptr,#0000h
jmp$
com:push a
push psw
jb ti,trans
mov a,sbuf
clr ri
loop:mov 31h,a
movx @dptr,a
mov a,#00h
movx a,@dptr
cjne a,31h,err
mov sbuf,a
inc dptr
pop psw
pop a
reti
err:mov a,dpl
mov sbuf,a
inc dptr
pop psw
pop a
reti
trans:clr ti
pop psw
pop a
reti
end
;Designed by Mine
发表时间:2003年3月26日10:51:15