矩阵键盘扫描实验报告

该实验使用单片机通过矩阵键盘实现按键对应1到16的平方数显示在数码管上。程序包含矩阵键盘扫描、数码管显示以及延时函数。实验中,当按下按键时,数码管会依次显示按键对应的平方值。
摘要由CSDN通过智能技术生成

/**************************************************

实验名称:矩阵键盘实验一

实验目的:按下16个矩阵键盘依次在数码管上显示1-16的

 平方。如按下第一个显示1,第二个显示4...

实验备注:

**************************************************/

#include<reg52.h>


#define uchar unsigned char

#define uint unsigned int


sbit DUAN = P2^6;

sbit WEI = P2^7;


uchar code duan_table[]=

{0x3f,0x06,0x5b,0x4f,

 0x66,0x6d,0x7d,0x07,

 0x7f,0x6f,0x77,0x7c,

 0x39,0x5e,0x79,0x71};


uchar code wei_table[]=

{0xfe,0xfd,0xfb,

 0xf7,0xef,0xdf};


void delay_1ms(uchar);

void display(uchar,uchar,uchar);

uchar scan_mkey(uchar);


void main()

{

uchar bai, ge, shi,num_tem;

uint num;

num_tem = 0;

num = 0;

while(1)

{

num_tem = scan_mkey(num_tem);

num = num_tem * num_tem;

bai = num/100;

shi = num%100/10;

ge = num%10;

display(bai,shi,ge);

}

}


void delay_1ms(uchar x)

{

uchar i, j;

for(i = 0; i < x; i++)

for(j = 0; j < 110; j++);

}


void display(uchar bai,uchar shi, uchar ge)

{

DUAN = 1;

P0 = duan_table[bai];

DUAN = 0;

P0 = 0xff;


WEI = 1;

P0 = wei_table[0];

WEI = 0;

delay_1ms(1);


DUAN = 1;

P0 = duan_table[shi];

DUAN = 0;

P0 = 0xff;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值