完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目的§按下16个矩阵键盘依次在数码管上显示1-16的平方。如按下第一个显示1,第二个显示4...
。。是我练习矩阵键盘的代码。代码编译成功,但是在模拟的时候参数传递出了些问题吧,我也焦头烂额不知道哪里出错。用的是咱西电lab的板子,您能给看看哪里出错吗? #include #define uchar unsigned char #define uint unsigned int ***it wela=P3^5; ***it dula=P3^4; uchar code table[]={ 0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d , 0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c , 0x39 , 0x5e , 0x79 , 0x71 , 0x00 }; uchar bai,shi,ge; void mul(uchar num2); uchar keyscan(); void delay(int z); void Display_init(); void display(uchar num100, num10,num1); void main() { uchar r=0; Display_init(); while(1) { r=keyscan(); mul(r); display(bai,shi,ge); } } void Display_init() { P1=0xf8; wela=1; wela=0; P1=0x7f; dula=1; dula=0; } void mul(uchar num2) { bai=num2/100; shi=num2%100/10; ge=num2%10; } void display(uchar num100, num10,num1) { dula=1; P1=table[num100]; dula=0; P1=0xff; wela=1; P1=0xfe; wela=0; delay(1); dula=1; P1=table[num10]; dula=0; P1=0xff; wela=1; P1=0xfd; wela=0; delay(1); dula=1; P1=table[num1]; dula=0; P1=0xff; wela=1; P1=0xfb; wela=0; delay(1); } void delay(int z) { int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } uchar keyscan() { uchar key_col; uchar key_row; uchar key,num; P2=0xf0;//initial key_col=P2; key_col=P2&0xf0; if(key_col!=0xf0) { delay(10); if(key_col!=0xf0) { key_col=P2; key_col=P2&0xf0; P2=0x0f;//initial key_row=P2; key_row=P2&0x0f; key=key_col|key_row; } while(P2!=0x0f);//move your finger. } switch (key) { case 0xee: num=0;break; case 0xde: num=1;break; case 0xbe: num=4;break; case 0x7e: num=9;break; case 0xed: num=16;break; case 0xdd: num=25;break; case 0xbd: num=36;break; case 0x7d: num=49;break; case 0xeb: num=64;break; case 0xdb: num=81;break; case 0xbb: num=100;break; case 0x7b: num=121;break; case 0xe7: num=144;break; case 0xd7: num=169;break; case 0xb7: num=196;break; case 0x77: num=225;break; case 0x00: num=256;break; } return num; } |
|
相关推荐
5 个讨论
|
|
自己顶起来,写到这么晚真的真的是热爱了。希望你的帮助。
|
|
|
|
|
|
|
|
|
|
|
|
推荐你看“张飞电子工程师速成视频教程”
这份视频教程讲解了电子世界从入门到精通的核心内容。主讲人以自己实际完成的项目为讲解对象,摒弃了传统教学方式-即对书本的一而再、再而三的复读。由易而难地讲解了原理图的设计,每一个元器件的作用及从工程和经验的角度教大家怎么去理解设计中的每一个元器件、教大家怎么去入手一个新项目,怎么去设计和架构原理图,怎么让设计的产品在市场上充满竞争力等。无论多深奥的理论通过讲解一听便懂并运用,同时逻辑严密、环环相扣,收听者会得到很大提升,不再似是而非、一知半解。更重要的是提升了自己独立做项目的能力。 视频教程在优酷网、土豆网上搜索“张飞电子工程师速成视频教程” 视频主讲人张飞老师是模电行业的专家,有着深厚的模电设计经验,需要高清版可以联系其本人。张老师QQ#437521793,邮箱songshanguiren1314@163.com 如需要深入学习,到淘宝购买高级教程,搜店铺“上海飞昌速达电子”或者“张飞电子工程师速成视频教程(第二部和第三部) (所有看过视频的朋友都一致好评) 另外, 中级版 硬件工程师学习视频即将隆重推出,大家敬请期待。 |
|
|
|
|
|
程序一行注释都没有,看起来很麻烦的。不是好习惯
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-9 06:50 , Processed in 0.739226 second(s), Total 64, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号