Điều khiển 8253 tạo xung vuông !

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

    #1

    Điều khiển 8253 tạo xung vuông !

    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 )
    Last edited by saochangtinh; 07-03-2010, 10:54.
  • saochangtinh
    Thành viên mới
    • Nov 2007
    • 19

    #2
    Cảm ơn các bạn đã giúp mình .!
    Mình đã tạo được xung vuông rồi !!

    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...