RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

Lập trình với ngôn ngử Basic

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • TTL
    Đệ tử 3 túi
    • Jun 2006
    • 50

    #16
    Code:
    TRISB = 01h
    TRISA = 01h
    INTCON.GIE = 1
    INTCON.INTE = 1
    OPTION_REG.INTEDG = 0
    'khai bao bien
    Dim a As Word
    Dim store As Byte
    Dim i As Byte
    Dim j As Bit
    a = 0
    i = 0
    main:
    Lcdout #store
    If i >= 11 Then
    a = ShiftRight(a, 1)
    store = a.LB
    Serout PORTA.1, 9600, #store
    i = 0
    a = 0
    Lcdcmdout LcdClear
    Endif
    Goto main
    End
    On Interrupt
    a.0 = a.0 Or PORTA.0
    a = ShiftLeft(a, 1)
    i = i + 1
    INTCON.INTF = 0
    Resume

    Giải thích dọan chương trình này sử dung ngắt RB0 dể lấy mã Scancode cua bàn phím sau đó gởi qua port nối tiếp ở chân PortA.1.
    "Học vô bờ, quay đầu là bến"

    Comment

    • TTL
      Đệ tử 3 túi
      • Jun 2006
      • 50

      #17
      Cách sử dung LCD: Basic hổ trợ rất nhiều đối với điều khiển lcd với các câu lệnh dơn giản
      DEFINE LCD_BITS = 8 ‘khai báo lcd sử dụng 8 bit data
      DEFINE LCD_DREG = PORTB ‘dũ liệu vào ở PortB
      DEFINE LCD_DBIT = 0
      DEFINE LCD_RSREG = PORTD ‘khai báo chân RS của lcd
      DEFINE LCD_RSBIT = 1
      DEFINE LCD_EREG = PORTD ‘khai báo chân Enable của LCD
      DEFINE LCD_EBIT = 3
      DEFINE LCD_RWREG = PORTD ‘khai báo chân Read write
      DEFINE LCD_RWBIT = 2
      Lcdinit
      Lcdout (<biến hoặc 1 chuỗi>)
      Lcdcmd (<lệnh>)

      Ví dụ xuât chữ HELLO ra lcd sử dụng 4 bit dữ liệu, rs ở portb.0. enable ở portb.1, read/write ở portb.2. chớp tắt với chu kỳ 1s.
      DEFINE LCD_BITS = 4 ‘khai báo lcd sử dụng 8 bit data
      DEFINE LCD_DREG = PORTB ‘dũ liệu vào ở PortB
      DEFINE LCD_DBIT = 1 ‘4 bit cao cua port b
      DEFINE LCD_RSREG = PORTb ‘khai báo chân RS của lcd
      DEFINE LCD_RSBIT = 0
      DEFINE LCD_EREG = PORTb ‘khai báo chân Enable của LCD
      DEFINE LCD_EBIT = 1
      DEFINE LCD_RWREG = PORTb ‘khai báo chân Read write
      DEFINE LCD_RWBIT = 2
      Lcdinit
      Main:
      Lcdout(“hello”)
      Waitms(1000)
      Lcdcmdout(lcdclear)
      Goto main
      "Học vô bờ, quay đầu là bến"

      Comment

      • TTL
        Đệ tử 3 túi
        • Jun 2006
        • 50

        #18
        Ví dụ mạch dồng hồ bằng LCD.
        Mạch.
        Attached Files
        Last edited by falleaf; 19-06-2006, 05:01 PM.
        "Học vô bờ, quay đầu là bến"

        Comment

        • TTL
          Đệ tử 3 túi
          • Jun 2006
          • 50

          #19
          Code:
          WaitMs 1000
          'Khoi tao LCD
          Define LCD_LINES = 2
          Define LCD_CHARS = 16
          Define LCD_BITS = 4
          Define LCD_DREG = PORTB
          Define LCD_DBIT = 0
          Define LCD_RSREG = PORTA
          Define LCD_RSBIT = 1
          Define LCD_EREG = PORTA
          Define LCD_EBIT = 3
          Define LCD_RWREG = PORTA
          Define LCD_RWBIT = 2
          Lcdinit
          'Khai bao bien
          Dim x As Byte
          Dim y As Byte
          Dim g1 As Byte
          Dim g2 As Byte
          Dim g3 As Byte
          Dim g4 As Byte
          Dim a1 As Byte
          Dim a2 As Byte
          Dim b1 As Byte
          Dim b2 As Byte
          Dim c1 As Byte
          Dim c2 As Byte
          a1 = 0
          a2 = 0
          b1 = 0
          b2 = 0
          c1 = 0
          c2 = 0
          x = 00
          y = 00
          main:
          Lcdcmdout LcdClear
          g1 = x / 10
          g2 = x % 10
          g3 = y / 10
          g4 = y % 10
          If x >= 24 Then
          x = 0
          Endif
          If y >= 60 Then
          y = 0
          Endif
          If a1 = g1 And a2 = g2 And b1 = g3 And b2 = g4 Then
          PORTA.0 = 1
          Else
          PORTA.0 = 0
          Endif
          c2 = c2 + 1
          If c2 > 9 Then
          c2 = 0
          c1 = c1 + 1
          Endif
          If c1 > 5 Then
          c1 = 0
          b2 = b2 + 1
          Endif
          If b2 > 9 Then
          b2 = 0
          b1 = b1 + 1
          Endif
          If b1 > 5 Then
          b1 = 0
          a2 = a2 + 1
          Endif
          If a2 > 9 Then
          a2 = 0
          a1 = a1 + 1
          Endif
          If a1 >= 2 And a2 >= 4 Then
          a2 = 0
          a1 = 0
          Endif
          Lcdout #a1, #a2, ":", #b1, #b2, ":", #c1, #c2, " ", #x, ":", #y
          Lcdcmdout LcdLine2Home
          Lcdout "Digital clock "
          WaitMs 998
          Goto main
          End
          On Interrupt
          WaitUs 100
          If PORTB.6 = 1 Then
          a2 = a2 + 1
          Endif
          If PORTB.4 = 1 Then
          b2 = b2 + 1
          Endif
          If PORTB.7 = 1 Then
          x = x + 1
          Endif
          If PORTB.5 = 1 Then
          y = y + 1
          Endif
          INTCON.RBIF = 0
          Resume
          "Học vô bờ, quay đầu là bến"

          Comment

          • TTL
            Đệ tử 3 túi
            • Jun 2006
            • 50

            #20
            Mạch đã thực hiện
            Attached Files
            "Học vô bờ, quay đầu là bến"

            Comment

            • TTL
              Đệ tử 3 túi
              • Jun 2006
              • 50

              #21
              Mình chỉ biết chút ít thôi nếu anh nào biết thì bổ sung thêm vào , em cảm ơn

              "Học PIC trong 1 ngày là quá nhiều nhưng để biết chi tiết về nó thì là quá ít"
              "Học vô bờ quay đầu là bến"
              "Học vô bờ, quay đầu là bến"

              Comment

              • TTL
                Đệ tử 3 túi
                • Jun 2006
                • 50

                #22
                Bác F ơi sao em add file lên nó ko cho vậy
                "Học vô bờ, quay đầu là bến"

                Comment

                • falleaf
                  PIC Bang chủ
                  • May 2005
                  • 2627

                  #23
                  Em đã tải hình lên cũng chính là tải được file lên rồi đó thôi?

                  Lưu ý, có một số giới hạn về kích thước hình ảnh, sắp tới anh sẽ mở rộng kích thứơc hình lên một chút, lưu ý, bề rộng hình chỉ được tối đa 620 pixel, để tránh việc tràn khung hình, anh sẽ nâng lên 700px. Còn các file định dạng khác thì em phải đảm bảo kích thước file khoảng 700KB, nếu lớn hơn thì không được. File nào quá lớn, em chuyển dạng sang .zip để tải lên.

                  Cái nào quá lớn, thì email cho anh, anh gửi lên host.

                  Chúc vui
                  Công ty TNHH Thương mại và Giao nhận R&P
                  store.hn@rpc.vn - store.hcm@rpc.vn

                  Học PIC như thế nào?

                  Comment

                  Working...