![]() |
đặt thời gian hẹn giờ 1,2..9 giờ hepl!!!!
chào các bác ,các bạn.
em có một vấn đề muốn nhờ mọi người giúp đỡ. em đang làm 1 chiếc đồng hồ hẹn giờ sáng cho 2 led. pầhn cứng: 1 led 7 seg(7 thanh) 1 led xanh, 1 led do. 1 nút bấm. khi em điều khiển led 7seg hiển thị số 1 thì led xanh sáng và led đỏ tắt , sau 1 giờ, thì led xanh tắt và led đỏ sáng...cứ như vậy tùy vào thời gian mình đặt. nhưng khi em hẹn 1, 2...9 giờ. thì nút bấm ko điều khiển được nữa do thời gian trễ quá nhiều. các bác giúp em nhé, làm sao mà vẫn đặt được giờ và vẫn điều khiển được nút bấm, em dung hàm delay() nên thời gian trễ trong vong while() lớn quá, do vậy ko quét được phím tứ thì. có phương án nào giải quyết các bạn cứ nêu ra nhé cám ơn các bác nhìu!! |
Bạn dùng hàm delay thì CPU sẽ dừng mãi trong hàm delay nên ko thể phục vụ công việc quét phím.
Để giải quyết bạn cần cách tính thời gian khác sử dụng timer. VD: Cấu hình timer1 tràn sau 50ms, cứ mỗi lần timer1 tràn bạn tăng biến cnt lên 1, như vậy khi cnt = 3600 x 20 tức là đã trải qua 1 giờ. Trong thời gian chờ timer1 tràn, bạn vẫn kiểm tra phím bấm liên tục. |
Trích:
giả sử 1 chương trình mà dùng liền 1 lúc 3 timer (timer0,timer1,timer2) như vậy có ổn ko?khi ngắt thì các timer có bị xung đột ko? cám ơn anh! |
Được, ko có xung đột gì cả.
|
Trích:
giả sử ta có 1 nút bấm để điều chỉnh số giờ đặt. nếu đặt 1h thì cnt = 3600x20,sau đó xảy ra ngắt và ta xoá cnt=0. nếu ta đặt 2h thì cnt = 3600x2x20, nhưng khi đến 1h thì nó đã xảy ra ngắt và xoá cnt =0 rùi. vậy ko thể đặt được 1h,2h..9h.vì cứ 1h nó lại ngắt và cnt=0,đếm lạ từ đầu. thứ 2 các bác xem hộ em khởi tạo cái time1 có đúng ko?mà sao em ko thấy nó hoạt động. GIE=1; PIE1=1; TMR1IE=1; TMR1IF=1; TMR1CS=0; T1SYNC = 1; T1OSCEN = 1; T1CKPS1=1; T1CKPS0=1; TMR1ON=1; muốn nạp giá trị vào thanh ghi 16 bit TMR1H,TMR1L như thế nào hả các bác. giả sử em muốn nạp giá trị 3035 vào thanh ghi 16 bít đó, thì phải ghi như thế nào? cám ơn các bác nhiều! |
Trích:
Trích:
Trích:
|
Trích:
cám ơn các bác nhiều! |
Múi giờ GMT. Hiện tại là 09:04 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam