PIC单片机与PC机的通信设计

发布者:机器人总动员最新更新时间:2020-01-07 来源: eefocus关键字:PIC单片机  PC机  通信设计 手机看文章 扫描二维码
随时随地手机看文章

1. PC机编程

PC采用Toubr C 进行编写。程序如下:

#include

#define port 0x3f8 /*利用串口1进行通信*/

int ch[15];

main ()

{

int a;

int i,j;

int b[6]={88,15,38,26,20,0};

char c;

PIC单片机与PC机的通信设计

clrscr();

outportb(port 3,0x80); /*准备设置波特率*/

outportb(port,0x0C); /*波特率设置为9 600 bps*/

outportb(port 1,0x00);

outportb(port 3,0x03); /*8位数据位,奇偶检验,1位停止位*/

outportb(port 1,0x00); /*关中断*/

inportb(port 5); /*读一次线路状态寄存器,使其复位*/

{

printf(“ttsend dataorreceive data: (sorr?)nnn”);

c=getchar();

switch(c)

{

case ’s’:

case ’S’:

{

while(!(inportb(port 5)&0x20)); /*发送保持器满则等待*/

outportb(port,0x01); /*否则发送数据01通知 单片机 准备接收*/

for(i=0;i《6;i ) /*共发送6个数据*/

{

a=b[i];

while(!(inportb(port 5)&0x20))

delay(100); /*发送保持器满,等待*/

outportb(port,a); /*发送a*/

printf(“%dn”,a); /*显示a*/

while(!(inport(port 5)&1)); /*接收 单片机 送回的数据*/

ch[i]=inport(port); /*保存*/

}

delay(10);

for(j=0;j《8;j ) /*显示接收的回送数据*/

printf(“n%dn”,ch[j]);

getch();

break;

}

case’r’: /*接收数据*/

case’R’:

{

while(!(inportb(port 5)&0x20));

outportb(port,0x02); /*发送数据02通知 单片机 发送数据*/

for(j=0;j《9;j ) /*共接收9个数据*/

{

while(!(inportb(port 5)&1));

ch[j]=inportb(port);

}

for(j=0;j《9;j )

printf(“n %dn”,ch[j]);

getch();

break;

}

}

}

}

2. 单片机 编程

LIST P=16F876

#INCLUDE P16F876.INC

CBLOCK 0X24

COUNT

TEMP

ENDC

ORG 0X0000

NOP

START GOTO MAIN

ORG 0X020

MAIN MOVLW 0X30 ;将RAM单元初始化

MOVWF FSR

BCF STATUS,RP0

MOVLW 0X22

MOVWF COUNT

INTRAM MOVF COUNT,0

MOVWF INDF

INCF COUNT,1

INCF FSR,1

BTFSS FSR,7

GOTO INTRAM

BANKSEL TXSTA ;波特率设置为9 600 bps

MOVLW 0X19

MOVWF SPBRG ;异步高速方式

MOVLW 0X04

MOVWF TXSTA

BCF STATUS,RP0

MOVLW 0X80 ;串行口使能

MOVWF RCSTA

MOVLW 0X30

MOVWF FSR

BSF RCSTA,CREN ;接收允许

BSF STATUS,RP0

BSF TXSTA,TXEN ;发送允许

BCF STATUS,RP0

WAIT BTFSS PIR1,RCIF ;接收PC机命令

GOTO WAIT

MOVF RCREG,0

MOVWF TEMP

MOVWF INDF

INCF FSR

DECFSZ TEMP ;接收到的数据为1,则接收

GOTO TXW ;否则发送数据

MOVLW 0X06

MOVWF TEMP

WAIT1 BTFSS PIR1,RCIF ;接收一个数据

GOTO WAIT1

MOVF RCREG,0

MOVWF COUNT

MOVWF TXREG

LOOPTX BTFSS PIR1,TXIF ;将接收到的数据送回PC机

GOTO LOOPTX

MOVF COUNT,0

MOVWF INDF

INCF FSR

DECFSZ TEMP

GOTO WAIT1

GOTO OVER ;处理完毕

TXW MOVLW 0X09 ;向PC机发送9个数据

MOVWF TEMP

MOVLW 0X30

MOVWF FSR

TXW0 MOVF INDF,0

MOVWF TXREG

INCF FSR

TXW1 BTFSS PIR1,TXIF

GOTO TXW1

DECFSZ TEMP

GOTO TXW0

OVER BCF RCSTA,CREN ;通信任务完成,关接受和发送允许

BSF STATUS,RP0

BCF TXSTA,TXEN

BCF STATUS,RP0

CALL LED ;调用显示子程序,将发送(或接收)的数据显示出来

END ;程序完

关键字:PIC单片机  PC机  通信设计 引用地址:PIC单片机与PC机的通信设计

上一篇:PIC单片机TIMER0实现流水灯的自动控制设计
下一篇:PIC单片机双机同步通信设计

推荐阅读最新更新时间:2024-11-09 10:51

采用嵌入式芯片和Zigbee通信芯片设计停车诱导系统
为降低城市级停车诱导系统的建设、运营成本,提出一种无需建立管理控制中心的系统架构,采用LPC11C14和CC2530作为核心芯片设计了系统中的重要组成部分--区域性Zigbee网络。通过所开发出的测试系统的实验,表明该Zigbee网络可准确接收用户手机发出的停车请求,并能根据停车场内车位状态向用户反馈最佳车位信息,从用户发送请求到收到反馈信息的时间不超过10s。 停车诱导系统是一种以多级信息发布为载体,可实时地提供停车场的位置、车位数、车位状态等信息,指引驾驶员有效停车的信息系统。根据覆盖范围的大小,停车诱导系统一般又可分为城市级和停车场级两种。为节约城市级停车诱导系统的建设及运营成本,本文提出一种无需建立管理控制中心的系统架
[单片机]
采用嵌入式芯片和Zigbee<font color='red'>通信</font>芯片<font color='red'>设计</font>停车诱导系统
STM32单片机的TEA加密通信设计
环境: 主机:WIN7 开发环境:MDK4.72 单片机:STM32 说明: 在项目中单片机会与服务器进行网络通讯。需要对通讯加密,我选择了TEA加密算法。 *说明:TEA加密解密算法 *TEA(TinyEncryptionAlgorithm)是一种简单高效的加密算法,以加密解密速度快, *实现简单著称。 *算法很简单,TEA算法每一次可以操作64-bit(8-byte),采用128-bit(16-byte)作为key, *算法采用迭代的形式, *推荐的迭代轮数是64轮,最少32轮。 **********************************************************************
[单片机]
基于Linux的S3C2410串行通信设计
ARM ADS全称为ARM Developer suite(ARM开发套件)。ADS的C++odeWarrior集成开发环境(IDE)是基于Metrowerks CodeWarrior IDE4.2版本的,经过适当的裁剪以支持ADS工具链,为管理和开发项目提供了简单多样化的图形用户界面,用户可以使用ADS的CodeWarrior IDE为ARM和Thumb处理器开发用C、C++或ARM汇编语言的程序代码,缩短了用户开发项目代码的周期。ADS中包括3个调试器:AXD(ARM ExtendedDebugger)、ARMSD(ARM Symbo l i c Debugger)、ADW/ADU(Appl icat ion Debugger
[单片机]
基于Linux的S3C2410串行<font color='red'>通信</font><font color='red'>设计</font>
基于AT89C51单片机的双向通信FSK系统设计与实现
采用抗干扰能力比较强的FSK技术构成感应通信系统,利用耦合线圈来实现钻杆之间的无线通信,钻杆内部采用同轴电缆传输信息,这样可以获得较高的数据比特率。本文以AT89C51单片机为控制系统,设计了一套可以实现双向通信的FSK系统,并测试了该系统的可靠性以及误码率。 石油、天然气是人类赖以生存的自然资源,在钻井开采过程中需要对井下高温、高压的环境进行实时的了解,所以对信号传输的实时性要求很高。但是井下的环境恶劣,通信系统里存在各种干扰,所以设计一套既能抗干扰、又能以较快的波特率传输信号的系统对这类作业来说至关重要。本文以AT89C51单片机为控制器,XR2206和XR22111分别为FSK调制解调芯片,在实验室搭建并模拟了整个通信过
[单片机]
基于AT89C51单片机的双向<font color='red'>通信</font>FSK系统<font color='red'>设计</font>与实现
基于89C51单片机和VB5.0实现通信和数据管理系统软件的设计
1.引言 随着通信技术的不断发展,计算机网络系统通信是当今技术发展的一个重要的方向,然而在网络系统中利用现有电话网作为通信信道则是最经济、最方便和最可靠的方法。当前现代电话通信网已经进入程控交换时代,技术比较先进,速度快,容量大,因此采用电话通信网建立数据通信系统确实具有其独特的优越性。 利用单片机系统采集灌区水位、水流量,实现无人职守和科学的管理水资源具有实际意义,特别对少雨缺水地区更具有应用价值。 2.系统硬件设计 本系统采用了MODEM将前端单片机采集的数据通过电话网远程传输到中心站PC机,并实现一对多点通信(站点数、通信距离均不限),后台PC机通过拨号的方式对各站点进行数据接收并实时存储记录、查询、打印。系统框图如
[单片机]
基于89C51单片机和VB5.0实现<font color='red'>通信</font>和数据管理系统软件的<font color='red'>设计</font>
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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