PIC單片機(jī)雙機(jī)異步通信程序
出處:wellic 發(fā)布于:2008-08-19 09:59:26
pic單片機(jī)雙機(jī)異步通信(dhd0)
1 單片機(jī)PIC1編程(發(fā)送部分)
#include <pic.h>
/*該程序?qū)崿F(xiàn)單片機(jī)雙機(jī)異步通信功能,該程序是發(fā)送部分*/
unsigned char tran[8]; /*定義一個(gè)數(shù)組存儲(chǔ)發(fā)送數(shù)據(jù)*/
unsigned char k,data; /*定義通用寄存器*/
const char table[20]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,
0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x7f,0xbf,0x89,0xff};
/*不帶小數(shù)點(diǎn)的顯示段碼表*/
/*spi顯示初始化子程序*/
void SPIINIT()
{
PIR1=0;
SSPCON=0x30;
SSPSTAT=0xC0;
/*設(shè)置SPI的控制方式,允許SSP方式,并且時(shí)鐘下降沿發(fā)送,與"74HC595,當(dāng)其
*SCLK從低到高跳變時(shí),串行輸入寄存器"的特點(diǎn)相對(duì)應(yīng)*/
TRISC=0xD7; /*SDO引腳為輸出,SCK引腳為輸出*/
TRISA5=0; /*RA5引腳設(shè)置為輸出,以輸出顯示鎖存信號(hào)*/
}
/*給數(shù)組賦初值子程序 */
void fuzhi()
{
for(k=0;k<8;k ) {
tran[k]=k 3;
}
}
/*SCI部件初始化子程序*/
void sciint()
{
SPBRG=0X19; /*將傳輸?shù)牟ㄌ芈试O(shè)為約9 600位/秒*/
TXSTA=0X04; /*選擇異步高速方式傳輸8位數(shù)據(jù)*/
RCSTA=0X80; /*允許同步串行口工作*/
TRISC6=1;
TRISC7=1; /*將RC6、RC7設(shè)置為輸入方式,對(duì)外部呈高阻狀態(tài)*/
}
/*SPI傳輸數(shù)據(jù)子程序*/
void SPILED(data)
{
SSPBUF=data; /*啟動(dòng)發(fā)送*/
do {
;
}while(SSPIF==0);
SSPIF=0;
}
/*顯示子程序,顯示8位數(shù)*/
void display()
{
RA5=0; /*準(zhǔn)備鎖存*/
for(k=0;k<8;k ) {
data=tran[k];
data=table[data]; /*查得顯示的段碼*/
SPILED(data); /*發(fā)送顯示段碼*/
}
RA5=1; /*給一個(gè)鎖存信號(hào),代表顯示任務(wù)完成*/
}
/*主程序*/
main()
{
SPIINIT();
fuzhi(); /*給數(shù)組賦初值*/
sciint(); /*SCI部件初始化*/
di(); /*中斷禁止*/
TXEN=1; /*發(fā)送允許*/
CREN=1; /*接收數(shù)據(jù)允許*/
for(k=0;k<8;k ){
TXREG=tran[k]; /*發(fā)出一個(gè)字符*/
while(1){
if(TXIF==1) break;
} /*等待寫入完成*/
while(1){
if(RCIF==1) break;/*若收到響應(yīng)字節(jié),則終止等待*/
}
RCREG=RCREG; /*讀響應(yīng)字節(jié),清RCIF*/
}
display(); /*顯示發(fā)送的數(shù)據(jù)*/
while(1){
;
}
}
2 單片機(jī)PIC2編程(接收部分)
#include <pic.h>
/*該程序?qū)崿F(xiàn)單片機(jī)雙機(jī)異步通信功能,該程序是接收部分,并把接收的數(shù)據(jù)顯示在8*個(gè)LED上*/
unsigned char rece[8];/*定義一個(gè)數(shù)組存儲(chǔ)接收數(shù)據(jù)*/
unsigned char k,data;/*定義通用寄存器*/
const char table[20]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
0XD8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x7f,0xbf,0x89,0xff};
/*不帶小數(shù)點(diǎn)的顯示段碼表*/
/*spi顯示初始化子程序*/
void SPIINIT()
{
;詳細(xì)語句見發(fā)送程序
}
/*SCI部件初始化子程序*/
void sciint()
{
SPBRG=0X19; /*波特率設(shè)置與PIC1相同,為約9 600位/秒*/
TXSTA=0X04; /*異步高速傳輸*/
RCSTA=0X80; /*串行口工作使能*/
TRISC6=1;
TRISC7=1; /*將RC6、RC7設(shè)置為輸入方式,對(duì)外部呈高阻狀態(tài)*/
}
/*SPI傳送數(shù)據(jù)子程序*/
void SPILED(data)
{
;詳細(xì)語句與見發(fā)送程序
}
/*顯示子程序,顯示4位數(shù)*/
void display()
{
RA5=0; /*準(zhǔn)備鎖存*/
for(k=0;k<8;k ){
data=rece[k];
data=table[data]; /*查得顯示的段碼*/
SPILED(data); /*發(fā)送顯示段碼*/
}
RA5=1; /*給一個(gè)鎖存信號(hào),代表顯示任務(wù)完成*/
}
/*主程序*/
main()
{
SPIINIT(); /*spi顯示初始化*/
sciint(); /*SCI部件初始化*/
di(); /*中斷禁止*/
CREN=1; /*接收允許*/
TXEN=1; /*發(fā)送允許*/
for(k=0;k<8;k ){
while(1){
if(RCIF==1) break;
} /*等待接收數(shù)據(jù)*/
rece[k]=RCREG; /*讀取接收數(shù)據(jù),同時(shí)清掉RCIF*/
TXREG=rece[k]; /*發(fā)送接收到的數(shù)據(jù)*/
while(1){
if(TXIF==1) break;
} /*等待寫入完成*/
}
display(); /*顯示接收的數(shù)據(jù)*/
while(1){
;
}
欲知詳情,請(qǐng)登錄維庫(kù)電子市場(chǎng)網(wǎng)(www.hbjingang.com)
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 單片機(jī)技術(shù)特性與嵌入式開發(fā)實(shí)踐指南2026/1/7 10:00:02
- 單片機(jī)(MCU)與數(shù)字信號(hào)處理器(DSP)分類及選型技術(shù)指南2025/12/30 10:02:37
- 工業(yè)級(jí)DSP信號(hào)處理系統(tǒng):硬件適配與抗干擾工程方案2025/12/15 14:41:00
- HOLTEK推出HT32F65533G/733G內(nèi)建N/N預(yù)驅(qū)電機(jī)專用SoC單片機(jī)2025/11/26 14:11:41
- 什么是C51數(shù)據(jù)類型擴(kuò)充定義2025/10/27 13:59:22
- PCB焊盤與過孔設(shè)計(jì)核心實(shí)操規(guī)范(含可焊性與可靠性保障)
- 汽車電子常用電子元器件選型指南
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)
- 高溫環(huán)境下電源IC選型建議
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法









