📄 w77e58.h
字号:
/*
*------------------------------------------------------------------
* Copyright (c) by Sunway sceince & technology development Ltd.Co.
* Write by Hadware Department, Skean. 1999.12.16
*------------------------------------------------------------------
*/
#ifndef true
#define true 1
#define false 0
#endif
#ifndef byte
#define byte unsigned char
#define word unsigned int
#define dword unsigned long
#endif
#define clr_bit(bit_name) bit_name=0
#define set_bit(bit_name) bit_name=1
typedef union
{
word w;
byte bh;
byte bl;
} WordType;
typedef union
{
dword dw;
byte b[4];
word w[2];
} DwordType;
/*--BYTE Registers-------------------------------------------------*/
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;
#define p0 P0
#define p1 P1
#define p2 P2
#define p3 P3
sfr PSW = 0xD0;
sfr ACC = 0xE0;
sfr B = 0xF0;
sfr SP = 0x81;
sfr DPL = 0x82;
sfr DPH = 0x83;
sfr PCON = 0x87;//PCON.7(SMOD)拨特率加倍,PCON.1(PD)掉电方式,PCON.0(IDL)冻结方式
//PCON.6(SMOD0)帧错检测允许,PCON.3(GF1)PCON.2(GF0)
sfr TCON = 0x88;//定时控制寄存器
sfr TMOD = 0x89;//"gate,c/t,m1,m0"x2定时器方式GATE=1时只有intx=1时才可以开放定时器x;
//c/t =1时计书数方式,=0时定时方式。m1m0=00时13位计数,=01时16位=10时自装入8位,
//11时定时器0分两个,定时器1停止。
sfr TL0 = 0x8A;
sfr TL1 = 0x8B;
sfr TH0 = 0x8C;
sfr TH1 = 0x8D;
sfr IE = 0xA8;
sfr IP = 0xB8;//中断优先级
sfr SCON = 0x98;//串口控制与状态
sfr SBUF = 0x99;
/*--W77E58 Extensions---------------------------------------------*/
sfr T2CON = 0xC8;
sfr T2MOD = 0xc9;//HC5,HC4,HC3,HC2,T2CR,-,T2OE,DCEN
//hc5-hc2 =1时外中断5-2标志硬件自动清除。
//t2cr=1 捕获完成时自动复位
//t2oe=1 定时器2输出允许
//dcen=1 减计数允许,结合外部输入t2ex使用,16位自装入模式
sfr RCAP2L= 0xCA;//重装的预置数,捕获的输出
sfr RCAP2H= 0xCB;
sfr TL2 = 0xCC;
sfr TH2 = 0xCD;
sfr DPL1 = 0x84;
sfr DPH1 = 0x85;
sfr DPS = 0x86;
sfr CKCON = 0x8e;//wd1,wd0,t2m,t1m,t0m,md2,md1,md0
//wd1wd0:看门狗计数00=2^17,01=2^20,10=2^23,11=2^26
//t2m,t1m,t0m等于1时时钟4分频
//md2,md1,md0 MOVX执行机器周期000=2,001=3。。。111=9
sfr EXIF = 0x91;//ie5,ie4,ie3,ie2,XT/RG,RGMD,RGSL,-
//ie5,ie3=1外中断下跳变中断标志
//ie4,ie3=2外中断上跳变中断标志
sfr P4 = 0xa5;//低四位有效
sfr SADDR = 0xa9;//从机串口0地址
sfr SADDR1= 0xaa;//从机串口1地址
sfr SADEN = 0xb9;//串口0地址屏蔽,等于0时所有地址都会引起中断
sfr SADEN1= 0xba;//串口0地址屏蔽,等于0时所有地址都会引起中断
sfr SCON1 = 0xc0;
sfr SBUF1 = 0xc1;
sfr ROMMAP= 0xc2;//ROMMAP.7为等待信号使能,用movx指令时,wait脚为p4.0
sfr PMR = 0xc4;//CD1,CD0,SWB,-,XTOFF,ALE-OFF,-DME0
//cd0cd1=0时钟不变,=1-1/4,=2-1/64,=3=1/1024
//swb=1强制4分频,外中断或串口中断唤醒
//aleoff =1时ale信号终止,外部内存访问时自动唤醒
//dme0 =1时内部1kram使能
sfr STATUS= 0xc5;//-,HIP,LIP,XTUP,SPTA1,SPRA1,SPTA0,SPRA0
//hip=1正在处理高优先级中断
//lip=1正在处理低优先级中断
//spta1串口0正在发送数据
//spra1串口0正在接收数据
//spta0串口0正在发送数据
//spra0串口0正在接收数据
sfr TA = 0xc7;//保护位
sfr WDCON = 0xd8;//SMOD_1,POR,-,-,WDIF,WTRF,EWT,RWT
//smod1 加倍串口1的拨特率,pro电源复位标志
//por 电源复位标志
//wdif看门狗定时中断标志,软清
//wtrf看门狗定时器复位标志,看门狗引起复位后,该位置1
//ewt 允许看门狗定时器自动复位
//rwt复位看门狗定时器,如果看门狗溢出还没有被复位计数器,将会引起中断,再过512周期将复位
sfr EIE = 0xe8;//-,-,-,EWDI,EX5,EX4,EX3,EX2
//ewdi=1,允许看门狗中断
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -