矩阵键盘按下按键显示对应键值平方数程序中遇到问题,求大家帮忙,,

矩阵键盘按下按键显示对应键值平方数程序中遇到问题,求大家帮忙,,,第1张

while(temp!=0xf0) //等待按键释放

{

temp=P3

temp=temp&0xf0

display(bai,shi,ge)//--加派仿塌上这句

}

等待释放大仿,另外还有几处尘圆,每一处,都应该加上显示。

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

uchar b,bai,shi,ge

uchar const table[]={0x3f,0x06,0x5b,0x4f,

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

0x7f,0x6f,0x76,0x79,0x38,0x00}

sbit dula=P2^6

sbit wela=P2^7

uchar keycan(void)

void delay(uint z)

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

void main()

{

uchar key

P0=0x00

while(1)

{

key=keycan()

switch(key)

{

case 0xee: b=1*1 break

case 0xde: b=2*2 break

case 0xbe: b=3*3 break

case 0x7e: b=4*4 break

case 0xed: b=5*5 break

case 0xdd: b=6*6 break

case 0xbd: b=7*7 break

case 0x7d: b=8*8 break

case 0xeb: b=9*9 break

case 0xdb: b=10*10 break

case 0xbb: b=11*11break

case 0x7b: b=12*12break

case 0xe7: b=13*13break

case 0xd7: b=14*14break

case 0xb7: b=15*15break

case 0x77: b=16*16break

}

bai=b/100

shi=b%100/10

ge=b%10

display(bai,shi,ge)

}

}

uchar keycan()

{

uchar cord_h,cord_l

P3=0x0f

cord_h=P3&0x0f

if(cord_h!=0x0f)

{

delay(100)

cord_h=P3&0x0f

if(cord_h!=0x0f)

{

P3=cord_h|0xf0

cord_l=P3&0xf0

return(cord_h+cord_l)

}

}return (0xff)

}

void delay(uint z)

{

uint x,y

for(x=zx>0x--)

for(y=110y>0y--)

}

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

{

dula=1

P0=table[bai]

dula=0

P0=0xff

wela=1

P0=0xf7

wela=0

delay(1)

dula=1

P0=table[shi]

dula=0

P0=0xff

wela=1

P0=0xef

wela=0

delay(1)

dula=1

P0=table[ge]

dula=0

P0=0xff

wela=1

P0=0xdf

wela=0

delay(1)

}

我认袭滑为是你的void display(uchar bai,uchar shi,uchar ge)这里有错误,上面是我的程序,只是改了一点, 我的好用, 你的显示程序拍运腊外围我不知道,

求采悄困纳为满意回答。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12442444.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存