PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > RTOS và Thuật toán với PIC

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

RTOS và Thuật toán với PIC RTOS và Các thuật toán dùng cho PIC/dsPIC/PIC32
Mod: phamminhtuan

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 29-04-2008, 10:30 AM   #1
nhong
Đệ tử 1 túi
 
Tham gia ngày: Jan 2008
Bài gửi: 15
:
hỏi về thuật giải bài toán tưong tự đồng hồ điện tử

Em muốn làm 1 project thế này, sẽ có 1 cơ cấu đo mực nước (điều khiển thì đúng hơn, vd như nhập vào mực nước cần thiết thì khi mực nứoc đo được trong bình xuống dưới mực đó thì PIC sẽ kích hoạt cho bơm nước đầy bình, cứ thế...)

Khi power on 1 cái thì PIC sẽ đo và hiển thị mực nước ra LED 7 thanh, cái này ko khó lắm, 1 cái cảm biến mực nước đưa giá trị vào ADC và hiển thị led nhưng em muốn thêm modul điều khiển thế này, có 3 nút nhấn, 1 Enter, 1 Cancel, 1 Input.

Khi đo, hiển thị mực nước rồi(tất nhiên là khi mực nước thay đổi thì số hiển thị trên led cũng phải thay đổi theo) ta ấn nút Enter 1 cái nó sẽ chuyển sang chế độ điều khiển, lúc này 2 led tắt, led hàng chục nhấp nháy 1 gạch đáy(như con trỏ ấy) biểu thị hãy nhập giá trị mực nước cần thiết. Lúc này dùng Input để nhập dữ liệu cho từng led 1 (số hàng chục + số hàng đơn vị) cái này em định làm 1 bộ đếm ngoài đưa vào cổng (7490-93 gì đó). sau khi nhập xong(bằng cách ấn Input nhiều lần) ấn enter tiếp nó sẽ đọc giá trị cổng và đưa vào biến hàng chục và chuyển công việc tuơng tự sang led đơn vị để nhập tiếp giá trị hàng đơn vị. sau khi nhập xong ấn enter phát nữa thì coi như nó đã thu được mực nước cần thiết, bắt đầu đo xem mực nứoc trong bình có đủ mực ấy ko, nếu đủ thì để nguyên đó, nếu ko đủ thì kích cho bơm chạy, bơm vào cho đầy và trở về đo mực nứoc như ban đầu, cứ khi mực nước xuống dứoi mức chop phep thì nó lại bơm đầy.

Nút Cancel dùng để nhập lại giá trị cho input(khi cancel thì led lại tắt và input lại từ đầu)


thuật giải của em thì định dùng 1 biến đếm Enter để kiểm tra trạng thái của hệ thông (enter max=3) và dùng ngắt:
enter =0 thì đo-hiển thị mực nước như bình thường
enter =1 thì chuyển qua điều khiển mực nước , nhập giá trị cho số hàng chục
enter =2 thì lưu số hàng chục và nhập cho hàng đơn vị
enter =3 thì chốt xong giá trị mực nứoc cần đo và bắt đầu liên tục kiểm tra và giữ mực nước ko được xuống dưới mực nước đã nhập vào. Sau đo set enter=0.

tuy nhiên vướng mắc ở đây là cách dùng các ngắt hơi khó, em chưa code ra dc 1 cách thông suốt và liên tục có lỗi. Mọi người đọc rồi thử cho ý kiến hộ em xem nên giải bài toán này thế nào, có hướng đi nào khác hay không.

Cái thứ 2: em dùng 1 cổng và 2 chân điều khiển để quét hiển thị ra 2 led 7seg tuy nhiên em muốn cho 1 led đứng yên(tức là nhấp nháy với tấn số lớn) và 1 led nhấp nháy (tần số thấp mắt người cảm nhận dc) thì thấy rất khó, ko biết phải code thế nào.

Em xin cám ơn
nhong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


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à 02:13 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