Thông báo

Collapse
No announcement yet.

Cần giúp đỡ về code đếm chẵn lẻ

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

  • #16
    e ko tìm đc cái chuyển từ asm sang c a ak, a có chỉ giúp e vs

    Comment


    • #17
      Nguyên văn bởi tehacxeng Xem bài viết
      ban bien dich bang phan mem nao ! minh dung mide , chuong trinh cua minh viet ban chi can copy va bien dich bang phan mem mide la chay ngay ma minh da test roi ma!
      Nguyên văn bởi nh0k Xem bài viết
      nhưng liệu viết = c được ko bác, e đang muốn ct = c
      người hỏi làm bằng C thì người hướng dẫn làm bằng asm. oh my god !
      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


      • #18
        Nguyên văn bởi daohuytien Xem bài viết
        code của bạn đây. chú ý khi viết thì các lệnh trong case cần có { mở ngoặc đóng ngoặc này nhé }. đồng thời các câu lệng trong { }
        cần được đẩy vào một tab nhé. với lại cái này của bạn mới chỉ có xuất ra các chân thôi chứ có hiển thị được led 7 đoạn đâu
        Code:
        #include <REGX51.H>
        #define Q0 P1_0
        #define Q1 P1_1
        #define Q2 P1_2
        #define Q3 P1_3
        #define sang 1
        #define tat 0
        //========khai bao ham delay(tao ra do tre bang phan mem)
        void delay(unsigned int ms)
        { 
        	unsigned int i,j;
        	for (i=0; i<ms; i++)
        	{ 
        		for (j=0; j<120; j++); 
        	}
        }
        //======== hien thi ra led 7 thanh
        void display(unsigned char number)
        {
        	switch (number)
        	{ 
        		case 0:
        		{	Q0=Q1=Q2=Q3=0;
        			break;
        		}
        		case 1:
        		{
        			Q1=Q2=Q3=0;
        			Q0=1;
        			break;
        		}
        		case 2:
        		{
        			Q1=1;
        			Q0=Q2=Q3=0;
        			break;
        		}
        		case 3:
        		{	Q0=Q1=1;
        			Q2=Q3=0;
        			break;
        		}
        		case 4:
        		{	Q0=Q1=Q3=0;
        			Q2=1;
        			break;
        		}
        		case 5:
        		{	Q1=Q3=0;
        			Q2=Q0=1;
        			break;
        		}
        		case 6:
        		{
        			Q3=Q0=0; 
        			Q2=Q1=1;
        			break;
        		}
        		case 7:
        		{	Q3=0;
        			Q0=Q1=Q2=1;
        			break;
        		}
        		case 8:
        		{	Q3=1;
        			Q0=Q1=Q2=0;
        			break;
        		}
        		case 9:
        		{	Q3=Q0=1;
        			Q1=Q2=0;
        			break;
        		}
        		default:Q0=Q1=Q2=Q3=0;break;
        	}
        }
        main ()
        {
        	unsigned char m;
        	while(1)
        	{
        		for (m=0;m<10;m=m+2)
        		{ 
        			display(m);
        			delay(1000);
        		}
        	}
        }
        thanks bác nhé

        Comment


        • #19
          sax bac doc phia truoc di tui bao la viet bang asm thi dung chu ai ep dau .

          Comment


          • #20
            Nguyên văn bởi daohuytien Xem bài viết
            người hỏi làm bằng C thì người hướng dẫn làm bằng asm. oh my god !
            cũng ko có gì cả bác ak, bác ấy nhiêtij tình giúp đỡ em là e vui lắm rồi. Thực ra lớp em được cô giáo giao đề tài về nhà tìm hiểu con 8051 này, ss sụ khác nhau giữa 8051 vs 8086, tìm code mô phỏng cho 8051, e mới tìm đc chút tài liệu coi qua vs học viết code coi sao. Cái phần giữa ct là e tự viết nhưng cái phần đầu và cuôi là e nhờ người viết hộ nên e mù tịt phần đếm đó

            Comment


            • #21
              có cả phần mạch nữa thì sẽ hiểu được tường tận, còn chỉ có chuơng trình thôi thì có lẽ cũng hơi trìu tượng. bạn viết chuơng trình rồi và đem thử trên proteus
              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


              • #22
                Nguyên văn bởi daohuytien Xem bài viết
                có cả phần mạch nữa thì sẽ hiểu được tường tận, còn chỉ có chuơng trình thôi thì có lẽ cũng hơi trìu tượng. bạn viết chuơng trình rồi và đem thử trên proteus
                e thử rồi bác ak. thanks bác nhiều nhé

                Comment


                • #23
                  Code này ngắn nè.
                  Code:
                  #include <REGX51.H>
                  
                  void delay(unsigned long time) 
                  {while(time--);
                  }
                  unsigned char led7seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; // bảng mã led7 đoạn cho led anot chung
                  unsigned char i;
                  
                  void main()
                  {
                  while(1)
                     {for(i=0;i<10;i=i+2)    //đếm chẵn. Nếu muốn đếm lẻ thì thay dòng này bằng for(i=1,i<10,i=i+2)
                        {P0=led7seg[i];
                        delay(10000);}
                     }
                  }

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...
                  X