![]() |
dùng 10 nut nhấn điêu khiển xuất led 7 đoạn dùng pic 16F877
em đang làm đồ án dùng 10 nút nhấn.ứng với 1 nút nhấn là xuất 1 giá trị la led 7 đoạn. em đang gặp vấn đề trong việc cần tới 10 input nên dùng ngắt hay sử dụng PSP hay co cách nào khác mong các bác giúp đỡ. em sắp phải nộp báo cáo rồi cac pro giup em với. đa tạ cac pro trước
|
Bạn hãy dùng ngắt timer or ngắt ngoài rồi trong ct ngắt sẽ gọi hàm kiểm tra nut nhấn ra(cái này kết nối phần cứng hơi phức tạp 1 tí thôi).
Nhung vs yêu cầu của bạn thì mình nghĩ không cần dùng ngắt vẫn thuuwcj hiện được thôi. While(true) { if(!input1) { portd=ma[0]}; else if(!input2) { portd=ma[1]} else if(!input3) { portd=ma[2]}; else if(!input4) { portd=ma[3]}; else if(!input5) { portd=ma[4]}; else if(!input6) { portd=ma[5]}; else if(!input7) { portd=ma[6]}; else if(!input8) { portd=ma[7]}; else if(!input9) { portd=ma[8]}; else if(!input10) { portd=ma[9]}; } |
ừm thks bạn vấn đề chính của mình là ở phần cứng có tới 10input mà mỗi port có tối đa 8pin => phai dung tới 2 port. nhân tiện cho mình hỏi lệnh này int n; n=porta ; ko hiêu tai sao lai bao lỗi
|
chỉ cần 4 đầu vào là bạn có thể kiểm tra dc 10 nut bấm của bạn mà. nếu đầu vào của bạn là portd đầu ra là portb chẳng hạn bạn so sánh nếu portd =1 thi portb =1 cứ như thế bạn có thể so sánh đến 10 hay bao nhiểu tùy ý!!!
còn lệnh n = porta bao lỗi có thể do ban chưa khai báo porta là đầu vào chúc thành công! |
Một port có 8 chân. quét ma trận phím 4X4 được 16 công tác đó bạn?
|
nút nhấn ở đây là nhấn rồi thả.nếu viết code như trên nhấn mới xuất còn thả thì k xuất.Có cách nào nhấn rồi thả mà vẫn hiểi thị k bạn
|
Múi giờ GMT. Hiện tại là 03:14 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam