• Lập trình vi điều khiển - Chương 12: Phối ghép với thế giới thực: LCD, ADC và các cảm biếnLập trình vi điều khiển - Chương 12: Phối ghép với thế giới thực: LCD, ADC và các cảm biến

    Các bước lập trình cho ADC 808/809. Các bước chuyển dữliệu từ đầu vào của ADC 808/809 vào bộvi điều khiển nhưsau: 1. Chọn một kênh tương tựbằng cách tạo địa chỉA, B và C theo bảng 12.10. 2. Kích hoạt chân ALE (cho phép chốt địa chỉAddress Latch Enable). Nó cần xung thấp lên cao đểchốt địa chỉ. 3. Kích hoạt chân SCbằng xung cao xuống thấ...

    pdf18 trang | Chia sẻ: aloso | Ngày: 14/12/2013 | Lượt xem: 2462 | Lượt tải: 4

  • Lập trình vi điều khiển - Chương 11: Lập trình các ngắtLập trình vi điều khiển - Chương 11: Lập trình các ngắt

    Có nhiều lúc ta cần kiểm tra một trình phục vụngắt bằng con đường mô phỏng. Điều này có thể được thực hiện bằng các lệnh đơn giản đểthiết lập các ngắt lên cao và bằng cách đó buộc 8051 nhảy đến bảng véc tơngắt. Ví dụ, nếu bít IE dành cho bộTimer1 được bật lên 1 thì một lệnh như“SETB TF1” sẽngắt 8051 ngừng thực hiện công việc đang làm bất kỳ...

    pdf19 trang | Chia sẻ: aloso | Ngày: 14/12/2013 | Lượt xem: 3985 | Lượt tải: 2

  • Lập trình vi điều khiển - Chương 10: Truyền thông nối tiếp của 8051Lập trình vi điều khiển - Chương 10: Truyền thông nối tiếp của 8051

    Hãy tìm tốc độbaud nếu TH1 = -2, SMOD = 1 và tần sốXTAL = 11.0592MHz. Tốc độnày có được hỗtrợbởi các máy tính IBM PC và tương thích không? Lời giải: Với tần sốXTAL = 11.0592MHz và SMOD = 1 ta có tần sốcấp cho Timer1 là 57.6kHz. Tốc độbaud là 57.600kHz/2 = 28.800. Tốc độnày không được hỗtrợbởi các máy tính IBM PC và tương thích. Tuy nhiê...

    pdf18 trang | Chia sẻ: aloso | Ngày: 14/12/2013 | Lượt xem: 5093 | Lượt tải: 2

  • Lập trình vi điều khiển - Chương 9: Lập trình cho bộ đếm/bộ định thời trong 8051Lập trình vi điều khiển - Chương 9: Lập trình cho bộ đếm/bộ định thời trong 8051

    Trong các ví dụtrên đây ta đã thấy công dụng của các cờTR0 và TR1 đểbật/ tắt các bộ định thời. Các bít này là một bộphận của thanh ghi TCON (điều khiển bộ định thời). Đây là thanh ghi 8 bít, như được chỉra trong bảng 9.2 thì bốn bít trên được dùng đểlưu cất các bít TF và TR cho cảTimer0 và Timer1. Còn bốn bít thấp được thiết lập dành cho đi...

    pdf18 trang | Chia sẻ: aloso | Ngày: 14/12/2013 | Lượt xem: 2931 | Lượt tải: 2

  • Lập trình vi điều khiển - Chương 8: Các lệnh một bít và lập trìnhLập trình vi điều khiển - Chương 8: Các lệnh một bít và lập trình

    1. Các lệnh “SETB A”, “CLR A”, “CPL A” đúng hay sai? 2. Các cổng vào/ ra nào và các thanh ghi nào có thể đánh địa chỉtheo bít. 3. Các lệnh dưới đây đúng hay sai? Đánh dấu lệnh đúng. a) SETB P1 e) SETB B4 b) SETB P2.3 f) CLR 80H c) CLR ACC.5 g) CLR PSW.3 d) CRL 90H h) CLR 87H 4. Hãy giết chương trình tạo xung vuông với độ đầy xung 75%,...

    pdf10 trang | Chia sẻ: aloso | Ngày: 14/12/2013 | Lượt xem: 2602 | Lượt tải: 1

  • Lập trình vi điều khiển - Chương 7: Các lệnh logic và các chương trìnhLập trình vi điều khiển - Chương 7: Các lệnh logic và các chương trình

    Các bộvi điều khiển DS5000T đều có đồng bộthời gian thực RTC. Nó cung cấp hiển thịliên tục thời gian trong ngày (giờ, phút và giây) và lịch (năm, tháng, ngày) mà không quan tâm đến nguồn tắt hay bật. Tuy nhiên dữliệu này được cấp ở dạng mã BCD đóng gói. Đểhiển thịdữliệu này trên một LCD hoặc in ra trên máy in thì nó phải được chuyển vềdạng m...

    pdf10 trang | Chia sẻ: aloso | Ngày: 14/12/2013 | Lượt xem: 2847 | Lượt tải: 2

  • Lập trình vi điều khiển - Chương 6: Các lệnh số học và các chương trìnhLập trình vi điều khiển - Chương 6: Các lệnh số học và các chương trình

    Theo CPU thì kết quả- 25 là đúng nên cờOV = 0. Từcác ví dụtrên đây ta có thểkết luận rằng trọng bất kỳphép cộng sốcó dấu nào, cờOV đều báo kết quảlà đúng hay sai. Nếu cờOV = 1 thì kết quảlà sai, còn nếu OV = 0 thì kết quảlà đúng. Chúng ta có thểnhấn mạnh rằng, trong phép cộng các sốkhông dấu ta phải hiển thịtrạng thái của cờCY (cờnhớ) và tr...

    pdf12 trang | Chia sẻ: aloso | Ngày: 14/12/2013 | Lượt xem: 2680 | Lượt tải: 1

  • Lập trình vi điều khiển - Chương 5: Các chế độ đánh địa chỉ của 8051Lập trình vi điều khiển - Chương 5: Các chế độ đánh địa chỉ của 8051

    Ngoài việc sửdụng DPTR đểtruy cập không gian bộnhớROM chương trình thì nó còn có thể được sửdụng đểtruy cập bộnhớngoài nối với 8051 (chương 14). Một thanh ghi khác nữa được dùng trong chế độ đánh địa chỉtheo chỉsốlà bộ đếm chương trình (AppendixA). Trong nhiều ví dụtrên đây thì lệnh MOV đã được sửdụng để đảm bảo đính rõ ràng, mặc dù ta có...

    pdf10 trang | Chia sẻ: aloso | Ngày: 14/12/2013 | Lượt xem: 2078 | Lượt tải: 1

  • Lập trình vi điều khiển - Chương 4: Lập trình cho cổng vào ra I/OLập trình vi điều khiển - Chương 4: Lập trình cho cổng vào ra I/O

    Có nhiều lúc chúng ta cần truy cập chỉ1 hoặc2 bít của cống thay vì truy cập cả8 bit của cổng. Một điểm mạnh của các cổng 8051 là chúng có khảnăng truy cập từng bít riêng rẽmà không làm thay đổi các bít còn lại trong cổng đó ví dụ, đoạn mà dưới đây chốt bit P1.2 liên tục: BACK: CPL P1.2 ; Lấy bù 2 chỉriêng bit P1.2 ACALL DELAY SJMP BACK ...

    pdf9 trang | Chia sẻ: aloso | Ngày: 14/12/2013 | Lượt xem: 2258 | Lượt tải: 1

  • Lập trình vi điều khiển - Chương 3: Các lệnh nhảy, vòng lặp và lệnh gọiLập trình vi điều khiển - Chương 3: Các lệnh nhảy, vòng lặp và lệnh gọi

    Đối với vòng lặp HERE ta có (4 ×250) ×1.085μs = 1085μs. Vòng lặp AGAIN lặp vòng lặp HERE 200 lần, do vậy thời gian trễlà 200 ×1085μs 217000μs, nên ta không tính tổng phí. Tuy nhiên, các lệnh “MOV R3, #250” và “DJNZ R2, AGAIN” ở đầu và cuối vòng lặp AGAIN cộng (3 ×200 ×1.085μs) = 651μs vào thời gian trễvà kết quảta có 217000 + 651 = 217651...

    pdf16 trang | Chia sẻ: aloso | Ngày: 14/12/2013 | Lượt xem: 5501 | Lượt tải: 1