这是我写的代码:
#include<reg52.h>
#include<absacc.h>
#define COMI XBYTE[0x3100] // 定义8253R的控制字寄存器地址
#define C0I XBYTE[0x0100] // 定义8253R的计数器0寄存器地址
#define C1I XBYTE[0x1100] // 定义8253R的计数器1寄存器地址
#define C2I XBYTE[0x2100] // 定义8253R的计数器2寄存器地址
void init(void)
{
TMOD=0X01;
TH0=0XB1;
TL0=0XE0;//在晶振为12MHZ下延时为20ms
ET0=1;
EA=1;
TR0=1;
}
void main (void)
{
init();
while(1);
}
void T0Int() interrupt 1
{
TH0=0xB1;
TL0=0xE0; //20ms的时钟基准
//向8253中写入控制字,门控的方式1计数方式
COMI=0x30;
C0I=0xd6;C0I=0xff;
COMI=0x70;
C1I=0xac;C1I=0xff;
COMI=0xB0;
C2I=0xac;C2I=0xff;
}
有好答案 分全部给你都行
怎么从它的值看出它在51单片机上的接线!,能不能写一下8253的控制代码
追答不会写控制代码。
你的继电器的驱动是什么?三极管吗?
舵机 产生三路pwm波形
追答C0I=0xd6;这句代码后面输出 &C0I的值就可以了啊,这个就是其所在内存地址的值。