首页
基础教程 | 单片机设计实例 | 常用芯片 | 电子基础
当前位置:单片机教程 >> 单片机设计实例 >> 浏览文章 今天是:
单片机设计实例

RS-232接口实现计算机和单片机通信程序

作者:    来源:本站原创    点击数:   更新时间:2008年07月10日   
 

//此程序通过RS-232接口来完成计算机和单片机通信(程序已用p18f458试验板上调试通过)
//程序的调试可以用"串口调试助手V2.1"辅助完成,此程序可在http://www.51hei.com 下载
//此程序首先发送测试数据55H,再通过中断实现数据的接收和发送

#include "p18f458.h"

void InterruptHandlerHigh(void);

//初始化程序
void initial()
{
SPBRG=0X19; //选择传输波特率为9600bps
TXSTA=0X04; //选择异步高速方式传输8位数据
RCSTA=0X80; //允许同步串行口工作
TRISC=0X80; //将RC7,RC6设置为输入,断绝与外接电路的连接
TXSTAbits.TXEN=1; //发送允许
RCSTAbits.CREN=1; //接受数据允许
PIE1bits.RCIE=1; //接收中断使能
INTCON=0XC0; //总中断和外围中断允许
}

//高优先级中断向量
#pragma code InterruptVectorHigh=0x08
void InterruptVectorHigh (void)
{
_asm
goto InterruptHandlerHigh //跳到中断程
_endasm
}

//高优先级中断服务程序
#pragma code
#pragma interrupt InterruptHandlerHigh
void InterruptHandlerHigh ()
{
while(PIR1bits.RCIF==1) //若接收中断标志不为1,则为误操作,返回
{
TXREG=RCREG; //将接收到的数据放入发送寄存器,并启动发送
}
}

//主程序
main()
{
initial(); //系统初始化
TXREG=0X55; //发送数据55H进行测试
for(;;);
}

------------------------------------------汇编语言版本的RS-232接口实现计算机和单片机通信程序------------

;此程序通过RS-232接口来完成计算机和单片机通讯(程序以在p18f458试验板上调通)
;本单片机程序由http://www.51hei.com提供
;此程序首先发送测试数据55H,再通过中断实现数据的接收和发送
;程序的调试可以用"串口调试助手V2.1"辅助完成

LIST P=18f458
INCLUDE "P18f458.INC"

ORG 0x00
GOTO MAIN
ORG 0x08
GOTO INTSERVE
ORG 0X30

;**************中断服务子程序***************
INTSERVE
BTFSS PIR1,RCIF ;接收中断标志为1?
GOTO ERR_RE ;误操作,返回
MOVF RCREG,0 ;否则,将接收到的数据通过W寄存器
MOVWF TXREG ;放入发送寄存器,并启动发送
ERR_RE NOP
RETFIE

;****************初始化程序***************
INITIAL NOP
MOVLW 0X19 ;选择传输波特率为9600bps
MOVWF SPBRG
MOVLW 0X04 ;选择异步高速方式传输8位数据
MOVWF TXSTA
MOVLW 0X80 ;允许同步串行口工作
MOVWF RCSTA
MOVLW 0X80 ;将RC7,RC6设置为输入,断绝与外接电路的连接
MOVWF TRISC
BSF TXSTA,TXEN ;发送允许
BSF RCSTA,CREN ;接受数据允许
BSF PIE1,RCIE ;接收中断使能
MOVLW 0XC0 ;总中断和外围中断允许
MOVWF INTCON
RETURN

;**********************主程序*********************
MAIN NOP
CLRWDT
CALL INITIAL
MOVLW 0X55 ;发送数据55H进行测试
MOVWF TXREG
LOOP
GOTO LOOP
END




 
发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口
网友评论(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
 >> 推荐文章
单片机USB-ISP下载线制作
自制单片机实验板
单片机一键多功能按键识别设
 >> 阅读排行
keil教程
单片机电子时钟设计
单片机DS18B20水温控制系统
单片机交通灯设计
单片机课程设计
单片机时钟设计
单片机数字钟设计
单片机键盘程序(4×4矩阵式
单片机串口通讯
单片机秒表设计
 >> 相关文章
51学习板4*4键盘的c51与汇编程序
51单片机实验板DS18B20测温程序
单片机控制机械手设计论文
51单片机可调数码钟
c8051f系列单片机应用介绍
stc单片机下载协议研究
单片机控制LED按1闪1秒按2闪10秒
基于8051单片机采用VP1410的工业
基于8051单片机采用VP1410的工业
关于单片机复位电路原理的争论

站长:刘兴国 站长信箱:372xcom1@21cn.com
单片机教程 @ www.51hei.com 2007-2008