您当前的位置:首页 > 美文摘抄 > 内容

面霜怎么用才正确方法,面霜正确使用方法(单片机学习第四课——行列式键盘)

关于【面霜怎么用才正确方法】,面霜正确使用方法,今天犇犇小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

内容导航:1、单片机学习第四课——行列式键盘2、面霜怎么用才正确方法:面霜正确使用方法

1、单片机学习第四课——行列式键盘

矩阵可以用做按键较多的案例。比如,计算器的编写

独立按键用来实现一些用到按键比较少的案例。

面霜怎么用才正确方法,面霜正确使用方法(单片机学习第四课——行列式键盘)

矩阵键盘

面霜怎么用才正确方法,面霜正确使用方法(单片机学习第四课——行列式键盘)

PCB板

二,键盘的工作原理

键盘中的一个按键开关的两端分别连接在行线和列线上,列线接地,行线通过电阻接到+5v上。当开关的机械触点断开,闭合,其行线的电压输出波形如下图(图二)

面霜怎么用才正确方法,面霜正确使用方法(单片机学习第四课——行列式键盘)

面霜怎么用才正确方法,面霜正确使用方法(单片机学习第四课——行列式键盘)

电压输出波形图

在第二张图中,我们可以看到,t1和t3分别为按键的闭合与断开过程中的抖动时间段,而且呈现一看连串的负脉冲,我们注意到这个抖动时间的长短与开关的机械特性有关,一般在我们按下按键后年,一般为5-10ms的样子。t2为一个稳定的闭合时间段。注意:在设计时,应该考虑到消抖(软件和硬件)

三,按键的识别高电平(低电平有效)

按键是否能够闭合,这与行线的输出电压有关系,其实就是反应在行线的输出电压的高电平还是低电平,单片机通过对行线电平的高低状态的检测,就可以确认按键是否按下与松开,为了确保单片机对一次按键发生的动作只确认一次按键有效,那么必须要消除抖动期的t1与t2的影响。

四,消除按键机械带来的抖动

我们一般都是采用两种方案:

软件消抖

主要的一个思想还是:当检测到有按键按下时,对该键对应的行线为低电平,且执行一段延时函数,大约为10ms的延时,确认该行线电平是否为低电平,如果仍为低电平,那么我们就确认确实有按键按下了。当按键被松开时,行线的低电平变为高电平,执行一短延时10ms的程序后,检测该行线为高电平,说明按键确实已经松开。

2.采用专用的键盘/显示器接口芯片。处理电路中的抖动。

五,键盘扫描瑜工作原理

面霜怎么用才正确方法,面霜正确使用方法(单片机学习第四课——行列式键盘)

pcb原理图

具体原理说明:

面霜怎么用才正确方法,面霜正确使用方法(单片机学习第四课——行列式键盘)

六,行列式键盘实战

1.简单的操作

①、通过仿真电路中的行列式键盘输入任意6个按键,要求识别按键后实现在6位数码管上显示按键编号;

②、数码管显示利用动态扫描方法;

③、在按键检测处理程序中增加软件消抖部分。

2.仿真电路图

如何建立工程与仿真

面霜怎么用才正确方法,面霜正确使用方法(单片机学习第四课——行列式键盘)

面霜怎么用才正确方法,面霜正确使用方法(单片机学习第四课——行列式键盘)

慧净开发板的键盘展示

3.源代码

#include<reg51.h>#include<intrish.h>#define uchar unsigned char#define schar signed charsbit DUAN=P2^6;sbit WEI=P2^7;sbit L1=P1^0;sbit L2=P1^1;sbit L3=P1^2;sbit L4=P1^3;uchar data password[6] ;uchar data led[6]={16,16,16,16,16,16};uchar data ledwei[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};uchar data displaytab[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; uchar n=0; void delay() { uchar x,y; for(x=2;x>0;x--) for(y=250;y>0;y--); } void delay10ms() { uchar x,y; for(x=20;x>0;x--) for(y=250;y>0;y--); } void display() { uchar i; for(i=0;i<6;i++) { P0=displaytab[led[i]]; DUAN=1; DUAN=0; P0=ledwei[i]; WEI=1; WEI=0; delay(); P0=0xff; WEI=1; WEI=0; } } void keyscan() { uchar temp,m; P1=0xef; for(m=0;m<=3;m++) { if(L1==0) { delay10ms(); if(L1==0) { password[n]= m*4+0; n++; while(!L1); delay10ms(); while(!L1); } } if(L2==0) { delay10ms(); if(L2==0) { password[n]=m*4+1; n++; while(!L2); delay10ms(); while(!L2); } } if(L3==0) {delay10ms(); if(L3==0) { password[n]=m*4+2; n++; while(!L3); delay10ms(); while(!L3); } } if(L4==0) {delay10ms(); if(L4==0) { password[n]=m*4+3; n++; while(!L4); delay10ms(); while(!L4); } } temp=P1; temp=temp|0x0f; temp=temp<<1; temp=temp|0x0f; P1=temp; } }void main(){uchar j;while(1){display();keyscan();if(n==6){n=0;for(j=0;j<=5;j++){led[j]=password[j]; } } }}

4.运行程序后,随意按下键盘上的六个键,数码管上会显示相应的数值。

附上计算器的源代码(大家可以试试)

①原理图

面霜怎么用才正确方法,面霜正确使用方法(单片机学习第四课——行列式键盘)

②代码(注释乱码,其他正常)

main程序

#include <reg52.h> #include "key.h"#include "smg.h"#include "timer.h"int main(void){u8 ret = 0;Show_Number(0);while(1){Smg_Dymainc( );Jz_Key_Scan( );}}

按键 key.c

#include "key.h"u8 code KeyCode[16] = { 0x31, 0x32, 0x33, 0x26, 0x34, 0x35, 0x36, 0x25, 0x37, 0x38, 0x39, 0x28, 0x30, 0x1B, 0x0D, 0x27}; void Key_Delay(u16 n){u16 x, y;for(x = 0; x < n; x++){for(y = 0; y < 110; y++);}}u8 buf[5][3];u8 Key_Scan(void){static u8 key_sta = 0;static char i = 0;if((KEY1 == 0 || KEY2 == 0 || KEY3 == 0 || KEY4 == 0) && (key_sta == 0)){Key_Delay(10);if((KEY1 == 0 || KEY2 == 0 || KEY3 == 0 || KEY4 == 0) && (key_sta == 0)){if(KEY1 == 0){key_sta = 1;TR0 = !TR0;}else if(KEY2 == 0){key_sta = 1;buf[i][0] = msec;buf[i][1] = sec;buf[i][2] = min;i++;//1 2 if(i >= 5)i = 0;}else if(KEY3 == 0){key_sta = 1;i--;if(i < 0)i = 0;msec = buf[i][0];sec = buf[i][1];min = buf[i][2];}else if(KEY4 == 0){key_sta = 1;msec = 0;sec = 0;min = 0;}}}else if(KEY1 == 1 && KEY2 == 1 && KEY3 == 1 && KEY4 == 1)//û°´¼ü°´ÏÂ{key_sta = 0;}return 0;}u8 Jz_Key_Scan(void){u8 temp = 0xff; static u8 flag = 0;P1 = 0x0f;if((P1 != 0x0f) && (flag == 0)){Key_Delay(10);if((P1 != 0x0f) && (flag == 0)){flag = 1;switch(P1){case 0x07: temp = 0; break;case 0x0b: temp = 1; break;case 0x0d: temp = 2; break;case 0x0e: temp = 3; break;}P1 = 0xf0;switch(P1){case 0x70: temp += 0; break;case 0xb0: temp += 4; break;case 0xd0: temp += 8; break;case 0xe0: temp += 12; break;}Data_Control(KeyCode[temp]);}}else if(P1 == 0x0f){flag = 0;}return temp;}

数码管显示

#include "smg.h"u8 leddata[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71, 0x40, 0x00};u8 buff[8] = {0};void Smg_Delay(u16 n){u16 x, y;for(x = 0; x < n; x++){for(y = 0; y < 110; y++);}}void Smg_Static(u8 number){P0 = leddata[number];}void Smg_Dymainc(void){u8 i;for(i = 0; i < 8; i++){P0 = 0x00;switch(i){case 0: LA = 0; LB = 0; LC = 0; break;case 1: LA = 1; LB = 0; LC = 0; break;case 2: LA = 0; LB = 1; LC = 0; break;case 3: LA = 1; LB = 1; LC = 0; break;case 4: LA = 0; LB = 0; LC = 1; break;case 5: LA = 1; LB = 0; LC = 1; break;case 6: LA = 0; LB = 1; LC = 1; break;case 7: LA = 1; LB = 1; LC = 1; break;}Smg_Static(buff[i]);Smg_Delay(1);}}void Show_Number(u16 dis)//12{u8 bf[8] = {0};char i = 0;for(i = 0; i < 8; i++){bf[i] = dis % 10;//bf[0] = 2 bf[1] = 1 bf[2] -- bf[7] = 0dis = dis / 10;}for(i = 7; i >= 1; i--)//b[2] - bf[7]{if(bf[i] == 0){buff[i] = 17;}else{break;//1}}for(; i >= 0; i--){buff[i] = bf[i];}}void Data_Control(u8 dat)//12 5{static u16 temp = 0;static u16 result = 0;static bit add_flag = 0; //¼Ó·¨±ê־λstatic bit sub_flag = 0; //¼õ·¨±ê־λstatic bit mul_flag = 0; //³Ë·¨±ê־λstatic bit div_flag = 0; //³ý·¨±ê־λif(dat >= 0x30 && dat <= 0x39)//°´¼ü°´ÏµÄÊÇÊý×Ö{temp = temp * 10 + dat - '0'; //12Show_Number(temp);//ÏÔʾÊý×Ö}else if(dat == 0x26) // +ºÅ{result += temp;temp = 0;add_flag = 1;Show_Number(result);//ÏÔʾÊý×Ö}else if(dat == 0x25) // -ºÅ{if(result == 0 && temp != 0){result = temp;}else{result -= temp;}sub_flag = 1;temp = 0;Show_Number(result);//ÏÔʾÊý×Ö}else if(dat == 0x28) // *ºÅ{if(result == 0 && temp != 0){result = temp;}else if(result != 0 && temp == 0){result = result;}else{result *= temp;}mul_flag = 1;temp = 0;Show_Number(result);//ÏÔʾÊý×Ö}else if(dat == 0x27) // /ºÅ{if(result == 0 && temp != 0){result = temp;}else if(result != 0 && temp == 0){result = result;}else{result /= temp;}div_flag = 1;temp = 0;Show_Number(result);//ÏÔʾÊý×Ö}else if(dat == 0x0D) // =ºÅ{if(add_flag == 1)//ÇóºÍ{add_flag = 0;result += temp;}else if(sub_flag == 1)//Çó²î{sub_flag = 0;result -= temp;}else if(mul_flag == 1)//Çó»ý{mul_flag = 0;result *= temp;}else if(div_flag == 1)//ÇóÉÌ{div_flag = 0;result /= temp;}temp = 0;Show_Number(result);//ÏÔʾÊý×Ö}else if(dat == 0x1b) // ÇåÁã{result = 0;temp = 0;Show_Number(result);//ÏÔʾÊý×Ö}}

timer.c

#include "timer.h"//º¯Êý¹¦ÄÜ£º¶¨Ê±Æ÷³õʼ»¯//º¯ÊýÐβΣºÎÞ//·µ»ØÖµ£ºÎÞvoid Timer_Init(void){TMOD &= 0xf0;// XXXX XXXX // 1111 0000// XXXX 0000TMOD |= 0x01;// XXXX 0000// 0000 0001// XXXX 0001TH0 = (65536 - 1000) / 256;TL0 = (65536 - 1000) % 256;ET0 = 1;EA = 1;}u8 msec;u8 min;u8 sec;void Timer_interrupt(void) interrupt 1 //1ms{static u16 cnt = 0;TH0 = (65536 - 1000) / 256;TL0 = (65536 - 1000) % 256;cnt++;if(cnt >= 10){cnt = 0;msec++;if(msec >= 100){msec = 0;sec++;if(sec >= 60){sec = 0;min++;if(min >= 60)min = 0;}}}

2、面霜怎么用才正确方法:面霜正确使用方法

面霜正确使用方法

第一点:使用顺序

我们给自己使用面霜的顺序。不管是我们使用什么护肤产品,顺序都是非常重要的,如果顺序没有使用正确的话,就是会让护肤品的效果没有那么好的,所以这是我们在给自己使用这一些产品时顺序是需要格外注意的。那么我们给自己使用面霜的正确顺序,应该是在我们使用了爽肤水和水乳套装、精华液之后,这个时候给我们脸部使用面霜才是正确的顺序,所以大家一定要多多注意一下。

第二点:涂抹手法

下面给大家介绍的这一个使用面霜的方法,就是我们给脸部涂抹面霜时的手法,比如我们给自己使用这一些面霜的时候,先要把手部清洁干净,这样是为了保证我们使用是的卫生和脸部的健康。取用面霜之后,我们先把面霜点涂在我们的脸部两颊,还有额头、鼻尖、下巴的位置,这样点涂好之后,我们就可以用手给面霜推开了,这样我们给自己脸部肌肤均匀的推开,然后把我们脸部肌肤保养得更加全面,不会再有什么遗漏的地方。我们在给自己均匀的涂满整个脸之后,就可以给我们用手掌去轻轻的拍打一下我们的脸部肌肤,这样就可以让我们的肌肤更好的吸收,并且变得更有弹性,所以这是我们在给自己使用这一些护肤品的一个小诀窍。不过我们给自己涂好面霜之后,还可以给自己把双手搓热之后,捂在我们脸上,这样用手掌微微的余热来给脸部温暖一下,这样就是可以让我们的肌肤看上去变得更加的有光泽,面霜的效果也会发挥得更好,所以大家可以给自己去试一试。

选择面霜的注意事项

我们在给自己选择这一些面霜的时候,要注意我们的肌肤是否会适合这一款面霜,选择面霜的时候一定要考虑到自己的肤质,如果肤质是比较干燥的,那么我们选择的面霜就可以是滋润型的,然后使用之后可以对我们脸部肌肤起到很好的补水保湿的效果。但是如果肌肤是油性肌肤的话,使用的面霜就要清爽一些,不能太过滋润,不然会让我们的肌肤变得更加油腻,这样就会给我们脸部带来不少的负担,所以大家一定要多多注意一下选择到适合自己的面霜,这样才能把我们的肌肤保养得更加健康。

面霜正确使用方法

注意用量

还是用的时候,我们一定要选择一个适合的用量,没有什么不是多么的运动,对皮肤来保护下不就你好,其实当我们面说的不读了,他反而会对我们的皮肤造成一个非常大的伤害,加重负担,所以平时我们在学校需要一个适合自己的用量,在脸上涂抹均匀就可以了。

根据自己的肤质选择

一般来说我们选择面霜的时候要选择一个适合自己皮肤肤质特别少,比如说油性皮肤在女生来说在使用别装了手机还是用一个清爽控油的面霜,对于干性皮肤的女人来说,选择一个滋润的保湿面霜,这样的话现在能够帮助我们的皮肤拥有一个更加好的效果。如果没有感觉的话就会加重皮肤负担,最终导致皮肤出现一个其他的问题!

不同位置分区域涂抹

一般来说在我们读博的.时候一定要根据自己皮肤的做一个针对性的护理,这样的话才能够让面霜的用处发挥到一个最大的作用。

使用的时候每天一个比较好的保持效果,这样的话才能对皮肤就变得更好的效果,要比服务能够更快更多的写上面上里面的一些营养元素,刚才小铺打到一个最大的效果。在涂抹面霜的时候,如果面霜质地比较厚,那么我们可以先用双手加热,然后再在脸上进行一个星期的按摩和涂抹,这样的话就可以出促进面霜对皮肤有一个更好的吸收。眼霜一定要按摩,这样我才能够促进皮肤的吸收,而且他的手都比较好,如果没有办法完全吸收的温度留在皮肤表面就会给皮肤带来一个非常严重的负担,让女的更加的油腻,而且开始出现一个痘痘或者是粉刺的情况!

1.面霜的正确适用顺序

并不是随时随地都可以使用,我选择一个适合自己的面霜,然后先做好一个比较好的清洁效果,然后再使用谁说对自己的脸部多一个第二次清洁和保湿之后,再用面霜在脸上轻轻的涂抹上皮肤,然后用手轻轻地在脸上进行拍打,让他有一个更好的吸收改善。

2.如何涂抹保湿面霜

一般来说我们可以显示用收敛水来收缩毛孔,生活在下面上学呢,不过在脸上这样的话就能够让编程对不起,因为更好的吸收,而且一定要针对性地涂抹,这样的话才能够对整个脸部进行一个更好的护理。而且在突破完之后一定要有数不清现在在脸上挺白的人,还做的个夫妻皮肤对你不敢吸收,达到一个最好的保湿效果,改善皮肤的问题和肤色,达到一个抗老化的作用。

面霜正确使用方法

第一点:使用顺序

我们给自己使用面霜的顺序。不管是我们使用什么护肤产品,顺序都是非常重要的,如果顺序没有使用正确的话,就是会让护肤品的效果没有那么好的,所以这是我们在给自己使用这一些产品时顺序是需要格外注意的。那么我们给自己使用面霜的正确顺序,应该是在我们使用了爽肤水和水乳套装、精华液之后,这个时候给我们脸部使用面霜才是正确的顺序,所以大家一定要多多注意一下。

第二点:涂抹手法

下面给大家介绍的这一个使用面霜的方法,就是我们给脸部涂抹面霜时的手法,比如我们给自己使用这一些面霜的时候,先要把手部清洁干净,这样是为了保证我们使用是的卫生和脸部的健康。取用面霜之后,我们先把面霜点涂在我们的脸部两颊,还有额头、鼻尖、下巴的位置,这样点涂好之后,我们就可以用手给面霜推开了,这样我们给自己脸部肌肤均匀的推开,然后把我们脸部肌肤保养得更加全面,不会再有什么遗漏的地方。我们在给自己均匀的涂满整个脸之后,就可以给我们用手掌去轻轻的拍打一下我们的脸部肌肤,这样就可以让我们的肌肤更好的吸收,并且变得更有弹性,所以这是我们在给自己使用这一些护肤品的一个小诀窍。不过我们给自己涂好面霜之后,还可以给自己把双手搓热之后,捂在我们脸上,这样用手掌微微的余热来给脸部温暖一下,这样就是可以让我们的肌肤看上去变得更加的有光泽,面霜的效果也会发挥得更好,所以大家可以给自己去试一试。

选择面霜的注意事项

我们在给自己选择这一些面霜的时候,要注意我们的肌肤是否会适合这一款面霜,选择面霜的时候一定要考虑到自己的肤质,如果肤质是比较干燥的,那么我们选择的面霜就可以是滋润型的,然后使用之后可以对我们脸部肌肤起到很好的补水保湿的效果。但是如果肌肤是油性肌肤的话,使用的面霜就要清爽一些,不能太过滋润,不然会让我们的肌肤变得更加油腻,这样就会给我们脸部带来不少的负担,所以大家一定要多多注意一下选择到适合自己的面霜,这样才能把我们的肌肤保养得更加健康。

本文关键词:面霜正确使用方法图片,理肤泉b5面霜正确使用方法,面霜的正确使用方法,面霜如何使用方法,面霜的正确使用方式。这就是关于《面霜怎么用才正确方法,面霜正确使用方法(单片机学习第四课——行列式键盘)》的所有内容,希望对您能有所帮助!


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 冬季长裙配什么上衣好看,冬季长裙配什么上衣好看女生(冬季才是“长裙”的主场)

下一篇: 怎么安慰失去亲人的人,朋友圈怎么安慰失去亲人的人(女人身体14个部位决定健康)



推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号