标题: 动态数码管显示数字 [打印本页]

作者: 小老弟~    时间: 2020-11-20 09:15
标题: 动态数码管显示数字
#include "reg51.h"                //包含头文件
typedef unsigned char u8;           //定义无符号字符型变量为u8
typedef unsigned int u16;           //定义无符号整型变量为u16

sbit lsa=P2^2;
sbit lsb=P2^3;
sbit lsc=P2^4;                       //74HC138译码器,进行管脚定义

u16 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//定义段选数组
u8 disp[8]={9,2,1,1,8,9,9,1}; //显示数字数组

void delay(u16 i)                  //定义延时函数
{
        while(i--);
}


void digdisplay()                         //数码管显示函数
{
        u8 i;
        for(i=0;i<8;i++)
        {
                switch(i)                  //选通位选地址
                {
                        case(0):
                                lsc=0;lsb=0;lsa=0;break;   //第1位
                        case(1):
                                lsc=0;lsb=0;lsa=1;break;   //第2位
                        case(2):
                                lsc=0;lsb=1;lsa=0;break;   //第3位
                        case(3):
                                lsc=0;lsb=1;lsa=1;break;   //第4位
                        case(4):
                                lsc=1;lsb=0;lsa=0;break;   //第5位
                        case(5):
                                lsc=1;lsb=0;lsa=1;break;   //第6位
                        case(6):
                                lsc=1;lsb=1;lsa=0;break;   //第7位
                        case(7):
                                lsc=1;lsb=1;lsa=1;break;   //第8位
                }
                P0=smgduan[disp[i]]; //将所要传输的数字放入段选数组,确定其所对应应点亮的数码管,再将值送入P0
                delay(100);
                P0=0x00;                         //消隐
        }
}

void main()                                //主函数
{
        while(1)
        {                                        //让程序无限循环
                digdisplay();               //调用显示函数
        }
}


作者: suibianyige    时间: 2020-11-28 20:54
楼主有没有汇编语言版的呀
作者: 小老弟~    时间: 2020-12-3 11:58
suibianyige 发表于 2020-11-28 20:54
楼主有没有汇编语言版的呀

没有,不好意思,对汇编不太熟悉但你把这个放keil里进行调试,上面的调试窗口好像有对应的汇编程序




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1