新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 利用C164單片機(jī)設(shè)計自動攤鋪機(jī)通信模塊

利用C164單片機(jī)設(shè)計自動攤鋪機(jī)通信模塊

作者: 時間:2012-08-31 來源:網(wǎng)絡(luò) 收藏

下面為實(shí)現(xiàn)串口的通信程序:

#include

unsigned int a;

interrupt(0x2B) void S0RINT(void) //接收中斷服務(wù)子程序

{

a=S0RBUF; //將接收數(shù)據(jù)保存

}

void putchar(unsigned char tdata) //串行發(fā)送程序

{

while(!S0TBIR){;} //等待發(fā)送緩沖區(qū)清空

S0TBIR=0; //復(fù)位發(fā)送緩沖區(qū)中斷請求標(biāo)志

S0TBUF=tdata; //裝載發(fā)送緩沖寄存器

}

void ASC_vInit(void) //串行通信初始化

{

S0CON=0x8011; //定義控制寄存器:SOR=1;SOREM=1;串行方式1

S0BG=0x0040; //定義波特率9 600Bd

S0RIC=0x0062; //定義接收中斷控制寄存器

S0TBIC=0x0080; //定義發(fā)送緩沖控制寄存器

P3 |=0x0400; //定義P3.10引腳為輸出鎖存(TXD0)

DP3 |=0x0400; //定義P3.10方向控制(TXD0為輸出)

Dp3 =0xF7FF; //定義P3.11方向控制(RXD0為輸入)

IEN=1; //開中斷

}

void main(void)

{

……;

ASC_vInit(); //串口初始化

putchar(‘……’); //串行發(fā)送

……;

}

6.CAN總線通信軟件設(shè)計

6.1 CI的CAN模塊概述

CI的CAN模塊特點(diǎn)如下:

(1)遵循CAN V2.0B規(guī)定(符號標(biāo)準(zhǔn)和擴(kuò)展功能)。

(2)最大CAN通信速率為1MB/S。

(3)完全的CAN裝置:

l 15個信息體,帶有自己的識別器和狀態(tài)控制位;

l 每個信息體可以定義為發(fā)送或接收。

(4)通過在片內(nèi)部XBUS(16位獨(dú)立方式)與主CPU相連(C166-內(nèi)核)。

(5)接收濾波器用可編程屏蔽寄存器:

l 全域屏蔽輸入信息體(全CAN功能);

l 信息體15有附加屏蔽(基本CAN功能);

l 靈活的中斷事件控制;

l 帶有兩個接收緩沖器;

l 用自己的全域屏蔽寄存器進(jìn)行接接收濾波。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉