找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7375|回复: 1
打印 上一主题 下一主题
收起左侧

[求助]程序详解图

[复制链接]
跳转到指定楼层
楼主
ID:3849 发表于 2008-8-18 15:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
表情(求助)程序详解图

#include <reg51.H>
unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //位码
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66, 0x3F,/*0*/
                               0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};
unsigned char dispbuf[8]={0,0,0,0,0,0,10,10};
unsigned char temp[8];
unsigned char dispcount;
unsigned char T0count;
unsigned char timecount;
bit flag;
unsigned long x;

void main(void)                           //主函数
{
  unsigned char i;
  TMOD=0x15;                              //T0T1方式1,T0计数
  TH0=0;
  TL0=0;
  TH1=(65536-4000)/256;
  TL1=(65536-4000)%256;
  TR1=1;                                  //启动定时器1
  TR0=1;                                  //启动定时器0
  ET0=1;                                  //允许定时器0中断
  ET1=1;                                  //允许定时器1中断
  EA=1;                                   //启动总中断
  while(1)
   {
      if(flag==1)
       {
         flag=0;
         x=T0count*65536+TH0*256+TL0;
         for(i=0;i<8;i++)
           {
             temp=0;
           }
         i=0;
         while(x/10)
           {
             temp=x%10;
             x=x/10;
             i++;
           }
         temp=x;
         for(i=0;i<6;i++)
           {
             dispbuf=temp;
           }
         timecount=0;
         T0count=0;
         TH0=0;
         TL0=0;
         TR0=1;
       }
   }
}

void t0(void) interrupt 1 using 0       //中断1次计数值为65536
{
  T0count++;
}
void t1(void) interrupt 3 using 0        //每4ms中断1次
{
  TH1=(65536-4000)/256;
  TL1=(65536-4000)%256;
  timecount++;                           //中断250次即1s采集一次数据
  if(timecount==250)
    {
      TR0=0;
      timecount=0;
      flag=1;
    }                                     //中断250次即1s采集一次数据
  P0=dispcode[dispbuf[dispcount]];        //P0口段输出
  P2=dispbit[dispcount];                  //P2口位输出
  dispcount++;
  if(dispcount==8)
    {
      dispcount=0;
    }
}

小弟初学单片机C,很多都不懂,哪位大哥大姐能帮我分析一下这个程序,写出其流程图

下面是图



[此贴子已经被作者于2008-8-18 15:13:35编辑过]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:88980 发表于 2015-9-2 05:44 | 只看该作者
vc你打理发店健康;安静开发力度;接撒快乐;发动机开饭啦;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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