PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC > Những câu hỏi thường gặp

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Những câu hỏi thường gặp Những lỗi cơ bản thường gặp khi làm việc với PIC hoặc những vấn đề cơ bản nhất thường được hỏi trong những năm qua

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 25-10-2008, 01:51 AM   #1
vohieuthao1
Đệ tử 1 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 21
:
Tính toán 10b trong 16f887.

Em cần tính toán với giá trị thu được từ ADC10b, nhưng không biết cách làm, ai biết chỉ dùm em , có code tham khảo càng tốt. Thanks trước,hi!!
vohieuthao1 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-10-2008, 10:56 AM   #2
bien_van_khat
...Damned...
 
bien_van_khat's Avatar
 
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
:
Trích:
Nguyên văn bởi vohieuthao1 View Post
Em cần tính toán với giá trị thu được từ ADC10b, nhưng không biết cách làm, ai biết chỉ dùm em , có code tham khảo càng tốt. Thanks trước,hi!!
Bạn có thể dùng 16 bit để lưu kết quả ADC và tính toán, với CCS sử dụng biến int16 hoặc long.
__________________
- Xin đọc trước khi post bài

Xin đặt code trong thẻ [ code ] [ /code ]
bien_van_khat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-10-2008, 10:22 AM   #3
vohieuthao1
Đệ tử 1 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 21
:
Mình đọc kết quả ADC tính toán xuất kết quả ra LCD, mình muốn dùng ngắt để mỗi khi tác động thì LCD hiển thị giá trị 0 và VDK củng lưu lại giá trị ADC để sau khị thoát khỏi ngắt thì dùng. Giá trị này được update khi ngắt được gọi lần nữa. Mình viết code nhưng khi mô phỏng thì dường như ngắt không chạy. Ai biết chỉ mình với. Hiện mình dùng RB7 nối nguồn thông qua nút ấn để thay đổi trạng thái chân RB7. Không biết mình mắc vậy đúng không?

code:

#include <16f877a.h>
#include <def_877a.h>
#FUSES NOWDT, XT, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#device *=16 adc=10
#use delay(clock=4000000)
#include <thao2.c>// LCD 4bit.c
#use rs232(baud=9600,parity=n,xmit=pin_C6,rcv=pin_C7)



#INT_RB
Void RB_Chuan_Zero ( )
{
float a=0;
a=(float)read_adc();

}

void main()
{
trisb=0xF0;
enable_interrupts ( INT_RB ) ;
enable_interrupts ( GLOBAL ) ;

{
float value=0,a=0;

trisa=0xFF;
trisd=0x00;

LCD_Init ( );
LCD_putcmd(0x84);
LCD_putchar("KHOI LUONG");
LCD_putcmd(0xCA);
LCD_putchar(" g");

start:
setup_adc_ports( ALL_ANALOG );
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(1);
delay_us(10);
value=(float)read_adc();
value=(value-a)*0.977;
LCD_putcmd(0xC5);
printf(LCD_putchar, "%f", value );
delay_ms( 500 );

goto start;
}
}
vohieuthao1 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-10-2008, 02:26 PM   #4
manhckgtcck45
Nhập môn đệ tử
 
Tham gia ngày: Jul 2007
Bài gửi: 5
:
Bác vohieuthao1 ơi, bác gửi cho em xin cái LCD 4bit.c với. Em tìm mãi hok được. Thanks bác nhiều!
manhckgtcck45 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-10-2008, 05:09 PM   #5
vohieuthao1
Đệ tử 1 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 21
:
Đưa mail đi bạn, mình không biết upfile.
vohieuthao1 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 11:48 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam