Thông báo

Collapse
No announcement yet.

Mong anh chị em giúp đỡ về AT89C2051

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

  • Mong anh chị em giúp đỡ về AT89C2051

    Em đang làm một bộ điều khiển đơn giản như sau:
    - Khi có sườn xuống ở chân ngắt P3.2 thì cổng P3.4=1, p3.5=0
    - Khi có sườn xuống ở chân ngắt P3.3 thì P3.4=0, P3.5=1
    Em viết chương trình như sau:
    #include<at89c2051>
    main()
    {
    EA=1; //Cho phép su dung ngat
    EX0=0; //cho phep ngat ngoai 0
    EX1=1; //Cho phép ngat ngoai 1
    IT0=1; //cho phep ngat ngoai 0 la theo suon xuong
    IT1=1; //Cho phep ngat ngoai 1 la theo suon xuong
    While(1)
    {
    }
    }
    void Ngatcounter(void) interrupt 0
    {
    P3_4=1;
    P3_5=0;
    }
    void ngatsensor(void) interrupt 2
    {
    P3_4=0;
    P3_5=1;
    }
    Em muốn hỏi các anh chị vài vấn đề:
    1. Ban đầu khi chưa có ngắt nào cả thì em muốn set P3.4=0, P3.5=1, nhưng kể từ khi có ngắt(ngắt nào cũng đuoc) thì P3.4 va P3.5 chỉ được set theo chương trình ngắt. Vậy phải bổ sung chương trình như thế nào?
    2. Giả sử khi ngắt P3.2 xảy ra, theo câu lệnh thì P3.4=1, P3.5=0, sau khi kết thúc ngắt 0 mà chưa có ngắt 1 thì trạng thái P3.4 và P3.5 có bị thay đổi không (Em chỉ muốn thay đổi khi có ngắt 1)
    3. Câu này đáng ra phải hỏi từ đầu. muốn thiết lập P3.4 và P3.5 là đầu ra ( để cấp nguồn cho opto PC817) thì phải thiết lập chương trình ra sao?
    Vì không phải dân điện tử mà lại là ks điện nên việc tìm hiểu về 8051 hơi khó khăn( Mặc dầu trước đây có học 16f877a nhưng cũng chỉ là học cho đủ môn chuyên ngành).
    Rất mong anh chị em trên diễn đàn giúp đỡ. Em đang làm mạch đk nho nhỏ cho công ty.
    Xin cảm ơn!

  • #2
    1. theo mình thì cho P3.4=0, P3.5=1 vào đầu chương trình chính, (ngoài hàm while) thì mặc định sẽ như bạn đặt thôi.
    2. không thay đổi vì chương trình đó chỉ thực hiện khi có ngắt
    3. VĐK hiểu là ra hay vào không quan trọng bằng bạn đang muốn port đó là đầu ra hay đầu vào. (Tất nhiên nếu bạn chọn 0 là vào, 1 là ra). túm lại là tùy bạn, vì chỉ đk opto thôi mà

    Comment


    • #3
      Cảm ơn lee rất nhiều. Mình đặt ngoài hàm while trong hàm main thì mô phỏng ok rồi. Chắc lắp mạch luôn

      Comment

      Về tác giả

      Collapse

      tdknight Tìm hiểu thêm về tdknight

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

      Collapse

      • Andrea14
        Vấn đề về tốc độ quay
        bởi Andrea14
        Chào mọi người,

        Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...
        Hôm qua, 12:42
      • bqviet
        Trả lời cho Đấu tắt điện cho máy tính bảng
        bởi bqviet
        Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
        06-12-2025, 17:17
      • nguyendinhvan
        Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
        bởi nguyendinhvan
        Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
        05-12-2025, 19:59
      • afrendly
        Trả lời cho Đấu tắt điện cho máy tính bảng
        bởi afrendly
        Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
        04-12-2025, 01:27
      Đang tải...
      X