您现在的位置: 主页 > MCU > 单片机技术应用 > 51单片机学习之路 —— 1.7 独立键盘 -
本文所属标签:
为本文创立个标签吧:

51单片机学习之路 —— 1.7 独立键盘 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-07 

[导读]1   作业回顾    作业          2 独立键盘概念      s2 s3 s4 s5 为独立键盘与P3^0 P3^1 P3^2 P3^3 相连接  s2 = 0 就是s2被按下的意思  3 程序编写  1先写个简单的    要求 按下s

1   作业回顾

本文引用地址: http://www.21ic.com/app/mcu/201807/783655.htm

    

作业

  

  

  

    

2 独立键盘概念

  

  

  s2 s3 s4 s5 为独立键盘与P3^0 P3^1 P3^2 P3^3 相连接

  s2 = 0 就是s2被按下的意思

  

3 程序编写

  1先写个简单的

    要求 按下s2按键 led点亮,再次按下熄灭

    代码

s2按键

   分析:

      1

        sbit S2 =P3^4;

        

        在板子的原理图中,S2 接的是P3.4口不要写错了

    2  

        

        假如S2 被按下,如果10ms后还是按下的

        其中的语句delay(10) 学名叫去抖延时

        还有while(!S2)分析以下

        假如S2被按下,则!S2 = 1 就一直执行空语句;假如S2松开则可以往下执行。

  2 来个复杂点的

     1 要求:用数码管的前两位显示一个十进制数,变化范围为00到59

         按键功能: S2 按下数值加一

               S3 按下数值减一

               S4 按下数值清零

             S5 按下后启动自加每秒加一,再次按下后暂停并显示数值

    2 代码:

键盘2

    

3 分析下:

        要完成自加,需要定时器,我们需要写一个中断程序;

         我建议写代码时用notepad,可以写的很清晰明白

  这里我将代码主要写了7大块;看上去就清晰明白了许多吧。下面我们主要看几块代码

  1

  

    初始化函数的作用是选定定时器0工作模式1 并打开开关总断和定时器0中断

 2

显示函数

   P0 = 0xfe; // 1111 1110 第一位数码管 对应十位

   P0 = 0xfd // 1111 1101 第二位数码管 对应个位

   3   键盘块代码

    

      

      对S2 功能是加一 但假如加满到60时将其置零

        S3 功能是减一 ,先判断是否位0;为零置60

        S4 功能清零

        S5 S5是按下一次开始,在按下一次暂停,所以先while(!S5)

          先判断S5是否按完毕了,一但手从S5按键拿开,就开始自加或暂停。

  

  4 主函数

    

    套个大循环,让他一直扫描键盘并显示即可。

  5 中断

    

    每一次中断时,先填值,保证每次定时都是50ms

    每20个50ms 即1s,将numt0置零,num+1;num会用于显示函数中

    假如大于59 将其置0;




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 51单片机学习之路 —— 1.7 独立键盘 -
 

"51单片机学习之路 —— 1.7 独立键盘 -"的相关文章

网站地图

围观()