微控制器和PC機之間的連線程式

2021-09-01 03:59:24 字數 2657 閱讀 4717

pc計算機與微控制器串列埠通訊源程式下面是乙個微控制器與pc機通訊的程式,pc機程式用c語言來編寫,微控制器程式用組合語言來編寫1.pc機程式設計pc採用toubrc進行編寫。程式如下:#include#defineport0x3f8/*利用串列埠1進行通訊*/intch[15];main();charc;clrscr();outportb(port+3,0x80);/*準備設定波特率*/outportb(port,0x0c);/*波特率設定為9600bps*/outportb(port+1,0x00);outportb(

pc計算機與微控制器串列埠通訊源程式

下面是乙個微控制器與pc機通訊的程式,pc機程式用c語言來編寫,微控制器程式用組合語言來編寫

1. pc機程式設計

pc採用toubr c 進行編寫。程式如下:

#include

#define port 0x3f8 /*利用串列埠1進行通訊*/

int ch[15];

main ()

;char c;

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); /*讀一次線路狀態暫存器,使其復位*/

delay(10);

for(j=0;j<8;j++) /*顯示接收的回送資料*/

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

getch();

break;

}case』r』: /*接收資料*/

case』r』:

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

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

getch();

break;}}

}}2. 微控制器與pc機通訊之微控制器程式

list p=16f876

#include p16f876.inc

cblock 0x24

count

temp

endc

org 0x0000

nopstart 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 ;程式完

微控制器中段程式 微控制器程式的存放

1 對於燒錄在微控制器裡面的程式,程式的 段,data段,bss段,rodata段等都存放在微控制器的flash中。當微控制器上電後,初始化彙編 將data段,bss段,複製到微控制器的ram中,並建立好堆疊,開始呼叫程式的main函式。以後,便有了程式儲存器和資料儲存器之分,程式執行時從flash...

微控制器中段程式 51微控制器中斷程式大全

例項 用定時器 t0查詢方式p2口 位控制led 閃爍 include 包含微控制器暫存器定義的標頭檔案 void main void ea 1 開總中斷 et0 1 定時器t0 中斷允許 tmod 0x01 使用定時器 t0的模式 th0 65536 46083 256 定時器t0 的高位賦初值 ...

PC端微控制器監視系統

我用的是串列埠傳輸,其實如果做成usb應該會更方便一點。我監視的點並不多,輸入16個,輸出16個,這樣我用了兩個16位變數就行了。uint16 t xstatus uint16 t ystatus 針對輸入的話我們可以直接讀,輸出呢?如果需要輸出的話就對ystatus進行位賦值,然後在乙個定時器1m...