Re: 請問一下PIC16F87 & 16C 系列指令
|
||||
---|---|---|---|---|
版主
|
找一本比較厚的 data Sheet (PIC16F877A 之類的) 就有詳細的指令說明,或到重慶南路如儒林書局、天龍書局找16F877的中文書。
PIC16F877 Data Sheet Microchip 台北有很多, 有空過來拿吧! 免費的。
發表於: 2004/10/20 11:35
|
|||
|
Re: 關於I2C ACK問題
|
||||
---|---|---|---|---|
版主
|
你的問題說明的不是很清楚,不過我在對 I2C 作業之前都會去先 Check I2C 的 Bus 是否 Idle, 如果 Bus沒有Ready 就表示 Slave有人咬住 Bus, 這時是可以用 I/O 的方式送出一些 clock讓 slave 放開 bus 並利用 I/O 模式檢查 Bus 是否都變 Hi。
底下是 Microchip 所寫的測試 Bus Idle 的方式,詳細情形請參 I2C SSPSTAT register 裡 R/W bit的用法。 #include <i2c.h> /******************************************************************** * Function Name: IdleI2C * * Return Value: void * * Parameters: void * * Description: Test and wait until I2C module is idle. * ********************************************************************/ #undef IdleI2C void IdleI2C( void ) { while ( ( SSPCON2 & 0x1F ) | ( SSPSTATbits.R_W ) ) continue; }
發表於: 2004/10/20 11:07
|
|||
|
Re: 有關組合語言中的巨集
|
||||
---|---|---|---|---|
版主
|
16bit+1可以試試底下的方法:
INFSNZ Var_L ; When Var_L +1 =0 then Var_H+1 INCF Var_H
發表於: 2004/10/20 10:09
|
|||
|
Re: 關於 Mcc18 陣列宣告
|
||||
---|---|---|---|---|
版主
|
發表於: 2004/10/19 18:28
|
|||
|
Re: 我想買幾顆 12Fxxx系列的 chip 來試用
|
||||
---|---|---|---|---|
版主
|
哪一個編號,我寄給你。
請來電 0800-717-718 找 Mr.Yang
發表於: 2004/10/18 18:06
|
|||
|
Re: ADC (16C73) 輸出問題
|
||||
---|---|---|---|---|
版主
|
255 x 16=4096,就可以顯示四位數。
將AD值向左移四位(x16),變成 16 bit 的整數型態就可以了。
發表於: 2004/10/18 18:04
|
|||
|
Re: 使用3.3V電壓可用ICD2 debug 卻無法program
|
||||
---|---|---|---|---|
版主
|
你是用 AP001的版子,那就必須先將 U2 (MCP130) 的supervisor IC 拔掉,U2 在4.50V 以下就會 Reset。
發表於: 2004/10/15 16:32
|
|||
|
Re: 讀取eeprom問題.....非常感謝各位
|
||||
---|---|---|---|---|
版主
|
有沒有用示波器量過波形,EEPROM 有沒有回Ack信號?
有些 Debugger 單靠程式是不容易找出蟲子的。 建議先讀一下I2C的規範後,就會比較清楚I2C的Timing的意義。
發表於: 2004/10/15 16:24
|
|||
|
Re: 前辈帮忙!高手赐教!
|
||||
---|---|---|---|---|
版主
|
你說在 MPLAB IDE v6.x 看不到 C 的反匯編列印,不會呢!
我的都看的,如下所示: 我使用的版本是 Hi-Tech PICC v8.02 PL1 100: //********************************************* 101: // _ ______________________________ 102: // RS _>--<______________________________ 103: // _____ 104: // RW \_____________________________ 105: // __________________ 106: // E ____________/ \___ 107: // _____________ ______ 108: // DB _____________>--------------<______ 109: //*********************************************** 110: // Write Command to LCD module 111: // 112: void WriteCmdLCD( unsigned char LCD_CMD) 113: { 000598 1283 BCF 0x3, 0x5 114: 115: Temp_LCD_DATA = LCD_DATA ; 000599 1303 BCF 0x3, 0x6 00059A 00AA MOVWF 0x2a 00059B 0808 MOVF 0x8, W 116: 117: Temp_CMD = (LCD_CMD & 0xF0)>>4 ; // Send high nibble to LCD bus
發表於: 2004/10/15 16:04
|
|||
|