99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

一個單片機(jī)與PC機(jī)通信的程序

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

掃碼添加小助手

加入工程師交流群

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

1. PC機(jī)編程

PC采用Toubr C 進(jìn)行編寫。程序如下:

#include《stdio.h》

#define port 0x3f8 /*利用串口1進(jìn)行通信*/

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); /*準(zhǔn)備設(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)寄存器,使其復(fù)位*/

{

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

c=getchar();

switch(c)

{

case ’s’:

case ’S’:

{

while(!(inportb(port+5)&0x20)); /*發(fā)送保持器滿則等待*/

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

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

{

a=b[i];

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

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

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

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

while(?。╥nport(port+5)&1)); /*接收單片機(jī)送回的數(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(?。╥nportb(port+5)&0x20));

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

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

{

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

ch[j]=inportb(port);

}

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

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

getch();

break;

}

}

}

}

2. 單片機(jī)與PC機(jī)通信之單片機(jī)程序

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機(jī)命令

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機(jī)

GOTO LOOPTX

MOVF COUNT,0

MOVWF INDF

INCF FSR

DECFSZ TEMP

GOTO WAIT1

GOTO OVER ;處理完畢

TXW MOVLW 0X09 ;向PC機(jī)發(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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44992

    瀏覽量

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

    關(guān)注

    34

    文章

    1640

    瀏覽量

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

    關(guān)注

    2

    文章

    313

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    pc計算機(jī)與單片機(jī)串口通信源程序

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

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

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

    51單片機(jī)PC串口通信程序

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

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

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

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

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

    PC單片機(jī)串口通信_labview程序案例

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

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

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

    機(jī)通信單片機(jī)pc

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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