美文网首页
按键输出方波数码管显示

按键输出方波数码管显示

作者: ERROR505 | 来源:发表于2019-11-10 12:26 被阅读0次

题目:
所有习题均采用外部中断0下降沿进入外部中断0处理按键;
采用定时器定时,全部功能在中断中完成。晶振频率为12MHz。
没有按键时不输出波形,按上面的键,从P3.0输出频率为5kHz的方波,并且数码管显示“1”;
按下面的键从P3.0输出频率为5kHz占空比为20%的矩形波,并且数码管显示“2”。
要求:采用T0方式2定时。


仿真图如图1:

1.png

仿真所需元器件如图2:

2.png

电路图连接如图3:

3.png

注:右侧方波在protues 左侧栏虚拟仪器模式和激励源模式内可选

程序代码:



/***********************************************************************
*采用外部中断0下降沿进入外部中断0处理按键   *
*采用定时器定时,全部功能在中断中完成,晶振频率为12MHz   *
*没有按键时不输出波形,按上面的键,从P3.0输出频率为5KHz的方波   *
*并且数码管显示“1“;按下面的键从P3.0输出频率为5KHz占空比为20%的矩形波,*
*并且数码管显示“2”。采用T0方式2定时   *
************************************************************************/

#include<reg51.h>
#define uchar unsigned char
data uchar a,b;
sbit P3_0 = P3^0;
uchar code table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

void main(){
    TMOD=0x02; //定时器T0方式1定时
    TL0= 256-100;
    TH0=256-100;  //输出频率为5khz设置的初值
    ET0=1;    //允许T0中断
    EX0=1;    //允许外部中断0
    IT1;      //外部0下降沿中断
    EA=1;    //总中断
    while(1);
}

void int0_isr(void) interrupt 0{   //外部中断0按键检测
        b=P1;
        b=~b;
      if(b==1){ //按上面的开关
              a=1;         //记录按键状态
       }
      else{
          a=2;
      }
      TR0=1;         //开定时器0
      P2=table[b];   //数码管显示
}

void T0_int(void) interrupt 1{
              if(a==1)
              P3_0=~P3_0;   //正常的
              if(a==2){
                                  //占空比为20%不会写了
              }
}

单片机方波占空比不太会所以没有写
总体程序就是用外部中断检验按键状态然后用定时器来控制方波输出的频率和占空比

相关文章

  • 按键输出方波数码管显示

    题目:所有习题均采用外部中断0下降沿进入外部中断0处理按键;采用定时器定时,全部功能在中断中完成。晶振频率为12M...

  • 实验二—杨金钰—0114

    按键加一4位显示 电教本1601 杨金钰 201612030114 一、实验原理 数码管的数字当按键加一时实现增一...

  • 实验2-杨喜栋-0124

    一、实验目的 将按键加一四位显示移植到小板 二、实验步骤 1.大板是共阴极数码管,小板是共阳极数码管,修改字符码 ...

  • 实验二0206刘春平

    实验二:按键+1四位显示的移植 前期: 小板是四位数码管,大板是八位数码管。数管码的数字移动是数码管以十进制方式进...

  • 实验二 吴思思 0130

    一、实验内容 将大板的“按键控制数码管”改成适合小板的程序。(每按一次独立按键,数码管的数值增1) 二、大小板的差...

  • 实验二————焦伟健0219

    一、实验内容 将大板的“按键控制数码管”改成适合小板的程序。(每按一次独立按键,数码管的数值增1) 二、大小板的差...

  • 北邮数电实验——油烟机

    概述 程序模块图 源文件分析 主程序 输入为系统时钟,4个按键。 输出为点阵,数码管和LED灯。 模块调用顺序与上...

  • 2019-08-09

    数码管显示 数码管显示:两位数码管显示00-99,初始显示00,以周期时间t逐步加1,直至显示到99,再回到00重...

  • Arduino基础入门篇14—跳动的数码管

    本篇介绍数码管显示器件,通过控制一位共阴极数码管动态显示数字0到9来了解数码管的使用。 1. 数码管介绍 数码管,...

  • 2019-09-26静态和动态控制数码管

    1.什么是数码管 1.1、几方面看数码管 (1)外观(2)作用:数码管是显示器件,用来显示数字的。(3)分类:单个...

网友评论

      本文标题:按键输出方波数码管显示

      本文链接:https://www.haomeiwen.com/subject/jwzobctx.html