将矩阵式键盘行扫描法程序中求取键值部分内容写成函数形式,在主程序中进行调用得到键值?

将矩阵式键盘行扫描法程序中求取键值部分内容写成函数形式,在主程序中进行调用得到键值?,第1张

/*按键扫描函数*/

void keyScan(void)

{

//P3=0x00

col1=0col2=1col3=1col4=1

temp=P2&0x3f

if(col1==0) //假设第一列有按键

{

if(temp!=0x3f) //没有按键退出这次对第一列键盘扫描

{

temp=P2&0x3C // 3CH=00111100,目的是先把P2.2、P2.3、P2.4、P2.5 这中间四位先置1,即预读先置1,做好输入的准备

switch(temp)

{

case 0x38: key=12 break

// 38H=00111000,只看中间四位,其中只有P2.2=0,代表第4行第1列为低电平,所在键值恰好是12(即C)

case 0x34:key=8break

// 34H=00110100,只看中间四位,其中只有P2.3=0,代表第3行第1列为低电平,所在键值恰好是8

case 0x2C:key=4break

// 2CH=00101100,只看中间四位,其中只有P2.4=0,代表第2行第1列为低电平,所在键值恰好是4

case 0x1C:key=0break

// 1CH=00011100,只看中间四位,其中只有P2.5=0,代表第0行第1列为低电平,所在键值恰好是0

}

}

}

col1=1col2=0col3=1col4=1

temp=P2

temp=temp&0x3f

if(col2==0)

{

if(temp!=0x3f)

{

temp=P2&0x3C

switch(temp)

{

case 0x38: key=13break//’0’键被按下时导通,则对应端口变为低电平

case 0x34:key=9break

case 0x2C:key=5break

case 0x1C:key=1break

}

}

}

col1=1col2=1col3=0col4=1

temp=P2

temp=temp&0x3f

if(temp!=0x3f)

{

temp=P2&0x3C

switch(temp)

{

case 0x38: key=14break//’0’键被按下时导通,则对应端口变为低电平

case 0x34:key=10break

case 0x2C:key=6break

case 0x1C:key=2break

}

}

col1=1col2=1col3=1col4=0

temp=P2

temp=temp&0x3f

if(temp!=0x3f)

{

temp=P2&0x3C

switch(temp)

{

case 0x38: key=15break//’0’键被按下时导通,则对应端口变为低电平

case 0x34:key=11break

case 0x2C:key=7break

case 0x1C:key=3break

}

}

}

 1、ClamAV

是一款开源防病毒软件,可检测病毒、恶意软件、特洛伊木马和其他威胁,也是免费提供的,这使其成为Linux上最好的防病毒软件之一,ClamAV具有命令行扫描程序,这意味着它可以扫描主要文件类型中的蠕虫、病毒和特洛伊木马,为确保安全并保持最新状态,病毒库一天会更新多次。

2、Chkrootkit

Chkrootkit会检查rootkit,它是一个在命令行界面上运行的免费软件,可以在不安装软件的情况下扫描您的系统,还是一个轻量级程序,这意味着它不会影响系统性能,还可以检测各种其他恶意软件和木马,如后门、TinyNDS等。

3、Comodo

作为Linux上最好的免费防病毒软件之一,Comodo带有按需病毒扫描程序,还检查使用云数据库以检查未知文件,以确保每一天的安全,一旦安装,就不会用无用的警报来打扰你,只是保护计算机免受所有传入的威胁。

4、Sophos

作为另一款免费的防病毒软件,Sophos具有高级功能,并且在Linux系统上也能轻松运行,可以使你的Linux免受Android、Windows和Mac的病毒和恶意软件的侵害,且具有强大的基于启发式的检测和实时扫描功能。

5、Rootkit Hunter

另一个免费检测rootkit的好选择,Rootkit Hunter也被认为是Linux上最好的防病毒软件之一,与大多数UNIX系统兼容,使用命令行界面,重量轻。

6、F-PROT

是一款带有按需扫描仪的免费软件,这是一个不错的选择,可确保针对宏病毒、引导扇区病毒和木马的安全性,可以根据自己的喜好安排扫描,强大的工具是快速扫描和庞大数据库的组合,可确保您的系统安全。

while(1) 里面,你不按的时候n一直等于0xff,如果你的数码管是共阴的,那肯定一直亮的,default:return 0xffbreak 改成 default:return 0break就可以


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存