PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

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

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 27-09-2008, 12:38 AM   #1
anh_gioi
Đệ tử 6 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 147
:
hỏi bài toán nhỏ PIC6F877--LCD1602

bài toán đơn giản là: khi cấp mức cao vào capture (pin_RC2) 1 khoang thời gian nào đấy thì số giây đó được hiển thị trên LCD.em dùng timer1 để đếm khoảng thời gian đó:

Trích:
#include "F:\NCKH 2009\PIC 16\count_timer2\count_timer2.h"
#include <lcd_lib_4bit.c>
#include <F:\NCKH 2009\PIC 16\count_timer2\def_877a.h>
float value;
void main()
{
trisd = 0x00;
trisc = 0x04;

LCD_init();
Printf(LCD_putchar,"gioi");

setup_timer_1(T1_INTERNAL | T1_DIV_BY_4);

while(!input(pin_c2)) {} // Wait for senser output to go high;
set_timer1(0);
while(input(pin_c2)) {}
value = get_timer1();

LCD_putcmd(0xC0);
LCD_putchar(value);
LCD_putcmd(0xCb);
printf(LCD_putchar," giay");
}
khi mô phỏng thì không hiển thị giá trị "value" cần tìm?
không biết em sai ở chỗ nào? mong các anh chỉ giúp !!!
anh_gioi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-09-2008, 02:39 AM   #2
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
http://www.minhhaco.com/index.php?ac...st&cid=9&id=10

Chúc vui
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-09-2008, 10:19 AM   #3
david
Đệ tử 4 túi
 
david's Avatar
 
Tham gia ngày: Aug 2006
Bài gửi: 81
:
Mình không dùng driver <lcd_lib_4bit.c> nhưng mình nghĩ bạn khai báo biến valuefloat là không ổn nếu muốn hiện thị lên LCd
david vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-09-2008, 10:29 AM   #4
anh_gioi
Đệ tử 6 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 147
:
t1: vậy tớ phải khai báo thế nào?
t2: t dùng chân capture và phải khai báo capture như thế nào nhỉ?
t3:hiển thị lên LCD thì em hiển thị được rồi nhưng giá trị cần tìm value thi không hiển thị lên ạ?
help me!!!!
anh_gioi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-09-2008, 08:38 PM   #5
anh_gioi
Đệ tử 6 túi
 
Tham gia ngày: Oct 2006
Bài gửi: 147
:
Trích:

#include "F:\NCKH 2009\PIC 16\count_timer2\count_timer2.h"
#include <lcd_lib_4bit.c>
#include <F:\NCKH 2009\PIC 16\count_timer2\def_877a.h>
int16 value;
#INT_TIMER0

void main()
{
setup_ccp1(CCP_CAPTURE_RE);
//setup_ccp1(CCP_CAPTURE_DIV_16);

enable_interrupts(INT_CCP1); // Setup interrupt on falling edge
enable_interrupts(GLOBAL);

trisd = 0x00;
trisc = 0x04;

LCD_init();
Printf(LCD_putchar,"gioi");

setup_timer_1(T1_INTERNAL | T1_DIV_BY_4);

while(!input(pin_c2)) {} // Wait for senser output to go high;
set_timer1(0);
while(input(pin_c2)) {}
value = get_timer1();

LCD_putcmd(0xC0);
LCD_putchar(value);
//printf(LCD_putchar, value );
LCD_putcmd(0xCb);
printf(LCD_putchar," giay");

}
em đã khởi tạo capture rùi, nhưng vẫn chưa ổn cho lắm?????---> vẫn vậy.
help me!
anh_gioi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bà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à 05:56 AM.


Đượ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