Em đang làm bài đo tốc độc động cơ dùng counter để đếm xung nhưng nó đưa về số 16bit em mò mãi mà không chuyển dổi được nó về số 8 bít để hiện thị lên led 7 thanh bằng code ASM. bác nào giúp em với
Thông báo
Collapse
No announcement yet.
Help chuyển số 16bit sang mã bảy thanh để hiện thị led băng ASM
Collapse
X
-
Nguyên văn bởi haprohaui Xem bài viếtEm đang làm bài đo tốc độc động cơ dùng counter để đếm xung nhưng nó đưa về số 16bit em mò mãi mà không chuyển dổi được nó về số 8 bít để hiện thị lên led 7 thanh bằng code ASM. bác nào giúp em với
1. Dịch trái 1 bit dãy số nhị phân
2. Nếu giá trị trong các cột (của số BCD) lớn hơn hoặc bằng 5 thì cộng thêm 3 vào.
3. Quay trở lại bước 1
Sau 16 lần dịch, bạn sẽ được các mã BCD, dùng bảng dò chuyển sang mã 7 đoạn và hiển thị.
Ví dụ chuyển số nhị phân 16 bit 0xFFFF thành BCD:
-
Nguyên văn bởi dangemailbox Xem bài viết2. Nếu giá trị trong các cột (của số BCD) lớn hơn hoặc bằng 5 thì cộng thêm 3 vào.
Comment
-
Nguyên văn bởi dangemailbox Xem bài viếtBạn có thể sử dụng giải thuật sau:
1. Dịch trái 1 bit dãy số nhị phân
2. Nếu giá trị trong các cột (của số BCD) lớn hơn hoặc bằng 5 thì cộng thêm 3 vào.
3. Quay trở lại bước 1
Sau 16 lần dịch, bạn sẽ được các mã BCD, dùng bảng dò chuyển sang mã 7 đoạn và hiển thị.
Ví dụ chuyển số nhị phân 16 bit 0xFFFF thành BCD:
Comment
-
Nguyên văn bởi Ck33spkt Xem bài viếtBạn ơi trên nghĩa là sao? Dịch trái có nghĩa là mình phải sử dụng lệnh gì vậy?
Comment
-
Bài của bạn đây: Binary2BCD
Trong bài này, mình giả sử số nhị phân 16 bit các bạn nhập vào bằng Port 1 (byte thấp) và Port 3 (byte cao), chương trình sẽ chuyển sang số BCD, giải mã và hiển thị.
Cần chú ý là phần cứng này mình chỉ dùng để kiểm tra phần mềm, làm thật sẽ không chạy.
Bạn có thể đọc hiểu rùi rút ngắn chương trình lại, do chương trình này mình chỉ viết demo nên có thể là chưa tối ưu lắm.
Chúc bạn thành công.Last edited by dangemailbox; 12-05-2012, 16:48.
Comment
-
Nguyên văn bởi dangemailbox Xem bài viếtDùng lệnh xoay trái qua cờ C (rlc) ấy bạn ah. Các bạn tự cài đặt được ko? Không thì chờ mình cài đặt 1 ví dụ trên Proteus cho các bạn tham khảo.2. Nếu giá trị trong các cột (của số BCD) lớn hơn hoặc bằng 5 thì cộng thêm 3 vào.
Comment
-
em có thể thay chương trình này bằng chương trinh phía dưới được không vì em dùng RCHPSIM để dịch nó ko hiểu được câu lệnh đó
Code:mov R0,CNgan cjne R0,#5,$+3 jc Exit_KTCNgan mov A,CNgan add A,#3 mov CNgan,A
Code:mov R0,CNgan cjne R0,#5,cong jc Exit_KTCNgan mov A,CNgan cong: add A,#3 mov CNgan,A
Comment
-
Nhãn "cong" đặt trước lệnh "jc".
vì cjne là lệnh 3 byte nên "$+3" để chỉ địa chỉ của lệnh nằm ngay sau nó.
Lệnh cjne có tác dụng như sau:
- Nếu R0 bằng hoặc lớn hơn 5 thì cờ C bằng 1
- Nếu ngược lại thì cờ C bằng 0.
Sau lệnh cjne mình sẽ kiểm tra cờ C vì vậy phải nhảy đến lệnh jc cho dù R0 có bằng 5 hay không bằng 5.Last edited by dangemailbox; 13-05-2012, 01:16.
Comment
-
Nguyên văn bởi Ck33spkt Xem bài viếtBạn có thể nói rõ hơn cái thuật toán bạn dùng được không? Mình vẫn chưa rõ ở chỗ: Ở ví dụ chuyển số 16bits FFFFh thành số BCD tại sao bạn không cộng thêm 3 vào sau lần dịch thứ nhất vì lúc đó giá trị của 3 cột đều lớn hơn 5 mà. Với lại cộng thêm 3 thì cộng vào cột nào có giá trị lớn hơn 5 hay là cộng vào số 16bits ban đầu vậy bạn?
Việc hiệu chỉnh chỉ thực hiện 1 lần sau mỗi lần dịch (trừ lần dịch thứ 16), sau khi hiệu chỉnh cho dùng các cột có giá trị lớn hơn 5 cũng không hiệu chỉnh nữa.
Lần dịch thứ 16 là ra kết quả luôn, ko hiệu chỉnh nữa.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Thắc mắc về hạ áp cho adapter laptopbởi nhathung1101
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 17:39 -
-
Comment on Thắc mắc về hạ áp cho adapter laptopbởi nguyendinhvan
-
Channel: Điện tử dành cho người mới bắt đầu
29-12-2024, 23:20 -
-
Trả lời cho Thắc mắc về hạ áp cho adapter laptopbởi nguyendinhvanPhải làm đúng quy chình thì mới được
Bươc 1 lấy cái nguồn điều chỉnh, set về đúng 12v, cấp cho đường out 19v như hình. Chú ý là phần đầu vào adaptor không cấp điện.
Bước 2 . Kiểm tra điện áp tại chân số 3 das001 có đúng...-
Channel: Điện tử dành cho người mới bắt đầu
29-12-2024, 23:20 -
-
Trả lời cho Thắc mắc về hạ áp cho adapter laptopbởi LamVoNhấp nháy có thể do chu kỳ hoạt động bị rút ngắn quá dẫn đến không đủ nguồn nuôi ic, bác thử tăng giá trị tụ nguồn phụ nuôi ic và giảm giá trị điện trở hạn dòng cho nó xem có cải thiện không....
-
Channel: Điện tử dành cho người mới bắt đầu
29-12-2024, 08:45 -
-
Trả lời cho Mạch tự động bật nguồnbởi nhathung1101Bác đúng là hệ Pháp, nên toàn quên chữ "d".
Nếu em được như bác, đúng 0h mới được stand by với hũ rượu và vợ thì tuyệt.
Nhưng đời không như là mơ, em và lão Đinh Vặn ngấm đủ mà.
Lão Đinh Vặn...-
Channel: Điện tử gia dụng
29-12-2024, 00:17 -
-
Trả lời cho Thắc mắc về hạ áp cho adapter laptopbởi nhathung1101Vì bản chất của nó hoạt động theo dòng. Áp chỉ để mức giới hạn.
Cứ hiểu như bạn khôn hơn 10 người, nhưng khả năng thu nhận kiến thức chỉ bằng 1/10 người khác, thì nó sẽ tự điều chỉnh thôi.-
Channel: Điện tử dành cho người mới bắt đầu
28-12-2024, 23:41 -
-
Trả lời cho Mạch tự động bật nguồnbởi nhathung1101Ựa... có lý...
Dưng mà lão chỉ dùng 1 con opto là nguy hiểm lắm.
Có khi nó on lúc lão với ấy ấy về nhà lúc vắng vợ thì khổ. Nên phải thêm cái mạch logic nữa mới được....-
Channel: Điện tử gia dụng
28-12-2024, 23:20 -
-
Trả lời cho Thắc mắc về hạ áp cho adapter laptopbởi lct1610Bác có cách nào khác ngoài quấnlại/rút bớt vòng dây BA (và mua mới ) k nhỉ ? Tại gỡ ra cũng khá lằng nhằng và kì công...
-
Channel: Điện tử dành cho người mới bắt đầu
28-12-2024, 19:30 -
-
Trả lời cho Thắc mắc về hạ áp cho adapter laptopbởi mèomướpDạ với mức áp chênh lệch quá nhìu thì ngoài chỉnh hồi tiếp thì chú cần quấn lại thứ cấp biến áp nữa ạ. Tùy loại mà có thể sẽ khéo léo rút bớt vòng dây đỡ phải tách lõi ferit ạ...
-
Channel: Điện tử dành cho người mới bắt đầu
28-12-2024, 18:57 -
-
bởi lct1610E có adapter laptop cũ hiệu asus chạy tốt ,có đầu ra ổn định ở 19,4v dòng 3,42A ( công suất 60w). E định là hạ nó xuống 12v để cấp nguồn cho đầu camera. Và e đã thử bằng cách can thiệp vào phần hồi tiếp (sử dụng ic DAS001 hay TSM103W) thông...
-
Channel: Điện tử dành cho người mới bắt đầu
28-12-2024, 18:44 -
Comment