一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一個單片機與PC機通信的程序

Wildesbeast ? 來源:單片機教程網(wǎng) ? 作者:單片機教程網(wǎng) ? 2020-09-06 11:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下面是一個單片機與PC機通信的程序,pc機程序用c語言來編寫

1. PC機編程

PC采用Toubr C 進行編寫。程序如下:

#include《stdio.h》

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

int ch[15];

main ()

{

int a;

int i,j;

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

char c;

clrscr();

outportb(port+3,0x80); /*準備設(shè)置波特率*/

outportb(port,0x0C); /*波特率設(shè)置為9 600 bps*/

outportb(port+1,0x00);

outportb(port+3,0x03); /*8位數(shù)據(jù)位,奇偶檢驗,1位停止位*/

outportb(port+1,0x00); /*關(guān)中斷*/

inportb(port+5); /*讀一次線路狀態(tài)寄存器,使其復位*/

{

printf(“ send data or receive data: (s or r?) ”);

c=getchar();

switch(c)

{

case ’s’:

case ’S’:

{

while(?。╥nportb(port+5)&0x20)); /*發(fā)送保持器滿則等待*/

outportb(port,0x01); /*否則發(fā)送數(shù)據(jù)01通知單片機準備接收*/

for(i=0;i《6;i++) /*共發(fā)送6個數(shù)據(jù)*/

{

a=b[i];

while(?。╥nportb(port+5)&0x20))

delay(100); /*發(fā)送保持器滿,等待*/

outportb(port,a); /*發(fā)送a*/

printf(“%d ”,a); /*顯示a*/

while(?。╥nport(port+5)&1)); /*接收單片機送回的數(shù)據(jù)*/

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

}

delay(10);

for(j=0;j《8;j++) /*顯示接收的回送數(shù)據(jù)*/

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

getch();

break;

}

case’r’: /*接收數(shù)據(jù)*/

case’R’:

{

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

outportb(port,0x02); /*發(fā)送數(shù)據(jù)02通知單片機發(fā)送數(shù)據(jù)*/

for(j=0;j《9;j++) /*共接收9個數(shù)據(jù)*/

{

while(?。╥nportb(port+5)&1));

ch[j]=inportb(port);

}

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

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

getch();

break;

}

}

}

}

2. 單片機與PC機通信之單片機程序

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 ;波特率設(shè)置為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 ;發(fā)送允許

BCF STATUS,RP0

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

GOTO WAIT

MOVF RCREG,0

MOVWF TEMP

MOVWF INDF

INCF FSR

DECFSZ TEMP ;接收到的數(shù)據(jù)為1,則接收

GOTO TXW ;否則發(fā)送數(shù)據(jù)

MOVLW 0X06

MOVWF TEMP

WAIT1 BTFSS PIR1,RCIF ;接收一個數(shù)據(jù)

GOTO WAIT1

MOVF RCREG,0

MOVWF COUNT

MOVWF TXREG

LOOPTX BTFSS PIR1,TXIF ;將接收到的數(shù)據(jù)送回PC機

GOTO LOOPTX

MOVF COUNT,0

MOVWF INDF

INCF FSR

DECFSZ TEMP

GOTO WAIT1

GOTO OVER ;處理完畢

TXW MOVLW 0X09 ;向PC機發(fā)送9個數(shù)據(jù)

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 ;通信任務(wù)完成,關(guān)接受和發(fā)送允許

BSF STATUS,RP0

BCF TXSTA,TXEN

BCF STATUS,RP0

CALL LED ;調(diào)用顯示子程序,將發(fā)送(或接收)的數(shù)據(jù)顯示出來

END ;程序完

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6067

    文章

    44992

    瀏覽量

    650593
  • 串口通信
    +關(guān)注

    關(guān)注

    34

    文章

    1640

    瀏覽量

    56823
  • 波特率
    +關(guān)注

    關(guān)注

    2

    文章

    313

    瀏覽量

    34961
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    pc計算機與單片機串口通信源程序

    pc計算機與單片機串口通信源程序 下面是單片機PC
    發(fā)表于 03-06 14:51 ?5882次閱讀

    PC單片機通信應(yīng)用

    本文是關(guān)于計算機與單片機通信實驗的應(yīng)用。主要包括實驗原理闡述、硬件電路圖、源程序等 目錄: 1、單片機串口通信的應(yīng)用 2、
    發(fā)表于 08-20 10:33 ?7326次閱讀
    <b class='flag-5'>PC</b><b class='flag-5'>機</b>與<b class='flag-5'>單片機</b><b class='flag-5'>通信</b>應(yīng)用

    51單片機PC串口通信程序

    51單片機PC串口通信程序。
    發(fā)表于 12-24 11:30 ?40次下載

    PC單片機串口通信程序設(shè)計

    【LabVIEW從入門到精通】5.2.4.2 PC單片機串口通信程序設(shè)計
    發(fā)表于 01-08 15:47 ?0次下載

    PC單片機串口通信程序設(shè)計.zip

    【LabVIEW從入門到精通】5.2.4.4 PC單片機串口通信程序設(shè)計
    發(fā)表于 01-08 15:48 ?0次下載

    PC單片機串口通信_labview程序案例

    程序案例 PC單片機串口通信,喜歡的朋友可以下載來學習。
    發(fā)表于 01-12 15:38 ?111次下載

    PC單片機串口通信【多種任務(wù)程序集合】_程序案例

    程序案例 PC單片機串口通信【多種任務(wù)程序集合】
    發(fā)表于 01-13 16:22 ?33次下載

    通信單片機pc

    通信單片機pc
    發(fā)表于 11-04 11:38 ?7次下載

    單片機PC串口通信程序及電路圖詳解

    單片機pc串口通信程序及電路圖
    的頭像 發(fā)表于 10-14 10:28 ?1.6w次閱讀
    <b class='flag-5'>單片機</b>與<b class='flag-5'>PC</b>串口<b class='flag-5'>通信</b>的<b class='flag-5'>程序</b>及電路圖詳解

    PC單片機如何通信程序和IC卡讀寫應(yīng)用程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是PC單片機如何通信程序和IC卡讀寫應(yīng)用程序免費下載。
    發(fā)表于 10-25 08:00 ?9次下載

    如何實現(xiàn)ATMEGA16單片機PC通信

    ATMEGA16與PC通信實驗1//PC發(fā)送一個字符給
    發(fā)表于 12-14 15:14 ?1670次閱讀

    單片機通信與控制應(yīng)用編程實例的實例源程序免費下載

    設(shè)計_單片機單片機串口通信,使用查詢方式C51程序設(shè)計_
    發(fā)表于 09-11 08:00 ?48次下載
    <b class='flag-5'>單片機</b><b class='flag-5'>通信</b>與控制應(yīng)用編程實例的實例源<b class='flag-5'>程序</b>免費下載

    單片機實現(xiàn)多通信的資料和程序

    單片機通信過程中,PC將指令打包后發(fā)給智能接口單元(以下簡稱主單片機)。主
    的頭像 發(fā)表于 09-06 11:27 ?8165次閱讀

    使用Labview實現(xiàn)PC通信單片機測控源程序的合集免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用Labview實現(xiàn)PC通信單片機測控源程序的合集免費下載包括了:網(wǎng)絡(luò)通信,
    發(fā)表于 11-23 08:00 ?24次下載

    實現(xiàn)PC單片機雙向通信的C語言程序設(shè)計實例免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用單片機實現(xiàn)PC單片機雙向通信的C語言程序設(shè)計實例免費下載。
    發(fā)表于 03-30 15:52 ?27次下載