当前位置: 首页 > wzjs >正文

好看的个人网站模板整站seo教程

好看的个人网站模板,整站seo教程,免费模板网站都有什么用,购买域名做销售网站可以吗目录 #与或运算(进阶)# 一.LED状态控制 state1: state2: state3: LED灯代码升级 二.蜂鸣器与继电器代码升级 三.数码管代码升级 四.快速取数法 五&…

目录

#与或运算(进阶)#

一.LED状态控制

state1:

state2:

state3:

LED灯代码升级

二.蜂鸣器与继电器代码升级

三.数码管代码升级

四.快速取数法

五.数码管自适应长度

方法一:

方法二: 从最高位一次取判断是否为0,为0熄灭

六.参数的边界值调节

环形:

直线型:

七:代码简化——提高可读性

①三目运算符(一般用于赋值)

②自加优化,取余操作(只限于取0)

③自加自减优化


#与或运算(进阶)#

与:& 1&1=1 1&0=0 0&0=0

或:| 1|1=1 1|0=1 0|0=0

任何数字和1与不变,和0与都变零

任何数字和0或不变,和1或都变1

应用一:

将某个二进制数第一位置1,其余不变

或运算符: x=x|0X01(0000 0001)

将某个二进制数第二位置1,其余不变

或运算符: x=x|0X02(0000 0010)

将某个二进制数第三位置1,其余不变

或运算符: x=x|0X04(0000 0100)

将某个二进制数第四位置1,其余不变

或运算符: x=x|0X08(0000 1000)

……

应用二:

将某个二进制数第一位置0,其余不变

用与运算符: x=x&0Xfe(1111 1110)

       x=x&(0x01)

将某个二进制数第二位置0,其余不变

用与运算符: x=x&(~0X02)

将某个二进制数第三位置0,其余不变

用与运算符: x=x&(~0X04)

……

注意:其中0x01 0x02 0x04 0x08都可以用十进制表示更简法

       1    2    4    8

一.LED状态控制

亮 :置0 &0变0(其余都为1,&1不变) 不变:置1 |1变1(其余都为0,|0不变)

P0初始状态 : 1111 1111

注意:LED低电平点亮

state1:

1  L1亮     

0  L1灭

if(state1==1)
{P0=P0&(~0x01);
}
else
{P0=P0|0x01;
}

state2:

1 L2 100ms闪烁

0 L2灭

if(state2==1)
{if(100ms%2);{P0=P0&(~0x02)
}else{P0=P0|0x02;
}
}
else
{P0=P0|0x02;
}

state3:

0 L3 L4 L5灭

1 L3亮 L4 L5灭

2 L4亮 L3 L5灭

3 L5亮 L3 L4灭

if(state3==0)
{P0=P0|0x1c;
}
if(state3==1)
{P0=P0&(~0x04);
}
else
{P0=P0|0x04;
}
if(state3==2)
{P0=P0&(~0x08);
}
else
{P0=P0|0x08;
}
if(state==3)
{P0=P0&(~0x10)
}
else 
{P0=P0|0x10;
}

关键:每一个状态值控制一个LED,不影响其余LED灯,不满足条件一定要让对应LED灭

手动修改地址,进行运行

LED灯代码升级

void led(uchar *LED,uchar pos)
{static uchar temp=0xff;if(LED[pos]){temp &=~(0x01<<pos);}else{temp |=0x01<<pos;}P0=temp;hc573(4);
}

 ①不需要返回值,LED值都已储存在数组中

②控制某一个灯亮,用&(&1不变,所以要取反)

0000 0001 可以向左移位,控制灯的灭

如果控制某个灯亮,就是低电平,取反控制位选 

二.蜂鸣器与继电器代码升级

//0100 0000
void beep(uchar f)
{uchar temp;if(f){temp |=0x40;}else{temp &=~0x40;}P0=temp;hc573(5);
}
//0001 0000
void realy(uchar j)
{uchar temp;if(j){temp |=0x10;}else{temp &=~0x10;}P0=temp;hc573(5);
}

三.数码管代码升级

code uchar segment[]={0xC0 ,0xF9 ,0xA4 ,0xB0 ,0x99 ,0x92 ,0x82 ,0xF8 ,0x80 ,0x90 ,0xff,0xbf};
void smg(uchar *SMG,uchar pos,uchar *dot)
{P0=0xff;hc573(7);P0=0x01<<pos;hc573(6);if(dot[pos]){P0=segment[SMG[pos]]&0x7f;}else{P0=segment[SMG[pos]];}hc573(7);
}

四.快速取数法

先取余数,将这一为放在最前面,再做除法

若数字23456

个位:2345%10=6

十位:23456%100/10=5

百位:23456/100%10=4

千位:23456/1000%10=3

万位:3456/10000=2

五.数码管自适应长度

非有效数字熄灭

eg.num=00100,数码管显示100

关键:有效数字前面的0熄灭,有效数字的后面的0不熄灭

方法一:

if num<9999 万位熄灭

if num<999  千位熄灭

if num<99   百位熄灭

if num<9    十位熄灭

方法二: 从最高位一次取判断是否为0,为0熄灭

只要有一位不为0就跳出来

只判断万~十位,个位不管

 

六.参数的边界值调节

题目:通过按键加减,调节参数大小,注意边界值

环形:

时间: 秒0~59 分0~59 时0~23

按键+:分,秒

time=time+1;

if(time==60) time=0; 

或者

time=(time+1)%60;

小时

time=time+1;

if(time==24) time=0;

或者

time=(time+1)%24

按键减: 分,秒

time=time-1;

if(time==0) time=59

小时

time=time-1;

if(time==0) time=23


注意:uchar(0~255)和 uint(0~65535) 是环形类型

num=0 num=num-1,uchar的为255 uint的为65535

直线型:

参数:0~99

按键加:

num=num+1;

if(num==100) num=99;

按键减:

num=num-1;

if(num==255) num==0

或者

if(num!=0) num--;


七:代码简化——提高可读性

①三目运算符(一般用于赋值)

a?b:c(前真后假)

②自加优化,取余操作(只限于取0)

count++;

if(count==20) count=0;

转换为:

count=(count+1)%20

③自加自减优化

count++;

if(count==20) count=0;flag=1-flag

转换成:

if(++count==20) count=0 flag=1-flag

http://www.dtcms.com/wzjs/828735.html

相关文章:

  • 政工网站建设方案旅游网站网页设计方案
  • 成都怎么成立网站唐山网站建设费用
  • 宿迁建设局网站拆除备案建设企业网站作用
  • 工业设计网站知乎wordpress v2ex
  • 免费建立网站好用的软件网站之间的区别
  • 网站后台界面设计专业制作广告
  • 岷县城乡建设局网站镜像网站是怎么做的
  • 深圳本地网站建设北海手机网站制作
  • 国产化网站建设旅游网站论文
  • 网站开发评分标准18款禁用软件黄a免费
  • 农林科技公司网站模板做模具做什么网站
  • 做亚马逊学英语有什么网站吗比价网站模板
  • 创建网站选哪家好中小企业网站建设好么
  • 饮料公司网站模板Wordpress可以访问么
  • 如何取消危险网站提示网站开发有那些费用
  • 上海专业网站建设公司站霸网络门户网站建设需要注意什么
  • 如何进入公司网站的后台企业oa系统搭建
  • 毕业设计和论文网站网站构建建设制作平台
  • 查询做导员的网站自己的商品链接怎么弄
  • 网站建设 调研报告竞价托管推广代运营
  • 经营类网站备案wordpress statraq
  • 福州网站建设服务平台品牌商标设计logo
  • 红河县网站建设怎么做淘宝店网站收录
  • 免费网站用官微建站wordpress 固定
  • 网站怎么记录搜索引擎的关键词学电商美工一个月多少钱
  • 如何取得网站的管理权限湖北省黄冈建设信息网站
  • 淘宝做关键词的网站天津网站优
  • 额敏网站建设公司网站 用 个人备案域名
  • 深圳网站建设制作哪家便宜网站建设在哪里接单
  • 毕业设计网站建设体会网站和域名有关系吗