Thông báo

Collapse
No announcement yet.

Vi ĐiỀu khiỂn 8051

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Vi ĐiỀu khiỂn 8051

    Mình đang lập trình về 8051 để hiển thị ra led 7 đoạn thông qua IC7447 nhưng gặp một vấn đề như thế này: 4 chân nối vào 7447 là P3.4,P3.5,P3.6,P3.7. 2 chân P3.0 và P3.1 mình dùng để nhận và xuất dữ liệu. như vậy mình phải khai báo BANGHI như thế nào để có thể xuất được các bit 0,1 tại các P3.4-->P3.7 mà vẫn ko ảnh hưởng đến việc nhận và xuất dữ liệu.
    * BANGHI: nếu đầu vào 7447 nối vào các P2.4-->P2.7 thì BANGHI: DB 00h,10h,20h,30h,40h,50h,60h,70h,80h,90h
    Như vậy BANGHI sẽ khai báo như thế nào. Mọi người giúp mình với. Thanks

  • #2
    #define cbi(port,bits) port &= ~(0x01<<bits) //Clearbit thứ bits của port
    #define sbi(port,bits) port |= (0x01<<bits) //setbit
    Ex : cbi(P1,5); => nghĩa là clear bít thứ 5 của port P1.
    Bạn có thể sử dụng 2 macro này để set và clear bit nhé. Ứng dụng vào bài của bạn thì chỉ cần kiểm tra từng bit của BANGHI tuơng ứng để xuất ra thôi.
    Ex: if(BANGHI[0] &(0x01<<6) == 0 ) cbi(P3,6);
    else sbi(P3,6);

    Comment


    • #3
      Mình viết bằng assembly, có cách nào ko bạn.

      Comment

      Về tác giả

      Collapse

      tuan vo Tìm hiểu thêm về tuan vo

      Bài viết mới nhất

      Collapse

      Đang tải...
      X