Thông báo
Collapse
No announcement yet.
chuyển số 16bit thanh bcd...
Collapse
X
-
thì chia...nhưng vấn đề là nếu là số ffh...
làm sao mình hiển thị đượcLast edited by dinhthuan911; 10-09-2012, 22:22.đàn bà sinh ra để đàn ông ăn hiếp...ko ăn được thì hiếp....
Comment
-
Nguyên văn bởi dinhthuan911 Xem bài viếtchư hiểu lắm...mấy bác chỉ rõ hơn xíu đi.
lấy 24 chia 10 đc 2 dư 4
nếu viết ASM :
MOV A,#124
MOV B,#10
DIV AB ;A=#1 B=#24
MOV A,30H ;30H=#1
MOV B,#10
DIV AB ;A=#2 b=#4
MOV A,31H ;31H=#2
MOV B,32H ;32H=#4
Comment
-
Nguyên văn bởi dinhthuan911 Xem bài viếtheyyyy...
em lấy tl ra hiển thị.được tới 255...khi tới 256 tức là th = 1,tl = 00000000b
nó sai bét rồi...
giờ ghép làm sao để khi tl tang toi 11111111b,th là 000000001 thì nó hiẻn thị là 256...
Nếu số bạn đếm (từ 100 - 999) thì bạn chia cho 10 hai lần, lần chia đầu được số hàng hàng trăm chứa ở trong thanh ghi A (bạn cất nó vào một vùng RAM nào đó tùy bạn), số dư ở thanh ghi B, lấy số dư chia cho 10 một lần nữa được số hàng chục lưu ở thanh ghi A (bạn lại cất nó vào vùng RAM nào đó), còn số dư chính là số hàng đơn vị lưu ở thanh ghi B (cũng cất nó vào 1 vùng RAM). Tương tự số đến từ 1000 - 9999 thì chia cho 10 ba lần, lần đầu được số hàng nghìn, lần tiếp theo được số hàng trăm, rồi hàng chục và hàng đơn vị, cứ vậy nếu số lớn hơn 9999 thì chia cho 10 bốn lần, 5 lần ..v.v.
Khi cần hiển thị số hàng nào thì bạn lấy giá trị của số hàng đó ra và tra mã cho khớp với mã hiển thị của LED 7 thanh vậy là được!
P/S: Việc chia cho 10 bao nhiêu lần là tùy thuộc vào số LED 7 thanh bạn có: 2 Led thì chia 1 lần là đủ, 3 LED thì chia 2 lần, 4 LED thì chia 3 lần ... N LED thì chia N-1 lần cho 10.
Comment
-
có cái code của "khoai Tây" cho bạn tham khảo nè ^^
Code:;******************************************************************************* ;Hex16ToASCII: ;converts a 16 bit binary number to a ;string of ASCII characters. ;******************************************************************************* ;Input: ;R6--low byte of the 16BIT hext data ;R5--hi byte ;output: ;R4-- 1'S dec nuber of ACII ;R3-- 10'S dec number of ASCII ;R2-- 100'S dec nuber of ASCII ;R1-- 1000'S dec number of ASCII ;R0-- 10000'S dec number of ASCII ;usage: ;clear R0,R1,R2,R3,R4 ;mov R5,High BYTE of the data to be converted ;mov R6,Low byte of the data to be converted ;-------------------------------- Hex16ToASCII: push PSW push ACC CLR C MOV R0,#0 ;10,000 counter clear Hex16ASCIILoop1: MOV A,R6 ;"16bit hex data" - 10,000 (2710H) SUBB A,#10H MOV R6,A ;save left value MOV A,R5 SUBB A,#27H MOV R5,A JC Hex16AsciiComp1 ;if "16bit hex data"< 10,000,jump to skip1 INC R0 ;else save 10,000s counter jmp Hex16ASCIILoop1 ;again:"16bit hex data" - 10,000 (2710H) Hex16AsciiComp1: ;here is the compensation at condition ;"16bit hex data"< 10,000 ;because we have subtrate it with 10,000 ;so add 10,000 ;get the 1,000s',100s',10s',1s' value to R5R6 MOV A,R6 ADD A,#10H MOV R6,A MOV A,R5 ADDC A,#27H MOV R5,A CLR C ;End of the compensation MOV R1,#0 ;1,000 counter clear Hex16ASCIILoop2: ;subtrate the left data by 1,000(3E8) ;repeatedly,until R5R6<1,000 MOV A,R6 subb A,#0E8H mov R6,A MOV A,R5 subb A,#03H MOV R5,A JC Hex16AsciiComp2 ;the left R5R6 <1,000,jump to compesation 2 INC R1 ;else save the 1,000 counter R1 jmp Hex16ASCIILoop2 Hex16AsciiComp2: ;Compensate because subbtrate 1000 from R5R6 ;at the condition R5R6<1000 MOV A,R6 ADD A,#0E8H MOV R6,A MOV A,R5 ADDC A,#03H MOV R5,A CLR C MOV R2,#0 ;100S' counter clear Hex16AsciiLoop3: ;the 100s' (64H)condition mov A,R6 SUBB A,#64H mov R6,A MOV A,R5 subb A,#0 MOV R5,A JC Hex16AcsiiComp3 INC R2 jmp Hex16AsciiLoop3 Hex16AcsiiComp3: mov A,R6 ADD A,#64H MOV R6,A MOV A,R5 ADDC A,#0 MOV R5,A CLR C MOV R3,#0 ;10S' counter clear Hex16AsciiLoop4: ;10S' CONDITION, (R5 =0,so despite it) mov A,R6 SUBB A,#0AH MOV R6,A JC Hex16AsciiComp4 INC R3 jmp Hex16AsciiLoop4 Hex16AsciiComp4: add A,#0AH MOV R6,A ;here R6 represent 1S' mov R4,a ;1S' counter ->R4 ;NOW R4,R3,R2,R1,R0 all add 30H,to get real ;ASCII code clr c mov A,R4 addc A,#30H MOV R4,A MOV A,R3 ADD A,#30H MOV R3,A MOV A,R2 ADD A,#30H MOV R2,A MOV A,R1 ADD A,#30H MOV R1,A MOV A,R0 ADD A,#30H MOV R0,A pop PSW pop ACC RET end ;END OF CONVERATION ROUTINE. ;=========================================
Comment
Bài viết mới nhất
Collapse
-
bởi trungautMình cần đặt hàng thiết kế chế tạo mạch nghịch lưu 3 pha để cài đặt các thuật toán điều khiển động cơ FOC, DTC, ... Xin liên hệ trungaut@gmail.com để bàn chi tiết. Xin cảm ơn diễn dàn đăng tin!
-
Channel: Đặt hàng
hôm nay, 14:27 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi tuyennhanCách ly dây điện vào , bộ nguồn và đèn khỏi khung xe thì có rò thật cũng không lo bị giật .
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 08:56 -
-
Trả lời cho Hỏi cách điều chế xungbởi thetungBạn cho qua cái Tờ ri gơ Sờ mít ấy ......
-
Channel: Kỹ thuật điện tử tương tự
16-12-2024, 11:26 -
-
Trả lời cho Hỏi cách điều chế xungbởi nguyendinhvanCó gì mà khó ?
Răn cưa vuông đây
...-
Channel: Kỹ thuật điện tử tương tự
15-12-2024, 23:36 -
-
Trả lời cho hỏi về tụ điệnbởi ndp62Chữ " VENT" không phải là tên hãng sx tụ đâu ,vó thế là 1 ký hiệu liên quan tụ lowesr ?
-
Channel: Điện thanh
15-12-2024, 18:24 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi bqvietTrừ trường hợp công suất (rất) thấp, hầu như tất cả các loại nguồn xung thông thường đều có tụ nhỏ 1 - 10nF nối giữa sơ cấp và thứ cấp, để thoát nhiễu và để chống hiện tượng tương tự tĩnh điện. Vụ này đã thảo luận vài...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 22:02 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi namlangnhoE thử 3 cái nguồn nó đều giống nhau. Nên e làm tiếp địa luôn.
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 19:58 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi mèomướpDạ chú sắm con át chống giật và thay nguồn tổ ong khác cho an toàn ạ. Đa phần nguồn xung đều xả nhiễu của bên thứ cấp về điện lưới qua 1 con tụ nên cảm giác tê sẽ khó xác định rõ ràng là do rò điện hay là nó vốn vậy...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 18:51 -
-
bởi namlangnhoXin chào mọi người. E có sử dụng 1 cục nguồn tổ ong 12v-30A chạy đèn led xe trà sữa. Mà thợ thi công bị rò điện nên điện rò ra khung xe. E dùng đồng hồ đo điện ở khung xe và cả output thì thấy có dòng điện xoay chiều hơn 100v. Nên chạm...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 00:12 -
-
bởi Manh.n.trCác bác cho em hỏi cách điều chế xung răng cưa sang xung vuông với ạ. Em đang thấy khó ạ...
-
Channel: Kỹ thuật điện tử tương tự
13-12-2024, 20:46 -
Comment