|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
请教:MOV SBUF后没有反映的问题 |
作者:没有 栏目:单片机 |
串口数据发送不了,没有反映,MOV SBUF,A后没有反映 ;同时测量3块表,串口采集数据,串口采用方式三,使用定时器1,可是TXD发送数据,发送不了 ,用示波器测量也没有信号,TI总是0。 ORG 0000H JMP MAIN ORG 0030H MAIN: MOV TMOD,#20H ;T1工作在方式2 MOV TH1,#0F3H ;BAUD=2400 MOV TL1,#0F3H MOV SCON,#0D8H ;串口工作方式3,SM2=0,准许串口接受,TB8=1 MOV PCON,#80H ;SMOD=1 SETB TR1 ;启动T1工作 SETB EA SETB EX0 SETB EX1 CLR IT1 CLR IT0 CLR EX0 CLR EX1 MOV R3,#01H ;第一块表,01为地址数据 CALL SAMP SETB EX0 SETB EX1 SAMP: CLR TI MOV A,R3 MOV SBUF,#01H TITI: JNB TI,TITI ;在这一句,就是不往下执行了,请高手给予指教,谢谢。 CLR TI CLR TB8 MOV SBUF,#03H JNB TI,$ CLR TI MOV SBUF,#00H JNB TI,$ CLR TI MOV SBUF,#00H JNB TI,$ CLR TI MOV SBUF,#00H JNB TI,$ CLR TI SETB TB8 MOV SBUF,#01H JNB TI,$ CLR TI END |
2楼: | >>参与讨论 |
作者: 没有 于 2005/2/17 9:07:00 发布:
就是没有反应。 我只使用仿真器也不行,就是没有反应。 单纯使用仿真器、模拟仿真、硬件仿真这几种情况下都不行,都是到了那一句就不动了,显示数据没有发送完,而我用示波器测试,串口发送TXD没有脉冲。 没有办法,为了测试串口是否工作正常,单独置TXD高或者低,电压显示正常,采用下述中断方式,程序在WAIT的循环中出不来,一个数据也没有发送。 ORG 0000H JMP START ORG 0023H JMP TXSVE ORG 0100H START: MOV TMOD,#20H ;T1工作方式2 MOV TL1,#0F4H MOV TH1,#0F4H MOV PCON,#80H ;SMOD=1 SETB TR1 ;启动T1 MOV SCON,#40H ;串口为方式1 MOV R0,#44H ;发送的数据 MOV A,#02H ;发送的长度 MOV R2,A MOV SBUF,A SETB EA ;开中断 WAIT: SETB ES ;开串口中断 SJMP WAIT ORG 0650H ;串口中断处理程序 TXSVE: CLR ES CLR TI MOV A,R0 MOV SBUF,A DJNZ R2,NEXT SJMP $ NEXT: INC R0 RETI END |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |