单片机基础/2020-03-19

2020-03-19  本文已影响0人  LH大牛

动态数码管扫描
数码管段选采取74H138芯片;
数码管动态扫描程序,自右向左一次增加到F;

#include<reg51.h>
#define nu P0

sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
int ch[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
             0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

void delay(int i)
{
    while(i--);
}

void shuma()//数码管选择
{
    int i;
    for(i=0;i<16;i++)
    {
        nu=ch[i];
        delay(30000);
    }
    i=0;
}

    
int main()
{
    int a=0;
    LSA=0;
    LSB=0;
    LSC=0;
    while(1)
    {   
        for(a=0;a<8;a++)
        {
            if(a==0)//74H138选择
            {
                LSA=0;
                LSB=0;
                LSC=0;
                shuma();
            }                  
            else if(a==1)
            {
                LSA=1;
                LSB=0;
                LSC=0;
                shuma();
            }
            else if(a==2)
            {
                LSA=0;
                LSB=1;
                LSC=0;
                shuma();
            }
            else if(a==3)
            {
                LSA=1;
                LSB=1;
                LSC=0;
                shuma();
            }
            else if(a==4)
            {
                LSA=0;
                LSB=0;
                LSC=1;
                shuma();
            }
            else if(a==5)
            {
                LSA=1;
                LSB=0;
                LSC=1;
                shuma();
            }
            else if(a==6)
            {
                LSA=0;
                LSB=1;
                LSC=1;
                shuma();
            }
            else if(a==7)
            {
                LSA=1;
                LSB=1;
                LSC=1;
                shuma();
            }
        }
        a=0;
    }       
}

中断
定义:CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);
CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);
CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断 。
1.引起CPU中断的根源,称为中断源


cpu中断源
中断序列查询

中断使能寄存器的位分配(可位寻址)--IE


IE寄存器
中断寄存器IE的位0~5能控制6个中断使能,第6位没有用到,第7位是中断总开关
中断源

开启中断的条件:
1.中断源有中断请求;
2.此中断源的中断允许位为1;
3.CPU开中断(即EA=1);

上一篇 下一篇

猜你喜欢

热点阅读