高级怼人的歇后语,高级怼人的歇后语芝麻地里撒黄豆(单片机学习第四课——行列式键盘)
关于【高级怼人的歇后语】,高级怼人的歇后语芝麻地里撒黄豆,今天犇涌小编给您分享一下,如果对您有所帮助别忘了关注本站哦。
- 内容导航:
- 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、秋后的蚂蚱——蹦达不了几天。
3、炊事员行军――替人背黑锅。
4、苍蝇采蜜——装疯(蜂)。
5、五更天唱歌——高兴得太早了。
6、床单作尿布――够大方!
7、飞机上讲评书——空话连篇。
8、爆竹店里起火——自己庆贺自己。
9、空手进门——狗都不闻。
10、蚊子打哈欠——好大的口气。
11、冬瓜皮做甑子——不争(蒸)气。
12、石头放在鸡蛋里——混蛋。
13、木偶流眼泪——假仁假义。
14、卸载吧,去玩4399。
15、擀面杖吹火——一窍不通。
16、司马昭之心——路人皆知。
17、孔夫子的砚台——心太黑。
18、铁匠铺里的料——挨打的货。
19、找麻子出主意——点子多。
20、光着腚捉贼——胆大不害臊。
21、没砣的秤——到哪里都要翘尾巴。
22、和尚不吃豆腐——怪哉(斋)。
23、见骆驼说马肿——少见多怪。
24、八百年前立的旗杆――老光棍!
25、滚油锅里撒把盐——炸开了。
26、蝙蝠身上插鸡毛——你算什么鸟。
27、蚂蚁啃骨头——慢慢来。
28、空棺材出葬——目(墓)中无人。
29、医生卖棺材——死活都要钱。
30、骑驴看唱本——走着瞧。
31、门缝里看人——把人看扁了。
32、霸王敬酒——不干也得干。
33、大火烧竹林――一片光棍!
34、床单作尿布--够大方!
35、寺里的木鱼——任人敲打。
36、马路上的电线杆——靠边站。
37、回家吧,别被小兵打死了。
38、鲁智深出家——无牵无挂。
39、你信佛吗?为什么不杀人?
40、你是搞养殖的吗?对面被你养的这么肥?
41、裁缝不带尺——居心不良(量)。
42、山崖上滚鸡蛋——没有一个好的。
43、上坟烧报纸——唬弄鬼。
44、又做巫婆又做鬼——两头出面装好人。
45、你真的不是菜鸟驿站的人吗?
46、茅房子里打灯笼——找死(照屎)。
47、丢了西瓜拣芝麻——因小失大。
48、苍蝇寻狗屎——臭味相投。
49、阎王爷讲故事——鬼话连篇。
50、棺材里伸手——死也要钱。
51、抱着菩萨亲嘴——一头热乎。
52、我往手机上撒把米,鸡的走位都比你好。
53、喝风油精长大的——净说风凉话。
54、猪鼻子里插葱——装象。
55、肮脏他娘哭肮脏——肮脏死了。
56、茶壶里煮饺子——有货倒不出。
57、老鼠替猫刮胡子——拼命巴结。
58、一分钱买俩判官——贱鬼。
59、泥菩萨过江——自身难保。
60、有大哥有二弟--你算老几?
61、床单作尿布——够大方!
62、冷水烫鸡——一毛不抜。
63、灯盏油干——火烧心(芯)。
64、芝麻地里撒黄豆——【杂】种。
高级怼人的歇后语芝麻地里撒黄豆
1、七窍通了六窍——一窍不通。
2、秋后的蚂蚱——蹦达不了几天。
3、炊事员行军――替人背黑锅。
4、苍蝇采蜜——装疯(蜂)。
5、五更天唱歌——高兴得太早了。
6、床单作尿布――够大方!
7、飞机上讲评书——空话连篇。
8、爆竹店里起火——自己庆贺自己。
9、空手进门——狗都不闻。
10、蚊子打哈欠——好大的口气。
11、冬瓜皮做甑子——不争(蒸)气。
12、石头放在鸡蛋里——混蛋。
13、木偶流眼泪——假仁假义。
14、卸载吧,去玩4399。
15、擀面杖吹火——一窍不通。
16、司马昭之心——路人皆知。
17、孔夫子的砚台——心太黑。
18、铁匠铺里的料——挨打的货。
19、找麻子出主意——点子多。
20、光着腚捉贼——胆大不害臊。
21、没砣的秤——到哪里都要翘尾巴。
22、和尚不吃豆腐——怪哉(斋)。
23、见骆驼说马肿——少见多怪。
24、八百年前立的旗杆――老光棍!
25、滚油锅里撒把盐——炸开了。
26、蝙蝠身上插鸡毛——你算什么鸟。
27、蚂蚁啃骨头——慢慢来。
28、空棺材出葬——目(墓)中无人。
29、医生卖棺材——死活都要钱。
30、骑驴看唱本——走着瞧。
31、门缝里看人——把人看扁了。
32、霸王敬酒——不干也得干。
33、大火烧竹林――一片光棍!
34、床单作尿布--够大方!
35、寺里的木鱼——任人敲打。
36、马路上的电线杆——靠边站。
37、回家吧,别被小兵打死了。
38、鲁智深出家——无牵无挂。
39、你信佛吗?为什么不杀人?
40、你是搞养殖的吗?对面被你养的这么肥?
41、裁缝不带尺——居心不良(量)。
42、山崖上滚鸡蛋——没有一个好的。
43、上坟烧报纸——唬弄鬼。
44、又做巫婆又做鬼——两头出面装好人。
45、你真的不是菜鸟驿站的人吗?
46、茅房子里打灯笼——找死(照屎)。
47、丢了西瓜拣芝麻——因小失大。
48、苍蝇寻狗屎——臭味相投。
49、阎王爷讲故事——鬼话连篇。
50、棺材里伸手——死也要钱。
51、抱着菩萨亲嘴——一头热乎。
52、我往手机上撒把米,鸡的走位都比你好。
53、喝风油精长大的——净说风凉话。
54、猪鼻子里插葱——装象。
55、肮脏他娘哭肮脏——肮脏死了。
56、茶壶里煮饺子——有货倒不出。
57、老鼠替猫刮胡子——拼命巴结。
58、一分钱买俩判官——贱鬼。
59、泥菩萨过江——自身难保。
60、有大哥有二弟--你算老几?
61、床单作尿布——够大方!
62、冷水烫鸡——一毛不抜。
63、灯盏油干——火烧心(芯)。
64、芝麻地里撒黄豆——【杂】种。
高级怼人的歇后语芝麻地里撒黄豆
1:窈窕淑女前面走,长发飘飘好温柔,猛然一回头~哇塞!好丑!
2:你灿烂的一笑,狼都上吊;你温柔的一叫,鸡飞狗跳;你潇洒的一站,臭味弥漫;你兴奋的出汗,虱子遭难;你不打扮,比鬼难看;你一打扮,鬼都瘫痪!
3:如果今天晚上有颗星星掉下,砸到叻你的头上,请不要担心,这是我托幸福之神送给你的礼物,从此,你就会~过着无忧无虑的幸福生活!因为~~砸傻叻!
4:往日朋友无数,唯你在我内心深处;众里寻你千百度,蓦然回首~你却在那驴棚深处!吃着草靠着树,头上裹着擦脚布。哇塞!谁家的驴这幺酷!
5:话说有一天,你从路边捡到一盏魔灯;你擦叻一擦,出现一个魔鬼;他说:能满足你一个愿望!你说:我想长生不老,想刀枪不入,想学会游泳!结果~咔!你变成一王八……
6:晶莹剔透的蓝天下,微微拂过春天的风,蝴蝶在草丛中翩翩起舞,空气中流淌着泥土的清香,你躺在那里暖暖的晒着肚皮,心里得意的想:啊~下辈子我还做癞蛤蟆!
7:你前看像被车碾过,侧看像被驴啃过,你丫就是人类创造史上最震撼、最失败的!
8:就你这份尊荣,人见叻人厌,鬼见叻鬼嚎;吓死一双是少的,吓死一车是好的;跟你说话一定要顶住压力!浑身正气!才能不被你的'臭态所吓倒!见过懒死的,笨死的,没吃没喝穷死的;唯有你啊~是史无前例能把所有人都丑死的!
9:你简直帅呆了,酷毙叻,傻叻巴唧没治叻!
本文关键词:芝麻地理撒黄豆歇后语,芝麻地里撒黄豆歇后语,对付这句话。这就是关于《高级怼人的歇后语,高级怼人的歇后语芝麻地里撒黄豆(单片机学习第四课——行列式键盘)》的所有内容,希望对您能有所帮助!更多的知识请继续关注《犇涌向乾》百科知识网站:http://www.029ztxx.com!
版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。