Hướng dẫn Bắt Đầu với IO với PIC16f877a trên Mplab XC8

Hung Enter

Học sinh phổ thông
#31
Help me Mplab
hôm nay, 23:10

tình hình là em mới học vap trinh vi xu li pic 16f887a em thử biên dich chương trinh sau bằng hitech-C
//================================================== ======================
// KHAI BAO THU VIEN - CONFIG
//================================================== ======================
#include <htc.h>

__CONFIG(FOSC_HS & WDTE_OFF & PWRTE_ON & MCLRE_ON & LVP_OFF & DEBUG_OFF &
BOREN_OFF & CP_OFF & CPD_OFF & FCMEN_OFF & IESO_OFF);
__CONFIG(BOR4V_BOR21V);

#define _XTAL_FREQ 4000000

// MA LED 7 DOAN
unsigned char const ma_led[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xf8,0x80,0x9 0};
signed char dem = 0;

//------------------------------------------------------------------------
// CHUONG TRINH CHINH
//------------------------------------------------------------------------
void main(){
ANSEL=0; ANSELH=0; //cau hinh tat ca IO la digital
TRISB=0; PORTB=0xff; // PORTB la Output
TRISA=0; PORTA=0xff; // PORTA la Output
RA0 = 0; // bat led noi voi RA0

// vong lap vo han
while(1){
for(dem=9;dem>=0;dem--){
PORTB = ma_led[dem]; // xuat ma led ra portB
__delay_ms(1000); // delay 1s
}
}
}


nhưng khong thành công co báo lỗi thế này:
Make: The target "E:\MPLAB\main.p1" is out of date.
Executing: "C:\Program Files (x86)\HI-TECH Software\PICC\9.83\bin\picc.exe" --pass1 "E:\Mach Ung Dung\Tong hop code led MATRIX\LED7\LED7 (SINGLE)\main.c" -q --chip=16F877 -P --runtime=default --opt=default -D__DEBUG=1 -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"
Error [192] E:\Mach Ung Dung\Tong hop code led MATRIX\LED7\LED7 (SINGLE)\main.c; 20.1 undefined identifier "ANSEL"
Error [192] E:\Mach Ung Dung\Tong hop code led MATRIX\LED7\LED7 (SINGLE)\main.c; 20.10 undefined identifier "ANSELH"

********** Build failed! **********
Các anh giúp em với
 
#32
Help me Mplab
hôm nay, 23:10

tình hình là em mới học vap trinh vi xu li pic 16f887a em thử biên dich chương trinh sau bằng hitech-C
//================================================== ======================
// KHAI BAO THU VIEN - CONFIG
//================================================== ======================
#include <htc.h>

__CONFIG(FOSC_HS & WDTE_OFF & PWRTE_ON & MCLRE_ON & LVP_OFF & DEBUG_OFF &
BOREN_OFF & CP_OFF & CPD_OFF & FCMEN_OFF & IESO_OFF);
__CONFIG(BOR4V_BOR21V);

#define _XTAL_FREQ 4000000

// MA LED 7 DOAN
unsigned char const ma_led[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xf8,0x80,0x9 0};
signed char dem = 0;

//------------------------------------------------------------------------
// CHUONG TRINH CHINH
//------------------------------------------------------------------------
void main(){
ANSEL=0; ANSELH=0; //cau hinh tat ca IO la digital
TRISB=0; PORTB=0xff; // PORTB la Output
TRISA=0; PORTA=0xff; // PORTA la Output
RA0 = 0; // bat led noi voi RA0

// vong lap vo han
while(1){
for(dem=9;dem>=0;dem--){
PORTB = ma_led[dem]; // xuat ma led ra portB
__delay_ms(1000); // delay 1s
}
}
}


nhưng khong thành công co báo lỗi thế này:
Make: The target "E:\MPLAB\main.p1" is out of date.
Executing: "C:\Program Files (x86)\HI-TECH Software\PICC\9.83\bin\picc.exe" --pass1 "E:\Mach Ung Dung\Tong hop code led MATRIX\LED7\LED7 (SINGLE)\main.c" -q --chip=16F877 -P --runtime=default --opt=default -D__DEBUG=1 -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"
Error [192] E:\Mach Ung Dung\Tong hop code led MATRIX\LED7\LED7 (SINGLE)\main.c; 20.1 undefined identifier "ANSEL"
Error [192] E:\Mach Ung Dung\Tong hop code led MATRIX\LED7\LED7 (SINGLE)\main.c; 20.10 undefined identifier "ANSELH"

********** Build failed! **********
Các anh giúp em với

bạn bỏ dòng lệnh
ANSEL=0; ANSELH=0; //cau hinh tat ca IO la digital
nó báo là ANSEL và ANSELH chưa được định nghĩa
 

levantien123

Học sinh phổ thông
#33
có bác nào giải thích giúp e đoạn chương trình này với ạ. google hắn dich lng tung quá

// Print degree character, 'C' for Centigrades

Lcd_Chr(2,13,223); // Different LCD displays have different char code for degree
// If you see greek alpha letter try typing 178 instead of 223


Lcd_Chr(2,14,'C');

//--- Main loop
do {
//--- Perform temperature reading
Ow_Reset(&PORTE, 2); // Onewire reset signal
Ow_Write(&PORTE, 2, 0xCC); // Issue command SKIP_ROM
Ow_Write(&PORTE, 2, 0x44); // Issue command CONVERT_T
Delay_us(120);

Ow_Reset(&PORTE, 2);
Ow_Write(&PORTE, 2, 0xCC); // Issue command SKIP_ROM
Ow_Write(&PORTE, 2, 0xBE); // Issue command READ_SCRATCHPAD

temp = Ow_Read(&PORTE, 2);
temp = (Ow_Read(&PORTE, 2) << 8) + temp;

//--- Format and display result on Lcd
Display_Temperature(temp);
 

nguyenthedan

Học sinh trung cấp
#34
ko sử dụng thạch anh ngoại thì config thế nào vậy bạn, mà nếu config HS mà nếu ko lắp thạch anh thì lắp mạch thật có chạy ko?
 
#35
ko sử dụng thạch anh ngoại thì config thế nào vậy bạn, mà nếu config HS mà nếu ko lắp thạch anh thì lắp mạch thật có chạy ko?
1. EC – External clock with I/O on OSC2/CLKOUT.
2. LP – 32 kHz Low-Power Crystal mode.
3. XT – Medium Gain Crystal or Ceramic Resonator
Oscillator mode.
4. HS – High Gain Crystal or Ceramic Resonator
mode.
5. RC – External Resistor-Capacitor (RC) with
FOSC/4 output on OSC2/CLKOUT.
6. RCIO – External Resistor-Capacitor (RC) with I/
O on OSC2/CLKOUT.
7. INTOSC – Internal oscillator with FOSC/4 output
on OSC2 and I/O on OSC1/CLKIN.
8. INTOSCIO – Internal oscillator with I/O on
OSC1/CLKIN and OSC2/CLKOUT.

bạn thích dùng cái nào thì bạn chọn
nếu config HS mà k cấm thạch anh vào thì 100% là k sao nhưng mà chip k có chạy
 

MinhTinkerer

Kỹ sư
Banned
#36
ko sử dụng thạch anh ngoại thì config thế nào vậy bạn, mà nếu config HS mà nếu ko lắp thạch anh thì lắp mạch thật có chạy ko?
Trong Datasheet không có nói đến giao động bên trong của PIC16F877A.Có nghĩa là không có giao động bên trong. tham khảo nguồn tin nước ngoài củng nó thế, không hề có giao động nội.

Chỉ có nói có bốn chế độ cầu hình hoạt động ,mình trích trong datasheet đọan bên dưới.
Cấu hình cho giao động, bạn thử tháo thạch anh ra xem có chạy ko ?
Mã:
14.2.1 OSCILLATOR TYPES
The PIC16F87XA can be operated in four different oscillator modes.
The user can program two configuration bits (FOSC1 and FOSC0)
to select one of these four modes:
• LP Low-Power Crystal
• XT Crystal/Resonator
• HS High-Speed Crystal/Resonator
• RC Resistor/Capacitor
Mà không hiểu vì sao con PIC16F877A thuộc loại mắc tiền vì là hàng hiếm mà ở Việt Nam mình cứ thích xài.Mình nghỉ chỉ có lý do duy nhất đó là có nhiều bài hướng dẫn sử dụng, lập trình về nó ,trong khi đó con PIC16F887 lại rẽ tiền hơn,(có giao động nội) mà không chịu xài.

Và lý do trên củng là lý do một số anh chàng vẫn muốn sự dụng ngôn ngử lập trình Visual Basic cổ lổ sỉ ,viết ứng dụng giao tiếp với VĐK qua cổng COM hoặc USB.Ly do vì đã có sẳn, nên bê nguyên xài.
 
Sửa lần cuối:

lesyduong

Học sinh phổ thông
#37
bạn cứ hỏi ở đây, hoặc lập 1 topic để hỏi
a oi giúp em với.
em đang lam cái mạch giao tiếp giua vdk voi modumsms900 . trong mạch có chế độ ON/OFF . thông thuong thi ta hay gắn nút nhấn vào dây nguồn để on/off mak nay em muốn điều khiển bằng tn. bây h em k biết tác động nhu thế nào vào vdk để on/off . a
thank a trc
 
#38
a oi giúp em với.
em đang lam cái mạch giao tiếp giua vdk voi modumsms900 . trong mạch có chế độ ON/OFF . thông thuong thi ta hay gắn nút nhấn vào dây nguồn để on/off mak nay em muốn điều khiển bằng tn. bây h em k biết tác động nhu thế nào vào vdk để on/off . a
thank a trc
chú ý khi post bài hoặc comment thì không viết tắt e nhé
bạn lập trình giao tiếp giữa module sim và vđk
khi vđk nhận được tin nhắn có nội dung là tắt hoặc mở thết bị bạn điều khiển chân IO của vdk qua đó điều khiển các IC hoặc relay đóng cắt thiết bị. vấn đề là bạn phải giao tiếp được module sim và vđk
 

lesyduong

Học sinh phổ thông
#39
a oi giúp em với.
em đang lam cái mạch giao tiếp giua vdk voi modumsms900 . trong mạch có chế độ ON/OFF . thông thuong thi ta hay gắn nút nhấn vào dây nguồn để on/off mak nay em muốn điều khiển bằng tn. bây h em k biết tác động nhu thế nào vào vdk để on/off . a
thank a trc
dạ . cảm ơn anh nhiều nha
 

kusin

Học sinh trung cấp
#40
mấy anh cho e hõi . sao cái Pic C . e bị như vậy thì làm sao để ấn ok để chọn VDK đây a nào bt chỉ giúp e vs , cái màn hình nó to quá . ko bt làm sao . ko ấn enter đc luôn . chọn thạch anh xong là ấn ko đc .
Untitled.png
 

Quảng cáo Google