Cần giúp code lập trình cho 89C51

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • thanhde2004t
    Thành viên mới
    • May 2011
    • 17

    #1

    Cần giúp code lập trình cho 89C51

    Tình hình là em có 10 con led cần điều khiển như sau:
    Cấp nguồn thì led sáng từ 01 đến 10, (sáng kiểu hào quang), rồi tắt đi từ 10 về 01, cung kiểu như vậy.
    Rồi 10 led sáng luôn cung một lúc.
    Ngắt nguồn, bật lại thì cũng chạy như vậy.
    Em dung 89C2051. Nếu được thi cho em xin file đuôi.hex luôn. em đang làm phần cứng nên ko có thời gian nhìu.
    Thanks các đại ca nhìu...
    Last edited by thanhde2004t; 26-05-2012, 19:01.
  • Ck33spkt
    Thành viên tích cực
    • Apr 2010
    • 616

    #2
    Nguyên văn bởi thanhde2004t Xem bài viết
    Tình hình là em có 10 con led cần điều khiển như sau:
    Cấp nguồn thì led sáng từ 01 đến 10, (sáng kiểu hào quang), rồi tắt đi từ 10 về 01, cung kiểu như vậy.
    Rồi 10 led sáng luôn cung một lúc.
    Ngắt nguồn, bật lại thì cũng chạy như vậy.
    Em dung 89C2051. Nếu được thi cho em xin file đuôi.hex luôn. em đang làm phần cứng nên ko có thời gian nhìu.
    Thanks các đại ca nhìu...
    Đến chịu đồng chí này!
    Đồng chí xin hẳn file
    *.hex mà không đưa hình hay mô tả về phần cứng thì mọi người cho code về lỡ nó chạy loạn thì biết sửa thế nào?

    Comment

    • kidteam
      Thành viên tích cực
      • Nov 2010
      • 1633

      #3
      với những thứ chung chung kiểu này khỏi cần trả lời
      mất thời gian

      Comment

      • thanhde2004t
        Thành viên mới
        • May 2011
        • 17

        #4
        Day la lan dau em tham gia nen con thieu sot. em se duoc phan cung mo phong bang proteus len cho cac dai ca chi bao.
        thong cam

        Comment

        • thuongdtqb
          Thành viên tích cực
          • Apr 2011
          • 513

          #5
          Nguyên văn bởi thanhde2004t Xem bài viết
          Tình hình là em có 10 con led cần điều khiển như sau:
          Cấp nguồn thì led sáng từ 01 đến 10, (sáng kiểu hào quang), rồi tắt đi từ 10 về 01, cung kiểu như vậy.
          Rồi 10 led sáng luôn cung một lúc.
          Ngắt nguồn, bật lại thì cũng chạy như vậy.
          Em dung 89C2051. Nếu được thi cho em xin file đuôi.hex luôn. em đang làm phần cứng nên ko có thời gian nhìu.
          Thanks các đại ca nhìu...
          cái này củng khá đơn giản. mới lần đầu làm mấy cái này bạn không nên vội làm phần cứng cố định trên boar đồng trước mà nên đi dây trên boar lổ có sẳn màu trắng đó để test thử trước khi đưa lên mạch trên boar đồng. còn về chương trình này thì cơ bản. bạn cứ post phần cứng lên đi mọi người sẻ giúp.
          ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

          Comment

          • kidteam
            Thành viên tích cực
            • Nov 2010
            • 1633

            #6
            Nguyên văn bởi thanhde2004t Xem bài viết
            Day la lan dau em tham gia nen con thieu sot. em se duoc phan cung mo phong bang proteus len cho cac dai ca chi bao.
            thong cam
            viết tiếng việt có dấu đi bạn
            bạn cứ đưa phần cứng lên
            cái này không khó mà

            Comment

            • thanhde2004t
              Thành viên mới
              • May 2011
              • 17

              #7
              Em mô phỏng bẳng proteus
              Cho em code .ASM cũng được, để em tìm hiểu và hoc hỏi thêm

              Click image for larger version

Name:	89ATC51.JPG
Views:	1
Size:	165.8 KB
ID:	1362153
              Attached Files
              Last edited by thanhde2004t; 28-05-2012, 00:30.

              Comment

              • Ck33spkt
                Thành viên tích cực
                • Apr 2010
                • 616

                #8
                Nguyên văn bởi thanhde2004t Xem bài viết
                Em mô phỏng bẳng proteus
                Cho em code .ASM cũng được, để em tìm hiểu và hoc hỏi thêm

                [ATTACH=CONFIG]45697[/ATTACH]
                Bạn copy code này về mà tìm hiểu nhé !
                Code:
                ; Code: Viet mot cach co ban nhat nhu the nay.
                ;
                	org	0h			; Dia chi bat dau khi cap nguon (PC = 0)
                main:
                	mov	p1, #0
                	mov	p3, #0
                ;------------------------------------------------------
                ; Sang tu Led 1 den Led 10
                ;------------------------------------------------------
                	setb	p1.0			; Sang LED 1
                	call	delay_250ms
                ;
                	setb	p1.1			; Sang LED 2
                	call	delay_250ms
                ;
                	setb	p1.2			; Sang LED 3
                	call	delay_250ms
                ;
                	setb	p1.3			; Sang LED 4
                	call	delay_250ms
                ;
                	setb	p1.4			; Sang LED 5
                	call	delay_250ms
                ;
                	setb	p1.5			; Sang LED 6
                	call	delay_250ms
                ;
                	setb	p1.6			; Sang LED 7
                	call	delay_250ms
                ;
                	setb	p1.7			; Sang LED 8
                	call	delay_250ms
                ;
                	setb	p3.0			; Sang LED 9
                	call	delay_250ms
                ;
                	setb	p3.1			; Sang LED 10
                	call	delay_250ms
                ;
                	call	delay_250ms
                	call	delay_250ms
                ;------------------------------------------------------
                ; Tat tu Led 10 ve Led 1
                ;------------------------------------------------------
                	clr	p3.1			; Tat LED 10
                	call	delay_250ms
                ;
                	clr	p3.0			; Tat LED 9
                	call	delay_250ms
                ;
                	clr	p1.7			; Tat LED 8
                	call	delay_250ms
                ;
                	clr	p1.6			; Tat LED 7
                	call	delay_250ms
                ;
                	clr	p1.5			; Tat LED 6
                	call	delay_250ms
                ;
                	clr	p1.4			; Tat LED 5
                	call	delay_250ms
                ;
                	clr	p1.3			; Tat LED 4
                	call	delay_250ms
                ;
                	clr	p1.2			; Tat LED 3
                	call	delay_250ms
                ;
                	clr	p1.1			; Tat LED 2
                	call	delay_250ms
                ;
                	clr	p1.0			; Tat LED 1
                	call	delay_250ms
                ;
                	call	delay_250ms
                	call	delay_250ms
                ;------------------------------------------------------
                ; Sang tat ca 10 Led
                ;------------------------------------------------------
                	mov	p1, #0ffh
                	mov	p3, #00000011b
                	call	delay_250ms
                	call	delay_250ms
                	call	delay_250ms
                	call	delay_250ms
                	ljmp	main			; Lap lai tu dau
                ;------------------------------------------------------
                delay_250ms
                	mov	r7, #250
                	mov	r6, #2
                	mov	r5, #248
                	djnz	r5, $
                	djnz	r6, $-4
                	djnz	r7, $-8
                	ret
                ;------------------------------------------------------
                end					; Ket thuc chuong trinh

                Comment

                • thanhde2004t
                  Thành viên mới
                  • May 2011
                  • 17

                  #9
                  Em nạp vào 89C51 rồi nhưng nó báo như thế này. ChClick image for larger version

Name:	loi.JPG
Views:	1
Size:	51.3 KB
ID:	1362175uẩn đoán giúp em với
                  Last edited by thanhde2004t; 28-05-2012, 10:54.

                  Comment

                  • longnh
                    Thành viên mới
                    • Nov 2010
                    • 5

                    #10
                    Đây là 1 code của pic 4550. Nhưng mình nghĩ là cách làm giống nhau thôi. Bạn tham khảo nhé

                    // Xtal 12Mhz

                    #include <p18f4550.h>
                    #include <stdio.h>
                    #include <delays.h>

                    #define LED LATB

                    unsigned int i;

                    void delay_ms(unsigned int ms)
                    {
                    while(ms--) Delay1KTCYx(1);
                    }

                    void delay_us(unsigned int us)
                    {
                    while(us--)
                    {
                    Delay1TCY();
                    Delay1TCY();
                    Delay1TCY();
                    }
                    }

                    void main()
                    {
                    TRISB = 0x00;
                    LED = 0xff;
                    while(1)
                    {
                    LATB = 0xff;
                    for(i=0;i<10;i++)
                    {
                    LED= LED<<1;
                    delay_ms(1000);
                    }
                    LATB = 0xff;
                    for(i=0;i<10;i++)
                    {
                    LED= LED>>1;
                    delay_ms(1000);
                    }
                    }
                    }

                    Comment

                    • sai.vn
                      Thành viên mới
                      • Mar 2011
                      • 22

                      #11
                      Nguyên văn bởi thanhde2004t Xem bài viết
                      Em nạp vào 89C51 rồi nhưng nó báo như thế này. Ch[ATTACH=CONFIG]45726[/ATTACH]uẩn đoán giúp em với
                      Đó là bạn nạp vào file .asm mà. Biên dịch sang file hex mà nạp. Thêm dòng " #include <sfr51.inc> " vào đầu chương trình , rồi biên dịch. oke

                      Comment

                      • Ck33spkt
                        Thành viên tích cực
                        • Apr 2010
                        • 616

                        #12
                        Nguyên văn bởi sai.vn Xem bài viết
                        Đó là bạn nạp vào file .asm mà. Biên dịch sang file hex mà nạp. Thêm dòng " #include <sfr51.inc> " vào đầu chương trình , rồi biên dịch. oke
                        Đâu cần phải thêm dòng #include <sfr51.inc> mới biên dịch được đâu !

                        Comment

                        • thanhde2004t
                          Thành viên mới
                          • May 2011
                          • 17

                          #13
                          Cảm ơn các đại ca nha.
                          em đã nạp và đã chạy ..... nhưng ko theo ý muốn.
                          mong các đại ca giúp với.
                          Last edited by thanhde2004t; 29-05-2012, 22:57.

                          Comment

                          • Ck33spkt
                            Thành viên tích cực
                            • Apr 2010
                            • 616

                            #14
                            Nguyên văn bởi thanhde2004t Xem bài viết
                            Cảm ơn các đại ca nha.
                            em đã nạp và đã chạy ..... nhưng ko theo ý muốn.
                            mong các đại ca giúp với.
                            Nó không chạy theo ý muốn nghĩa là sao? nó chạy thế nào?

                            Comment

                            • thanhde2004t
                              Thành viên mới
                              • May 2011
                              • 17

                              #15
                              Nó chạy loạn xạ à.
                              Anh viết lại code đi anh.
                              Cho nó chạy chậm chậm thôi.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...