单片机矩阵1到16平方数码管显示Word文档下载推荐.docx

上传人:b****5 文档编号:17375076 上传时间:2022-12-01 格式:DOCX 页数:8 大小:111.16KB
下载 相关 举报
单片机矩阵1到16平方数码管显示Word文档下载推荐.docx_第1页
第1页 / 共8页
单片机矩阵1到16平方数码管显示Word文档下载推荐.docx_第2页
第2页 / 共8页
单片机矩阵1到16平方数码管显示Word文档下载推荐.docx_第3页
第3页 / 共8页
单片机矩阵1到16平方数码管显示Word文档下载推荐.docx_第4页
第4页 / 共8页
单片机矩阵1到16平方数码管显示Word文档下载推荐.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

单片机矩阵1到16平方数码管显示Word文档下载推荐.docx

《单片机矩阵1到16平方数码管显示Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机矩阵1到16平方数码管显示Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。

单片机矩阵1到16平方数码管显示Word文档下载推荐.docx

//无符号字符整型变量定义

voiddelay(uintz)//延时函数

{

uinti,j;

//局部变量定义I,j

for(i=z;

i>

0;

i--)//for循环先循环外循环再循环内循环

for(j=110;

j>

j--);

}

anjian()//16矩阵按键函数

P1=0xfe;

//先把P1口给fe

butt=P1;

//P1口的fe给变量按键butt

butt=butt&

0xf0;

//让butt和0xf0与一下,给下面好做判断

if(butt!

=0xf0)//如果与完之后的butt不等于0xf0,那么就有按键被按下

{

delay(3);

//延时下防抖确认是不是抖动错误按下的

//再把P1口断码给按键变量因为按键变量刚才和0xf0.变量变化了所以要重新赋值

//再与一次是给下面做判断的

=0xf0)//如果是真的butt!

=0xf的话就是有按键按下去。

//再把P1断码给butt

switch(butt)//判断变量butt如果是什么就执行后面的语句,break是跳出循环的。

下面的第二排按键同理就不做介绍了。

{

case0xee:

num=1;

break;

case0xde:

num=2;

break;

case0xbe:

num=3;

case0x7e:

num=4;

}

while(!

butt)

{

while(butt!

=0xf0)

{

delay

(2);

butt=P1;

}

}

P1=0xfd;

switch(butt)

case0xed:

num=5;

case0xdd:

num=6;

case0xbd:

num=7;

case0x7d:

num=8;

delay

(2);

}

}

P1=0xfb;

{

case0xeb:

num=9;

case0xdb:

num=10;

case0xbb:

num=11;

case0x7b:

num=12;

P1=0xf7;

case0xe7:

num=13;

case0xd7:

num=14;

case0xb7:

num=15;

case0x77:

num=16;

returnnum;

//返回来一个num值,1~16

pingfang(uchara)//调用num的值

zshu=a*a;

//调用到num的值再相乘就得到平方

baiwei=zshu/100;

//数位分解给数码管百位

shiwei=zshu%100/10;

//十位

gewei=zshu%100%10/1;

//个位

sm(uchara,ucharb,ucharc)//数码管扫描函数调用zshu的值

P3=0x01;

//点亮第一个数码管

P2=smg[a];

//将断码送给P2口

delay

(1);

//延时扫描下面同列

P3=0x02;

P2=smg[b];

P3=0x04;

P2=smg[c];

}

voidmain()//主函数

while

(1)//大循环

pingfang(anjian());

//函数调用

sm(gewei,shiwei,baiwei);

仿真图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1