Nguyễn Thanh Vũ gửi vào
- 6887 lượt xem
Bài toán: nhập 1 ký tự. Dùng 3 bit thấp để điều khiển 3 đèn led (chân d2, d3 và d4).
Ví dụ:
+ nhập từ serial ký tự '1' có mã ascii viết theo nhị phân là 0011 0001 thì đèn d2 sáng (3 bit thấp là 001)
+ nhập từ serial ký tự '2' có mã ascii viết theo nhị phân là 0011 0010 thì đèn d3 sáng (3 bit thấp là 010)
+ nhập từ serial ký tự '3' có mã ascii viết theo nhị phân là 0011 0011 thì đèn d2 và d3 cùng sáng (3 bit thấp là 011)
+ nhập từ serial ký tự '4' có mã ascii viết theo nhị phân là 0011 0100 thì đèn d4 sáng (3 bit thấp là 100)
Giải quyết:
Lưu ký tự đầu tiên nhập từ serial vào status[0]
Lấy bit thấp nhất bằng cách dùng toán tử & (and bit): status[0] & 1
Lấy bit thứ hai bằng cách dịch chuyển bit sang phải 1 rồi dùng toán tử & để lấy bit thấp nhất
Lấy bit thứ ba bằng cách dịch chuyển bit sang phải 2 rồi dùng toán tử & để lấy bit thấp nhất