单片机
返回首页

51单片机之数码管动态循环左移显示手机号

2020-07-17 来源:eefocus

课设题目:数码管手机号


要求:四位一体共阴数码管循环左移显示手机号,显示完成蜂鸣器响一次,重复循环

一:共阴极数码管16进制编码1~f如下:

uchar code table[]=

{0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};


二:proteus中各元件符号表示:CRYSTAL 晶振 ;电解电容:CAP-即可搜到;电阻:res;

7SEG-MPX4-CC 四个共阴二极管显示器 1234 是阴公共端;

排阻:respack


三:总体电路图

   

实物图:(前三位的手机号,太懒,不想上传太多图片了)

四  代码实现

#include

#define uchar unsigned char;

#define uint unsigned int;

 

sbit beep=P1^2;

sbit P2_0 = P2^0;//位选数据的十位,即左边第一位数码管

sbit P2_1 = P2^1;//位选数据的个位,即第二位数码管

sbit P2_2 = P2^2;//位选数据的十位,即第三位数码管

sbit P2_3 = P2^3;//位选数据的个位,即最后一位数码管

 

unsigned char tcount,a=0,kk=0;

unsigned char table1[]={0x00,0x00,0x00,};//加上你想要显示的手机号对应十六进制

 

/*     延时1ms的延时函数         */

void delay_ms(unsigned int n)

{

    unsigned int i=0,j=0;

    for(i=0;i        for(j=0;j<123;j++);

}

 

/*      数码管显示函数           */

void SMG_display()

{

   P0=table1[kk];//第1个数码管显示的数字

   P2_0 = 0;

   delay_ms(2);

   P2_0 = 1;

 

   P0=table1[kk+1];//第2个数码管显示的数字

   P2_1 = 0;

   delay_ms(2);

   P2_1 = 1;

 

   P0=table1[kk+2];//第3个数码管显示的数字

   P2_2 = 0;

   delay_ms(2);

   P2_2 = 1;

 

   P0=table1[kk+3];//第4个数码管显示的数字

   P2_3 = 0;

   delay_ms(2);

   P2_3 = 1; 

}

 

/*       定时器初始化            */

void Timer0Init()

{

  TMOD=0x01;    //定时器0中断方式1

    TH0=(65536-5000)/256; //设初值5000us=5ms

    TL0=(65536-5000)%256;

  EA=1; //打开总中断开关

  ET0=1; //T0中断允许

    TR0=1; //T0中断开始(启动T0)

}

 

/*       定时器中断             */

void timer0() interrupt 1 using 0 

{

TH0=(65536-5000)/256;    //无自动重装载功能,需要再次设初值

        TL0=(65536-5000)%256;

tcount++;                 //中断循环次数,每次进入中断tcount数值加1

 

SMG_display();

if(tcount==200) //200*5000us=1s

{

tcount=0;

kk++;

if(kk>10)

{

kk=0;

beep=0;

delay_ms(50);

beep=1;

}

}

}

/*     主函数                 */

void main()

{

Timer0Init();

while(1);

}

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 红外线探测报警器

  • 短波AM发射器电路设计图

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 开关电源的基本组成及工作原理

  • 带有短路保护系统的5V直流稳压电源电路图

    相关电子头条文章