Thông báo

Collapse
No announcement yet.

[Share-code] Mỗi ngày một bài tập về AT89S52

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

  • Nhờ các bạn giúp đỡ.
    ý tưởng của mình là lập 8 chương trình con quyết 8 phím thuộc P3. nhờ mọi người tìm và sửa sai giúp với.

    #include<reg52.h>
    #define uint unsigned int
    sbit tha=P3^4;
    sbit thb=P3^5;
    sbit thc=P3^6;
    sbit th4=P3^7;
    sbit thu=P3^0;
    sbit giaitru=P3^1;
    sbit chapnhan=P3^2;
    sbit im=P3^3;
    bit tha0=1,tha1=1,thb0=1,thb1=1,thc0=1,thc1=1,thd0=1,t hd1=1,thu0=1,thu1=1,giaitru0=1,giaitru1=1,chapnhan 0=1,chapnhan1=1,im0=1,im1=1;


    void tinhieua()
    tha0=tha1; tha1=tha;
    if((tha0==1)&&(tha1==0))
    {
    P0^0=1;
    P2^0=1;
    P2^1=1;
    P1^6=1;
    P1^7=1;
    }
    void tinhieub()
    thb0=thb1; thb1=thb;
    if((thb0==1)&&(thb1==0))
    {
    P0^1=1;
    P2^2=1;
    P2^3=1;
    P1^6=1;
    P1^7=1;
    }
    void tinhieuc()
    thc0=thc1; thc1=thc;
    if((thc0==1)&&(thc1==0))
    {
    P0^2=1;
    P2^4=1;
    P2^5=1;
    P1^6=1;
    P1^7=1;
    }
    void tinhieud()
    thd0=thd1; thd1=thd;
    if((thd0==1)&&(thd1==0))
    {
    P0^3=1;
    P2^6=1;
    P2^7=1;
    P1^6=1;
    P1^7=1;
    }
    void thu()
    thu0=thu1; thu1=thu;
    if((thu0==1)&&(thu1==0))
    {
    P0^0=1;
    P0^1=1;
    P0^2=1;
    P0^3=1;
    P2=0xff;
    }
    void chapnhan()
    chapnhan0=chapnhan1; chapnhan1=chapnhan;
    if((chapnhan0==0)&&(chapnhan1=1))
    {
    P0^4=1;
    }
    void im()
    im0=im1; im1=im;
    if((im0==1)&&(im1=0))
    {
    P1^6=0;
    P1^7=1;
    }
    void giaitru()
    giaitru0=giaitru1; giaitru1=giaitru;
    if((giaitru0==1)&&(giaitru1==0))
    {
    P2^1=1;
    P2^3=1;
    P2^5=1;
    P2^7=1;
    }
    void main()
    {
    P0=0x00;
    P1=0x00;
    P2=0x00;
    P3=0x00;
    While(1)
    {
    giaitru();
    thu();
    chapnhan();
    im();
    tinhieua();
    tinhieub();
    tinhieuc();
    tinhieud();
    }
    }



    Cảm ơn nhiều nhiều.

    Comment


    • k có project tần số bạn nhỉ.

      Comment


      • Nguyên văn bởi vdanhp Xem bài viết
        k có project tần số bạn nhỉ.
        tại sao không khởi tạo được hàm nhỉ, đưa project tần số vào nhưng không được bạn ạ

        Comment


        • Ai giúp với ạ.

          Comment


          • mình đã làm được rồi. thank!

            Comment


            • Bạn cho mình hỏi liệu dùng 89s52 có đọc được 64bit code của ds18b20, hiển thị lcd 16x2 không vậy? Mình nghĩ bạn là học trò của thầy NĐP phải hông ? Mình cũng là học trò thầy, nhưng mình học hệ TC nên không có điều kiện tiếp thu nhiều như CQ. Mong bạn giúp đỡ nhé.

              Comment


              • Hay Đó Bạn

                Chủ thớt học vi điều khiển chắc kết thúc môn ròi ah sao không thấy bài nào mới nữa kà.

                Comment


                • Các anh chị viết giúp em code bằng ngôn ngữ C ạ. Em đang cần quá, cố gắng nhưng vẫn không được.
                  Nguyên lý như sau:
                  Khi bắt đầu cấp nguồn cho mạch các led đơn sẽ tắt, led 7 đoạn sẽ báo S
                  Nhấn nút TANG led 7 đoạn sẽ hiển thị số 1, led tại P1.0 sẽ sáng
                  nhấn TANG lần 2 led 7 đoạn sẽ hiển thị số 2, led tại P1.0 tắt và Led tại P1.1 sáng
                  tương tự đến số 8 thì các led đơn tắt chỉ có led P1.7 sáng.
                  Khi ấn giảm thì ngược ngược lại.
                  Nút ấn tắt mở gắn tại P3.2 (on/off)
                  Click image for larger version

Name:	nguyen ly 1.png
Views:	1
Size:	31.0 KB
ID:	1395516

                  Comment


                  • bạn ơi cho mình hỏi là chương trình con xuat4port và tach16bit_xuat4port có tác dụng gì? ý nghĩa của 2 chuơng trình này là gì?
                    mình mới học C cho vi điều khiển nên hỏi ngu tí mong bạn thông cảm.

                    Comment


                    • Nguyên văn bởi thinhtit Xem bài viết
                      bạn ơi cho mình hỏi là chương trình con xuat4port và tach16bit_xuat4port có tác dụng gì? ý nghĩa của 2 chuơng trình này là gì?
                      mình mới học C cho vi điều khiển nên hỏi ngu tí mong bạn thông cảm.
                      xuat 4 port vì biến đó là biến 32 bit, mà mỗi port chỉ có 8 bit, vì vậy phải tách ra để đẩy lên 4 PORT. Mình ví dụ với 16 bit và tách ra 2 port. Giả sử Long x=aaaaaaaabbbbbbbb;
                      P1=x; , thì P1 sẽ có giá trị bằng bbbbbbbb, P2=x>>8, thì P2 sẽ có giá trị là aaaaaaaaa.

                      Comment


                      • mình đang học lập trình vi xử lý ngôn ngữ lập trình là c trên phần mềm keil c con vi xử lý 89s52 ai có tài liệu gì liên quan cho mình xin với.
                        đặc biệt giáo trình dạy ở trường mình lại không có dạy về ma trân led......led ma trân á mà mình thì lại rất thích mún học nên mong các bạn ,ai có tài liệu hướng dẫn về led ma trận cho mình xin với nha.. mong các bạn giúp đỡ
                        thank các bạn nhiều lắm...

                        Comment

                        Về tác giả

                        Collapse

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

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

                        Collapse

                        • Ng.Phuong.5
                          Khi in lỗ khoan ra pdf ở Orcad 9.2
                          bởi Ng.Phuong.5
                          Khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau.
                          Không biết có ai sửa được vấn đề này không ạ? Hay đây là mặc định của orcad 9.2 rồi ạ ?
                          Các cách em xem trên diễn đàn thử rồi nhưng không được ạ...
                          hôm nay, 19:47
                        • Ng.Phuong.5
                          Khi in lỗ khoan ra pdf ở Orcad 9.2
                          bởi Ng.Phuong.5
                          Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
                          Không biết...
                          hôm nay, 19:45
                        • Ng.Phuong.5
                          Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
                          bởi Ng.Phuong.5
                          Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
                          Không biết...
                          hôm nay, 19:45
                        • Ng.Phuong.5
                          Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
                          bởi Ng.Phuong.5
                          Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
                          Mấy con...
                          hôm nay, 19:44
                        • viettinh
                          Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                          bởi viettinh
                          Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
                          Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
                          hôm nay, 18:12
                        • nguyendinhvan
                          Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                          bởi nguyendinhvan
                          Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
                          Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
                          Cách đơn giản...
                          hôm nay, 00:04
                        • Ng.Phuong.5
                          Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
                          bởi Ng.Phuong.5
                          Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
                          Mấy con...
                          Hôm qua, 22:44
                        • mèomướp
                          Trả lời cho Sửa bộ nguồn DC 60V 45A
                          bởi mèomướp
                          Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
                          Hôm qua, 19:02
                        • tuyennhan
                          Trả lời cho Sửa bộ nguồn DC 60V 45A
                          bởi tuyennhan
                          Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
                          Hôm qua, 15:43
                        • tuyennhan
                          Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                          bởi tuyennhan
                          Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
                          Hôm qua, 15:28
                        Đang tải...
                        X