⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 my.h

📁 uip1.0 C51源代码
💻 H
字号:
#include <absacc.h>
#include <stdlib.h>

/* W77E58*/
sfr  ckcon=0x8e;
sfr  sbuf1=0xc1;
sfr  scon1=0xc0;
sfr  wdcon=0xd8;
sbit smod_1=wdcon^7;
sbit sm0_1=scon1^7;
sbit sm1_1=scon1^6;
sbit sm2_1=scon1^5;
sbit ren_1=scon1^4;
sbit tb8_1=scon1^3;
sbit rb8_1=scon1^2;
sbit ti_1=scon1^1;
sbit ri_1=scon1^0;


/*
 *-----------------------------------------------------------------------------
 *  Copyright (c) KEIL ELEKTRONIK GmbH and Franklin Software, Inc., 1987-1992
 *-----------------------------------------------------------------------------
 */
/* 8052 Processor Declarations */

/*  BYTE Registers  */
#ifndef POD8751
sfr P0   = 0x80;
sfr P1   = 0x90;
sfr P2   = 0xA0;
sfr P3   = 0xB0;
sfr p0   = 0x80;
sfr p1   = 0x90;
sfr p2   = 0xA0;
sfr p3   = 0xB0;

#endif
#ifdef POD8751
sfr P0   = 0xC0;
sfr P1   = 0x90;
sfr P2   = 0xD8;
sfr P3   = 0xC8;
sfr p0   = 0xC0;
sfr p1   = 0x90;
sfr p2   = 0xD8;
sfr p3   = 0xC8;

#endif
sfr PSW   = 0xD0;
sfr ACC   = 0xE0;
sfr B     = 0xF0;
sfr SP    = 0x81;
sfr DPL   = 0x82;
sfr DPH   = 0x83;
sfr PCON  = 0x87;
sfr TCON  = 0x88;
sfr TMOD  = 0x89;
sfr TL0   = 0x8A;
sfr TL1   = 0x8B;
sfr TH0   = 0x8C;
sfr TH1   = 0x8D;
sfr IE    = 0xA8;
sfr IP    = 0xB8;
sfr SCON  = 0x98;
sfr SBUF  = 0x99;
sfr psw   = 0xD0;
sfr acc   = 0xE0;
sfr a     = 0xE0;
sfr A     = 0xE0;
sfr b     = 0xF0;
sfr sp    = 0x81;
sfr dpl   = 0x82;
sfr dph   = 0x83;
sfr pcon  = 0x87;
sfr tcon  = 0x88;
sfr tmod  = 0x89;
sfr tl0   = 0x8A;
sfr tl1   = 0x8B;
sfr th0   = 0x8C;
sfr th1   = 0x8D;
sfr ie    = 0xA8;
sfr ip    = 0xB8;
sfr scon  = 0x98;
sfr sbuf  = 0x99;

/*  8052 Extensions  */
sfr T2CON = 0xC8;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2   = 0xCC;
sfr TH2   = 0xCD;

sfr t2con = 0xC8;
sfr rcap2l = 0xCA;
sfr rcap2h = 0xCB;
sfr tl2   = 0xCC;
sfr th2   = 0xCD;


/*  BIT Registers  */
/*  PSW  */
sbit CY    = 0xD7;
sbit AC    = 0xD6;
sbit F0    = 0xD5;
sbit RS1   = 0xD4;
sbit RS0   = 0xD3;
sbit OV    = 0xD2;
sbit P     = 0xD0;

sbit cy    = 0xD7;
sbit c  =0xD7;
sbit C  =0xD7;
sbit ac    = 0xD6;
sbit f0    = 0xD5;
sbit rs1   = 0xD4;
sbit rs0   = 0xD3;
sbit ov    = 0xD2;
sbit p     = 0xD0;

/*  TCON  */
sbit TF1   = 0x8F;
sbit TR1   = 0x8E;
sbit TF0   = 0x8D;
sbit TR0   = 0x8C;
sbit IE1   = 0x8B;
sbit IT1   = 0x8A;
sbit IE0   = 0x89;
sbit IT0   = 0x88;

sbit tf1   = 0x8F;
sbit tr1   = 0x8E;
sbit tf0   = 0x8D;
sbit tr0   = 0x8C;
sbit ie1   = 0x8B;
sbit it1   = 0x8A;
sbit ie0   = 0x89;
sbit it0   = 0x88;


/*  IE  */
sbit EA    = 0xAF;
sbit ES    = 0xAC;
sbit ET1   = 0xAB;
sbit EX1   = 0xAA;
sbit ET0   = 0xA9;
sbit EX0   = 0xA8;

sbit ea    = 0xAF;
sbit es    = 0xAC;
sbit et1   = 0xAB;
sbit ex1   = 0xAA;
sbit et0   = 0xA9;
sbit ex0   = 0xA8;


/*  IP  */
sbit ps1   = 0xBE;
sbit PS    = 0xBC;
sbit PT1   = 0xBB;
sbit PX1   = 0xBA;
sbit PT0   = 0xB9;
sbit PX0   = 0xB8;

sbit ps    = 0xBC;
sbit pt1   = 0xBB;
sbit px1   = 0xBA;
sbit pt0   = 0xB9;
sbit px0   = 0xB8;

#ifndef POD8751
/*  P3  */
sbit RD   = 0xB7;
sbit WR   = 0xB6;
sbit T1   = 0xB5;
sbit T0   = 0xB4;
sbit INT1 = 0xB3;
sbit INT0 = 0xB2;
sbit TXD  = 0xB1;
sbit RXD  = 0xB0;

sbit rd   = 0xB7;
sbit wr   = 0xB6;
sbit t1   = 0xB5;
sbit t0   = 0xB4;
sbit int1 = 0xB3;
sbit int0 = 0xB2;
sbit txd  = 0xB1;
sbit rxd  = 0xB0;

#endif
#ifdef POD8751
sbit RD   = 0xCF;
sbit WR   = 0xCE;
sbit T1   = 0xCD;
sbit T0   = 0xCC;
sbit INT1 = 0xCB;
sbit INT0 = 0xCA;
sbit TXD  = 0xC9;
sbit RXD  = 0xC8;

sbit rd   = 0xCF;
sbit wr   = 0xCE;
sbit t1   = 0xCD;
sbit t0   = 0xCC;
sbit int1 = 0xCB;
sbit int0 = 0xCA;
sbit txd  = 0xC9;
sbit rxd  = 0xC8;

#endif

/*  SCON  */
sbit SM0   = 0x9F;
sbit SM1   = 0x9E;
sbit SM2   = 0x9D;
sbit REN   = 0x9C;
sbit TB8   = 0x9B;
sbit RB8   = 0x9A;
sbit TI    = 0x99;
sbit RI    = 0x98;

sbit sm0   = 0x9F;
sbit sm1   = 0x9E;
sbit sm2   = 0x9D;
sbit ren   = 0x9C;
sbit tb8   = 0x9B;
sbit rb8   = 0x9A;
sbit ti    = 0x99;
sbit ri    = 0x98;

/*  8052 Extensions  */
/*  IE  */
sbit ET2   = 0xAD;
sbit et2   =0xAD;
/*  IP  */
sbit PT2   = 0xBD;

sbit pt2  =0xBD;
/*  P1  */
sbit T2EX  = 0x91;
sbit T2    = 0x90;

sbit t2ex  = 0x91;
sbit t2    = 0x90;

/*  T2CON  */
sbit TF2   = 0xCF;
sbit T2IP  = 0xCE;
sbit T2IE  = 0xCD;
sbit T2RSE = 0xCC;
sbit BGEN  = 0xCB;
sbit TR2   = 0xCA;
sbit C_T2  = 0xC9;
sbit CP_RL2= 0xC8;

sbit tf2   = 0xCF;
sbit t2ip  = 0xCE;
sbit t2ie  = 0xCD;
sbit t2rse = 0xCC;
sbit bgen  = 0xCB;
sbit tr2   = 0xCA;
sbit c_t2  = 0xC9;
sbit cp_rl2= 0xC8;

sbit exf2=t2con^6;
sbit rclk=t2con^5;
sbit tclk=t2con^4;
sbit exen2=t2con^3;

/* *****************
77E58
********************* */
sfr  pmr=0xc4;
sfr PMR=0xc4;
sbit es1=IE^6;
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long
#define cr sbuf=0x0d;while(!ti);ti=0;sbuf=0x0a;while(!ti);ti=0;
#define cr1 sbuf1=0x0d;while(!ti_1);ti_1=0;sbuf1=0x0a;while(!ti_1);ti_1=0;

sbit b_0=b^0;
sbit b_1=b^1;
sbit b_2=b^2;
sbit b_3=b^3;
sbit b_4=b^4;
sbit b_5=b^5;
sbit b_6=b^6;
sbit b_7=b^7;
sbit cp_rl=0xc8;
sbit a_0=a^0;
sbit a_1=a^1;
sbit a_2=a^2;
sbit a_3=a^3;
sbit a_4=a^4;
sbit a_5=a^5;
sbit a_6=a^6;
sbit a_7=a^7;
sbit p3_4=p3^4;
sbit p3_5=p3^5;
sbit p3_6=p3^6;
sbit p3_7=p3^7;
sbit p2_6=p2^6;
sbit p2_7=p2^7;
sbit p3_3=p3^3;
sbit p2_5=p2^5;
sbit p2_1=p2^1;
sbit p2_2=p2^2;
sbit p2_3=p2^3;
sbit p2_4=p2^4;
sbit p0_0=p0^0;
sbit p0_1=p0^1;
sbit p0_2=p0^2;
sbit p0_3=p0^3;
sbit p0_4=p0^4;
sbit p0_5=p0^5;
sbit p0_6=p0^6;
sbit p0_7=p0^7;
sbit p3_0=p3^0;
sbit p1_5=p1^5;
sbit p1_7=p1^7;
sbit p1_6=p1^6;

sbit p1_2=p1^2;
sbit p1_0=p1^0;
sbit p1_1=p1^1;


#define timer0_mode_16bit   tmod=tmod&0xf0;tmod=tmod|0x01;                
#define timer0_mode_13bit   tmod=tmod&0xf0;tmod=tmod|0x00;
#define timer1_mode_16bit   tmod=tmod&0x0f;tmod=tmod|0x10;
#define timer0_mode_autoreload tmod=tmod&0xf0;tmod=tmod|0x02;
#define timer0_interrupt_disable et0=0
#define timer0_interrupt_enable et0=1; ea=1
#define timer0_stop tr0=0
#define timer1_stop tr1=0
#define timer0_run  tr0=1
#define timer1_run tr1=1
#define int1_priority_high   px1=1
#define int1_priority_low    px1=0
#define timer2_priority_low  pt2=0
#define int0_priority_high   px0=1
#define int0_priority_low    px0=0
#define serial_priority_high  ps=1
#define serial1_priority_high  ps1=1
#define timer0_priority_high pt0=1
#define int1_interrupt_enable ex1=1  ;ea=1
#define int1_interrupt_disable ex1=0
#define int0_mode_hightolow   it0=1
#define int1_mode_hightolow   it1=1
#define int0_interrupt_enable ex0=1 ;ea=1
#define int0_interrupt_disable ex0=0
#define timer2_interrupt_disable et2=0
#define timer2_interrupt_enable  et2=1;ea=1
#define serial_interrupt_disable es=0
#define serial_interrupt_enable es=1;ea=1
#define serial1_interrupt_enable  es1=1;ea=1
#define serial1_interrupt_disable  es1=0
#define timer1_interrupt_disable et1=0
#define timer1_interrupt_enable  et1=1 ; ea=1
#define serial_baud_9600 tmod=tmod&0x0f;tmod=tmod|0x20;th1=0xfa;tr1=1
#define serial1_baud_9600 tmod=tmod&0x0f;tmod=tmod|0x20;th1=0xfd;tr1=1
#define serial_baud_19200 tmod=tmod&0x0f;tmod=tmod|0x20;th1=0xfd;tr1=1;pcon=pcon|0x80;
#define serial_baud_38400 tmod=tmod&0x0f;tmod=tmod|0x20;th1=0xff;tr1=1;
#define serial_baud_57600 tmod=tmod&0x0f;tmod=tmod|0x20;th1=0xff;tr1=1;pcon=pcon|0x80;
#define serial1_baud_19200 tmod=tmod&0x0f;tmod=tmod|0x20;th1=0xfd;tr1=1;wdcon=wdcon|0x80;
#define serial_baud_1200 tmod=tmod&0x0f;tmod=tmod|0x20;th1=0xe8;tr1=1
#define serial_baud_2400 tmod=tmod&0x0f;tmod=tmod|0x20;th1=0xf4;tr1=1
#define serial_baud_19200_timer2   t2con=0x34;rcap2h=0xff;rcap2l=0xee;tr2=1;
#define serial_baud_9600_timer2   t2con=0x34;rcap2h=0xff;rcap2l=0xdc;
#define serial_baud_1200_timer2   t2con=0x34;rcap2h=0xfe;rcap2l=0xe0;tr2=1;
#define serial_baud_4800_timer2   t2con=0x34;rcap2h=0xff;rcap2l=0xb8;tr2=1;
#define serial1_baud_2400 tmod=tmod&0x0f;tmod=tmod|0x20;th1=0xf4;tr1=1
#define serial1_baud_4800 tmod=tmod&0x0f;tmod=tmod|0x20;th1=0xfa;tr1=1
#define serial1_baud_1200 tmod=tmod&0x0f;tmod=tmod|0x20;th1=0xe8;tr1=1
#define serial_baud_4800 tmod=tmod&0x0f;tmod=tmod|0x20;th1=0xfa;tr1=1
#define serial_uart_8     sm0=0; sm1=1; sm2=0;tr1=1;
#define serial1_uart_8    sm0_1=0;sm1_1=1;sm2_1=0;tr1=1;
#define serial_uart_9     sm0=1;  sm1=1;tr1=1;
#define serial1_uart_9    sm0_1=1; sm1_1=1;tr1=1;
#define serial_receive_enable ren=1;
#define serial1_receive_enable ren_1=1;
#define serial_baud_double   pcon=pcon|0x80; 
#define timer2_mode_autoreload   cp_rl=0;
#define timer2_mode_capture     cp_rl=1;
#define timer2_externcontrols_enable exen2=1;
#define timer2_externcontrols_disable exen2=0;
#define timer2_run tr2=1;
#define timer2_stop tr2=0;
#define nop _nop_();
#define timer2_speed_3  ckcon=ckcon|0x20;
#define timer1_speed_3   ckcon=ckcon|0x10;
#define timer0_speed_3  ckcon=ckcon|0x08;
#define externram_enable  pmr=pmr|0x01;
#define movx_9      ckcon=ckcon|0x03;
#define esc 0x1b
#define int_int0 0
#define int_int1 2
#define int_timer0 1
#define int_timer1 3
#define int_timer2 5
#define int_serial 4
#define int_serial1  7

⌨️ 快捷键说明

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