會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客



(1) 2 3 »


PIC16F877使用方法[驅動方式]
新會員
註冊日期:
4月21日 19:42:17
所屬群組:
註冊會員
文章: 18
等級: 2; EXP: 97
HP : 9 / 49
MP : 6 / 14
離線
#include<pic16f887.h>
void _sdcc_gsinit_startup(void)
{
__asm pagesel _main __endasm;
__asm goto _main __endasm;
}
void main(void)
{
ADCON1=0x06;
TRISA=0x00;
PORTA=0xFF;
}

各為大家好 我寫了一個範例code然後透過nopade++編輯使用sdcc compiler 編譯成HEX檔案 然後使用市面上購得的G540燒錄器燒錄
HEX檔案到單晶片完成。我想簡單測試IO是否可以工作 但發現異常
想請問問題是什麼有沒有人可以幫忙解決?
我的電路圖如附檔

附加檔案:



jpg  Schematic_pic16F877_Sheet-1_20180428100127.jpg (92.09 KB)
72914_5ae40c210b6a2.jpg 1169X827 px

4月28日 13:52:52
轉換PDF檔 列印


Re: PIC16F877使用方法[驅動方式]
資深會員
註冊日期:
2007/11/05 08:29
所屬群組:
註冊會員
文章: 229
等級: 14; EXP: 14
HP : 0 / 328
MP : 76 / 10134
離線
要用 digital I/O, 相對應的 ANSEL ANSELH 要設為 0 (因 reset 值為1)

另外 程式習慣上是像

void main(void)
{
setup(); // or init(); //起始化

while(1) loop(); //迴圈
}

4月28日 16:27:01
轉換PDF檔 列印


Re: PIC16F877使用方法[驅動方式]
新會員
註冊日期:
4月21日 19:42:17
所屬群組:
註冊會員
文章: 18
等級: 2; EXP: 97
HP : 9 / 49
MP : 6 / 14
離線
可以提供閃燈範例程式給我嗎?方便除錯感謝大大

4月28日 16:57:08
轉換PDF檔 列印


Re: PIC16F877使用方法[驅動方式]
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14314
等級: 72; EXP: 77
HP : 1076 / 1794
MP : 4771 / 73781
離線
Comfigurstion word 要設定,MCU 才會執行。

4月28日 22:36:37
轉換PDF檔 列印


Re: PIC16F877使用方法[驅動方式]
新會員
註冊日期:
4月21日 19:42:17
所屬群組:
註冊會員
文章: 18
等級: 2; EXP: 97
HP : 9 / 49
MP : 6 / 14
離線
請問要怎麼設置 我在這領域是很新的新手 可以教我嗎?

4月29日 01:00:42
轉換PDF檔 列印


Re: PIC16F877使用方法[驅動方式]
資深會員
註冊日期:
2007/11/05 08:29
所屬群組:
註冊會員
文章: 229
等級: 14; EXP: 14
HP : 0 / 328
MP : 76 / 10134
離線
如果你不嫌麻煩的話 可以安裝 MPLAB X 和 XC8

然後參考

http://ww1.microchip.com/downloads/en/DeviceDoc/50002173A.pdf

http://ww1.microchip.com/downloads/en/DeviceDoc/DS50002400B.pdf

另外下面這個手冊 雖然有點過時 但裡面的說明還是很值得參考 有組合語言 和 C 的範例

http://ww1.microchip.com/downloads/en/DeviceDoc/41628B.pdf

4月29日 02:34:32
轉換PDF檔 列印


Re: PIC16F877使用方法[驅動方式]
新會員
註冊日期:
4月21日 19:42:17
所屬群組:
註冊會員
文章: 18
等級: 2; EXP: 97
HP : 9 / 49
MP : 6 / 14
離線
但我已有編譯器sdcc可以編輯成hex檔案並透過G540燒錄器燒錄。

只是目前不知道什麼問題IO不能動作.......想請大家幫忙解決...

4月29日 08:59:33
轉換PDF檔 列印


Re: PIC16F877使用方法[驅動方式]
資深會員
註冊日期:
2007/11/05 08:29
所屬群組:
註冊會員
文章: 229
等級: 14; EXP: 14
HP : 0 / 328
MP : 76 / 10134
離線
SDCC 比較少人用... 你用 MPLAB X, XC8 編的 HEX 檔 應該也可以用你現在的燒錄器

基本上 已經回覆你了 你還缺 configuration words 的部分, 和 ANSEL 要設定

你可以參考 User Guide 找 "#pragma config"

http://mazsola.iit.uni-miskolc.hu/silabs/sdccman.pdf

另外參考 pic16f877.h 和 Datasheet

或 google "SDCC PIC16F877"...

4月29日 14:18:45
轉換PDF檔 列印


Re: PIC16F877使用方法[驅動方式]
新會員
註冊日期:
4月21日 19:42:17
所屬群組:
註冊會員
文章: 18
等級: 2; EXP: 97
HP : 9 / 49
MP : 6 / 14
離線
您好,我新修正的code,可以燒錄IO疑似也有動作 我不識很確定燒錄器是否燒錄正常。但IO維持高電為無閃爍想請問原因???

--------------------
#include<pic16f887.h>
#include<stdint.h>
static __code char __at (_CONFIG1) configword1=_FOSC_HS & _WDT_OFF & _MCLRE_ON;
void delay_ms(unsigned int a);
void _sdcc_gsinit_startup(void)
{
__asm pagesel _main __endasm;
__asm goto _main __endasm;
}
void main(void)
{
ADCON1=0x01;
TRISA=0x00;
TRISB=0x00;
while(1)
{
PORTA=0xFF;
PORTB=0xFF;
delay_ms(100);
PORTA=0x00;
PORTB=0x00;
delay_ms(1000);
}
}
void delay_ms(unsigned int a)
{
volatile int delay_ms_flag=0;
for(;a!=0;)
{
if(delay_ms_flag==0)
{
for(int i=0;i<=4000;i++)
delay_ms_flag=1;
}
else
{
a--;
delay_ms_flag=0;
}
}
}

4月29日 18:45:00
轉換PDF檔 列印


Re: PIC16F877使用方法[驅動方式]
資深會員
註冊日期:
2007/11/05 08:29
所屬群組:
註冊會員
文章: 229
等級: 14; EXP: 14
HP : 0 / 328
MP : 76 / 10134
離線
TRISA=0x00;
TRISB=0x00;
ANSEL=0x00; // 加這兩行試試
ANSELH=0x00;

4月29日 19:06:04
轉換PDF檔 列印



(1) 2 3 »



無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
2018 Winter Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project