原创 99码表数码管动态显示

2009-4-11 12:40 3286 12 14 分类: MCU/ 嵌入式

   自己用课余时间写的一个小程序,现在贴出来大家看了不要笑话用 PROTEUS仿真已经通过;我用的时两位一体的数码管动态显示的,用的是查询方式来进行1秒钟计时。本想在网上看一下别人的99马表是怎样写的没有想到的时大家贴出来的都是一个程序而且用的是静态显示觉得浪费了IO口就写了一个动态的附带仿真电路图https://static.assets-stash.eet-china.com/album/old-resources/2009/4/11/709f9ca6-4c88-410d-a927-9312be62c2a1.rar看过下过的顶一下啦!!


 


#include<reg51.h>
 #define uchar unsigned char
 #define uint  unsigned int 
 #define dateport P0
 #define bitport  P2
 uchar dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
                              0x6d,0x7d,0x07,0x7f,0x6f,0x77,
                              0x7c,0x39,0x5e,0x79,0x71,0x00};
     uchar code t[]={0xfd,0xfe};
 sbit  sw="P3"^5;
 uchar second,i,key;
 uint count;
 void delay(uchar x)
 {
   while(x--);
 }
 void main()
 {
  TMOD="0X02";     //设置定时器工作方式
 // ET0=0;
 // EA="0";
  second="0";
  i="0";
  key="0";
  count="0";
  sw="1";
  dateport="dispcode"[second/10];
  bitport="t";
  delay(20);
  bitport="0x00";
  dateport="dispcode"[second%10];
  bitport="t"[i+1];
  delay(20);
  bitport="0x00";
  while(1)
   {
  if(sw==0)
  delay(120);
  if(sw==0)
  {
   key++;
   while(sw==0);
   if(key==4)
   {
    key="0";
   }
    switch(key)
    {
   case 1:
    TH0=0X06;
    TL0=0X06;
    TR0=1;          //启动定时器 0
    break;
   case 2:
     TR0=0;
    break;
   case 3:
     second=0;
    break;
    }
 
  }
    if(TF0)    //中断标志位
  {
   TF0=0;
   count++;
   if(count==400)
   {
    count="0";
    second++;
   }
   if(second==100)
   {second=0;}
  }
  dateport=dispcode[second/10];
  bitport=t[i++];
  bitport=0xff;
        dateport="dispcode"[second%10];
        bitport="t"[i++];
  bitport=0xff;
  if(i==2)
  i=0;
     }


}

文章评论2条评论)

登录后参与讨论

用户193823 2009-4-18 00:22

不错不错哈!!!

tengjingshu_112148725 2009-4-11 16:04

技术分享,没人会笑你的。支持
相关推荐阅读
用户394394 2009-04-24 00:22
华为布线手册
   学画PCB时下的感觉不错,就贴上来了一部分内容较多看了感觉还行的话可以下下来学习一下。B.  布局 1.  根据结构图设置板框尺寸,按结构要素布置安装孔、接插件等需要定位的器件,并给这些器件赋予...
用户394394 2009-04-11 12:21
周立功写给学单片机的年轻人的
作为过来人思前想后,我感到完全有责任将发自心底的感受传递给年轻一代,“一个企业家心灵深处渴望优秀人才的卓越追求和深层次的叹息、痛苦和感受”。您们千万不要等到毕业求职时才觉得自己能力太差,世界上从来就没...
用户394394 2009-03-23 17:02
六位一体数码管动态显示
 仿真图在World 中虽然达到了我的目的但还是有些不明白,我用的是共阴的数码管消影是用高高电平按理说应该是低电平的.我位码是用码表选的;有没有人能帮我用左移来实现 #include<reg51...
用户394394 2009-03-04 12:30
自制编和器
作为学习单片机的入门者,编程器是不可少的工具买一个又不怎划算,就从网上下了点资料和室友用通用板焊了几天.一个自制的编程器就完成了.总共花费不 超过四十元钱,而且功能还不差;能够支持MCS51 ATME...
我要评论
2
12
关闭 站长推荐上一条 /2 下一条