您现在的位置: 主页 > MCU > 单片机技术应用 > 基于单片机的数码管显示实现自加功能 -
本文所属标签:
为本文创立个标签吧:

基于单片机的数码管显示实现自加功能 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-07 

[导读] 本文主要介绍基于MCS-51单片机的数码管显示实现自加1功能,从1一直显示到999.以下是硬件电路图、功能实现图以及源代码。(电路:使用74HC573锁存器控制段选,74H138控制位选;)

实现数码管自加的代码:  #in

 本文主要介绍基于MCS-51单片机的数码管显示实现自加1功能,从1一直显示到999.以下是硬件电路图、功能实现图以及源代码。(电路:使用74HC573锁存器控制段选,74H138控制位选;)

本文引用地址: http://www.21ic.com/app/mcu/201207/134396.htm

 



实现数码管自加的代码:

  #include

  #define uchar unsigned char

  #define uint unsigned int

  uchar code table[16] = {0x3f,0x06,0x5b,0x4f,

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

  0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //显示数字表

  uchar flag,bai,shi,ge;

  uint temp;

  void xunhuan();

  void delay(uint z);

  void init();

  void main()

  {

  init();

  while(1)

  {

  if(flag==20)

  {

  flag=0;

  temp++;

  if(temp==1000)

  {

  temp=0;

  }

  }

  bai=temp/100;

  shi=temp%100/10;

  ge=temp%10;

  xunhuan();

  }

  }

  void xunhuan()

  {

  P2=0;

  P0=table[bai];

  delay(30);

  P2=1;

  P0=table[shi];

  delay(30);

  P2=2;

  P0=table[ge];

  delay(30);

  }

  void init()

  {

  TMOD=0x01; //定时器0

  TH0=(65536-50000)/256; //定时50ms

  TL0=(65536-50000)%256;

  EA=1;

  ET0=1;

  TR0=1;

  }

  void timer0() interrupt 1

  {

  TH0=(65536-50000)/256; //定时50ms,1m=1000ms=20*50ms

  TL0=(65536-50000)%256;

  flag++;

  }

  void delay(uint z)

  {

  uchar x,y;

  for(x=z;x>0;x--)

  for(y=110;y>0;y--);

  }



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 基于单片机的数码管显示实现自加功能 -
 

"基于单片机的数码管显示实现自加功能 -"的相关文章

网站地图

围观()