RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

Điều khiển 8253 (Liên quan đồ án ghép nối với máy tính tạo xung vuông dùng 8253)

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • saochangtinh
    Thành viên mới
    • Nov 2007
    • 19

    #1

    Điều khiển 8253 (Liên quan đồ án ghép nối với máy tính tạo xung vuông dùng 8253)

    Kính thưa các đại cao thủ !
    Em đang làm bài tập lớn về cách tạo xung vuông dùng 8253

    Em đã viết code nhưng không chạy , không bít sai sót từ đâu !
    Kính mong các bác đã và đang tìm hiểu về Timer lập trình được 8253 vào đây chỉ giúp ạ

    Đây là code của em dùng để tạo xung vuông xuất ra chân OUT của Timer 1 !
    Có chỗ nào sai sót cân sửa chữa mong các bạn chi ra giúp mình :
    Code:
    #include<reg52.h>
    #include<stdio.h>
    
    sbit _GATE=P2^0;
    sbit _A0=P2^3;
    sbit _A1=P2^4;
    sbit _WR=P3^6;
    sbit _RD=P3^7;
    unsigned int a;
    
     void delay()
    {
    		unsigned int i;
    		for(i=0;i<=1000;i++);
     }
    
    
     void ghi_CWR(unsigned int manh2)
    {
    	_A0=1;		   
    	_A1=1;
    	_RD=1;
    	_WR=0;	  	[I] // A0=A1=1 , WR =0 >> Cho phep ghi vao tu dien khien[/I]
    
    	P1=manh2;	
    
    }
    
    
     void ghi_T1(unsigned int manh1)
    {
     	
    	_A0=1;
    	_A1=0;
    	_RD=1;
    	_WR=0;		[I]// A0=1, A1=0 , WR = 0 >> Cho phep nap  gia tri vao Timer 1 [/I]
    
    	_GATE=1;
    	P1=manh1%256;			  [I] // Truyen Byte Thap truoc[/I]
    	delay();
    
    	P1=manh1/256;			  [I]// Truyen byte cao sau [/I]
    	delay();
    
    }
    
    
     void main()
    {
    
    
    ghi_CWR(119);		[I]// Gia su Timer 1 , Mode 3 , dem thap phan ,
                                             truyen byte thap truoc   byte cao sau [/I]
    delay();
    
    ghi_T1(200);	  [I] // Nap gia tri ban dau cho  Timer 1 la 200 (Byte thap 200 , byte cao 0 )[/I]
    delay();
    
    _GATE=0;
    _GATE=1;
    
    while(1);  	  
    }
    Còn đây là file ISIS (Em dùng Proteus 7.6 )
  • 0973885865
    Thành viên tích cực
    • Apr 2009
    • 574

    #2
    Nguyên văn bởi saochangtinh Xem bài viết
    Kính thưa các đại cao thủ !
    Em đang làm bài tập lớn về cách tạo xung vuông dùng 8253

    Em đã viết code nhưng không chạy , không bít sai sót từ đâu !
    Kính mong các bác đã và đang tìm hiểu về Timer lập trình được 8253 vào đây chỉ giúp ạ

    Đây là code của em dùng để tạo xung vuông xuất ra chân OUT của Timer 1 !
    Có chỗ nào sai sót cân sửa chữa mong các bạn chi ra giúp mình :
    Code:
    #include<reg52.h>
    #include<stdio.h>
    
    sbit _GATE=P2^0;
    sbit _A0=P2^3;
    sbit _A1=P2^4;
    sbit _WR=P3^6;
    sbit _RD=P3^7;
    unsigned int a;
    
     void delay()
    {
    		unsigned int i;
    		for(i=0;i<=1000;i++);
     }
    
    
     void ghi_CWR(unsigned int manh2)
    {
    	_A0=1;		   
    	_A1=1;
    	_RD=1;
    	_WR=0;	  	[I] // A0=A1=1 , WR =0 >> Cho phep ghi vao tu dien khien[/I]
    
    	P1=manh2;	
    
    }
    
    
     void ghi_T1(unsigned int manh1)
    {
     	
    	_A0=1;
    	_A1=0;
    	_RD=1;
    	_WR=0;		[I]// A0=1, A1=0 , WR = 0 >> Cho phep nap  gia tri vao Timer 1 [/I]
    
    	_GATE=1;
    	P1=manh1%256;			  [I] // Truyen Byte Thap truoc[/I]
    	delay();
    
    	P1=manh1/256;			  [I]// Truyen byte cao sau [/I]
    	delay();
    
    }
    
    
     void main()
    {
    
    
    ghi_CWR(119);		[I]// Gia su Timer 1 , Mode 3 , dem thap phan ,
                                             truyen byte thap truoc   byte cao sau [/I]
    delay();
    
    ghi_T1(200);	  [I] // Nap gia tri ban dau cho  Timer 1 la 200 (Byte thap 200 , byte cao 0 )[/I]
    delay();
    
    _GATE=0;
    _GATE=1;
    
    while(1);  	  
    }
    Còn đây là file ISIS (Em dùng Proteus 7.6 )
    trời viết dài thế mà không chạy bạn chỉ cần cho nó xuất ra tín hiệu kiểu nhấp nháy với tần số 1hz là được chúc thành công

    Comment

    • saochangtinh
      Thành viên mới
      • Nov 2007
      • 19

      #3
      Vấn đề là cần người chỉ giáo . Sai ở chỗ nào , sửa chô nào cơ .......

      Comment

      • minhhieu
        Thành viên tích cực
        • Mar 2006
        • 499

        #4
        Có cái cho đồng chí đây
        Code:
        void nap_gia_tri(void)
        {
            unsigned int data1;  
            Dieu khien timer0
            //----Write mode-----
            WR = 0 ;
            RD = 1;
            A0 = 1;
            A1 = 1;
            //control word format
            Data = 0x36;// 0 0 1 1  0 1 1 0  Counter 0, truyen biet trong so thap truoc, bit trong so cao nhat sau, Mode = 3, che do dem 16 bit 
                        // chi can thay doi 2 bit cao nhat de chon couter tuong ung
            CS = 0;
            //--nap gia tri dem cho counter---------------
            CS = 1;
            A0 = 0;
            A1 = 0; //nap cho timer0
            data1 = 4000;
            Data = (unsigned char)data1;  //lSB
            CS = 0;
            CS = 1;
            Data = (unsigned char)(data1>>8); //MSB
            CS = 0;
            CS = 1;
            
            // dieu khien timer 1
            
            A0 = 1;
            A1 = 1;
            Data = 0x76;
            CS = 0;
            CS = 1;
            A0 = 1;
            A1 = 0; //nap cho timer0
            data1 = 1000;
            Data = (unsigned char)data1;  //lSB
            CS = 0;
            CS = 1;
            Data = (unsigned char)(data1>>8); //MSB
            CS = 0;
            CS = 1;
            
            
        }
        n
        ĐT: 0986 492 489

        Tham khảo:

        Comment

        • saochangtinh
          Thành viên mới
          • Nov 2007
          • 19

          #5
          tạo tần số 4MHz (bằng tần số Clock tại chân OUT)

          Cảm ơn các bạn đã giúp mình .!

          Bây dzờ mình còn 1 thắc mắc nhỏ nữa là : Giả sử ta dùng thạch anh 4Mhz tạo xung Clock kích cho Timer !
          Mình mún cho đầu ra Timer đúng là 4MHz (bằng tần số clock của Timer ) thì làm thế nào ạ
          Em đã tìm hiểu 6 ché độ hoạt động của 8253 nhưng không có chế độ nào có tần số xung ra như vậy !
          Có thể tạo được không ạ !!

          Comment

          Về tác giả

          Collapse

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

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

          Collapse

          Đang tải...