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

1   作业回顾

    

作业

  

  

  

    

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;


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭