|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
85c30的調(diào)試 |
| 作者:xfb79 欄目:通信技術(shù) |
void modem_write_register(uchar reg_num,uchar reg_value) { MODEM_CS=0;//選中85C30 MODEM_D=MODEM_COMMAND_ADD;//85C30.html">85C30工作于控制命令方式 P0=reg_num;//設(shè)定WR0中指針位,將指針指向進(jìn)行寫操作的寄存器 WR=0; WR=1; P0=0xff; P0=reg_value;//對寄存器進(jìn)行寫操作 WR=0; WR=1; P0=0xff; MODEM_CS=1;//斷開85C30 } uchar modem_read_register(uchar reg_num) { uchar TEMP; MODEM_CS=0;//選中85C30 MODEM_D=MODEM_COMMAND_ADD;//85C30.html">85C30工作于控制命令方式 P0=reg_num;//設(shè)定WR0中指針位,將指針指向進(jìn)行讀操作的寄存器 WR=0; WR=1; P0=0xff; RD=0; TEMP=P0;//對寄存器進(jìn)行讀操作 RD=1; MODEM_CS=1;//斷開85C30 return TEMP; } void rst_modem(void) { uchar i; i=P0;//DUMMY read i=P0;//DUMMY read modem_write_register(0x09,0xc0);//寫寄存器WR9,硬件復(fù)位 i=modem_read_register(0x00);//讀寄存器RR0 i=modem_read_register(0x01);//讀寄存器RR1 modem_write_register(0x02,0xa5);//寫寄存器WR2 i=modem_read_register(0x02);//讀寄存器RR2 if(i!=0xa5) TST_LED=1; else TST_LED=0;//燈亮,表示硬件復(fù)位成功 } void init_modem(void) { modem_write_register(0x09,0xc0);//寫寄存器WR9,硬件復(fù)位 modem_write_register(0x09,0x80);//寫寄存器WR9,通道A復(fù)位 modem_write_register(0x04,0x20);//寫寄存器WR4,設(shè)定為內(nèi)同步、SDLC模式 modem_write_register(0x01,0x00);//寫寄存器WR1,禁止所有中斷 modem_write_register(0x03,0xdc);//寫寄存器WR3,接收 8bits/Character ,Hunt Mode,使能RxCRC,地址搜索模式 modem_write_register(0x05,0x61);//寫寄存器WR5,發(fā)送 8bits/Character ,使能TxCRC modem_write_register(0x06,0x0f);//寫寄存器WR6,設(shè)定SDLC地址為0x0f modem_write_register(0x07,0x7e);//寫寄存器WR7,設(shè)定SDLC flag modem_write_register(0x0a,0x00);//寫寄存器WR10,設(shè)定為NRZ編碼模式、flag idle modem_write_register(0x09,0x02);//寫寄存器WR9,no vector modem_write_register(0x0b,0x08);//寫寄存器WR11,設(shè)定接收、發(fā)送時鐘源為RTXC、TRXC modem_write_register(0x09,0x40);//寫寄存器WR9,復(fù)位RxCRC modem_write_register(0x09,0x80);//寫寄存器WR9,復(fù)位TxCRC modem_write_register(0x00,0x10); modem_write_register(0x00,0x10); modem_write_register(0x0e,0x00); modem_write_register(0x0f,0x00); // modem_write_register(0x00,0x10); // modem_write_register(0x00,0x10); modem_write_register(0x03,0xdd);//寫寄存器WR3, 使能Rx modem_write_register(0x05,0x69);//寫寄存器WR5,使能Tx } 我采用8051+85C30.html">85C30,他們兩者之間的通信采用查詢方式。通過讀RR0,來接收和發(fā)送數(shù)據(jù)。有沒有誰對這個比較熟悉。給我一個參考,同時幫我看一下初始化有無問題。 |
| 2樓: | >>參與討論 |
| 作者: song9644 于 2006/4/21 8:51:00 發(fā)布:
85C30 * - 本貼最后修改時間:2006-4-21 8:59:10 修改者:song9644 |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |