Kết quả 1 đến 4 của 4
-
23-06-2011, 20:24 #1
[Hỏi]-Cách lập trình để sử dụng linh hoạt nút nhấn ?
Mình có 1 vài chương trình sử dụng nhiều LED 7 đoạn để hiển thị số , ở đây nêu VD là chương trình hiển thị đồng hồ bằng C và ASM .
Mạch (Proteus) : http://www.mediafire.com/?5s28lxjkhx337nh
Chương rình gồm 4 nút nhấn : cộng , trừ , Mode , Inter .
Điều mình muốn các bạn giúp là lập trình như thế nào để :
1- Khi ấn phím Inter thì con LED ở đơn vị phút (ở đây là P2.3) nhấp nháy (báo hiệu chuẩn bị tăng hoặc giảm) .
2- Ấn phím Mode thì LED chục phút (P2.4)nhấp nháy , ấn tiếp là đơn vị giờ (P2.5), ấn tiếp là chục giờ(P2.6) , ấn tiếp là đơn vị phút(P2.3)...(nói chung là tạo thành 1 vòng tròn) .
3- Khi LED nào nhấp nháy thì ấn phím cộng/trừ sẽ thay đổi giá trị của LED đó .
4- Khi ấn phím Inter 1 lấn nữa thì LED hết nhấp nháy (thoát khỏi quá trình thay đổi số) .
Chương trình dưới đây mình chưa lập trình cho nút nhấn , trình độ của mình hiện giờ chỉ ấn nút nào thì thay đổi LED đó thôi chứ chưa thể sử dụng nút Mode để chuyển đổi giữa các LED .
Cái này chắc không khó đối với mấy bạn nhỉ ? Các bạn dúp mình code bằng ASM nhé .
Viết = ASM
Code:include reg_51.pdf cnt equ 118 s equ 119 m equ 120 h equ 121 chuc equ 122 donvi equ 123 chucs equ 124 donvis equ 125 chucm equ 126 donvim equ 127 chuch equ 128 donvih equ 129 org 0 jmp main org 0bh jmp ngatt0 org 30h ;---------------------------- main: mov dptr,#maled mov p2,#11111111b mov tmod,#1 mov th0,#high(-50000) mov tl0,#low(-50000) setb ea setb et0 setb tr0 mov h,#0 mov m,#0 mov s,#0 mov cnt,#0 lap: call tachso call dislay call delay jmp lap ;---------ngattimer0----------- ngatt0: mov th0,#high(-50000) mov tl0,#low(-50000) inc cnt mov r0,cnt cjne r0,#20,exit mov cnt,#0 inc s mov r0,s cjne r0,#60,exit mov s,#0 inc m mov r0,m cjne r0,#60,exit mov m,#0 inc h mov r0,h cjne r0,#24,exit mov h,#0 exit: reti ;---tachso------------ tachso: mov a,s mov b,#10 div ab mov donvis,b mov chucs,a mov a,m mov b,#10 div ab mov donvim,b mov chucm,a mov a,h mov b,#10 div ab mov donvih,b mov chuch,a ret ;----------dislay--------- dislay: mov a,donvis movc a,@a+dptr mov p0,a clr p2.0 call delay setb p2.0 mov a,chucs movc a,@a+dptr mov p0,a clr p2.1 call delay setb p2.1 mov a,donvim movc a,@a+dptr mov p0,a clr p2.3 call delay setb p2.3 mov a,chucm movc a,@a+dptr mov p0,a clr p2.4 call delay setb p2.4 mov a,donvih movc a,@a+dptr mov p0,a clr p2.6 call delay setb p2.6 mov a,chuch movc a,@a+dptr mov p0,a clr p2.7 call delay setb p2.7 mov p0,#0111111b clr p2.2 clr p2.5 call delay setb p2.2 setb p2.5 ret ;--------delay-------- delay: push 06 push 07 mov r6,#2 loop: mov r7,#50 djnz r7,$ djnz r6,loop pop 07 pop 06 ret ;--------maled-------- maled: db 64,121,36,48,25,18,2,120,0,16 end
-------------------------------------------------------------------------------- Xem bài viết cùng chuyên mục:
- viết chương trình hiển thị ra led 7 đoạn từ 0-9.viết cụ thể nha.thank nhiu !
- Các đề tài VDK 8051
- Tập Lệnh 8051
- 89c51 ai biết hướng dẫn dùm
- Tạo mạch chữ chạy
- Đo tốc độ động cơ bằng encoder
- Mạch đo nhiệt độ dùng 8051 hiển thị lên led 7 đoạn
- mạch chỉnh lưu có điều khiển dùng scr
- thiết kế mạch điều khiển nhiệt độ lò ấp trứng
- mạch đồng hồ thới gian thực 8051
- Mạch đếm 74LS192
- Cách viết chương trình cho ic chạy chử
- chế tạo mạch điểu khiển từ xa
- Mạch Đèn Giao Thông Ngã 4 dùng 89c52
- mong được giúp đỡ về led 7 đoạn
Sửa lần cuối bởi vudmc; 27-06-2011 lúc 17:49.
-
-
25-06-2011, 20:40 #2
Ðề: [Hỏi]-Cách lập trình để sử dụng linh hoạt nút nhấn ?
Cái này bạn muốn làm cái đồng hồ phải không
Bạn phải thiết kế mạch nguyên lý đưa lên mới biết lập trình thế nào chứ
Mạch của bạn yêu cầu sử dụng những con nào và bạn chọn 1 ngôn ngữ lập trình
Nếu cần ASM thì mình có thể giúp[FLASH]http://fc03.deviantart.net/fs10/f/2006/127/5/e/Dragon.swf[/FLASH]
-
27-06-2011, 10:33 #3
Ðề: [Hỏi]-Cách lập trình để sử dụng linh hoạt nút nhấn ?
mạch của mình đây : http://www.mediafire.com/?5s28lxjkhx337nh
Cơ bản chỉ có 8 con 7 đoạn và 4 cái nút nhấn như mình đã nêu thôi . Còn yêu cầu thì mình đã viết đầy đủ ra rồi đó .
-
17-05-2012, 22:00 #4
Ðề: [Hỏi]-Cách lập trình để sử dụng linh hoạt nút nhấn ?
link trên của pác vudmc die rồi
vì em cũng đang tìm hiểu ngôn ngữ lập trình ASM nên pác có thể pos lại được ko
Trả lời với tài khoản Facebook
Các Chủ đề tương tự
-
HOÀN THÀNH ĐỒNG HỒ ĐIỆN TỬ KÍCH THƯỚC LỚN TÒa NHÀ MÊ LINH
Bởi antuongpro trong diễn đàn AnTuongPro - Solutions Of Modern SystemsTrả lời: 1Bài cuối: 11-03-2022, 03:43 -
linh kiện điện tử
Bởi nguyen le anh trong diễn đàn Điện tử cơ bảnTrả lời: 14Bài cuối: 28-03-2015, 14:24 -
Trợ giúp - Nhờ thống kê chi tiết linh kiện
Bởi quangvinh2006 trong diễn đàn Thiết bị điện gia dụngTrả lời: 1Bài cuối: 19-04-2013, 21:44 -
Trợ giúp - các bác cho hỏi linh kiện A trong lò vi sóng panasonic là linh kiện j?
Bởi dageyi trong diễn đàn Thiết bị điện gia dụngTrả lời: 4Bài cuối: 06-11-2012, 00:55