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
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Cháu có biết gì về nhịp 2/4 hay 4/4 đâu, hôm bữa hỏi chú nhạc sĩ kia nói là để 2/4 ạ....
-
Channel: Tâm tình dân kỹ thuật
hôm nay, 21:47 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamNhịp 4/4 người ta mới chọn điệu Chachacha. Cháu viết nhịp 2/4 thì 2 trường canh mới hoàn thành điệu chachacha. Khi đó sẽ có lúc không khớp với tiếng trống điệu chachacha. Thời gian hành âm nhanh 120 cháu nên chọn điệu disco sẽ hay hơn....
-
Channel: Tâm tình dân kỹ thuật
hôm nay, 20:21 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Theo gợi ý của bác, cháu dịch xuống vài nốt đây:...
-
Channel: Tâm tình dân kỹ thuật
hôm nay, 16:42 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamHay quá dinhthuong ơi!
Tôi có sự góp ý nhỏ thế này:
1- Chachacha thường viết cho nhịp 4/4, ít thấy nhịp 2/4 lại là điệu Chachacha.
2- Đoạn Bao nhiêu yêu thương ......và điệp khúc bao nhiêu hân hoan..... cao quá làm sao ca sĩ hát nổi?...-
Channel: Tâm tình dân kỹ thuật
hôm nay, 15:31 -
-
bởi chinhnguyen9Thú thật tôi lúng túng không biết nên gọi thế nào cho đúng nhất về dòng sản phẩm này.
Tham khảo trên AliExpress về dòng sản phẩm này, dù là hàng có thương hiệu họ cũng chưa có tên gọi khác. Ở VN có lẽ các shop muốn nhấn mạnh trong cách gọi để bộc...-
Channel: Điện tử dành cho người mới bắt đầu
hôm nay, 10:46 -
-
Trả lời cho Dùng MC34063 để làm driver lái led 1W, 3Wbởi Nexus 6Pbác cho e xin sơ đồ mạch dc k ạ...
-
Channel: Điện tử dành cho người mới bắt đầu
hôm nay, 10:00 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Tập tành Musescore vài ngày cũng có sheet nhạc rồi đây bác. Mời bác chơi gita thử nha!...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 07:26 -
-
bởi chinhnguyen9Rất sorry cùng các bạn Trong bài vửa post có một lổ hổng về nguyên lý vì nếu các mosfet chay giống như tiếp điểm contactor thì 16 van đóng cắt trên hoạt động OK. Nhưng khổ nỗi nó chì dẫn một chiều như vậy để đáp ứng cả hai tình huống...
-
Channel: Điện tử dành cho người mới bắt đầu
05-05-2024, 09:27 -
-
bởi FschoolvnTrong bối cảnh toàn cầu hóa giáo dục, ngày càng nhiều học sinh được gia đình chắp cánh để truy cầu kiến thức từ các quốc gia phát triển, đặc biệt là Hoa Kỳ. Từ ước mơ thụ hưởng nền giáo dục chất lượng, không ít học sinh nhìn...01-05-2024, 00:54
Comment