Print

矩阵键盘扫描论文摘要怎么写

问:四、 编写一段2×3的矩阵键盘扫描的子程序
  1. 答:这是我的论文的一部分,粘给你
    /按键处理命令//获取按键位置//16为无按键按下uchar KeyPosRowScan()//返回行扫描结果{uchar Temp=0;//扫描状态暂存。uchar Row;//行号P3=0x0f;Temp=P3;//暂存P2状态for(Row=0;Row<4;Row++)if(Temp!=0x0f)//若有按键按下{ if(RowScan[Row]==Temp) return Row;}return 4;//无按键按下}uchar KeyPosLineScan()//返回列扫描结果{uchar Temp=0;//扫描状态暂存。uchar Line;//列号。P3=0xf0;Temp=P3;//暂存P2状态for(Line=0;Line<4;Line++)if(Temp!=0xf0)//若可能有按键按下{ if(LineScan[Line]==Temp)return Line;}return 4;//无按键按下}uchar KeyPosScan()//返回按键位置{return KeyPosRowScan()*4+KeyPosLineScan();}调用的时候只需调用uchar KeyPosScan()函数即可返回按键位置,若无按键按下,由于KeyPosRowScan()返回4,KeyPosLineScan()返回4,故该函数返回20,代表无按键按下。如有任何按键按下,函数将按行列返回按键位置值为0-15。
  2. 答:什么语言写,还是只要思路?
问:本科题目。简要说明矩阵键盘的特点和应用场合
  1. 答:矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。
    矩阵键盘特点
    矩阵键盘的编程是十分复杂的,但是矩阵键盘也节省IO口。而且还提高了I/O口利用率。
    矩阵键盘构成与工作方式
    图9-7为一个4x3的行列结构,可以构成12个键的键盘。如果使用4x4的行列结构,就能组成一个16键的键盘。很明显,在按键数量多的场合,矩阵键盘与独立式按键键盘相比可以节省很多的I/O口线。
    矩阵键盘不仅在连接上比单独式按键复杂,它的按键识别方法也比单独式按键复杂。在矩阵键盘的软件接口程序中,常使用的按键识别方法有行扫描法和线反转法。这两种方法的基本思路是采用循环查循的方法,反复查询按键的状态,因此会大量占用MCU的时间,所以较好的方式也是采用状态机的方法来设计,尽量减少键盘查询过程对MCU的占用时间。
  2. 答:本上键盘都是使用矩阵扫描,M*N矩阵驱动只需要M+N条驱动端口。矩阵键盘的用途很广,比如:计算器,遥控器,触摸屏ID产品,银行的提钱机,密码输入器。
  3. 答:基本上键盘都是使用矩阵扫描的。M*N矩阵驱动只需要M+N条驱动端口
问:单片机汇编矩阵键盘实验(扫描法)
  1. 答:主程序写的不对,这样写,开机后只读一次键盘,可是还没有按键就过去了,然后进入死循环了
    while(1);这是死循环。
    改成这样
    void main()
    {
    unsigned char num;
    lcd_init();
    while(1) //这行不能打分号;
    {
    num=key_num();
    lcd_onedis(0,1,num);
    }
    }

本文来源: https://www.kwenxian.cn/article/4fca378e9d3084a7695de74f.html