No.9840 作者:ghostiq 邮件: ID:1698 登陆:1次 文章数:2篇 最后登陆IP: 最后登陆:2002/8/7 1:30:00 注册:2002/8/7 1:30:00 财富:8 发帖时间:2002/8/11 0:39:00 发贴者IP:61.144.28.52 标题:ghostiq:初学者:大家有空帮我看看这个程序,怎么一运行就死机 摘要:No.9840初学者:大家有空帮我看看这个程序,怎么一运行就死机 是pc跟51机232通信的,三根线的那种 是从《msc-51系列单片机实用接口技术》上抄的 协议是: pc的键盘做输入,将其发给51,51接收到pc机发来的数据后,回送同一数据给pc,并在屏幕 上显示出来。下面是pc机端的程序,一运行就死,键盘上一个数都输不进 db 256 dup(0) STACK ends CODE Segment para public 'code' start proc far assume cs:code,ss:stack PUSH DS MOV AX,0 PUSH AX CLI INITOUT: MOV DX,3FBH ;通讯线控制寄存器第7位置1(DLAB=1),以便设置波特率 MOV AL,80H OUT DX,AL MOV DX,3F8H ;设置除数锁存器低位 MOV AL,30H OUT DX,AL MOV DX,3F9H ;设置除数锁存器高位 MOV AL,0 OUT DX,AL MOV DX,3FBH ;设定数据格式,8个数据位,一个停止位,无校验 MOV AL,03H OUT DX,AL MOV DX,3FCH ;设置MODEM控制信号 MOV AL,03H OUT DX,AL MOV DX,3F9H ;禁止所有8250中断(四种类型) MOV AL,0 OUT DX,AL FOREVER: MOV DX,3FDH ;发送保持寄存器不空则循环等待 IN AL,DX TEST AL,20H JZ FOREVER WAITWAIT:MOV AH,01H ;检查键盘缓冲区,无字符则循环等待 INT 16H JZ WAITWAIT &nb ......
>>返回讨论的主题
|