Thông báo

Collapse
No announcement yet.

Mọi người ơi giúp mình về ngắt một chút với.

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

  • Mọi người ơi giúp mình về ngắt một chút với.

    mình nhận đề tài ở trường làm mạch đếm bắt đầu từ 30 , giảm dần về 0 rồi lại quay lại 30. sử dụng ngắt ở chân T0 của ic 89C52.
    mình thử cho ngắt time thì được. còn ngắt khi sử dụng Counter 0 thì không được. mình đang rất cần mong mọi người giúp mình sai chỗ nào với.! mình viết bằng keil C và chạy thử trên Proteus thì không được, không biết do 89c52 không cho ngắt ngoài Conter 0 hay sao nữa.
    Thanks all!
    Click image for larger version

Name:	mophong.jpg
Views:	1
Size:	114.4 KB
ID:	1417196

  • #2
    mình đã chỉnh sửa code chạy. nhưng khi quét để hiển thị trên 2 led 7 đoạn thì led hàng đơn vị bị nhấp nháy, để thời gian quét thấp thì chỉ có một led sáng. Mình đã tính để quét trên 24 hình/s. ai có cách khắc phục giúp mình với. Mình học hệ Liên thông, không được dạy gì hết. toàn phải tự kiếm tài liệu học.

    Comment


    • #3
      Mình đã sửa được. cảm ơn các bạn ghé qua.

      Comment


      • #4
        Bạn đưa code lên đây coi nào, tui cũng đang tự học, đưa lên cùng học hỏi nào.
        đây là code của tui
        Code:
        #include <REGX52.H>
        unsigned char i=3;	//gia tri ban dau la 30
        
        void delay(unsigned n)
        {
        	unsigned i;
        	TMOD=0x02; // timer 0, mode 2 8 bit
        	TH0=155;
        	for (i=0;i<n;i++)
        	{
        		TR0=1;	// Start counter
        		while(!TF0);// Wait TF0 gone 1
        		TR0=0;	// Stop counter
        		TF0=0;	// Clear TF0
        	}
        }
        void ngat () interrupt 1 // trinh phuc vu ngat tran timer 0
        { 
        	i-=1; //giam i nen 1 neu xay ra ngat chan T0
        	if (i==0)
        		i=30;
        }
        
        void main ()
        { 	
        	unsigned char maled[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//ma BCD led 7 thanh
        	char chuc,donvi; // tao bien de luu hang chuc, don vi
        
        	P3_2=1;
        	IT0=1;
        	EX0=1;
        	EA=1; //cho phep tat ca cac ngat
        	
        	while(1){
        		chuc=i/10; //tach lay hang chuc
        		donvi=i%10; //tach lay hang don vi
        		P2_2=1; //keo chan dieu khien anot chung led 7 thanh hang chuc len 1
        		P2_3=0; //tat led 7 thanh hang don vi
        		P0=maled[chuc];//xuat so hang chuc ra cong P0
        		delay(1000); // tao time tre de quet led 7 thanh
        		P2_2=0;
        		P2_3=1; //keo chan anot chung led 7 thanh hang don vi len 1
        		P0=maled[donvi]; // xuat so hang don vi ra cong P0
        		delay(1000);//tao time tre de quet led 7 thanh
        	}
        }

        Comment


        • #5
          Nghe mọi người bảo là mô phỏng bằng Proteus thì nó nháy đó, còn ở mạch thực thì thường là không bị, mình cứ để nó nhấp nháy >24h/s thì chắc chắn là nhìn được.

          Comment


          • #6
            tùy cái nháy cái ko, nhưng vs 2 con led thì mô phỏng ko lỗi đâu ^^
            Website chính thức đổi địa chỉ website thành
            Mời các bạn ghé thăm !!!

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X