求关于51单片机的外文翻译

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求关于51单片机的外文翻译相关的知识,希望对你有一定的参考价值。

毕业设计所用,有中英文的最佳!!!!!
我的专业是电子信息工程,关于专业知识的论文也都可以!!
还是中英都有的最好 可直接发到我的邮箱kingback00001@163.com
字数在5000左右

嘿嘿,我要的是英文 最好有中文翻译的!!!!!

参考技术A Getting Started with µVision2
The Keil Software 8051 development tools listed below are programs you use to compile your C code, assemble your assembly source files, link and locate object modules and libraries, create HEX files, and debug your target program.
 µVision2 for Windows™ is an Integrated Development Environment that combines project management, source code editing, and program debugging in one single, powerful environment.
 The C51 ANSI Optimizing C Cross Compiler creates relocatable object modules from your C source code.
 The A51 Macro Assembler creates relocatable object modules from your 8051 assembly source code.
 The BL51 Linker/Locator combines relocatable object modules created by the C51 Compiler and the A51 Assembler into absolute object modules.
 The LIB51 Library Manager combines object modules into libraries that may be used by the linker.
 The OH51 Object-HEX Converter creates Intel HEX files from absolute object modules.
 The RTX-51 Real-time Operating System simplifies the design of complex, time-critical software projects.
Software Development Cycle
When you use the Keil Software tools, the project development cycle is roughly the same as it is for any other software development project.
1. Create a project, select the target chip from the device database, and configure the tool settings.
2. Create source files in C or assembly.
3. Build your application with the project manager.
4. Correct errors in source files.
5. Test the linked application.
µVision2 IDE
The µVision2 IDE combines project management, a rich-featured editor with interactive error correction, option setup, make facility, and on-line help. Use µVision2 to create your source files and organize them into a project that defines your target application. µVision2 automatically compiles, assembles, and links your embedded application and provides a single focal point for your development efforts.
LIB51 Library Manager
The LIB51 library manager allows you to create object library from the object files created by the compiler and assembler. Libraries are specially formatted, ordered program collections of object modules that may be used by the linker at a later time. When the linker processes a library, only those object modules in the library that are necessary to create the program are used.
BL51 Linker/Locator
The BL51 linker creates an absolute object module using the object modules extracted from libraries and those created by the compiler and assembler. An absolute object file or module contains no relocatable code or data. All code and data reside at fixed memory locations. The absolute object file may be used:
 To program an EPROM or other memory devices,
 With the µVision2 Debugger for simulation and target debugging,
 With an in-circuit emulator for the program testing.
µVision2 Debugger
The µVision2 symbolic, source-level debugger is ideally suited for fast, reliable program debugging. The debugger includes a high-speed simulator that let you simulate an entire 8051 system including on-chip peripherals and external hardware. The attributes of the chip you use are automatically configured when you select the device from the Device Database.
The µVision2 Debugger provides several ways for you to test your programs on
real target hardware:
 Install the MON51 Target Monitor on your target system and download your program using the Monitor-51 interface built-in to the µVision2 Debugger.
 Use the Advanced GDI interface to attach use the µVision2 Debugger front end with your target system.
Monitor-51
The µVision2 Debugger supports target debugging using Monitor-51. The monitor program resides in the memory of your target hardware and communicates with the µVision2 Debugger using the serial port of the 8051 and a COM port of your PC. With Monitor-51, µVision2 lets you perform source-level, symbolic debugging on your target hardware.
RTX51 Real-Time Operating System
The RTX51 real-time operating system is a multitasking kernel for the 8051 microcontroller family. The RTX51 real-time kernel simplifies the system design, programming, and debugging of complex applications where fast reaction to time critical events is essential. The kernel is fully integrated into the C51 Compiler and is easy to use. Task description tables and operating system consistency are automatically controlled by the BL51 linker/locator.
C51 Optimizing C Cross Compiler
The Keil C51 Cross Compiler is an ANSI C Compiler that was written
specifically to generate fast, compact code for the 8051 microcontroller family.
The C51 Compiler generates object code that matches the efficiency and speed
of assembly programming.
Using a high-level language like C has many advantages over assembly language
programming:
 Knowledge of the processor instruction set is not required. Rudimentary knowledge of the memory structure of the 8051 CPU is desirable (but not necessary).
 Details like register allocation and addressing of the various memory types and data types is managed by the compiler.
 Programs get a formal structure (which is imposed by the C programming language) and can be divided into separate functions. This contributes to source code reusability as well as better overall application structure.
 The ability to combine variable selection with specific operations improves program readability.
 Keywords and operational functions that more nearly resemble the human thought process may be used.
 Programming and program test time is drastically reduced.
 The C run-time library contains many standard routines such as: formatted output, numeric conversions, and floating-point arithmetic.
 Existing program parts can be more easily included into new programs because of modular program construction techniques.
 The language C is a very portable language (based on the ANSI standard) that enjoys wide popular support and is easily obtained for most systems.
Existing program investments can be quickly adapted to other processors as needed.
Code Optimizations
The C51 Compiler is an aggressive optimizing compiler that takes numerous steps to ensure that the code generated and output to the object file is the most efficient (smallest and/or fastest) code possible. The compiler analyzes the generated code to produce the most efficient instruction sequences. This ensures that your C program runs as quickly and effectively as possible in the least amount of code space.
The C51 Compiler provides nine different levels of optimizing. Each increasing level includes the optimizations of levels below it. The following is a list of all optimizations currently performed by the C51 Compiler.
General Optimizations
 Constant Folding: Constant values occurring in an expression or address calculation are combined as a single constant.
 Jump Optimizing: Jumps are inverted or extended to the final target address when the program efficiency is thereby increased.
 Dead Code Elimination: Code that cannot be reached (dead code) is removed from the program.
 Register Variables: Automatic variables and function arguments are located in registers whenever possible. No data memory space is reserved for these variables.
 Parameter Passing Via Registers: A maximum of three function arguments
 may be passed in registers.
 Global Common Subexpression Elimination: Identical subexpressions or address calculations that occur multiple times in a function are recognized and calculated only once whenever possible.
 Common Tail Merging: Common instruction blocks are merged together using jump instructions.
 Re-use Common Entry Code: Common instruction sequences are moved in front of a function to reduce code size.
 Common Block Subroutines: Multiple instruction sequences are packed into subroutines. Instructions are rearranged to maximize the block size.

中文译文
Keil C 简介
Keil Software 的8051开发工具提供以下程序,你可以用它们来编译你的C源码,汇编你的汇编源程序,连接和重定位你的目标文件和库文件,创建HEX文件,调试你的目标程序。
Windows应用程序uVision2是一个集成开发环境,它把项目管理,源代码编辑,程序调试等集成到一个功能强大的环境中。
 C51美国标准优化C交叉编译器从你的C源代码产生可重定位的目标文件。
 A51宏汇编器从你的8051汇编源代码产生可重定位的目标文件。
 BL51连接/重定位器组合你的由C51和A51产生的可重定位的目标文件,生成绝对目标文件。
 LIB51库管理器组合你的目标文件,生成可以被连接器使用的库文件。
 OH51目标文件到HEX格式的转换器从绝对目标文件创建Intel HEX 格式的文件。
 RTX-51实时操作系统简化了复杂和对时间要求敏感的软件项目。
软件开发流程
当你使用Keil Software工具时,你的项目开发流程和其它软件开发项目的流程极其相似。
1. 创建一个项目,从器件库中选择目标器件,配置工具设置。
2. 用C语言或汇编语言创建源程序。
3. 用项目管理器实现你的应用。
4. 修改源程序中的错误。
5. 测试,连接应用。
uVision2 IDE
uVision2 集成开发环境集成了一个项目管理器,一个功能丰富、有错误提示的编辑器,以及设置选项,生成工具,在线帮助。利用uVision2创建你的源代码并把它们组织到一个能确定你的目标应用的项目中去。uVision2自动编译,汇编,连接你的嵌入式应用,并为你的开发提供一个单一的焦点。
C51编译器和A51汇编器
源代码由uVision2 IDE创建,并被C51编译或A51汇编。编译器和汇编器从源代码生成可重定位的目标文件。Keil C51编译器完全遵照ANSI C语言标准,支持C语言的所有标准特性。另外,直接支持8051结构的几个特性被添加到里面。Keil A51宏汇编器支持8051及其派生系列的全部指令集。
LIB51 库管理器
LIB51库管理器允许你从由编译器或汇编器生成的目标文件创建目标库。库是一种被特别地组织过并在以后可以被连接重用的对象模块。当连接器处理一个库时,仅仅那些被使用的目标模块才被真正使用。
BL51 连接器/定位器
BL51 连接器/定位器利用从库中提取的目标模块和由编译器或汇编器生成的目标模块创建一个绝对地址的目标模块。一个绝对地址目标模块或文件包含不可重定位的代码和数据。所有的代码和数据被安置在固定的存储器单元中。此绝对地址目标文件可以用来:
 写入EPROM或其它存储器件。
 由uVision2调试器使用来模拟和调试。
 由仿真器用来测试程序。
uVision2 调试器
uVision2源代码级调试器是一个理想地快速,可靠的程序调试器。此调试器包含一个高速模拟器,能够让你模拟整个8051系统,包括片上外围器件和外部硬件。当你从器件库中选择器件时,这个器件的特性将自动配置。
uVision2调试器为你在实际目标板上测试你的程序提供了几种方法:
 安装MON51目标监控器到你的目标系统并且通过Monitor-51接口下载你的程序。
 利用高级的GDI(AGDI)接口,把uVision2调试器绑定到你的目标系统。
Monitor-51
uVision2调试器支持用Monitor-51进行目标板调试。此监控程序驻留在你的目标板的 存储器里,它利用串口和uVision2调试器进行通信。利用Monitor-51,uVision2调试器 可以对你的目标硬件实行源代码级的调试。
RTX51实时操作系统
RTX51实时操作系统是一个针对8051系列的多任务核。RTX51实时内核从本质上简化了对实时事件反应速度要求高的复杂应用系统的设计,编程和调试。RTX51实时内核是完全集成到C51编译器中的,从而方便使用。任务描述表和操作系统的连接由BL51连接器/定位器自动控制。
C51优化的C语言交叉编译器
Keil C51交叉编译器是一个基于ANSI C标准的针对8051系列MCU的C编译器,生成的可执行代码快速、紧凑,在运行效率和速度上可以和汇编程序得到的代码相媲美。
和汇编语言相比,用C语言这样的高级语言有很多优势,比如:
 对处理器的指令集不必了解,8051 CPU的基本结构可以了解,但不是必须的。
 寄存器的分配以及各种变量和数据的寻址都由编译器完成。
 程序拥有了正式的结构(由C语言带来的),并且能被分成多个单独的子函数。这使整个应用系统的结构变得清晰,同时让源代码变得可重复使用。
 选择特定的操作符来操作变量的能力提高了源代码的可读性。
 可以运用和人的思维很接近的词汇和算法表达式。
 编写程序和调试程序的时间得到很大程度的缩短。
 C运行连接库包含一些标准的子程序,如:格式化输出,数字转换,浮点运算。
 由于程序的模块结构技术,使得现有的程序段可以很容易的包含到新的程序中去。
 ANSI 标准的C语言是一种丰常方便的,获得广泛应用的,在绝大部分系统中都能够很容易得到的语言。
因此,如果需要,现有的程序可以很快地移植到其他的处理器上,节省投资。
代码优化
C51是一个杰出的优化编译器,它通过很多步骤以确保产生的代码是最有效率的(最小和/或最快)。编译器通过分析初步的代码 产生最终的最有效率的代码序列,以此来保证你的C语言程序占用最少空间的同时运行的快而有效。
C51编译器提供9个优化级别。每个高一级的优化级别都包括比它低的所有优化级别的优化内容。以下列出的是目前C51编译器提供的所有优化级别的内容:
 常量折叠:在表达式及寻址过程中出现的常量被综合为一个单个的常量。
 跳转优化:采用反转跳转或直接指向最终目的的跳转,从而提升了程序的效率。
 哑码消除:永远不可能执行到的代码将自动从程序中剔除。
 寄存器变量:只要可能,局部变量和函数参数被放在CPU寄存器中,不需要为这些变量再分配存储器空间。
 通过寄存器传递参数:最多三个参数通过寄存器传递。
 消除全局公用的子表达式:只要可能,程序中多次出现的相同的子表达式或地址计算表达式将只计算一次。
 合并相同代码:利用跳转指令,相同的代码块被合并。
 重复使用入口代码:需要多次使用的共同代码被移到子程序的前面以缩减代码长度。
公共块子程序:需要重复使用的多条指令被提取组成子程序。指令被重新安排以最大化一个共用子程序的长度。

求51单片机超声波避障程序

求51单片机超声波避障程序求大神发一个简单的带舵机超声波避障小车程序,万分感谢

这是一个超声波避障小车的源程序,可以参考下,用的89C52单片机,舵机控制转角避障。
#include<AT89x51.H>
#include <intrins.h>
#define Sevro_moto_pwm P2_7 //接舵机信号端输入PWM信号调节速度
#define ECHO P2_4 //超声波接口定义
#define TRIG P2_5 //超声波接口定义
#define Left_moto_go P1_0=1,P1_1=0,P1_2=1,P1_3=0; //左边两个电机向前走
#define Left_moto_back P1_0=0,P1_1=1,P1_2=0,P1_3=1; //左边两个电机向后转
#define Left_moto_Stop P1_0=0,P1_1=0,P1_2=0,P1_3=0; //左边两个电机停转
#define Right_moto_go P1_4=1,P1_5=0,P1_6=1,P1_7=0; //右边两个电机向前走
#define Right_moto_back P1_4=0,P1_5=1,P1_6=0,P1_7=1; //右边两个电机向前走
#define Right_moto_Stop P1_4=0,P1_5=0,P1_6=0,P1_7=0; //右边两个电机停转
unsigned char const discode[] = 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF,0xff/*-*/;
unsigned char const positon[3]= 0xfe,0xfd,0xfb;
unsigned char disbuff[4] = 0,0,0,0,;
unsigned char posit=0;
unsigned char pwm_val_left = 0;//变量定义
unsigned char push_val_left =14;//舵机归中,产生约,1.5MS 信号
unsigned long S=0;
unsigned long S1=0;
unsigned long S2=0;
unsigned long S3=0;
unsigned long S4=0;
unsigned int time=0; //时间变量
unsigned int timer=0; //延时基准变量
unsigned char timer1=0; //扫描时间变量
/************************************************************************/
void delay(unsigned int k) //延时函数

unsigned int x,y;
for(x=0;x<k;x++)
for(y=0;y<2000;y++);

/************************************************************************/
void Display(void) //扫描数码管

if(posit==0)
P0=(discode[disbuff[posit]])&0x7f;//产生点
else
P0=discode[disbuff[posit]]; if(posit==0)
P2_1=0;P2_2=1;P2_3=1;
if(posit==1)
P2_1=1;P2_2=0;P2_3=1;
if(posit==2)
P2_1=1;P2_2=1;P2_3=0;
if(++posit>=3)
posit=0;

/************************************************************************/
void StartModule() //启动测距信号

TRIG=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TRIG=0;

/***************************************************/
void Conut(void) //计算距离

while(!ECHO); //当RX为零时等待
TR0=1; //开启计数
while(ECHO); //当RX为1计数并等待
TR0=0; //关闭计数
time=TH0*256+TL0; //读取脉宽长度
TH0=0;
TL0=0;
S=(time*1.7)/100; //算出来是CM
disbuff[0]=S%1000/100; //更新显示
disbuff[1]=S%1000%100/10;
disbuff[2]=S%1000%10 %10;

/************************************************************************/
//前速前进
void run(void)

Left_moto_go ; //左电机往前走
Right_moto_go ; //右电机往前走

/************************************************************************/
//前速后退
void backrun(void)

Left_moto_back ; //左电机往前走
Right_moto_back ; //右电机往前走

/************************************************************************/
//左转
void leftrun(void)

Left_moto_back ; //左电机往前走
Right_moto_go ; //右电机往前走

/************************************************************************/
//右转
void rightrun(void)

Left_moto_go ; //左电机往前走
Right_moto_back ; //右电机往前走

/************************************************************************/
//STOP
void stoprun(void)

Left_moto_Stop ; //左电机停走
Right_moto_Stop ; //右电机停走

/************************************************************************/
void COMM( void )


push_val_left=5; //舵机向左转90度
timer=0;
while(timer<=4000); //延时400MS让舵机转到其位置
StartModule(); //启动超声波测距
Conut(); //计算距离
S2=S;

push_val_left=23; //舵机向右转90度
timer=0;
while(timer<=4000); //延时400MS让舵机转到其位置
StartModule(); //启动超声波测距
Conut(); //计算距离
S4=S;
push_val_left=14; //舵机归中
timer=0;
while(timer<=4000); //延时400MS让舵机转到其位置 StartModule(); //启动超声波测距
Conut(); //计算距离
S1=S; if((S2<20)||(S4<20)) //只要左右各有距离小于20CM小车后退

backrun(); //后退
timer=0;
while(timer<=4000);


if(S2>S4)

rightrun(); //车的左边比车的右边距离小 右转
timer=0;
while(timer<=4000);

else

leftrun(); //车的左边比车的右边距离大 左转
timer=0;
while(timer<=4000);

/************************************************************************/
/* PWM调制电机转速 */
/************************************************************************/
/* 左电机调速 */
/*调节push_val_left的值改变电机转速,占空比 */
void pwm_Servomoto(void)


if(pwm_val_left<=push_val_left)
Sevro_moto_pwm=1;
else
Sevro_moto_pwm=0;
if(pwm_val_left>=200)
pwm_val_left=0;


/***************************************************/
///*TIMER1中断服务子函数产生PWM信号*/
void time1()interrupt 3 using 2

TH1=(65536-100)/256; //100US定时
TL1=(65536-100)%256;
timer++; //定时器100US为准。在这个基础上延时
pwm_val_left++;
pwm_Servomoto(); timer1++; //2MS扫一次数码管
if(timer1>=20)

timer1=0;
Display();


/***************************************************/
///*TIMER0中断服务子函数产生PWM信号*/
void timer0()interrupt 1 using 0


/***************************************************/ void main(void)
TMOD=0X11;
TH1=(65536-100)/256; //100US定时
TL1=(65536-100)%256;
TH0=0;
TL0=0;
TR1= 1;
ET1= 1;
ET0= 1;
EA = 1; delay(100);
push_val_left=14; //舵机归中
while(1) /*无限循环*/
if(timer>=1000) //100MS检测启动检测一次

timer=0;
StartModule(); //启动检测
Conut(); //计算距离
if(S<30) //距离小于20CM

stoprun(); //小车停止
COMM(); //方向函数

else
if(S>30) //距离大于,30CM往前走
run();



/**************************************************************************/

下面是头文件:
头文件(一)
/*--------------------------------------------------------------------------
AT89X51.H Header file for the low voltage Flash Atmel AT89C51 and AT89LV51.
Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/
#ifndef __AT89X51_H__
#define __AT89X51_H__
/*------------------------------------------------
Byte Registers
------------------------------------------------*/
sfr P0 = 0x80;
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 P1 = 0x90;
sfr SCON = 0x98;
sfr SBUF = 0x99;
sfr P2 = 0xA0;
sfr IE = 0xA8;
sfr P3 = 0xB0;
sfr IP = 0xB8;
sfr PSW = 0xD0;
sfr ACC = 0xE0;
sfr B = 0xF0;
/*------------------------------------------------
P0 Bit Registers
------------------------------------------------*/
sbit P0_0 = 0x80;
sbit P0_1 = 0x81;
sbit P0_2 = 0x82;
sbit P0_3 = 0x83;
sbit P0_4 = 0x84;
sbit P0_5 = 0x85;
sbit P0_6 = 0x86;
sbit P0_7 = 0x87;
/*------------------------------------------------
PCON Bit Values
------------------------------------------------*/
#define IDL_ 0x01
#define STOP_ 0x02
#define PD_ 0x02 /* Alternate definition */
#define GF0_ 0x04
#define GF1_ 0x08 #define SMOD_ 0x80 /
*------------------------------------------------
TCON Bit Registers
------------------------------------------------*/
sbit IT0 = 0x88;
sbit IE0 = 0x89;
sbit IT1 = 0x8A;
sbit IE1 = 0x8B;
sbit TR0 = 0x8C;
sbit TF0 = 0x8D;
sbit TR1 = 0x8E;
sbit TF1 = 0x8F;
/*------------------------------------------------
TMOD Bit Values
------------------------------------------------*/
#define T0_M0_ 0x01
#define T0_M1_ 0x02
#define T0_CT_ 0x04
#define T0_GATE_ 0x08
#define T1_M0_ 0x10
#define T1_M1_ 0x20
#define T1_CT_ 0x40
#define T1_GATE_ 0x80
#define T1_MASK_ 0xF0
#define T0_MASK_ 0x0F
/*------------------------------------------------
P1 Bit Registers
------------------------------------------------*/
sbit P1_0 = 0x90;
sbit P1_1 = 0x91;
sbit P1_2 = 0x92;
sbit P1_3 = 0x93;
sbit P1_4 = 0x94;
sbit P1_5 = 0x95;
sbit P1_6 = 0x96;
sbit P1_7 = 0x97; /
*------------------------------------------------
SCON Bit Registers
------------------------------------------------*/
sbit RI = 0x98;
sbit TI = 0x99;
sbit RB8 = 0x9A;
sbit TB8 = 0x9B;
sbit REN = 0x9C;
sbit SM2 = 0x9D;
sbit SM1 = 0x9E;
sbit SM0 = 0x9F;
/*------------------------------------------------
P2 Bit Registers
------------------------------------------------*/
sbit P2_0 = 0xA0;
sbit P2_1 = 0xA1;
sbit P2_2 = 0xA2;
sbit P2_3 = 0xA3;
sbit P2_4 = 0xA4;
sbit P2_5 = 0xA5;
sbit P2_6 = 0xA6;
sbit P2_7 = 0xA7;
/*------------------------------------------------
IE Bit Registers
------------------------------------------------*/
sbit EX0 = 0xA8; /* 1=Enable External interrupt 0 */
sbit ET0 = 0xA9; /* 1=Enable Timer 0 interrupt */
sbit EX1 = 0xAA; /* 1=Enable External interrupt 1 */
sbit ET1 = 0xAB; /* 1=Enable Timer 1 interrupt */
sbit ES = 0xAC; /* 1=Enable Serial port interrupt */
sbit ET2 = 0xAD; /* 1=Enable Timer 2 interrupt */ sbit EA = 0xAF; /* 0=Disable all interrupts */
/*------------------------------------------------
P3 Bit Registers (Mnemonics & Ports)
------------------------------------------------*/
sbit P3_0 = 0xB0;
sbit P3_1 = 0xB1;
sbit P3_2 = 0xB2;
sbit P3_3 = 0xB3;
sbit P3_4 = 0xB4;
sbit P3_5 = 0xB5;
sbit P3_6 = 0xB6;
sbit P3_7 = 0xB7; sbit RXD = 0xB0; /* Serial data input */
sbit TXD = 0xB1; /* Serial data output */
sbit INT0 = 0xB2; /* External interrupt 0 */
sbit INT1 = 0xB3; /* External interrupt 1 */
sbit T0 = 0xB4; /* Timer 0 external input */
sbit T1 = 0xB5; /* Timer 1 external input */
sbit WR = 0xB6; /* External data memory write strobe */
sbit RD = 0xB7; /* External data memory read strobe */
/*------------------------------------------------
IP Bit Registers
------------------------------------------------*/
sbit PX0 = 0xB8;
sbit PT0 = 0xB9;
sbit PX1 = 0xBA;
sbit PT1 = 0xBB;
sbit PS = 0xBC;
sbit PT2 = 0xBD;
/*------------------------------------------------
PSW Bit Registers
------------------------------------------------*/
sbit P = 0xD0;
sbit FL = 0xD1;
sbit OV = 0xD2;
sbit RS0 = 0xD3;
sbit RS1 = 0xD4;
sbit F0 = 0xD5;
sbit AC = 0xD6;
sbit CY = 0xD7;
/*------------------------------------------------
Interrupt Vectors:
Interrupt Address = (Number * 8) + 3
------------------------------------------------*/
#define IE0_VECTOR 0 /* 0x03 External Interrupt 0 */
#define TF0_VECTOR 1 /* 0x0B Timer 0 */
#define IE1_VECTOR 2 /* 0x13 External Interrupt 1 */
#define TF1_VECTOR 3 /* 0x1B Timer 1 */
#define SIO_VECTOR 4 /* 0x23 Serial port */ #endif

头文件(二)
/*--------------------------------------------------------------------------
INTRINS.H Intrinsic functions for C51.
Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/
#ifndef __INTRINS_H__
#define __INTRINS_H__ extern void _nop_ (void);
extern bit _testbit_ (bit);
extern unsigned char _cror_ (unsigned char, unsigned char);
extern unsigned int _iror_ (unsigned int, unsigned char);
extern unsigned long _lror_ (unsigned long, unsigned char);
extern unsigned char _crol_ (unsigned char, unsigned char);
extern unsigned int _irol_ (unsigned int, unsigned char);
extern unsigned long _lrol_ (unsigned long, unsigned char);
extern unsigned char _chkfloat_(float); #endif
参考技术A 我也是新手。。。

以上是关于求关于51单片机的外文翻译的主要内容,如果未能解决你的问题,请参考以下文章

数学外文翻译 在线等

毕业设计人工智能游戏方面的外文翻译

javaweb网上购物系统设计与实现(开题报告+任务书+外文翻译+论文+源码).rar

求一篇关于 平面度误差的测量和评定 相关的外文翻译,字数在两千字左右,若符合要求,给五十分。

小贴士合肥工业大学计科与物联网本科毕业设计“外文翻译”tips

小贴士合肥工业大学计科与物联网本科毕业设计“外文翻译”tips