Thông báo

Collapse
No announcement yet.

HƯỚNG DẪN LẬP TRÌNH KEIL C CHO 8051-[Chỉ dành post bài hướng dẫn]

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

  • mời các bạn mới làm quen lập trình C vào đây ngâm cứu nhé, có rất nhiều thứ rùi không lên mở các bài mới nữa
    chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
    Everything should be made as simple as possible, but not simpler

    Comment


    • 2 các bác! hiện em đang học về con 89c51 bằng kiel c, em không hiểu rõ lắm về lập trình lcd và điểu khiển tốc độc động cơ bằng băng xung, bác nào chỉ dùm em với, cám ơn các bác nhiều!

      Comment


      • về cái LCD : bạn cần hiểu được cách gửi một lệnh lên LCD và gửi dữ liệu lên LCD, ngày trước mình có làm cái LCD 2 hàng mỗi hàng 16 kí tự. thì làm như dưới đây
        // khai b
        sbit rs=P1^1;
        sbit rw=P1^0;
        sbit e=P1^2;
        void delay1()
        {
        TMOD=0x21;
        TH0=0xfc;
        TL0=0x11;
        TR0=1;
        while(TF0==0)
        {}
        TF0=0;
        TR0=0;
        }
        void LCD_write(unsigned char x) // hàm gửi dữ liệu lên màn hình LCD
        {
        rs=1; // chọn thanh ghi dữ liệu
        rw=0; // chọn chế độ ghi dữ liệu
        P0=x; //đưa dữ liệu ra cổng P0
        e=1; // chân cho phép từ mức cao xuống thấp để chốt dữ liệu
        e=0;
        delay1();delay1(); //
        }
        void LCD_cmd(unsigned char x) // gửi lệnh lên màn hình
        {
        rs=0; // chọn thanh ghi lệnh
        rw=0; // chọn chế độ ghi dữ liệu
        P0= x; // đưa ra trên cổng P0
        e=1; // chân cho phép từ mức cao xuống thấp để chốt dữ liệu
        e=0;
        delay1();delay1(); //
        }

        void LCD_init() // khởi tạo màn hình LCD
        { LCD_cmd(0x01); // xóa màn hình
        LCD_cmd(0x38); // hai hàng matran 5x7
        LCD_cmd(0x38); //
        LCD_cmd(0x0c); // bật màn hình tắt con trỏ
        LCD_cmd(0x06); //dich con trỏ
        LCD_cmd(0x80); // đặt con trỏ về đầu dòng thứ nhất
        }
        còn về điều khiển động cơ bằng băm xung >>> điều chế độ rộng xung. cái này có rất nhiều trong diễn đàn rùi. bạn gắng đọc thêm nhé
        chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
        Everything should be made as simple as possible, but not simpler

        Comment


        • bạn dùng cái này thử xem
          machdientu.net

          Comment


          • Bà kon ơi
            Có ai biết lậ trình cho led ma trận cơ bản ko?
            giúp mình với

            Comment


            • Nguyên văn bởi myfriend_bd Xem bài viết
              Bà kon ơi
              Có ai biết lậ trình cho led ma trận cơ bản ko?
              giúp mình với
              của bạn nè : http://www.dientuvietnam.net/forums/...mpleted-15613/
              chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
              Everything should be made as simple as possible, but not simpler

              Comment


              • khi tớ mô phỏng, thấy mạch chạy được nhưng proteus có cảnh báo:
                [SPICE] Transient GMIN stepping at time....
                Lỗi này là sao vậy các bạn?

                Comment


                • cảm ơn các bác cho em 1 vé để lót dép
                  Lý Thuyết Và Thực Hành
                  Là Hai Đường Thẳng Song Song

                  Comment


                  • xin chào các cao thủ,minh đang bạp bẹ học vdk mình đang làm mạch đồng hồ mà gạp chút trục trạc cụ thẻ như sau.
                    mạch mình mo phổng thì chạy ok nhưng khi ra mạch thực tế thì led bị chớp.mình có thay dổi chỗ minh boi đỏ ở bên dưới nhưng vẫn không đươc.
                    //############ngat time_0 dung quet led 7 doan ###############
                    void timer0_ISR (void) interrupt 1 //ngat time_0 (tao ngat 2ms)
                    { TR0 = 0;
                    TH0 = 0xf0; // 2ms
                    TL0 = 0x00;
                    data595(0xff);data595(0xff);data595(0xff);data595( 0xff);chot();//xoa bong ma
                    tam_gio_phut_giay=(gio_phut_giay[quay]);
                    tam_thu_ngay_thang_nam=(thu_ngay_thang_nam[quay]);
                    if(chon_hien_thi==0){}
                    else{//####################
                    if(nhap_nhay==0xaa){}
                    còn đây là file mo phong va code rat mong nhận được sự chỉ giáo.
                    linhk:lich_am_duong.zip
                    Y!M: xindungquentoi_hp16
                    Mail:
                    Sites:

                    Comment


                    • Nguyên văn bởi vanhoi01 Xem bài viết
                      xin chào các cao thủ,minh đang bạp bẹ học vdk mình đang làm mạch đồng hồ mà gạp chút trục trạc cụ thẻ như sau.
                      mạch mình mo phổng thì chạy ok nhưng khi ra mạch thực tế thì led bị chớp.mình có thay dổi chỗ minh boi đỏ ở bên dưới nhưng vẫn không đươc.
                      //############ngat time_0 dung quet led 7 doan ###############
                      void timer0_ISR (void) interrupt 1 //ngat time_0 (tao ngat 2ms)
                      { TR0 = 0;
                      TH0 = 0xf0; // 2ms
                      TL0 = 0x00;
                      data595(0xff);data595(0xff);data595(0xff);data595( 0xff);chot();//xoa bong ma
                      tam_gio_phut_giay=(gio_phut_giay[quay]);
                      tam_thu_ngay_thang_nam=(thu_ngay_thang_nam[quay]);
                      if(chon_hien_thi==0){}
                      else{//####################
                      if(nhap_nhay==0xaa){}
                      còn đây là file mo phong va code rat mong nhận được sự chỉ giáo.
                      linhk:[ATTACH]71651[/ATTACH]

                      sao không co ai giup minh với vậy có ai biết chỉ mình với mình cảm ơn trước.
                      Y!M: xindungquentoi_hp16
                      Mail:
                      Sites:

                      Comment


                      • xin hỏi các bạn mình dùng chương trình pic c compider cho 89 vào khai báo #include <reg51.h> thì nó báo lỗi ko có reg51
                        xin hỏi các bạn cách khắc phục

                        Comment


                        • Các bạn vui lòng cho mình hỏi, ngoài phần mềm lập trình keilC thì còn phần mềm nào tương tự và dễ xử dụng chỉ mình với cám ơn các bạ nhiều

                          Comment


                          • KeilC gồm 2 phần chính là IDE để viết code và Compiler để tạo file hex. IDE thì bạn dùng text editor nào cũng được. Compiler thì mình thấy dùng sdcc cũng ngon, chạy trên windows/linux.

                            Comment


                            • mọi người ơi cho mình hỏi mã khai báo đầu tiên của reads51 là gì vậy phải
                              #include <sfr51.inc> không ?
                              mã code viết bằng trình biên dịch khác nó có đem qua nó biên dịch được không vậy mn ????????????????????

                              Comment


                              • Các anh giứp em ,mã code asm này với ! Em còn gà lắm . Em muốn nó chạy từ đầu đến cuối chương trình rồi nó kết thúc . " ko lập lại chu kỳ cám ơn " ! em phải thêm gì ở đâu và sửa như thế nào ?
                                ORG 0000H
                                ;================================================= =========================
                                BAT_DAU_NHAY:
                                ;Dong:1
                                MOV P0,#00000001B
                                CALL Delay_2
                                ;Dong:2
                                MOV P0,#00000000B
                                CALL Delay_2
                                ;Dong:3
                                MOV P0,#00001000B
                                CALL Delay_2
                                ;Dong:4
                                MOV P0,#00000000B
                                CALL Delay_60
                                ;Dong:5
                                MOV P0,#00000001B
                                CALL Delay_2
                                ;Dong:6
                                MOV P0,#00000000B
                                CALL Delay_2
                                ;Dong:7
                                MOV P0,#00000001B
                                CALL Delay_2
                                ;Dong:8
                                MOV P0,#00000000B
                                CALL Delay_2
                                ;Dong:9
                                MOV P0,#00000010B
                                CALL Delay_2
                                ;Dong:10
                                MOV P0,#00000000B
                                CALL Delay_2
                                ;Dong:11
                                MOV P0,#00000010B
                                CALL Delay_2
                                ;Dong:12
                                MOV P0,#00000000B
                                CALL Delay_2
                                ;Dong:13
                                MOV P0,#00000010B
                                CALL Delay_2
                                ;Dong:14
                                MOV P0,#00000000B
                                CALL Delay_2
                                ;Dong:15
                                MOV P0,#00000001B
                                CALL Delay_2
                                ;Dong:16
                                MOV P0,#00000000B
                                CALL Delay_2
                                ;Dong:17
                                MOV P0,#00000001B
                                CALL Delay_2
                                ;Dong:18
                                MOV P0,#00000000B
                                CALL Delay_2
                                ;Dong:19
                                MOV P0,#00000001B
                                CALL Delay_2
                                ;Dong:20
                                MOV P0,#00000000B
                                CALL Delay_2
                                ;Dong:21
                                MOV P0,#00000010B
                                CALL Delay_2
                                ;Dong:22
                                MOV P0,#00000000B
                                CALL Delay_2
                                ;Dong:23
                                MOV P0,#00000010B
                                CALL Delay_2
                                ;Dong:24
                                MOV P0,#00000000B
                                CALL Delay_2
                                ;Dong:25
                                MOV P0,#00000010B
                                CALL Delay_2
                                ;Dong:26
                                MOV P0,#00000000B
                                CALL Delay_2
                                ;Dong:27
                                MOV P0,#00000001B
                                CALL Delay_2
                                ;Dong:28
                                MOV P0,#00000000B
                                CALL Delay_2
                                ;Dong:29
                                MOV P0,#00000001B
                                CALL Delay_2
                                ;Dong:30
                                MOV P0,#00000000B
                                CALL Delay_2
                                ;Dong:31
                                MOV P0,#00000001B
                                CALL Delay_2
                                ;Dong:32
                                MOV P0,#00000000B
                                CALL Delay_2
                                ;Dong:33
                                MOV P0,#00000001B
                                CALL Delay_2
                                ;Dong:34
                                MOV P0,#00000000B
                                CALL Delay_60
                                ;Dong:35
                                MOV P0,#00001000B
                                CALL Delay_2
                                JMP BAT_DAU_NHAY
                                ;================================================= ===============
                                ;-------------------------------------
                                ;Delay 2 buoc
                                Delay_2:
                                MOV R1,#2
                                MOV R2,#0
                                MOV R3,#0
                                lapDelay_2:
                                DJNZ R3,lapDelay_2
                                DJNZ R2,lapDelay_2
                                DJNZ R1,lapDelay_2
                                RET
                                ;-------------------------------------
                                ;Delay 60 buoc
                                Delay_60:
                                MOV R1,#60
                                MOV R2,#0
                                MOV R3,#0
                                lapDelay_60:
                                DJNZ R3,lapDelay_60
                                DJNZ R2,lapDelay_60
                                DJNZ R1,lapDelay_60
                                RET
                                END
                                Last edited by an_87pt; 04-01-2014, 01:29.

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X