19-06-2006, 01:44 PM | #16 |
Đệ tử 3 túi
Tham gia ngày: Jun 2006
Bài gửi: 50
: |
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. |
19-06-2006, 01:45 PM | #17 |
Đệ tử 3 túi
Tham gia ngày: Jun 2006
Bài gửi: 50
: |
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 |
19-06-2006, 01:47 PM | #18 |
Đệ tử 3 túi
Tham gia ngày: Jun 2006
Bài gửi: 50
: |
Ví dụ mạch dồng hồ bằng LCD.
Mạch. thay đổi nội dung bởi: falleaf, 19-06-2006 lúc 06:01 PM. |
19-06-2006, 01:47 PM | #19 |
Đệ tử 3 túi
Tham gia ngày: Jun 2006
Bài gửi: 50
: |
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 |
19-06-2006, 01:50 PM | #20 |
Đệ tử 3 túi
Tham gia ngày: Jun 2006
Bài gửi: 50
: |
Mạch đã thực hiện
|
19-06-2006, 01:55 PM | #21 |
Đệ tử 3 túi
Tham gia ngày: Jun 2006
Bài gửi: 50
: |
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" |
19-06-2006, 01:56 PM | #22 |
Đệ tử 3 túi
Tham gia ngày: Jun 2006
Bài gửi: 50
: |
Bác F ơi sao em add file lên nó ko cho vậy
|
19-06-2006, 05:57 PM | #23 |
PIC Bang chủ
|
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? |
|
|
Similar Threads | ||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
Giao tiếp RS232 trên PC bằng Visual Basic. | ngohaibac | Giao tiếp cổng COM và LPT | 129 | 31-10-2013 01:39 PM |
Mikro basic | minhtienbk | Chương trình dịch & các công cụ mô phỏng | 1 | 11-11-2009 08:25 PM |
Ngôn ngữ Basic cho PIC | thaychua | Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) | 10 | 10-10-2007 08:49 PM |
Lập trình cho PIC bằng BASIC | phamgiaquang | Tổ dịch thuật | 11 | 10-10-2007 07:51 PM |
Gặp vấn đề về Mikro Basic | TTL | Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) | 5 | 09-08-2006 07:07 PM |