11353|10

7

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

【求助】单片机与PC机之间的串口通讯 [复制链接]

采用查询的工作方式,编制一个串口通讯程序,实现单片机和PC机之间的串口通讯,其中PC机数据的发送和接收采用超级终端来执行。要求:超级终端发送16个字符给单片机,放在以30H开始的内存单元中;单片机接收成功后,将这16个字符回送给超级终端,每回送一个字符蜂鸣器叫一声。通讯波特率为9600bps
不知道是什么问题,超级终端显示的和键盘输入的字符都不一样..而且键盘输入同一个字符16次,超级终端上显示的字符都不一样..请高人指点
       ORG 0000H
       SJMP MAIN
       ORG 0050H
       COMMAND_8255 EQU 3FFFH
       C_8255  EQU 3FFEH
MAIN:
       CLR EA   ;中断屏蔽(强行执行片外程序存储器中的程序)
       MOV SCON, #50H  ;串口以方式1工作
       MOV PCON, #00H  ;SMOD=0
       MOV TMOD, #20H  ;定时器T1初始化位方式2
       MOV TH1, #0FBH  ;T1初值
       MOV TL1, #0FBH
       MOV R1, #30H  ;数据存放的起始单元
       MOV R0, #10H
       SETB TR1   ;启动定时器T1
LOOPR:
       JBC RI, LOOPRR  ;判断接受中断标志
       SJMP LOOPR
LOOPRR:
       MOV A, SBUF  ;接收数据
       MOV @R1, A
       INC R1
       DJNZ R0, LOOPR  ;判断是否接收完成
       CLR TI
       MOV A, #0DH  ;发送回车符
       MOV SBUF, A
LP:
       JBC TI, LOOPSS  ;准备发送数据
       SJMP LP
LOOPSS:
       MOV R0, #10H  ;设置要发送数据的个数
       MOV R1, #30H  ;设置要发送数据的首地址
LOOPS:
       CLR TI   ;清发送中断标志
       MOV A, @R1
       INC R1
       MOV SBUF, A  ;发送
LOOP:
       JBC TI, RING  ;发送成功则蜂鸣器鸣叫一声
       SJMP LOOP
RING: 
       MOV DPTR, #COMMAND_8255 ;蜂鸣器鸣叫子程序
       MOV A, #10000000B
       MOVX @DPTR, A
       MOV A, #0FFH
       MOV DPTR, #C_8255
       MOVX @DPTR, A
       ACALL DELAY
       MOV A, #00H
       MOVX @DPTR, A
       ACALL DELAY
       DJNZ R0, LOOPS  ;判断是否发送完成
       MOV A, #0DH  ;发送回车符
       MOV SBUF, A
       SJMP END0
       DELAY:
       MOV R7, #0FFH  ;延时子程序
DELAY1:
       MOV R6, #0F0H
DELAY2:
       DJNZ R6, DELAY2
       DJNZ R7, DELAY1
       RET
END0:
       SJMP END0
       END
此帖出自单片机论坛

最新回复

波特率问题~~!用多少晶振的你???12M的话建议拨特率改低  详情 回复 发表于 2009-4-8 18:08
点赞 关注
 

回复
举报

92

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

Re: 【求助】单片机与PC机之间的串口通讯

一个建议,才采用查询的方式很慢,不如用中断
此帖出自单片机论坛
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

Re: 【求助】单片机与PC机之间的串口通讯

中断?能详细些吗?俺新手=.=
此帖出自单片机论坛
 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(初级)

4
 

Re: 【求助】单片机与PC机之间的串口通讯

我没有办法很详细的说,我要工作,但是我可以告诉你,你的系统中有显示,有键盘,但是程序中我只看到数据的传输过程,键盘扫描呢?你再好好在网上查些资料,找些相关的显示和键盘的源程序做一下参考。
此帖出自单片机论坛
 
 
 

回复

1759

帖子

0

TA的资源

裸片初长成(高级)

5
 

Re: 【求助】单片机与PC机之间的串口通讯

中断好 中断妙 中断用起来瓜瓜叫
此帖出自单片机论坛
 
个人签名南京璞晓电子   www.cpx0.com需要
msn:njlianjian@hotmail.com
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

6
 

Re: 【求助】单片机与PC机之间的串口通讯

好吧 非常感谢!~
此帖出自单片机论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

7
 

Re: 【求助】单片机与PC机之间的串口通讯

新手,准备拿程序好好研究下。
此帖出自单片机论坛
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

8
 

Re: 【求助】单片机与PC机之间的串口通讯

用外部中断怎么样啊?
此帖出自单片机论坛
 
 
 

回复

1759

帖子

0

TA的资源

裸片初长成(高级)

9
 

Re: 【求助】单片机与PC机之间的串口通讯

也可以 最好用串口中断
此帖出自单片机论坛
 
个人签名南京璞晓电子   www.cpx0.com需要
msn:njlianjian@hotmail.com
 
 

回复

9

帖子

0

TA的资源

一粒金砂(初级)

10
 

Re: 【求助】单片机与PC机之间的串口通讯

波特率问题~~!用多少晶振的你???12M的话建议拨特率改低
此帖出自单片机论坛
 
 
 

回复

59

帖子

0

TA的资源

纯净的硅(中级)

11
 

Re: 【求助】单片机与PC机之间的串口通讯

波特率问题~~!用多少晶振的你???12M的话建议拨特率改低
此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表