Thông báo

Collapse
No announcement yet.

HELP ME ! Mạch đếm sản phẩm lập trình = asem

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #31
    Muốn phân biệt 2 hay 3 sản phẩm dính nhau thì tôi chỉ có cách là dùng phần mềm thôi. Sau khi tăng lên 1 sản phẩm bạn dùng ngắt để tính thời gian sau khoảng vài giây thì xem lại chân T0 hay T1 có bị thay đổi trạng thái không, nếu không thì tức là có sản phẩm dính nhau, không thì không có. Cách này tuy giai quyết được vấn đề nhưng có một hạn chế là bạn phải quy định thời gian cho 1 sản phẩm chạy qua băng tải.
    |

    Comment


    • #32
      8051

      chào các bác! giúp em với,em đang lam bài tập lớn về đếm sản phẩm,bác nào biết thì giúp em với ,em cảm ơn!

      Comment


      • #33
        Em cung dang lam bai tap lon ve mach dem san pham, chi con chua day 2 tuan nua la phai nop bai ma den gio em van chua co so do nguyen ly. Bac nao co so do nguyen ly thi post len cho em nhe! Cam on nhieu nhieu!

        Comment


        • #34
          mạch đếm sp

          hi.mình đang thử nghiệm 1 chương trình đếm sp,hiện nó chỉ hoạt động tốt khi chưa lắp vào dây chuyền(mình dùng sw để tạo xung nhịp thì nó hoạt động tốt,nhưng khi lắp mạch vào dây chuyền thì nó đếm không chính xác)phần mềm đã chỉnh sửa song nó vẫn không hoạt động chính xác.mình nghỉ do dây dẫn quá dài nên có sai số.ai có kinh nghiệm xin chỉ giáo.đã điều chỉnh delay time trong chương trình nhưng đếm vẫn không chính xác(hiện dây dẫn dài trên 30m)hiện chương trình được nạp bằng ic 89c52 ,giao tiếp hiển thị bằng led.phần ngyênlý mạch mình sẽ post sau ,do chưa vẽ ra kịp (1 giờ sáng rồi ),mong anh em nào biết ,xin chỉ giáo/
          mail:tranphuoclongtcl@gmail.com
          di động:0907145705
          chuyên LCD-LED TCL

          Comment


          • #35
            Nguyên văn bởi longtcl Xem bài viết
            hi.mình đang thử nghiệm 1 chương trình đếm sp,hiện nó chỉ hoạt động tốt khi chưa lắp vào dây chuyền(mình dùng sw để tạo xung nhịp thì nó hoạt động tốt,nhưng khi lắp mạch vào dây chuyền thì nó đếm không chính xác)phần mềm đã chỉnh sửa song nó vẫn không hoạt động chính xác.mình nghỉ do dây dẫn quá dài nên có sai số.ai có kinh nghiệm xin chỉ giáo.đã điều chỉnh delay time trong chương trình nhưng đếm vẫn không chính xác(hiện dây dẫn dài trên 30m)hiện chương trình được nạp bằng ic 89c52 ,giao tiếp hiển thị bằng led.phần ngyênlý mạch mình sẽ post sau ,do chưa vẽ ra kịp (1 giờ sáng rồi ),mong anh em nào biết ,xin chỉ giáo/
            Vấn đề bạn gặp phải là do nhiễu môi trường tác động lên dây dẫn >> gây ra các xung nhiễu làm cho hệ thống đếm sai. Khắc phục là phải dùng dây chống nhiễu, mua loại dây cáp đồng trục về thay thế vào, và nhớ cho vỏ bọc kim của cáp nối GND. Một vấn đề nữa, vì khoảng cách khá xa nên bạn cần làm thêm mạch có chức năng kiểu repeater để khôi phục dạng xung tín hiệu.
            Thử dùng mạch chuyển đổi logic từ 0~5V sang điện áp công nghiệp 0~24V xem sao, có thể giảm dc suy hao tín hiệu do đường truyền (nên tham khảo thiết kế của các hệ thống cộng nghiệp khác.)
            Ethernet-RS232, PIC Webserver, RFID Reader
            CallerID, Cảnh báo BTS, ...
            0988006696
            linhnc308@gmail.com
            http://linhnc308.blogspot.com

            Comment


            • #36
              có bạn nào có thể viết dùm mình chương trình đếm sản phẩm dùng thu phát hồng ngoại được không minh mới học nên không có khả năng. chương trinh này không có nhập số từ bàn phím mà mình lập trình sẵn rồi đếm nếu đi từ p3.2 -->p3.3 thì đếm xuống còn đi từ p3.3-->p3.2 thì đếm lên.Mong các bạn bè gần xa giúp đỡ mình cám ơn nhiều

              Comment


              • #37
                Mình cũng đang làm 1 cái mạch về đếm sản phẩm.Cái mạch của mình làm sẽ nhận tín hiệu từ cảm biến(ở đây mình thay bằng nút ấn) thực hiện đếm,.khi nào đc 100sp thì sẽ gửi tín hiệu ra chân P3.4(ở đây mình lắp 1 cái đèn led)để đóng gói sp và sau đó là reset lại hệ thông.Nhưng mình ko hiểu chương trình của mình sai chỗ nào mà khi nó đếm đc tới 99 sau đó gửi tín hiệu đc ra chân P3.0 rồi quay về 00 là đơ luôn.mọi người kiểm tra họ mình cái
                Attached Files
                Last edited by khiem; 05-06-2008, 00:52.

                Comment


                • #38
                  Bạn Khiem thân mến!
                  Tôi chưa xem kỹ code của bạn, nhưng bạn không nên viết ngắt như trên, vì bảng vector ngắt chỉ dành vài ô nhớ cho mỗi ngắt( hình như là 8 ô nhớ thì phải). Hơn nữa đoạn code từ : org 013H ~ Delay .. ret sẽ tràn qua địa chỉ org 030h của main, như vậy sẽ có một đoạn code của duy3 hoặc delay sẽ bị mất, gây ra sự rối loạn của chương trình.

                  Sử dụng ngắt nên như sau:
                  org 0000h
                  sjmp main
                  org 0003
                  ljmp EX0_IRS ; int EX0
                  org 000bh
                  ljmp T0_ISR ; int timer0
                  org 0013h
                  ljmp EX0_ISR; int EX1
                  ......
                  main:
                  ......
                  ......
                  ;------
                  ; chuong trinh con
                  EX0_ISR : ....
                  reti
                  ;----
                  T0_ISR:....
                  reti
                  ;------
                  EX1_ISR:....
                  reti
                  ;------
                  .........
                  end
                  Ở bảng vector ngắt chỉ nên dung lệnh ljmp. (Nếu chương trình ngắt chỉ có vài lệnh thì mới viết code trực tiếp được)
                  Chúc vui!

                  Comment


                  • #39
                    Xin lỗi ở đoạn main nên :
                    org 0030h
                    main:
                    ......
                    ......

                    Comment


                    • #40
                      Bạn Khiem thân mến, tôi đã thử đoạn code sau trên proteus nó chạy tốt

                      org 0000h
                      sjmp main
                      org 0013h
                      ljmp EX1_isr
                      org 0030h
                      ;--------
                      main:
                      clr p3.4
                      mov p0,#00h
                      mov r2,#00h
                      mov p2,#00h
                      mov r3,#00h
                      setb tcon.2
                      mov ie,#10000100b
                      here: sjmp here
                      ;-----
                      EX1_isr:
                      cjne r2,#9,duy2
                      mov r2,#0ffh
                      cjne r3,#9,duy1
                      mov r3,#0ffh
                      lcall duy3

                      duy1:
                      inc r3
                      mov p0,r3
                      duy2:
                      inc r2
                      mov p2,r2
                      reti
                      ;--------------
                      duy3:
                      setb p3.4
                      lcall delay
                      clr p3.4
                      lcall delay
                      ret
                      ;------------
                      delay:
                      mov r6,#0ffh
                      again0: mov r5,#0ffh
                      again: djnz r5,again
                      djnz r6,again0
                      ret
                      ;-----------
                      end

                      Bạn xem lại xem sao.

                      Comment


                      • #41
                        đoạn code này cho phép cài đặt số đếm trước các bạn có thể tham khảo thêm:
                        ;CHUONG TRINH NAY DA CHAY O.K
                        cobao_1 bit 20h ;bit thap nhat cua byte 24h
                        cobao_2 bit 21h
                        cobao_3 bit 22h
                        data_1 equ 20h
                        data_2 equ 21h
                        data_3 equ 22h
                        data_4 equ 23h

                        ORG 0000H

                        setb cobao_1
                        clr cobao_2
                        setb cobao_3
                        MOV P1,#255
                        MOV 16H,#0
                        MOV 17H,#0
                        MOV 18H,#0
                        MOV 19H,#0
                        MOV 20H,#0
                        MOV 21H,#0
                        MOV 22H,#0
                        MOV 23H,#0

                        MAIN:
                        setb P1.4 ;bit bao xung dung led mau xanh
                        jnb cobao_1,ql ;cobao_1 = 0 khoa cai dat
                        LCALL TANG_1 ;p3.0
                        LCALL TANG_2 ;p3.1
                        LCALL TANG_3 ;p3.2
                        LCALL TANG_4 ;p3.3

                        LCALL GIAM_1 ;p3.4
                        LCALL GIAM_2 ;p3.5
                        LCALL GIAM_3 ;p3.6
                        LCALL GIAM_4 ;p3.7

                        LCALL QUET_LED
                        jb p1.1,ql ;xoa cai dat ban dau
                        LCALL QUET_LED
                        LCALL XOA_CAI_DAT
                        ql: LCALL QUET_LED
                        jnb cobao_2,re_3 ;cobao_2 =0 khong cho chay motor
                        kt: jb p1.2,re_0 ;nut nhan start
                        LCALL QUET_LED
                        jnb p1.2,kt
                        LCALL QUET_LED
                        clr p2.7 ;cho motor chay
                        clr cobao_1 ;khoa nut nhan tang,giam khi chay motor
                        setb cobao_3 ;nhan nut start lai mo xung vao
                        setb p1.5 ;led mau do bao dung motor
                        RE_0: jb p1.3,re_1 ;nut nhan dung motor
                        setb p2.7 ;dung motor
                        clr cobao_3 ;khoa xung vao
                        clr p1.5 ;led mau do bao dung motor
                        re_1: jnb cobao_3,re_2 ;so sanh = gia tri cai dat ,khoa xung vao
                        jb p1.0,re_2 ;bit nhan xung vao
                        clr p1.4 ;den bao xung dung led mau xanh
                        LCALL QUET_LED
                        jnb p1.0,re_1
                        clr p1.4 ;den bao xung
                        LCALL QUET_LED
                        LCALL SO_SANH
                        re_2: jb p1.1,re_3 ;xoa cai dat lan hai
                        LCALL QUET_LED
                        LCALL XOA_CAI_DAT
                        re_3: LJMP MAIN

                        QUET_LED:
                        LCALL BIN_BCD
                        LCALL OUTLED
                        RET
                        ;*************** thiet lap lai trang thai ban dau ******************
                        XOA_CAI_DAT:
                        setb p2.7
                        setb cobao_1
                        clr cobao_2
                        setb cobao_3
                        MOV P1,#255
                        MOV 16H,#0
                        MOV 17H,#0
                        MOV 18H,#0
                        MOV 19H,#0
                        MOV 20H,#0
                        MOV 21H,#0
                        MOV 22H,#0
                        MOV 23H,#0
                        RET

                        TANG_1:
                        ql_1: JB P3.0,next_1 ;tang hang don vi len
                        LCALL QUET_LED
                        JNB P3.0,ql_1
                        setb cobao_2 ;cobao_2=1 cho phep chay motor
                        LCALL QUET_LED
                        INC 16H
                        MOV A,16H
                        MOV data_1,A ;luu vao o nho 20h
                        CJNE A,#10,next_1
                        MOV 16H,#0
                        next_1: ret

                        TANG_2:
                        ql_2: JB P3.1,next_2 ;tang hang chuc len
                        LCALL QUET_LED
                        JNB P3.1,ql_2
                        setb cobao_2 ;cobao_2=1 cho phep chay motor
                        LCALL QUET_LED
                        INC 17H
                        MOV A,17H
                        MOV data_2,A ;luu vao o nho 21h
                        CJNE A,#10,next_2
                        MOV 17H,#0
                        next_2: ret

                        TANG_3:
                        ql_3: JB P3.2,next_3 ;tang hang tram len
                        LCALL QUET_LED
                        JNB P3.2,ql_3
                        setb cobao_2 ;cobao_2=1 cho phep chay motor
                        LCALL QUET_LED
                        INC 18H
                        MOV A,18H
                        MOV data_3,A ;luu vao o nho 22h
                        CJNE A,#10,next_3
                        MOV 18H,#0
                        next_3: ret

                        TANG_4:
                        ql_4: JB P3.3,next_4 ;tang hang nghin len
                        LCALL QUET_LED
                        JNB P3.3,ql_4
                        setb cobao_2 ;cobao_2=1 cho phep chay motor
                        LCALL QUET_LED
                        INC 19H
                        MOV A,19H
                        MOV data_4,A ;luu vao o nho 23h
                        CJNE A,#10,next_4
                        MOV 19H,#0
                        next_4: ret

                        GIAM_1:
                        next_5: JB P3.4,thoat_1 ;giam hang don vi xuong
                        LCALL QUET_LED
                        JNB P3.4,next_5
                        LCALL QUET_LED
                        MOV A,16H
                        CJNE A,#0,tiep_1
                        thoat_1: ret
                        tiep_1: DEC 16H
                        MOV A,16H
                        MOV data_1,A ;luu vao o nho 20h
                        LJMP thoat_1

                        GIAM_2:
                        next_6: JB P3.5,thoat_2 ;giam hang chuc xuong
                        LCALL QUET_LED
                        JNB P3.5,next_6
                        LCALL QUET_LED
                        MOV A,17H
                        CJNE A,#0,tiep_2
                        thoat_2: ret
                        tiep_2: DEC 17H
                        MOV A,17H
                        MOV data_2,A ;luu vao o nho 21h
                        SJMP thoat_2
                        GIAM_3:
                        next_7: JB P3.6,thoat_3 ;giam hang tram xuong
                        LCALL QUET_LED
                        JNB P3.6,next_7
                        LCALL QUET_LED
                        MOV A,18H
                        CJNE A,#0,tiep_3
                        thoat_3: ret
                        tiep_3: DEC 18H
                        MOV A,18H
                        MOV data_3,A ;luu vao o nho 22h
                        LJMP thoat_3
                        GIAM_4:
                        next_8: JB P3.7,thoat_4 ;giam hang nghin xuong
                        LCALL QUET_LED
                        JNB P3.7,next_8
                        LCALL QUET_LED
                        MOV A,19H
                        CJNE A,#0,tiep_4
                        thoat_4: ret
                        tiep_4: DEC 19H
                        MOV A,19H
                        MOV data_4,A ;luu vao o nho 23h
                        LJMP thoat_4
                        ;******* so sang bang gia tri cai dat thi dung motor,va khong nhan xung vao **************
                        SO_SANH:
                        MOV A,data_1
                        CJNE A,#0,tt_1
                        MOV A,data_2
                        CJNE A,#0,tt_2
                        MOV A,data_3
                        CJNE A,#0,tt_3
                        MOV A,data_4
                        CJNE A,#0,tt_4

                        quay_lai: ret
                        tt_4: DEC data_4
                        MOV data_3,#9
                        MOV data_2,#9
                        MOV data_1,#9
                        sjmp quay_lai
                        tt_3: DEC data_3
                        MOV data_2,#9
                        MOV data_1,#9
                        sjmp quay_lai
                        tt_2: DEC data_2
                        MOV data_1,#9
                        sjmp quay_lai
                        tt_1: DEC data_1
                        MOV A,data_1
                        CJNE A,#0,quay_lai
                        MOV A,data_2
                        CJNE A,#0,quay_lai
                        MOV A,data_3
                        CJNE A,#0,quay_lai
                        MOV A,data_4
                        CJNE A,#0,quay_lai
                        setb p2.7 ;tat motor
                        clr cobao_3 ;=0 khong cho nhan xung vao
                        LCALL NAP_LAI_GIA_TRI_CAI_DAT
                        Ljmp quay_lai

                        NAP_LAI_GIA_TRI_CAI_DAT:
                        MOV data_1,16h
                        MOV data_2,17h
                        MOV data_3,18h
                        MOV data_4,19h
                        setb cobao_1
                        ret

                        BIN_BCD: MOV A,16H
                        MOV B,#1
                        DIV AB
                        MOV 10H,A

                        MOV A,17H
                        MOV B,#1
                        DIV AB
                        MOV 11H,A

                        MOV A,18H
                        MOV B,#1
                        DIV AB
                        MOV 12H,A

                        MOV A,19H
                        MOV B,#1
                        DIV AB
                        MOV 13H,A
                        RET
                        OUTLED: MOV DPTR,#MALED
                        MOV A,10H
                        MOVC A,@A+DPTR
                        MOV P0,A
                        CLR P2.0
                        LCALL DELAY500US
                        MOV DPTR,#MALED
                        MOV A,11H
                        MOVC A,@A+DPTR
                        MOV P0,A
                        CLR P2.1
                        SETB P2.0
                        LCALL DELAY500US
                        MOV DPTR,#MALED
                        MOV A,12H
                        MOVC A,@A+DPTR
                        MOV P0,A
                        CLR P2.2
                        SETB P2.1
                        LCALL DELAY500US
                        MOV DPTR,#MALED
                        MOV A,13H
                        MOVC A,@A+DPTR
                        MOV P0,A
                        CLR P2.3
                        setb P2.2
                        LCALL DELAY500US
                        setb p2.3
                        ret


                        DELAY500US: MOV R7,#250
                        DJNZ R7,$
                        RET


                        MALED:
                        DB 0C0H
                        DB 0F9H
                        DB 0A4H
                        DB 0B0H
                        DB 099H
                        DB 092H
                        DB 082H
                        DB 0F8H
                        DB 080H
                        DB 090H
                        END

                        Comment


                        • #42
                          Xin chân thành cảm ơn bạn pvkhai!

                          Comment


                          • #43
                            Nguyên văn bởi HueDN Xem bài viết
                            Tôi gửi cho bạn 2 phần trên file đính kèm:
                            Phần 1 dùng các IC logic bình thường
                            Phần 2 dùng vi điều khiển
                            Chúc thành công
                            bác ơi... nếu bác có luôn phần cơ hay biết mấy... em đang tính làm dồ án tồt nghiệp bằng vi điều khiển về mặt đếm sp đây.!!

                            Comment


                            • #44
                              Nguyên văn bởi busy Xem bài viết
                              đoạn code này cho phép cài đặt số đếm trước các bạn có thể tham khảo thêm:
                              ;CHUONG TRINH NAY DA CHAY O.K
                              cobao_1 bit 20h ;bit thap nhat cua byte 24h
                              cobao_2 bit 21h
                              cobao_3 bit 22h
                              data_1 equ 20h
                              data_2 equ 21h
                              data_3 equ 22h
                              data_4 equ 23h

                              ORG 0000H

                              setb cobao_1
                              clr cobao_2
                              setb cobao_3
                              MOV P1,#255
                              MOV 16H,#0
                              MOV 17H,#0
                              MOV 18H,#0
                              MOV 19H,#0
                              MOV 20H,#0
                              MOV 21H,#0
                              MOV 22H,#0
                              MOV 23H,#0

                              MAIN:
                              setb P1.4 ;bit bao xung dung led mau xanh
                              jnb cobao_1,ql ;cobao_1 = 0 khoa cai dat
                              LCALL TANG_1 ;p3.0
                              LCALL TANG_2 ;p3.1
                              LCALL TANG_3 ;p3.2
                              LCALL TANG_4 ;p3.3

                              LCALL GIAM_1 ;p3.4
                              LCALL GIAM_2 ;p3.5
                              LCALL GIAM_3 ;p3.6
                              LCALL GIAM_4 ;p3.7

                              LCALL QUET_LED
                              jb p1.1,ql ;xoa cai dat ban dau
                              LCALL QUET_LED
                              LCALL XOA_CAI_DAT
                              ql: LCALL QUET_LED
                              jnb cobao_2,re_3 ;cobao_2 =0 khong cho chay motor
                              kt: jb p1.2,re_0 ;nut nhan start
                              LCALL QUET_LED
                              jnb p1.2,kt
                              LCALL QUET_LED
                              clr p2.7 ;cho motor chay
                              clr cobao_1 ;khoa nut nhan tang,giam khi chay motor
                              setb cobao_3 ;nhan nut start lai mo xung vao
                              setb p1.5 ;led mau do bao dung motor
                              RE_0: jb p1.3,re_1 ;nut nhan dung motor
                              setb p2.7 ;dung motor
                              clr cobao_3 ;khoa xung vao
                              clr p1.5 ;led mau do bao dung motor
                              re_1: jnb cobao_3,re_2 ;so sanh = gia tri cai dat ,khoa xung vao
                              jb p1.0,re_2 ;bit nhan xung vao
                              clr p1.4 ;den bao xung dung led mau xanh
                              LCALL QUET_LED
                              jnb p1.0,re_1
                              clr p1.4 ;den bao xung
                              LCALL QUET_LED
                              LCALL SO_SANH
                              re_2: jb p1.1,re_3 ;xoa cai dat lan hai
                              LCALL QUET_LED
                              LCALL XOA_CAI_DAT
                              re_3: LJMP MAIN

                              QUET_LED:
                              LCALL BIN_BCD
                              LCALL OUTLED
                              RET
                              ;*************** thiet lap lai trang thai ban dau ******************
                              XOA_CAI_DAT:
                              setb p2.7
                              setb cobao_1
                              clr cobao_2
                              setb cobao_3
                              MOV P1,#255
                              MOV 16H,#0
                              MOV 17H,#0
                              MOV 18H,#0
                              MOV 19H,#0
                              MOV 20H,#0
                              MOV 21H,#0
                              MOV 22H,#0
                              MOV 23H,#0
                              RET

                              TANG_1:
                              ql_1: JB P3.0,next_1 ;tang hang don vi len
                              LCALL QUET_LED
                              JNB P3.0,ql_1
                              setb cobao_2 ;cobao_2=1 cho phep chay motor
                              LCALL QUET_LED
                              INC 16H
                              MOV A,16H
                              MOV data_1,A ;luu vao o nho 20h
                              CJNE A,#10,next_1
                              MOV 16H,#0
                              next_1: ret

                              TANG_2:
                              ql_2: JB P3.1,next_2 ;tang hang chuc len
                              LCALL QUET_LED
                              JNB P3.1,ql_2
                              setb cobao_2 ;cobao_2=1 cho phep chay motor
                              LCALL QUET_LED
                              INC 17H
                              MOV A,17H
                              MOV data_2,A ;luu vao o nho 21h
                              CJNE A,#10,next_2
                              MOV 17H,#0
                              next_2: ret

                              TANG_3:
                              ql_3: JB P3.2,next_3 ;tang hang tram len
                              LCALL QUET_LED
                              JNB P3.2,ql_3
                              setb cobao_2 ;cobao_2=1 cho phep chay motor
                              LCALL QUET_LED
                              INC 18H
                              MOV A,18H
                              MOV data_3,A ;luu vao o nho 22h
                              CJNE A,#10,next_3
                              MOV 18H,#0
                              next_3: ret

                              TANG_4:
                              ql_4: JB P3.3,next_4 ;tang hang nghin len
                              LCALL QUET_LED
                              JNB P3.3,ql_4
                              setb cobao_2 ;cobao_2=1 cho phep chay motor
                              LCALL QUET_LED
                              INC 19H
                              MOV A,19H
                              MOV data_4,A ;luu vao o nho 23h
                              CJNE A,#10,next_4
                              MOV 19H,#0
                              next_4: ret

                              GIAM_1:
                              next_5: JB P3.4,thoat_1 ;giam hang don vi xuong
                              LCALL QUET_LED
                              JNB P3.4,next_5
                              LCALL QUET_LED
                              MOV A,16H
                              CJNE A,#0,tiep_1
                              thoat_1: ret
                              tiep_1: DEC 16H
                              MOV A,16H
                              MOV data_1,A ;luu vao o nho 20h
                              LJMP thoat_1

                              GIAM_2:
                              next_6: JB P3.5,thoat_2 ;giam hang chuc xuong
                              LCALL QUET_LED
                              JNB P3.5,next_6
                              LCALL QUET_LED
                              MOV A,17H
                              CJNE A,#0,tiep_2
                              thoat_2: ret
                              tiep_2: DEC 17H
                              MOV A,17H
                              MOV data_2,A ;luu vao o nho 21h
                              SJMP thoat_2
                              GIAM_3:
                              next_7: JB P3.6,thoat_3 ;giam hang tram xuong
                              LCALL QUET_LED
                              JNB P3.6,next_7
                              LCALL QUET_LED
                              MOV A,18H
                              CJNE A,#0,tiep_3
                              thoat_3: ret
                              tiep_3: DEC 18H
                              MOV A,18H
                              MOV data_3,A ;luu vao o nho 22h
                              LJMP thoat_3
                              GIAM_4:
                              next_8: JB P3.7,thoat_4 ;giam hang nghin xuong
                              LCALL QUET_LED
                              JNB P3.7,next_8
                              LCALL QUET_LED
                              MOV A,19H
                              CJNE A,#0,tiep_4
                              thoat_4: ret
                              tiep_4: DEC 19H
                              MOV A,19H
                              MOV data_4,A ;luu vao o nho 23h
                              LJMP thoat_4
                              ;******* so sang bang gia tri cai dat thi dung motor,va khong nhan xung vao **************
                              SO_SANH:
                              MOV A,data_1
                              CJNE A,#0,tt_1
                              MOV A,data_2
                              CJNE A,#0,tt_2
                              MOV A,data_3
                              CJNE A,#0,tt_3
                              MOV A,data_4
                              CJNE A,#0,tt_4

                              quay_lai: ret
                              tt_4: DEC data_4
                              MOV data_3,#9
                              MOV data_2,#9
                              MOV data_1,#9
                              sjmp quay_lai
                              tt_3: DEC data_3
                              MOV data_2,#9
                              MOV data_1,#9
                              sjmp quay_lai
                              tt_2: DEC data_2
                              MOV data_1,#9
                              sjmp quay_lai
                              tt_1: DEC data_1
                              MOV A,data_1
                              CJNE A,#0,quay_lai
                              MOV A,data_2
                              CJNE A,#0,quay_lai
                              MOV A,data_3
                              CJNE A,#0,quay_lai
                              MOV A,data_4
                              CJNE A,#0,quay_lai
                              setb p2.7 ;tat motor
                              clr cobao_3 ;=0 khong cho nhan xung vao
                              LCALL NAP_LAI_GIA_TRI_CAI_DAT
                              Ljmp quay_lai

                              NAP_LAI_GIA_TRI_CAI_DAT:
                              MOV data_1,16h
                              MOV data_2,17h
                              MOV data_3,18h
                              MOV data_4,19h
                              setb cobao_1
                              ret

                              BIN_BCD: MOV A,16H
                              MOV B,#1
                              DIV AB
                              MOV 10H,A

                              MOV A,17H
                              MOV B,#1
                              DIV AB
                              MOV 11H,A

                              MOV A,18H
                              MOV B,#1
                              DIV AB
                              MOV 12H,A

                              MOV A,19H
                              MOV B,#1
                              DIV AB
                              MOV 13H,A
                              RET
                              OUTLED: MOV DPTR,#MALED
                              MOV A,10H
                              MOVC A,@A+DPTR
                              MOV P0,A
                              CLR P2.0
                              LCALL DELAY500US
                              MOV DPTR,#MALED
                              MOV A,11H
                              MOVC A,@A+DPTR
                              MOV P0,A
                              CLR P2.1
                              SETB P2.0
                              LCALL DELAY500US
                              MOV DPTR,#MALED
                              MOV A,12H
                              MOVC A,@A+DPTR
                              MOV P0,A
                              CLR P2.2
                              SETB P2.1
                              LCALL DELAY500US
                              MOV DPTR,#MALED
                              MOV A,13H
                              MOVC A,@A+DPTR
                              MOV P0,A
                              CLR P2.3
                              setb P2.2
                              LCALL DELAY500US
                              setb p2.3
                              ret


                              DELAY500US: MOV R7,#250
                              DJNZ R7,$
                              RET


                              MALED:
                              DB 0C0H
                              DB 0F9H
                              DB 0A4H
                              DB 0B0H
                              DB 099H
                              DB 092H
                              DB 082H
                              DB 0F8H
                              DB 080H
                              DB 090H
                              END

                              To busy :
                              ban có thể cho tôi cái sơ đồ mach trên thì tốt quá vì bài viết của bạn rất phù hợp với khả năng của tôi ....thanks

                              Comment


                              • #45
                                ai giỏi lập trình C kiểm tra hộ em đoạn code này với, em làm mạch đếm sản phẩm sử dụng cảm biến hồng ngoại. thầy giáo yêu cầu sử dụng ngắt ngoài của vi xử lý.khi có sản phẩm đi qua thì bộ dếm tăng lên 1 và ta sẽ hiển thị số sản phẩm trên led 7 đoạn.em thử mô phỏng trên proteus rồi xong vẫn sai mà không tìm ra mình sai chỗ nào nhờ các anh kiểm tra em với
                                đây là chương trình

                                #include <at89x51.h>

                                #define Aled1 P2_0
                                #define Aled2 P2_1
                                #define Aled3 P2_2
                                #define Aled4 P2_3
                                #define Aled5 P2_4
                                #define Aled6 P2_5
                                #define Aled7 P2_6
                                #define Aled8 P2_7

                                #define data P0

                                unsigned char led1,led2,led3,led4,led5,led6,led7,led8;
                                unsigned char maled7[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7C,0x07,0x7F,0x6 7};

                                unsigned long dem;
                                void demsanpham() interrupt 0

                                {
                                dem++;
                                }

                                void convert_bcd(unsigned long temp)

                                {
                                led8 = temp % 10;
                                temp = temp / 10;
                                led7 = temp % 10;
                                temp = temp / 10;
                                led6 = temp % 10;
                                temp = temp / 10;
                                led5 = temp % 10;
                                temp = temp / 10;
                                led4 = temp % 10;
                                temp = temp / 10;
                                led3 = temp % 10;
                                temp = temp / 10;
                                led2 = temp % 10;
                                temp = temp / 10;
                                led1 = temp % 10;
                                temp = temp / 10;
                                }

                                void delay_us(unsigned int x)

                                {
                                unsigned int i;
                                for(i=0;i<x;i++) {}
                                }

                                void display()

                                {
                                data = ~ maled7[led8]; Aled1 = 0; delay_us(50); Aled1 = 1;
                                data = ~ maled7[led7]; Aled2 = 0; delay_us(50); Aled2 = 1;
                                data = ~ maled7[led6]; Aled3 = 0; delay_us(50); Aled3 = 1;
                                data = ~ maled7[led5]; Aled4 = 0; delay_us(50); Aled4 = 1;
                                data = ~ maled7[led4]; Aled5 = 0; delay_us(50); Aled5 = 1;
                                data = ~ maled7[led3]; Aled6 = 0; delay_us(50); Aled6 = 1;
                                data = ~ maled7[led2]; Aled7 = 0; delay_us(50); Aled7 = 1;
                                data = ~ maled7[led1]; Aled8 = 0; delay_us(50); Aled8 = 1;
                                }

                                void main()

                                {

                                EA = 1;
                                EX0 = 1;
                                P2 = 0x00;
                                P0 = 0;
                                while (1)
                                {
                                convert_bcd(dem);
                                display();
                                }

                                }

                                em dùng port 0 đưa dữ liệu ra led 7 đoạn. port 2 dùng để điều khiển led 7 đoạn

                                Comment

                                Về tác giả

                                Collapse

                                quangdao Tìm hiểu thêm về quangdao

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X