LPC900 单片机与电脑串口通信测试

[复制链接]
 楼主| lxintian 发表于 2009-9-8 17:35 | 显示全部楼层 |阅读模式
我想把LPC900和电脑联机测试串口通信,循环输出数据“0-15”,同时让LED亮灭,时间间隔15s左右。灯的工作正常就是没有正确的输出数据,有输出是“《”符号。请各位大侠帮忙分析分析????


;///变量定义
    HZ_STAT     BIT   P0.0         ;烟雾传感器输出信号连接 P89LPC922的P0.0(1)脚
    HZ_LED      BIT   P1.6         ;报警指示灯
    HZ_MODULE   BIT   P1.4         ;控制短信模块电源
;~~~PROGROM程序
    org   0000H
    ajmp  MAIN
    org   0100H
;~~~ 主程序开始
MAIN:
    mov   SP,#60H
    anl   P0M1,#0FEH          ;I/O口配置
    anl   P0M2,#0FEH
    mov   P1M1,#00H
    mov   P1M2,#50H
    mov   P0,#0FFH
    mov   P1,#0AFH
    acall UART_INT
WATCH:
    jnb   HZ_STAT,$
    setb  HZ_MODULE
    setb  HZ_LED
HZ_BAOJING:
acall SEND_DATA        ;发送报警短信息
acall DELAY
cpl   HZ_LED
ajmp  HZ_BAOJING

;=============串口初始化
UART_INT:
    mov   PCON,#00H
    mov   SSTAT,#00H
    mov   SCON,#40H           ;串口模式1,接收使能
    mov   BRGCON,#00H
    mov   BRGR1,#04H          ;波特率9600bit/s
    mov   BRGR0,#70H
    mov   BRGCON,#03H         ;启动UART的波特率发生器
    ret
;********************************************
; 名称:     SEND_DATA
; 功能:     通过 UART 连续发送 16 字节数据(0~15)
; 入口参数 无
; 出口参数 无
; 注意:     此程序采用查询方式发送  
;********************************************
SEND_DATA:
    MOV     R7,#10H
    CLR     TI
    CLR     A
SEND_DL1:
    MOV     SBUF,A
    JNB     TI,$                ;等待一字节发送完毕
    CLR     TI
    INC     A
    DJNZ    R7,SEND_DL1
    RET
;=============延时子程序
DELAY:
MAIN_L0:   MOV    R3,#10
MAIN_L1:   MOV    R7,#60
MAIN_L2:   MOV    R6,#0
MAIN_L3:   MOV    R5,#0
           DJNZ   R5,$
    DJNZ   R6,MAIN_L3
       DJNZ   R7,MAIN_L2
    DJNZ   R3,MAIN_L1
       ret
end
 楼主| lxintian 发表于 2009-9-8 17:36 | 显示全部楼层
发送数据部分程序有问题吗,还是哪里设置的不对?
不爱说话 发表于 2009-9-9 08:22 | 显示全部楼层
你发的是二进制数的0~15,而一般串口调试程序默认显示的是ASCII数据,你把串口调试工具改为显示二进制数(或者叫hex显示)再看看。
 楼主| lxintian 发表于 2009-9-9 09:53 | 显示全部楼层
终于有人答复了,谢谢3楼的。HEX是十六进制吧,那只是显示方式不同,并不影响显示的正确与否,是这样吧?
 楼主| lxintian 发表于 2009-9-9 10:04 | 显示全部楼层
我在用伟福单步运行的时候发现程序执行MOV     SBUF,A后,并没有把A中的数据给SBUF,这是怎么回事呢,程序无正常输出与这有关系吗?
不爱说话 发表于 2009-9-9 13:17 | 显示全部楼层
对,只是显示的方式不同。
我没用过仿真器,不知道单步运行和正常执行有什么区别。
 楼主| lxintian 发表于 2009-9-9 15:09 | 显示全部楼层
谢谢了,今天一天还没有什么进展真是愁死我了
 楼主| lxintian 发表于 2009-9-12 17:27 | 显示全部楼层
太冷清了
hng1123 发表于 2009-9-12 17:32 | 显示全部楼层
我想要些C语言的程序,拜托了。
 楼主| lxintian 发表于 2009-9-15 12:34 | 显示全部楼层
不好意思我用的汇编,不过从网上搜的大部分都是C程序呀,你应该可以找到的!
补充一句我的问题已经解决了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

74

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

4

主题

74

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部