|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
是仿真机的问题,还是程序的问题 |
作者:szrg 栏目:MCU技术 |
使用6612cpu,频率32768,使用seg18-25线带4位液晶 XSW0 EQU 60H ;显示高位0 XSW1 EQU 61H ;显示高位1 XSW2 EQU 62H ;显示高位2 XSW3 EQU 63H ;显示高位3 DPH EQU 12H DPM EQU 11H DPL EQU 10H DP EQU 0FH TBR EQU 0EH TEMP.html">TEMP equ 22h ORG 0000H LDI 15H, 01H LDI 13H, 0000B LDI DPL, 0011B LDI DPM, 0010B LDI DPH, 0000B CLR1: LDI DP, 0H ;清23h-7fh ADIM DPL, 01H LDI TEMP, 0H ADCM DPM, 0H ADIM NUM0, 01H BNZ CLR1 ADIM NUM1, 01H BNZ CLR1 XS1: LDI TBR, 0FH ADI XSW0, 01H CALL 07F0H STA DP, 0H ADIM DPL, 01H LDA TBR, 0H STA DP, 0H ADIM DPL, 01H XS2: ADI XSW1, 01H CALL 07F0H STA DP, 0H ADIM DPL, 01H LDA TBR, 0H STA DP, 0H ADIM DPL, 01H xs3: ADI XSW2, 01H CALL 07F0H STA DP, 0H ADIM DPL, 01H LDA TBR, 0H STA DP, 0H ADIM DPL, 01H xs4: ADI XSW3, 01H CALL 07F0H STA DP, 0H ADIM DPL, 01H LDA TBR, 0H STA DP, 0H ADIM DPL, 01H JMP $ ORG 07F0H TJMP CODE: RTNW 0111B, 1101B RTNW 0110B, 0000B RTNW 0011B, 1110B RTNW 0111B, 1010B RTNW 0110B, 0011B RTNW 0101B, 1011B RTNW 0101B, 1111B RTNW 0111B, 0000B RTNW 0111B, 1111B RTNW 0111B, 1011B 单步执行,在xs2后的call执行没有发生tjmp跳转, 请帮我判断一下 * - 本贴最后修改时间:2006-11-10 16:32:42 修改者:szrg |
2楼: | >>参与讨论 |
作者: juginhine 于 2006/11/11 22:41:00 发布:
tbr寄存器没有修正 看了一下你的程序,发现你在第一次call完毕后,程序会返回8bit数据,低4bit在acc中,高4bit在tbr寄存器中。而你第二次去读取数据的时候,你只是将你的XSW1读入了acc中,但是tbr还是上次返回的值,而不是表格的p3-p7位值,所以你在call的时候就不能到tjmp指令处了。请在call之前重新修正tbr值。 |
3楼: | >>参与讨论 |
作者: szrg 于 2006/11/13 11:28:00 发布:
谢谢指点 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |