Nguyên văn bởi thangbom64
Thông báo
Collapse
No announcement yet.
Dành cho người mới tìm hiểu 8051
Collapse
X
-
Lcd
Các bác giúp em với. Hiện nay em đang làm bài tập về LCD mô phỏng hiện chữ lên màn hình dùng chương trình mô phỏng Proteus. Em đã mô phỏng 2 trường hợp của chương trình con WAIT_LCD
Trường hợp 1 em đợi khoảng thời gian mù ( dùng delay ) thì chữ hiện lên LCD bình thường.
Trường họp 2 em đợi cho cờ BF (ACC.7) từ mức 1 xuống mức 0. Nhưng cờ không thể xuống mức 0 được ( em không hiểu tại sao ??) và chương trình không thể thoát khỏi chương trình con được.
Đây là chương trình và của em. Mong các bác tìm giúp em lỗi sai ở cờ BF (ACC.7). Em có đính kèm các file chương trình + mô phỏng ở dưới.
Em cảm ơn nhiều.
org 0000h
DB0 BIT P0.0
DB1 BIT P0.1
DB2 BIT P0.2
DB3 BIT P0.3
DB4 BIT P0.4
DB5 BIT P0.5
DB6 BIT P0.6
DB7 BIT P0.7
RW BIT P3.5
RS BIT P3.6
E BIT P3.7
MAIN:
LCALL DELAY
LCALL INIT_LCD
LCALL CLR_LCD
MOV A,#'D'
LCALL WRITE_TEXT
MOV A,#'U'
LCALL WRITE_TEXT
MOV A,#'N'
LCALL WRITE_TEXT
MOV A,#'G'
LCALL WRITE_TEXT
;************************************************* *************
; Delay program
;************************************************* *************
DELAY:
PUSH 7
PUSH 6
MOV R7,#1
RE1: MOV R6,#2
DJNZ R6, $
DJNZ R7,RE1
POP 6
POP 7
RET
;************************************************* **************
; Start LCD
;************************************************* **************
INIT_LCD:
CLR RS
CLR RW
MOV P0,#38h
SETB E
CLR E
LCALL WAIT_LCD
CLR RS
CLR RW
MOV P0,#0Eh
SETB E
CLR E
LCALL WAIT_LCD
CLR RS
CLR RW
MOV P0,#06h
SETB E
CLR E
LCALL WAIT_LCD
RET
;************************************************* **************
; Clear LCD
;************************************************* **************
CLR_LCD:
CLR RW
CLR RS
MOV P0,#01h
SETB E
CLR E
LCALL WAIT_LCD
RET
;************************************************* *************
; Write the context to LCD
;************************************************* ************
WRITE_TEXT:
CLR RW
SETB RS
MOV P0,A
SETB E
CLR E
LCALL WAIT_LCD
RET
;************************************************* *************
; Test busy flat ( wait lcd program )
;************************************************* ************
WAIT_LCD:
; lcall delay
; CLR E ;Start LCD command
CLR RS ;It's a command
SETB RW ;It's a read command
MOV P0,#0FFh ;Set all pins to FF initially
SETB E
MOV A,P0 ;Read the return value
JB ACC.7,$ ;If bit 7 high, LCD still busy
CLR E ;Finish the command
CLR RW ;Turn off RW for future commands
RET
ENDAttached Files
Comment
-
Nguyên văn bởi tranvannam59Chào các bạn mình có 70 con led mắc nối tiếp, mỗi con 2v5 tổng hiệu điện thế là 70x2v5= 175v sử dụng điện thế 220v như vậy phải dùng điện trở bao nhiêu ohm? và công thức tính như thế nào nếu thay đổi số lượng led mong các bạn chỉ giúp.
Cám ơn nhiềuSỰ HỌC LÀ MÃI MÃI......!!!!
Comment
-
Nguyên văn bởi DungNTvt Xem bài viếtTrong chương trình mô phỏng em chạy từng lệnh một nhưng tới lệnh JB ACC.7 ,$ thì không thoát ra được ( ACC.7) luôn ở trạng thái 1 (??).
Chúc vui!SỰ HỌC LÀ MÃI MÃI......!!!!
Comment
-
bạn Dũng thân mến : cái thằng Proteus nó chỉ là mô phỏng thôi mà.nó đâu phải là sản phẩm thật đâu.Do đó cái thằng LCD trên đó đâu thể tạo ra tín hiệu cho cờ BF=0 được đâu.trường hợp này tui đã gặp.mô phỏng thì chỉ có thể dùng delay thôi.còn bạn hãy đe chương trình bạn viết bằng cờ BF nạp thẳng vào mạch chắc chắn sẽ chạy(hì hì nếu bạn viết đúng nhá)
Chúc vui!
Comment
-
đơn giản thôi mà bạn: dòng qua các con led là khoảng 10mA.còn áp trên con điện trở là 220-175=45V.Vậy thì con trở sẽ là 45/10m=4500 Ohm.
Comment
-
Nguyên văn bởi Zz_Bi_zZ Xem bài viếtTui cũng học CDT , thấy rất thú vị đó chứ . Có lẽ bạn là ng ko ham Cơ khí và điện tử lám . Mấy ku lớp tui học năm 5 oy mà h chưa bit điều tốc động cơ DC = cách j . chán !
lên trên này cũng mong mọi người chỉ giáo nhiều
Comment
-
có bác nào có thể vẽ hộ em cái lưu đồ để có thể hiển thị LCD với.
ngồi đọc mấy tài liệu về LCD nhưng mãi mà vẫn ko hiểu thế nào.mong mọi người giúp với nhá
1_ Init_LCD : khởi tạo các chế độ làm việc của LCD
2_ Sent_comman: mô đul gửi mã lệnh
3_ Sent_data: môdul gửi dữ liệu
4_ Busy: kiểm tra cờ bận
Sau khi viết xong các môdul này thì bạn hoàn toàn có thể yên tâm làm việc với LCD. Tuy nhiên, để viết được chúng bạn phải hiểu được cách thức hoạt động của LCD và cách giao tiếp 8051 với LCD.
Comment
-
xin mọi người giúp đỡ
e dùng keil lập trình cho chip 89c51 (tạo file.hex) làm led P0 sáng tắt xen kẽ, sau đó dùng bo rixin nạp thì nó báo complete. sau đó nối dây mạch reset, thạch anh, chân 31 nối VCC = 5v, mà sao nó chẳng hoạt động gì hết. tháo ra nạp code khác thì nó cũng kô có tác dụng gì hết, toàn bộ led po đều sáng chập chờn. e ngĩ là e két nối sai. hoặc do bo nạp hư, nhưng thấy nó chạy bình thường. xin các a hướng dẫn cho e với đã mò 2 ngày rồi mà nó kô chạy gì cả. các a xem file đính kèm nhe!. e xin cảm ơn!Attached Files
Comment
Bài viết mới nhất
Collapse
-
bởi nhathung1101Với servo Yaskawa thì dùng phần mềm Wide field 3. Dùng được hay không thì động não đi....
-
Channel: Điện tử công nghiệp
Hôm qua, 00:35 -
-
bởi bqvietServo cuối cùng vẫn chỉ là điều chỉnh tốc độ và đọc phản hồi vị trí
Qua cổng song song LPT cổ
https://www.electronicsforu.com/elec...eed-controller
Qua cổng USB - xem thêm đám FT232RL-
Channel: Điện tử công nghiệp
22-11-2024, 15:56 -
-
bởi thiennam0703Em đang tìm hiểu cách xây dựng chương trình điều khiển động cơ Servo Yaskawa bằng máy tính tuy nhiên khi tìm kiếm trên mạng các hướng dẫn thì thường là điều khiển bằng vi điều khiển hoặc điều khiển bằng PLC hay điều khiển động cơ...
-
Channel: Điện tử công nghiệp
22-11-2024, 15:32 -
-
Trả lời cho Tổng hợp các thông tin về mạch nạp cho AVRbởi bacthoMình cũng bị như vậy mà chưa biết ở đâu
-
Channel: Vi điều khiển AVR
21-11-2024, 21:00 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi nhathung1101Câu trả lời là không dùng được.
Hai lớp dán mặt trước và mặt sau, gọi là film phân cực. Muốn hiểu rõ về nó thì chịu khó search nhé. Ở đây có rất nhiều chó cứ ngửi thấy phân là sủa nhặng, nên không giải thích nhiều....-
Channel: Thiết bị điện tử cá nhân
21-11-2024, 16:20 -
-
Comment on Tổng hợp các thông tin về mạch nạp cho AVRbởi Memem
-
Channel: Vi điều khiển AVR
21-11-2024, 15:10 -
-
Trả lời cho Tổng hợp các thông tin về mạch nạp cho AVRbởi MememMọi người ơi cho em hỏi cái này ạ, hiện tại em đang làm btl về hiển thị giá trị nhiệt độ trên led 7 thanh sử dụng atmega16, code em chạy trên mô phỏng rất oke nhưng khi lắp qua mạch thực thì bị lỗi ở led đầu tiên bị lỗi như thế này...
-
Channel: Vi điều khiển AVR
21-11-2024, 15:10 -
-
bởi mantruongepuNhờ cả nhà tìm giúp mình thông tin IC này với, thấy ghi 943B W58BAL mà mình tìm mấy ngày nay không được, nó được đóng gói dạng TSSOP 8. Cám ơn cả nhà....
-
Channel: Điện tử dành cho người mới bắt đầu
20-11-2024, 14:40 -
-
bởi TherulCảm ơn bạn đã chia sẻ câu chuyện và quá trình phát triển sản phẩm của mình. Trước tiên, thật may mắn khi bạn vượt qua tai nạn và vẫn giữ được niềm đam mê cũng như khả năng sáng tạo trong lĩnh vực kỹ thuật. Việc bạn tiếp tục...
-
Channel: từ PIC tới dsPIC
20-11-2024, 07:20 -
-
Trả lời cho Em muốn hỏi mọi người về nguyên lý hoạt động, tần số của mạch công suất trong máy rửa siêu âm ạ.bởi nguyendinhvanBạn nên nghiên cứu cái chấn lưu đèn ống Compact fluorescent lamp hay đèn compact trước đã. Nó rẻ đỡ tốn kém.
Sau khi hiểu rõ rồi thì chuyển sang cái mạch này.
Ở cái chấn lưu, tần số của nó linh tinh lắm, tùy điện áp nguồn, tùy...-
Channel: Hỗ trợ học tập
19-11-2024, 22:44 -
Comment