ROBOT & AI

首页 | 新闻 | 产品 | 竞赛 | 学苑 | 读书 | 硬件 | 软件 | 智能 | 制作 | 项目 | 资源 | 论坛
 您的位置:首页 >> 软件 >> 机器人编程 >> 正文
站内搜索:   

PC机与PIC单片机串行通讯的实现

来源:51mcu    字体:[ ]  2007-03-24

关键词:单片机通讯


3 PIC"C711单片机串行通讯的实现

  本文以单片机对温度传感器DSl820进行数据采集为例,实现单片机与PC机的通讯。限于篇幅,给出传送一个DSl820信号到串口的主要部分程序:

A2 EQU 2 //RA2接收数据端
A1 EQU 1 //RAl发送数据
RCVREG EQU 26
R-COUNT EQU 27 //接收数据计数器
T-COUNT EQU 28 //发送数据计数器
MSB EQU 7
NUM EQU 6B //设置下位机序号67
NUM-ADDR EQU 2A //存储本机号码的地址
SEN-CODE EQU 39 //传感器信号存放地址
MAIN CALL SUB-INIT //初始化程序
CALL SUB-REC //调用接收子程序
CALL SUB_ COMP //对接收的数据进行处理
CALL
SUB_TRANS //发送数据子程序
GOTO
EXIT
SUB_INITCLRF RA
BCF STATUS,RP0
MOVLW B'00001101' //初始化MOVWF
TRISA
MOVLW NUM
MOVWF NUM
RETURN
SUB-REC
RCVR BTFSCRA,A2 //检测起始位
GOTO RCVR // 未检测到
MOVL W2 //接收的数据位数
MOVWF R_COUN
R_NEXTCALL DELAY //调用延时程序
BCF STATUS,C
RRF RCVREG
BTFSC RA,A2
BSF RCVREG,MSB
CALL DELAY
DECFSZ R_COUNT
GOTO R_NEXT
RETURN
SUB_COMPMOVLW 6A
MOVWF CONT
MOVFCONT,W
XORWF NUM_ADDR,1 MOVLW
1 ;
ADDWF NUM_ADDR,1 DECFSZ
NUM-ADDR,1
GOTO EXIT
NOP
OVERNOP
RETURN
SUB_TRANSMOVLW 3 //发送的数据位数
MOVWF T_ COUNT
MOVLW 2A
MOVWF SEN_CODE
BCF RA,A1 //设置发送起始位0
T_NEXTCALL DELAY
RRF SEN_CODE
BTFSC STATUS,C
BSF RA,A1 //发送数据位"1"
BTFSS STATUS,C
BCF RA,A1 //发送数据位"0"
DECFS2T_COUNT
GOTO T_NEXT
CALL DELAY
BSF RA,A1 //发送停止位
RETURN
EXITNOP
END

4 结 语

本文所论述的通讯方法曾在对气体传感的在线检测中应用,由于DSl820为数字传感器,因此利用单片机可直接对 DSl820操作,将温度值存储在单片机通用寄存器中,通过VC调用WinAPI函数对串口读写,可将温度值及气体传感器信号采集到PC机界面,从而实现对气体传感器在不同温度值下的在线检测。实践证明,利用VC开发通讯系统,从底层到上层直接面向用户,具有很强的调试功能,采用文中所述的方式构建的通讯在线检测系统工作稳定,数据传输可靠。

3页 上一页 [1] [2] [3] 

录入: 点击:

[发表评论] [打印文章] [关闭窗口]  

原创文章属本站所有,转载请注明来源:Robotain.com  
相关文章

 网友评论(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

发表评论 昵称:

  

  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
最新推荐
热门文章
论坛精华
网站简介设为首页 加入收藏在线留言友情链接联系我们 - 广告服务 - 版权申明

Copyright © Robotain.com  all rights reserved  浙ICP备07003355号

版权所有 机器与智能网