
一、51单片机中ORG是什么意思
ORG是个用

ORG(伪指令)(Pion)是用于对汇编过程进行控制的指令,该类指令并不是可执行指令,没有机器代码,只用于汇编过程中为汇编程序提供汇编信息。提供如下信息:哪些是指令、哪些是数据及数据的字长、程序的起始地址和结束地址等。
伪指令有2个特点:
(1)由于是伪“指令”,因而它只存在于汇编语言中。高级语言中不叫指令,叫语句;
(2)由于是“伪”指令,也即“假”指令,因而不是可执行指不会占用ROM空间,只用序提供汇编信息。
扩展资
模块汇编程序:
模块汇编程序为适应模块程序设计方法而研制的。它除了克服简单汇编程序的行设计、编码和调试不同改程序时只更改有关编后的程序模块称装配程序组合成一个完整的可执行的程序。
条件汇编程序:
汇编某些程序段的能力。它适用于编写选择性较大的程序或程序包,的配置情况剪裁、编制适当的软件。
这种汇编语言通常要引入“条件转移”、“转移”等汇编指示,以便根据用户指定的汇编条件有选择地汇编某些程序段或控制
宏汇编程序:
宏汇编程序主要特点能。它允许用户方便地定义和使用宏指令,适用于程序中多处出现、具有一定格式、可以通过少数。
采用这种方法不仅减少程序的长度,增加可读性,而且程序段落的格式需要改变时,只须改动定义处,而不必改动每一使用处。
参考资料:百度百科-伪指令
参考资料:百度百科-汇编程序
二、std::vectorTip-Pouf-value;在C中代表什么意...
展开全部
定义了一个标准模板库中的vector容器变量.模板参数为Tip_Pos,变量名为
buf_value.
也就是说定义了一个名字为buf_value的可以储存Tip_Pos类型的vector容器.
vector是C标准模板库中的变长数组类型.储存上利用连续地址的内存块.能以下标作为偏移量访问里面的每个元素.
三、单片机里的SBUF怎么用?
SBUF是指串行口中的两个缓冲寄存器,一个是发送寄存器,一个是接收寄存器,在物理结构上是完全独立的,但地址是重叠的。它们都是字节寻址的寄存器,字节地址均为99H。
SBUF,全称:serial data buffer,中文名为串行数据缓冲器。这个重叠的地址靠读/写指令区分:串行发送数据时,CPU向SBUF写入数据,此时99H表示串行口的发送缓冲寄存器;串行接收数据时,CPU从SBUF读出数据,此时99H表示串行口的接收缓冲寄存器。
单片机串口参考程序
#include
#include
#define uint unsigned int//或者typedef unsigned int uint;
#define uchar unsigned char
uchar date;
uchar recFlag;//接收数据标识,0未接收数据 1接收数据
void init_serial();
void send();
void receive();
main()
{
init_serial();
IE=0;//屏蔽中断
while(1)
{
receive(); send();
}
}
void init_serial()//初始化串口
{
TMOD=0x20;//定时器T1使用工作方式2
TL1=250;//设置初值
TH1=250;
TR1=1;//开始计时
PCON=0x80;//SMOD=1;
SCON=0x50;//工作方式1,波特率9600bit/s,允许接收
TI=1;
}
void send()
{
if(TI==1)//检测输出是否READY
{
if(recFlag==1)//是否接收过数据
{
SBUF=date;//发送数据
recFlag=0;
TI=0;
}
}
}
void receive()
{
if(RI==1)//检测是否有数据接收
{
date=SBUF;//接收数据
recFlag=1;//设置接收标识符
RI=0;
}
}
四、请问C语言中的buf一般指什么
buf是buffer的简写,缓冲区的意思,一般要读多少字节的信息需要一个临时的 char buf[4096]这样的存储区。
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define LCD_data P2//数据口
sbit LCD_RS= P0^0;
sbit LCD_RW=P0^1;//液晶读/写控制
sbit LCD_EN= P0^2;//液晶使能控制
sbit LCD_PSB= P0^3;//串/并方式控制
uchar code character[10]={'0','1','2','3','4','5','6','7','8','9'};
uchar idata dis[12]={"放大倍数"};
uchar a,c,d,e;
#define delayNOP();{_nop_();_nop_();_nop_();_nop_();}
void lcd_pos(uchar X,uchar Y);//确定显示位置
/*******************************************************************/
/**/
/*延时函数*/
/**/
/*******************************************************************/
void delay(int ms)
{
while(ms--)
{
uchar i;
for(i=0;i<250;i++)
{
delayNOP();
}
}
}
/*******************************************************************/
/**/
/*检查LCD忙状态*/
/*lcd_busy为1时,忙,等待。lcd-busy为0时,闲,可写指令与数据。*/
/**/
/*******************************************************************/
bit lcd_busy()
{
bit result;
LCD_RS= 0;
LCD_RW= 1;
LCD_EN= 1;//读写使能
delayNOP();//延时1.82us
result=(bit)(P2&0x80);
LCD_EN= 0;
return(result);
}
/*******************************************************************/
/**/
/*写指令数据到LCD*/
/*RS=L,RW=L,E=高脉冲,D0-D7=指令码。*/
/**/
/*******************************************************************/
void lcd_wcmd(uchar cmd)
{
while(lcd_busy());
LCD_RS= 0;
LCD_RW= 0;
LCD_EN= 0;
_nop_();
P2= cmd;
delayNOP();
LCD_EN= 1;
delayNOP();
LCD_EN= 0;
}
/*******************************************************************/
/**/
/*写显示数据到LCD*/
/*RS=H,RW=L,E=高脉冲,D0-D7=数据。*/
/**/
/*******************************************************************/
void lcd_wdat(uchar dat)
{
while(lcd_busy());
LCD_RS= 1;
LCD_RW= 0;
LCD_EN= 0;
P2= dat;
delayNOP();
LCD_EN= 1;
delayNOP();
LCD_EN= 0;
}
/*******************************************************************/
/**/
/* LCD初始化设定*/
/**/
/*******************************************************************/
void lcd_init()
{
LCD_PSB= 1;//并口方式
lcd_wcmd(0x34);//扩充指令操作0011 1000绘图显示OFF RE=0
delay(5);
lcd_wcmd(0x30);//基本指令操作0011 0000
delay(5);
lcd_wcmd(0x0C);//显示开,关光标 0000 1100整体显示ON,光标显示OFF游标位置OFF
delay(5);
lcd_wcmd(0x01);//清除LCD的显示内容
delay(5);
}
/*********************************************************/
/**/
/*设定显示位置*/
/**/
/*********************************************************/
void lcd_pos(uchar X,uchar Y)
{
uchar pos;
if(X==0)
{X=0x80;}
else if(X==1)
{X=0x90;}
else if(X==2)
{X=0x88;}
else if(X==3)
{X=0x98;}
pos= X+Y;
lcd_wcmd(pos);//显示地址
}
/****************************************************************
函数名称:LcdClear()清屏
入口参数:无
返回参数:无
****************************************************************/
void LcdClear(void)
{
lcd_busy();
lcd_wcmd(0x01);
delay(3);
}
/****************************************************************
函数名称:DisplayCgrom(uchar hz)显示CGROM里的汉字
入口参数:无
返回参数:无
****************************************************************/
void DisplayCgrom(uchar addr,uchar*hz)
{
lcd_busy();
lcd_wcmd(addr);
lcd_busy();
while(*hz!='\0')
{
lcd_wdat(*hz);
hz++;
lcd_busy();
}
}
/****************************************************************
函数名称:Display()显示测试结果
入口参数:无
返回参数:无
****************************************************************/
void Display(void)
{
DisplayCgrom(0x80,"宽带直流放大器");
DisplayCgrom(0x88,"放大倍数");
DisplayCgrom(0x90,"电子系");
DisplayCgrom(0x98,"200*年*月*日");
}
//给你个程序参考下,自己改参数
机载计算机和我们日常使用的PC不是一个概念,它是一个自动化程度很高的智能系统。从计算机架构上来说,同普通的计算机系统并无太大区别。飞机的航电系统包括了很多子系统,例如通讯系统,导航系统,电传飞控系统,发动机电控系统,飞行任务管理系统等等。
波音-787,AH-64用的操作系统是VxWorks。B-2, F-16,F-22, F-35,空客-380使用的操作系统是Integrity-178B。类似波音-787,空客-380,空客-350内部设备之间是使用以太网的一种变体来互联的,叫AFDX,在应用软件这一层,同普通的以太网程序没有任何区别。
扩展资料
飞机控制功能是依靠电子系统实现的,就是为完成飞行任务所需要的各种机载电子设备。包括计算机,有几十部之多,这里所指的计算机不是个人电脑那样完整的计算机,没有操作系统,而是微处理器、微控制器、单片机那样具有独立功能而又与其他计算机互相联系的部件,应用于飞机控制、导航、通信、娱乐等各个方面。
为了能够在大温差、低气压、宽频范围机械振动、强冲击过载和狭小使用空间等恶劣环境条件下正常而可靠地工作,对飞机电子系统的设计以及元器件和材料的选用都有很高的要求。因此飞机电子系统的工程难度和成本都比普通电子系统高得多。
参考资料来源:百度百科-电传操纵系统