• Webdien.com - Cầu nối dân điện


    1. [HOT] - Webdien đang tuyển các vị trí quản lý cao cấp


  • Kết quả 1 đến 4 của 4
    1. #1
      Tham gia
      14-09-2010
      Bài viết
      45
      Cảm ơn
      17
      Thanked 6 Times in 1 Post

      Mặc định [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:

      Sửa lần cuối bởi vudmc; 27-06-2011 lúc 17:49.

    2. #2
      Tham gia
      25-10-2010
      Bài viết
      64
      Cảm ơn
      0
      Được cảm ơn 36 lần, trong 15 bài

      Mặc định Ðề: [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]

    3. #3
      Tham gia
      14-09-2010
      Bài viết
      45
      Cảm ơn
      17
      Thanked 6 Times in 1 Post

      Mặc định Ðề: [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 đó .

    4. #4
      Tham gia
      09-04-2012
      Bài viết
      35
      Cảm ơn
      19
      Được cảm ơn 25 lần, trong 17 bài

      Mặc định Ðề: [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ự

    1. linh kiện điện tử
      Bởi nguyen le anh trong diễn đàn Điện tử cơ bản
      Trả lời: 14
      Bài cuối: 28-03-2015, 14:24
    2. Cần bán - TQ - Bán Linh Kiện Điện Tử, Linh kiện tự động !
      Bởi ducthanhbacviet trong diễn đàn Thiết bị điện khác - Chưa phân loại
      Trả lời: 5
      Bài cuối: 10-07-2014, 14:48
    3. 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 Systems
      Trả lời: 0
      Bài cuối: 29-11-2013, 09:33
    4. 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ụng
      Trả lời: 1
      Bài cuối: 19-04-2013, 21:44
    5. 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ụng
      Trả lời: 4
      Bài cuối: 06-11-2012, 00:55
    Văn Võ Trạng Nguyên
    Hắc Hiệp Đại Chiến Thánh Bài 2
    Đặc Cảnh Diệt Ma
    Khử Ma Đạo Trưởng
    Cương Thi Diệt Tà
    Sự Hình Thành Của Đế Chế Mông Cổ
    NHỮNG KHOẢNH KHẮC ĐÁNG NHỚ CỦA GIẢI GOLF PHÚ MỸ HƯNG 2016