[求助]请问这样写测试程序对吗?

  各位大哥,小弟初学单片机设计。我想不用子程序库,直接用汇编语言编写。 不过测试不正确,请问这样写测试程序对吗? org 00h ajmp start org 30h start: ;D0---D7 接P0口,其它如下。 a0 equ p2.4 cs equ p2.6 wr equ p3.6 rd equ p3.7 int# equ p2.7

acall delay1s

begin: clr cs   setb a0    ;写测试命令 mov a,#06h mov p0,a clr p3.6 nop nop nop nop setb p3.6

clr a0   ;写测试数据 mov a,#88h mov p0,a clr p3.6 nop nop nop nop setb p3.6

clr a0   ;读出测试结果 clr p3.7 nop nop mov a,p0 cjne a,#77h,wrong ajmp right wrong: setb a0    ;写硬件复位命令 mov a,#05h mov p0,a clr p3.6 setb p3.7 acall delay40ms setb p3.6 ajmp begin right: ajmp $

  程序运行后,CH375A的D0---D7口,输出的一直是88H,没有取反。不知道是程序问题还是硬件连接有问题,硬件的复位电路应该正常,不过没有示波器,不知道晶振是否起振,晶振引脚一个为3V左右,一个为1.5V左右,这样正常吗?

mov a,#06h mov p0,a clr cs   setb a0    ;写测试命令 clr p3.6 nop nop//500NS就可以 setb p3.6 clr a0   ;写测试数据 nop nop nop nop nop nop nop nop//延时2US,根据主频来确定NOP的值 mov a,#88h mov p0,a clr p3.6 nop nop//500NS就可以 setb p3.6 nop nop nop nop nop nop//延时1。2US根据主频调整 clr a0   ;读出测试结果 clr p3.7 nop nop//延时500NS就可以了 mov a,p0 cjne a,#77h,wrong ajmp right


哦,看你接P0口,RD、WR分别接P3.7,P3.6还以为是采用总线方式呢。


我的问题解决了。 非常感谢。


只有登录才能回复,可以选择微信账号登录