登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] 数码管的动态显示

[复制链接]
发表于 2022-1-21 00:03:08 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 单片机
学习安排: 数码管的动态显示
开始时间: 2022-01-17
结束时间: 2022-01-20
数码管的动态显示

要学会运用switch case语句,并明白什么必要,什么不必要

#include<reg52.h>
sbit A2=P2^2;
sbit A1=P2^1;
sbit A0=P2^0;
sbit ENLED=P1^1;
void delay(unsigned long int); //子函数的声明            
unsigned char code table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//表示含有0,1,2,3,4,5,6,7,8,9的数组
void main()
{
        unsigned char i=0;
        unsigned int n=0;
        ENLED=0;
        for(n=0;n<=10;n++)
        {
                switch(i)
                {
                        case 0:A2=0;A1=0;A0=00=table[n];
                        delay(5000);//起延时作用
                        case 1:A2=0;A1=0;A0=10=table[n];
                        delay(5000);
                        case 2:A2=0;A1=1;A0=00=table[n];
                        delay(5000);
                        case 3:A2=0;A1=1;A0=10=table[n];
                        delay(5000);
                        case 4:A2=1;A1=0;A0=00=table[n];
                        delay(5000);
                        case 5:A2=1;A1=0;A0=10=table[n];
                        delay(5000);                                                                                          
                }
        }
}
void delay(unsigned int m)//子函数
{
        unsigned int x,y;
        for(x=0;x<300;x++)
        {
                for(y=0;y<m;y++);
        }
}

如果想要改变间断时间,只需改变delay括号中的数字即可

好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表