Em định viết đoạn chương trình dịch chữ trên LCD từ trái sang phải và ngược lại. Nhưng không hiểu sao chỉ có phần dịch từ phải qua trái là được còn ngược lại thì chịu chết . Các bác xem và sửa lại phần code1 giùm em với nha, em vẫn chưa hiểu là mình sai ở đâu ( chiếp chiếp ------> em còn gà lắm các bác bỏ quá cho em, vâng cho em xin )
Thông báo
Collapse
No announcement yet.
Sửa giùm em đoạn code LCD
Collapse
X
-
Uh, cám ơn các bác đã đóng góp ý kiến, nếu dùng lệnh 1C, 18 để dịch toàn bộ hiển thị như bác Zz_Bi_zZ thì em đã thử rồi, kết quả là......chạy được . Nhưng em thắc mắc về câu lệnh 5-dịch hiển thị sang phải và 7-dịch hiển thị sang trái thì chỉ chạy được 1 lệnh thôi, lệnh còn lại chịu chết ( có file mô phỏng kèm theo đó). Thôi, chắc em chuyển qua dùng 2 câu lệnh như bác Zz_Bi_zZ cho phẻ, mệt óc với 2 câu lệnh trên quáVà con tim đã vui trở lại ....
Comment
-
Keke, bây giờ mới tìm ra nguyên nhân, vấn đề thực ra rất đơn giản, đó là chỉ cần làm một cái mạch thực và nạp chương trình vào là nó chạy, chỉ tại em quá cẩn thận mô phỏng trước nên mới đau đầu như vậy, đúng là mô phỏng..... không giống thật các bác nhỉVà con tim đã vui trở lại ....
Comment
-
moi nguoi giup em cai nay nha xem doan cod cua e co gi sai khi dem san pham duoc 20 thi so thug tang len 1ma khi xuat ra led thi no khong dung:sau day la doan code :
org 00h
sjmp main
org 0030h
main:
mov dptr,#led7seg
mov tmod,#06h
mov tl0,#-20
mov th0,#-20
setb p1.0
setb p1.1
setb p1.2
setb p1.3
mov r3,#1
mov r4,#00
// mov r5,#00
setb tr0
begin:
mov a,tl0
subb a,#-21
lcall bin2bcd
mov a,30h
cjne a,10,thoat1
mov a,#00h
thoat1:
movc a,@a+dptr
mov 30h,a
mov a,31h
cjne a,#3,thoat2
mov a,#00
thoat2:
movc a,@a+dptr
mov 31h,a
ket_thuc:
lcall display
// mov a,tl0
//subb a,#-21
mov a,31h
cjne a,#0a4h,begin
mov a,r3
//inc r3
lcall bin2bcd2
mov a,32h
cjne a,10,thoat11
mov a,#00h
thoat11:
movc a,@a+dptr
mov 32h,a
mov a,33h
cjne a,#2,thoat22
mov a,#00
thoat22:
movc a,@a+dptr
mov 33h,a
lcall display
//inc r3
sjmp begin
display:
mov p0,30h ; led1
clr p1.0 ; ba^.t led1 sa'ng
acall delay ; delay
setb p1.0 ; tat led1
mov p0,31h ; led2
clr p1.1 ; ba^t led2 sa'ng
acall delay ; delay
setb p1.1
mov p0,32h ; led1
clr p1.2 ; ba^.t led1 sa'ng
acall delay ; delay
setb p1.2 ; tat led1
mov p0,33h ; led2
clr p1.3 ; ba^t led2 sa'ng
acall delay ; delay
setb p1.3
ret
bin2bcd:
mov b,#10 ; b=10
div ab ; chia cho 10
mov 30h,b ; luu so thap vao 30h
mov 31h,a
ret
bin2bcd2:
mov b,#10 ; b=10
div ab ; chia cho 10
mov 32h,b ; luu so thap vao 30h
mov 33h,a
delay:
mov r1,#10
mov r0,#10h
loop: djnz r0,loop
djnz r1,loop
ret
led7seg:
db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h
end
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677nhân tiện cho mình hỏi thêm về cái phần test hipot (cao áp),là để kiểm tra độ bền cách điện giưa các cuộn dây,mà thấy thông số test thường ở mức 4kvac,vậy nếu mấy con fail đó xài bình thường vẫn dduocj phải không ạ,vì điện mình làm gì lên tới mức đó
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:52 -
-
Trả lời cho Kiểm tra biến ápbởi lamvu0677máy đo số vòng thì cty có ,mà nó to quá,tưởng có máy nào gọn gọn bỏ túi được thì tiện hơn,vì đi lại nhiều...
-
Channel: Điện tử dành cho người mới bắt đầu
10-11-2024, 08:47 -
-
bởi tmcodonMình thấy diễn đàn có chuyên mục quảng cáo rồi mà. Bạn đóng góp để mở luồng riêng
-
Channel: Hướng dẫn sử dụng diễn đàn
09-11-2024, 13:36 -
-
bởi Nicole08Xin chào mọi người, tôi đã sử dụng Flashforge Inventor 2 được gần 5 năm và rất hài lòng với nó, nhưng tuần trước đã xảy ra sự cố. Có vẻ như động cơ bước đưa sợi in vào đầu nóng đã bị hỏng. Mọi thứ khác có vẻ ổn trên máy...
-
Channel: Điện tử dành cho người mới bắt đầu
09-11-2024, 12:55 -
Comment