zoukankan      html  css  js  c++  java
  • 外部中断设计实验

    外部中断设计实验

     

     

    姓名:许瀚博

     

    学号:20132100089

     

    班级:嵌入式3

     

    指导老师:谭琦

     

    课程名称:单片机实验

     

    时间:2015.12.5

     

     

     

     

     

     

     

    一、  实验内容

         通过P1.0端口以1HZ的频率输出信号,使用该信号点亮一个LED指示灯,并将信号接入到INT1,统计中断的次数。将中断的次数通过两个七段数码管采用十进制显示出来。当超过99次后,清零并重新计数。

    二、  实验目的

    进一步掌握8051外部中断的使用和编程方法

    了解七段数码显示数字的原理,掌握用一个段锁存器、一个位锁存器同时显示多位数字的技术

    三、  实验设备

    DELL台式机 + proteus版本6 + keilC51版本7

    四、  实验电路图(可打印)

     

     

    五、  程序流程图

     

     

    六、程序源码(可打印)

    #include<reg51.h>

    sbit P1_0=P1^0;

    //数码管显示

    unsigned char numcode[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

    unsigned char num=0;

    void int2() interrupt 2//中断控制,2号中断方式

    {

    num++;

    if(num==100)//计数到100则归零

         num=0;

    P0=numcode[num/10];//十位数

    P2=numcode[num%10];//个位数

    }

    void main()

    {

    int i=0;

    P0=numcode[0];

    P2=numcode[0];

    P1_0=0;

    IT1=1;

    EX1=1;

    EA=1;

    TH0=0x3c;

    TL0=0xb0;

    TMOD=0x01;

    TR0=1;

    while(1)

    {

         if(TF0==1)

         {

             TL0=0xb0;//计数初值

             TH0=0x3c;

             TF0=0;

             i++;

             if(i==10)//进位

             {  

                 P1_0=!P1_0;

                 i=0;

             }

         }

    }

    }

  • 相关阅读:
    搭建openstack系统初始化(2)
    Kvm虚拟化安装与虚拟机创建
    KVM-克隆和快照管理
    P4197 Peaks
    P4768 [NOI2018]归程
    #6145. 「2017 山东三轮集训 Day7」Easy 动态点分治
    P4178 Tree
    P4149 [IOI2011]Race
    P3806 【模板】点分治1
    P4724 【模板】三维凸包
  • 原文地址:https://www.cnblogs.com/johanxu/p/5066376.html
Copyright © 2011-2022 走看看