导航:首页 > 软件知识 > 程序流程图中的key代表什么

程序流程图中的key代表什么

发布时间:2022-12-25 11:41:37

① 构成程序流程图的基本符号有那些,代表的含义是什么

看图,
第一个是流程,顺序结构就是它;
第二个是判断,判断属于分支结果,相当于if或swich等
第三个是数据,从各种方式输入/输出数据
第四个是开始或终结符,表示程序开始和结束
这几个就是最基本的
箭头的意思就是流程线,程序按这个顺序执行

② C语言中 key是什么意思呀 以及Key_dec==0时什么意思

#include<reg51.h>
#include<intrins.h>
#include<math.h>

#define uchar unsigned char
#define uint unsigned int
#define S_RST DS_RST=1
#define C_RST DS_RST=0
#define S_CLK DS_CLK=1
#define C_CLK DS_CLK=0
#define Write_Disable RW_DS1302(0x8e,0x80) //写保护
#define Write_Enable RW_DS1302(0x8e,0x00) //允许写入

sbit SET = P1^5; //设置按键
sbit ADD = P1^4; //调整加
sbit DEC = P1^6; //调整减
#define RdefineT1 TH1=0;TL1=0;TR1=0;a=0; //初始化超时检测

//#define Delay2us() _nop_();_nop_(); //延时2us,每nop 1us
//#define Delay8us() _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

#define ReDetectTime 20 //设置重复检测次次数,超出次数则超时

//ds18b20命令
#define SkipROM 0xCC
#define MatchROM 0x55
#define ReadROM 0x33
#define SearchROM 0xF0
#define AlarmSearch 0xEC

#define Convert 0x44 //启动温度转换
#define WriteScr 0x4E
#define ReadScr 0xBE
#define CopyScr 0x48
#define RecallEE 0xB8
#define ReadPower 0xB4

#define md collect_time[0]&0x0f
#define mg (collect_time[0]&0x70)/16
#define fd collect_time[1]&0x0f
#define fg (collect_time[1]&0x70)/16
#define sd collect_time[2]&0x0f
#define sg (collect_time[2]&0x30)/16

sbit DS_RST = P1^2; //DS复位端
sbit DS_CLK = P1^0; //SCLK端
sbit DS_IO = P1^1; //IO端
sbit DS18B20 = P1^3; //温度传感器接口

bit keyboard,flash,STA=1;
uchar choose,a;
uchar collect_time[3]=;//定义变量秒分时
uchar collect_temperature[2] = ;
uchar num[10] = ;
//七段数码管显示的段码
uchar display[8] = ;

void delay(uint i)
{
uint k;
while(i--)
{
for(k=0;k<120;k++)
}
}

void Dat_Int(void)//数据初始化
{
P0=0xff;
P1=0xff;
P2=0xff;
choose=0;
flash=1;
}

void Time01_Int(void)
{
TMOD = 0x12; //定时器0为8位自动重载定时采样,定时器1为16位超时检测处理
TCON = 0x00;
TH0 = 0x60;
TL0 = 0x60;
TR0 = 1;

IE = 0x0a; //允许定时器0、1中断
IP = 0x00;
}

/********************************************************
* *
* DS18B20温度传感器程序段 *
* *
********************************************************/
/***********11微秒延时函数**********/
//
void delayus(uint t)
{
for(;t>0;t--);
}

/***********18B20复位函数**********/
void ow_reset(void)
{
char presence=1;
while(presence)
{
while(presence)
{
DS18B20 = 1;_nop_();_nop_();
DS18B20 = 0;
delayus(50); // 550us
DS18B20 = 1;
delayus(6); // 66us
presence=DS18B20; // presence=0继续下一步
}
delayus(45); //延时500us
presence = ~DS18B20;
}
DS18B20 = 1;
}

/**********18B20写命令函数*********/
//向 1-WIRE 总线上写一个字节
void write_byte(uchar val)
{
uchar i;
for (i=8; i>0; i--) //
{
DS18B20 = 1;_nop_();_nop_();
DS18B20 = 0;_nop_();_nop_();_nop_();_nop_();_nop_();//5us
DS18B20 = val&0x01; //最低位移出
delayus(6); //66us
val=val/2; //右移一位
}
DS18B20 = 1;
delayus(1);
}
//
/*********18B20读1个字节函数********/
//从总线上读取一个字节
uchar read_byte(void)
{
uchar i;
uchar value = 0;
for (i=8;i>0;i--)
{
DS18B20 = 1;_nop_();_nop_();
value>>=1;
DS18B20 = 0; //
_nop_();_nop_();_nop_();_nop_(); //4us
DS18B20 = 1;_nop_();_nop_();_nop_();_nop_(); //4us
if(DS18B20)value|=0x80;
delayus(6); //66us
}
DS18B20 = 1;
return(value);
}
//
/***********读出温度函数**********/
//
void Ds18b20_ReadEE(void)
{
ow_reset();
write_byte(SkipROM); // Skip ROM
write_byte(Convert); // 发转换命令
ow_reset(); //总线复位
write_byte(SkipROM); // 发Skip ROM命令
write_byte(ReadScr); // 发读命令
collect_temperature[0]=read_byte(); //温度低8位
collect_temperature[1]=read_byte(); //温度高8位
}

/********************************************************
* *
* DS1302时钟芯片程序段 *
* *
********************************************************/
void DS1302_InputByte(uchar byte) //往DS1302写入1Byte数据
{
uchar i;
uchar temp;
temp = byte;
for(i=8; i>0; i--)
{
DS_IO = temp&0x01;
S_CLK;
C_CLK;
temp = temp >> 1;
}
}

uchar DS1302_OutputByte(void) //从DS1302读取1Byte数据
{
uchar i;
uchar temp=0;

for(i=0; i<8;i++)
{
C_CLK;
if(DS_IO!=0) temp|=(1<<i);
S_CLK;
}
return(temp);
}

void RW_DS1302(uchar reg, uchar byte)//向DS1302寄存器写数据
{
C_RST;
C_CLK;
S_RST;
DS1302_InputByte(reg);
DS1302_InputByte(byte);
S_CLK;
C_RST;
}

uchar Read_DS1302(uchar reg)//从DS1302寄存器读数据
{
uchar byte;
C_RST;
C_CLK;
S_RST;
DS1302_InputByte(reg);
byte = DS1302_OutputByte();
S_CLK;
C_RST;
return(byte);
}

void GetTime_DS1302(uchar *ucCurtime) //读取DS1302当前时间
{

ucCurtime[0] = Read_DS1302(0x81);//格式为: 秒 分 时
ucCurtime[1] = Read_DS1302(0x83);
ucCurtime[2] = Read_DS1302(0x85);
}

void Set_Time(uchar *receive) //写时间
{
Write_Enable; //控制命令,允许写操作

RW_DS1302(0x80,receive[0]);
RW_DS1302(0x82,receive[1]);
RW_DS1302(0x84,receive[2]);

Write_Disable; // 控制命令,写保护
}

/********************************************************
* *
* 数码管显示程序段 *
* *
********************************************************/
void deal(void)//送显前的数据处理
{uint timer2;
uint lstemp;
timer2++;

if(STA)

if(flash)//用于闪动效果的控制的
{
display[0] = num[sg];
display[1] = num[sd];
display[2] = num[fg];
display[3] = num[fd];
display[4] = num[mg];
display[5] = num[md];
}
else
{switch(choose)
{
case 1:display[0]=0;break;
case 2:display[1]=0;break;
case 3:display[2]=0;break;
case 4:display[3]=0;break;
case 5:display[4]=0;break;
case 6:display[5]=0;break;
}
}
if(timer2==3000)//间断性获取温度
{
timer2=0;
if(STA)
{TR0=0;
Ds18b20_ReadEE();
TR0=1;
}
}
if(collect_temperature[1]>127)
{
collect_temperature[0]=255-collect_temperature[0];
collect_temperature[1]=255-collect_temperature[1];
}
lstemp=((collect_temperature[0])>>4)|((collect_temperature[1])<<4);

display[6] = num[(uchar)((lstemp)/10)];
display[7] = num[(uchar)((lstemp)%10)];

}

/********************************************************
* *
* 按键控制程序段 *
* *
********************************************************/

void Scan(void)
{

if(SET==0&&keyboard==1) //检测设置键有无按下,并进行相应操作
{
if(SET==0&&keyboard==1)
{ RdefineT1; //超时检测初始化
choose++;

while(SET==0);
if(choose==7)
{TR0=0;
Set_Time(collect_time);
TR0=1;
STA=1; //设置完毕,重新开始采集时间
choose=0;
}
}
}

if(choose) //只有在时间调整时,加减按键才有作用
{
if(ADD==0&&keyboard==1) //检测加调整键有无按下,并进行相应操作
{
if(ADD==0&&keyboard==1)
{ RdefineT1; //超时检测初始化a=0
TR0=0;
switch (choose)
{
case 1 :if(sg==2)
collect_time[2] = collect_time[2]&0x0f;
else
break;
case 2 :if((sg<2)&&(sd==9))
collect_time[2] &= 0x30;
if((sg>=2)&&(sd==3))
collect_time[2] &= 0x30;
else
break;
case 3: if(fg==5)
collect_time[1] &= 0x0f;
else
break;
case 4: if(fd==9)
collect_time[1] &= 0xf0;
else
break;
case 5: if(mg==5)
collect_time[0] &= 0x0f;
else
break;
case 6: if(md==9)
collect_time[0] &= 0xf0;
else
break;
}
TR0=1;
while(ADD==0);
}
}

if(DEC==0&&keyboard==1) //检测减调整键有无按下,并进行相应操作
{
if(DEC==0&&keyboard==1)
{ RdefineT1; //超时检测初始化

TR0=0;
switch (choose)
{
case 1 :if(sg==0)
collect_time[2]=0x20;
else collect_time[2]-=16;
break;
case 2 :if(sg<2&&sd==0)
collect_time[2] |= 0x09;
if(sg==2&&sd==0)
collect_time[2] |= 0x03;
else collect_time[2]-=1;
break;
case 3 :if(fg==0)
collect_time[1] |= 0x50;
else collect_time[1]-=16;
break;
case 4 :if(fd==0)
collect_time[1] |= 0x09;
else collect_time[1]-=1;
break;
case 5 :if(mg==0)
collect_time[0] |= 0x50;
else collect_time[0]-=16;
break;
case 6 :if(md==0)
collect_time[0] |= 0x09;
else collect_time[0]-=1;
break;
}
TR0=1;
while(DEC==0);
}
}
}

if(choose!=0) //在设置模式下停止采集时间
else
}

/********************************************************
* *
* AT89S51主程序段 *
* *
********************************************************/
void main(void)
{
Time01_Int();
Dat_Int();

EA = 1; //开中断

ow_reset(); // 开机先转换一次
write_byte(0xCC); // Skip ROM
write_byte(0x44); // 发转换命令
delay(100);

Set_Time(collect_time);
delay(10);

while(1)
{
Scan();
deal();
}//while循环的结束
}//main函数的结束

void Time0_seve() interrupt 1 //定时器0中断服务程序
{
uint timer;
uchar i,ktemp;
if((P1&0x70)<0x70) //防抖控制用
keyboard=1;
else keyboard=0;

timer++;
if(timer==800)//控制数码管的闪动效果
{
if(choose !=0)
flash=~flash;
else flash = 1;
timer=0;
}

TR0=0;
ktemp=P0;
if(P0==0xfe)i=1;
else if(P0==0xfd)i=2;
else if(P0==0xfb)i=3;
else if(P0==0xf7)i=4;
else if(P0==0xef)i=5;
else if(P0==0xdf)i=6;
else if(P0==0xbf)i=7;
else if(P0==0x7f)i=0;
else i=1;

ktemp=ktemp*2+1;
if(ktemp==0xff)ktemp=0xfe;
P0=ktemp;
P2=display[i];
TR0=1;
}

void Time1_seve() interrupt 3 //定时器1中断服务程序
{
TR1=0;TH1=0;TL1=0;
a++;
if(a>4*ReDetectTime)
{
choose=0;
a=0;
Set_Time(collect_time);
STA=1; //超过按键等待时间,自动写入并开始采集时间
}
}
另外,站长团上有产品团购,便宜有保证

③ key和value 分别指的是什么

key和value的本意是钥匙和值的意思,在计算机应用中通常被用作键值对,例如在map、json中等。

在键值对中,key是关键字,value是值,例如:

{"firstName":"Brett","lastName":"McLaughlin"}

在这个json中,firstName和lastName是key,分别对应的value是Brett和McLaughlin。

(3)程序流程图中的key代表什么扩展阅读

由于key-value的键值对特性,被广泛应用键值对数据库中,如redis、memchaced,查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询,但不能进行复杂的条件查询,另外key-value型内存数据库还具有以下特性:

1、亚毫秒级延时。

2、语法简单,易用性强。

3、支持集群方式水平扩展。

4、支持哈希、列表、集合、有序集合等复杂的数据结构。有更多的应用场景

④ 51单片机中if(!Key0 || !Key1 || !Key3 )该怎么理解呢其中key0,key1,key3是代表的按键,

if是括号内运算值不等于0就往下执行
!Key正好代表的是当前IO状态取反也就是为1就变成0,为0就变成1。
一般按键设计的都是按下去为0弹起来会1
在按键没按下的情况下通过"!"(逻辑非)1变成0,3个为0所以条件不成立。
只要Key0,Key1,Key3任何一个为0通过"!"取反变成1,再通过"||"运算(逻辑或运算,有1出1全0出0),都能被判定为1。
即if成立执行if下大括号内容。

⑤ key键在键盘上的什么位置有什么作用

key: 键盘右侧,alt从左数过来的第二个,ctrl从右数过来的第一个,也就是windows徽标的右边,就他了,就是application键,它的作用相当于鼠标右键,用来激活Windows或程序中的菜单,即我们可以通过按下它来打开某一项目的快捷方式菜单。
希望我的回答能帮助你解决问题。

⑥ 构成程序流程图的基本符号有那些,代表的含义是什么

您所说的流程图中的具体各种符号代表着什么含义,我也不清楚,也从来的没有听说有关这方面的具体规范,但是我想试图让您理解的是,不管什么符号,都需要给它定义,定义行为是由制定人予以完成的,要完成这项工作不应该先定义符号代表什么,而应该在做到组织结构或者作业流程心中有数后进行归类,根据归类采用不同的符号加以区分。
另外,我所见过的很多有效组织结构图都是一种符号到底的,他们采取的是多重互联回形目录树的形式,也很有效阿。这也佐证我的观点。
为了让您的新构架流程图不至于让他人难于理解,建议最好不要因采取过多的符号加以分类而造成实施人难以理解。另外,还建议您在采取分类后将在流程图的下方添加注解。
其实,没有哪个企业会因一图而兴,关键靠的是实施和控制(重点包括环节控制)。图再好,别人看不懂又有什么用呢?没有实施过程的监控与指导又会起多大效力呢?

⑦ java中map<key,value>是什么意思

java中map<key,value>是泛型的典型样式。
key和value代表键和值,你可以想象成两个值一一对应,可以根据key查找到value的值。你可以把省作为key,省会作为value,根据省可以查到省会。或者把整数作为key,任何对象作为value,就和数组一样根据整数能找到对应的对象。

Map<String,int> 就表示这个 map 的key 是String 类型 value 是 int 类,就是 强制设计期就限定map 里面元素的类型.
JDK 5.0 中增加的泛型类型,是 Java 语言中类型安全的一次重要改进。

泛型编程(Generic Programming)最初提出时的动机很简单直接:发明一种语言机制,能够帮助实现一个通用的标准容器库。所谓通用的标准容器库,就是要能够做到,比如用一个List类存放所有可能类型的对象,这样的事情;
更多内容请参考《java泛型详解_网络》

⑧ C语言中是什么意思,Key

key 英[ki:] 美[ki]
n. 钥匙; (打字机等的) 键; 关键,线索,秘诀; (音乐的) 调;
vt. 键入; 锁上; 调节…的音调; 提供线索;
vi. 使用钥匙;
[例句]They put the key in the door and entered
他们用钥匙打开门进去了。
[其他] 第三人称单数:keys 复数:keys 现在分词:keying 过去式:keyed过去分词:keyed

⑨ 单片机c源码中uchar temp,key其中的key是什么意思

根据电路的排布,temp和key分别代表行和列,行、列都确定后,就可以定位是那个按键响应了~

按键按下后,都会进入key4x4()的函数,先用temp来区分出是哪一行(列),再用key来区分具体为那一列(行),从而确定动作按键的具体位置;

⑩ 数据结构中,(R[j].key<R[k].key),R[j].key和R[k].key是什么意思,key是什么意思

在这里,R是一个保存“结点元素”的数组,每个结点元素包含要处理的相关数据,其中有一个被称为“关键字”,也就是所谓的“key”。举例说,在记录卡拉OK比赛选手的记录中,每个记录有选手的报名号,姓名,性别,身份证号,联系电话,住址,各评委给分,综合得分,等等。当我们要确定获奖等级时,可选“综合得分”为关键字依次选择;当我们要确定上场顺序时,可选择“报名号”为关键字进行随机抽取。
至于j和k,它们是我们在程序处理时用来指定从数组中选取哪个元素用的。R[j].key是指从数组中第j个元素的关键字的值。R[k].key也是类似的意思。

阅读全文

与程序流程图中的key代表什么相关的资料

热点内容
如何辨别视力验光技术好坏 浏览:663
啤酒代理商怎么锁定 浏览:650
去证券交易所开户需要哪些证件 浏览:259
滴滴顺风车如何回复车主信息 浏览:748
如何通过代理访问服务器 浏览:570
基金季报哪些信息必须看 浏览:645
晾衣架怎么代理收费情况 浏览:788
子程序怎么用 浏览:118
拒绝接收信息什么意思 浏览:350
数据平台阿法狗怎么样 浏览:831
做产品运营最重要的技能是什么 浏览:437
小米薏米产品怎么样 浏览:973
未来超市的管理信息系统有哪些 浏览:84
银行卡办理一直没信息怎么办 浏览:753
int是什么意思技术 浏览:535
保险公司为什么现在都搞代理制 浏览:8
在南昌学个什么技术好 浏览:351
副屏幕的程序怎么删除 浏览:171
校园代理什么工作好 浏览:876
东营哪里可以交易钱币 浏览:623