必须设置InputMode为comInputModeBinary以及确认Settings格式正确
解决方案 »
- 关于Windows TaskBar
- 急,delphi6装了升级补丁2后什么控件装进去都显示不出来了.
- Dephi 7.0 的 TClientSpcket 控件跑哪里去了,我怎么在工具栏找不到。
- RenameFile有时不能更改文件名和目录名,急!!!
- 帮忙看看这句sql添加语句怎么错了??
- 求教:在程序中调用存储过程中创建数据库任务的过程,程序中提示参数类型不匹配
- 求助:Debugger Kernel BORDBK140.DLL or BORDBK140N.DLL is missing or could not be lo
- 怎么现在招聘的都要工作经验?我们应届毕业生能不能投那种要工作经验的公司?
- how create tablespace in oracle
- 分多,delphi网络编程高手请进
- 哪里能找到D5的升级包?Inprise的FTP太太太慢了!
- NT下如何实现关机?
PML EQU 0D000H
PA EQU 0D001H
PB EQU 0D002H
PCC EQU 0D003H
DBPS EQU 0E8H
TX BIT 20H.0
DZ EQU 36H
ORG 0000H
AJMP MAIN
ORG 0023H
AJMP INTU
ORG 0100H
MAIN:MOV R0,#20H
MOV R7,#60H
MAIN0:MOV @R0,#00H
INC R0
DJNZ R7,MAIN0
MOV SP, #40H
SETB EA
SETB ES
MOV TMOD,#20H
MOV TH1,#DBPS
MOV TL1,#DBPS
SETB TR1
MOV SCON,#0D0H
MOV 30H,#0FH
MOV 31H,#0DH
MOV 32H,#0CH
MOV 33H,#0BH
MOV 34H,#0AH
MOV 35H,#0FH
GOOD:JB TX,LJ1
AJMP LED INTU:JBC RI,RR1
JBC TI,RR2
RETI
RR1:MOV A,SBUF
MOV DZ,A
SETB TX
RR2:RETI
LJ1:MOV R4,DZ
LJ0:INC 30H
MOV A,30H
CJNE A, #0AH,LJ
MOV 30H,#00H
INC 31H
MOV A,31H
CJNE A, #0AH,LJ
MOV 31H,#00H
INC 32H
LJ:DJNZ R4,LJ0
MOV 33H,#0FH
MOV 34H,#0FH
MOV 35H,#0FH LED:MOV DPTR,#PML
MOV A,#0FH
MOVX @DPTR,A
MOV R0,#30H
MOV R3,#01H
MOV A,R3
LD02:MOV A,#0FFH
MOV DPTR,#PA
MOVX @DPTR,A
MOV A,R3
MOV DPTR,#PCC
MOVX @DPTR,A
MOV A,@R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV DPTR,#PA
MOVX @DPTR,A
ACALL DL
INC R0
MOV A,R3
JB ACC.5,LD1
RL A
MOV R3,A
AJMP LD02
LD1:AJMP GOOD
TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H
DB 90H,0A3H,0A3H,0A1H,86H
DB 0FFH
1、在计算波特率的时候,不知你用的是多少,据我计算可能是2400bps,
这要基于以下几个条件:smod=1、fosc=11.059mhz、th1=e8h(这是你程序里的是设定值)
在这里smod=1是很关键的,如果没有将smod设为1,则计算出的波特率就为1200bps,
不知是否与你的想法吻合。
2、另外我发现在你的LJ1程序段里,好象有些问题,提出来分析一下:
当跳转进入LJ1时,dz中为从pc机收到的数据,接着以dz中的值来累加30h中的值,但是在判断条件
cjne a,30ah,lj处会有问题,因为你的30h内的初始值是#0fh,累加的结果无法满足你的条件(逢十进一)
这样送到显示程序的数就不是你期望的值了,是否应将30h的初始值设为00h(31h、32h也是同样的)
3、关于串行方式的选择我想谈谈我的看法,不知你选择方式3是什么用意,在sm2=1的情况下,若第九位
数据(RB8)为0时,RI是不置位的,也就是单片机认为没有数据,不知在pc端你是怎么处理的?
我建议如果没有特别的要求,还是使用方式1比较好一点。
最后希望能多交流,在这里能遇到做单片机的满珍贵。
有什么问题可以直接E-mail:[email protected]