c8253.c

来自「<单片机程序设计基础>一书的配套光盘中的程序---北航---周航慈-」· C语言 代码 · 共 68 行

C
68
字号
#include <absacc.h>
#include <reg51.h>
#define  uchar unsigned char
#define  uint  unsigned int
#define  COM8253 XBYTE[0x8003]
#define  C1   XBYTE[0x8000]
#define  C2   XBYTE[0x8001]
#define  C3   XBYTE[0X8002]
#define  SNUM  1
 sbit   P1_7=P1^7;
 uchar it=20;
 uchar sn=SNUM;
 uint idata BUF8253[3];

 void ust0(void)
 { 
   TMOD=TMOD&0xf0+0x01;
   TH0=0x4c;TL0=0x81;
   TR0=1;ET0=1;EA=1;
   P1_7=1;
 }

 void t0i(void) interrupt 1 
 {  TH0=0x4c;TL0=0x81;
    if((--it)==0)  
      { it=20;
        sn--;
      }
 }

 void  cbfp(po,x)
 uchar xdata *po;
 uchar x;
 { uchar h,l;
   l=*po;po++;po--;
   h=*po;
   BUF8253[x]=-(h*256+l);
 }

 void  fcbf(void) 
 {  P1_7=0;
    COM8253=0x0a;
    COM8253=0x4a;
    COM8253=0x8a;
    COM8253=0x0a;
    cbfp(&C1,0);
    COM8253=0x4a;
    cbfp(&C2,1);
    COM8253=0x8a;
    cbfp(&C3,2);
 }
 
 void init8253(void)
 { COM8253=0x3a;
   C1=0;C1=0;
   COM8253=0x7a;
   C2=0;C2=0;
   COM8253=0xba;
   C3=0;C3=0;
 }

 void main(void)
 { init8253(); 
   ust0();
   while(sn);
   fcbf();
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?