找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求大神帮忙看看程序!数码管无法一直循环!

[复制链接]
跳转到指定楼层
楼主
ID:183362 发表于 2017-3-29 20:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
typedef unsigned int u16;
typedef unsigned char u8;
sbit seg=P1^4;
sbit bi=P1^5;
u8 code seg_table[]={0xc0,0xf9,0xa4,0xb0,0x99,
           0x92,0x82,0xf8,0x80,0x90
           };//定义数字编码;
u8 code bi_table[]={0x80,0x40,0x20,0x10,
          0x08,0x04,0x02,0x01
          };//定义位置编码;
void delay(u16 num)
{
   u16 x,y;
  for(x=num;x>0;x--)
    for(y=110;y>0;y--);
}
void dis(u16 which_bi,u16 which_num)//模块化函数;
{  bi=1;//解除锁存,开始输入位数;
  P0=bi_table[which_bi];
  bi=0;//解除锁存,开始输入位数;

  seg=1;//解除锁存,开始输入数字;
  P0=seg_table[which_num];
  seg=0;//解除锁存,开始输入数字;
  delay(300);

}
void main(void)
{ u16 num;
  P0 = 0xff;//初始化;
  P1 = 0xff;//初始化;
  seg=0;
  bi=0;//禁止锁存;
  while(1)
   {
     for(num=7;num>=0;num--)
           dis(num,num);//输入位数与数字;
         

   }
}


求问为何用protues 里数码管无法循环呢

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:151348 发表于 2017-3-29 21:11 | 只看该作者
像这种问题最好是把protues仿真图也附上

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:82765 发表于 2017-3-30 06:11 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

地板
ID:111634 发表于 2017-3-30 12:30 | 只看该作者
只需将最末一句 for(num=7;num>=0;num--) 改为 for(num=7;num>0;num--) 就能循环。但这个程序很烂,例如循环序数num最大7,却定义u16,完全可以与延时程序中的num分别定义。还有功能有些莫名其妙,也许只是一部分程序,另有目的。但看样子楼主是初学者,用这种范例作为学习样本基础,以后就没法长进了。网上和部分教材中的烂程序实在太多!!!
回复

使用道具 举报

5#
ID:185008 发表于 2017-3-31 10:53 来自手机 | 只看该作者
楼上说的有道理
回复

使用道具 举报

6#
ID:183362 发表于 2017-4-4 21:07 | 只看该作者
zl2168 发表于 2017-3-30 12:30
只需将最末一句 for(num=7;num>=0;num--) 改为 for(num=7;num>0;num--) 就能循环。但这个程序很烂,例如循 ...

O(∩_∩)O谢谢大神,不好意思~我刚刚学习单片机,看网上的教程写的,刚入门的确写得很烂

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

7#
ID:111634 发表于 2017-4-5 10:03 | 只看该作者
天下大同 发表于 2017-4-4 21:07
O(∩_∩)O谢谢大神,不好意思~我刚刚学习单片机,看网上的教程写的,刚入门的确写得很烂

真诚地给你介绍2本书,张志良编著的:
《80C51单片机实用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于学习51单片机原理,程序(c和汇编)语句条条有注解,便于阅读理解,便于自学。
《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1,内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行。
有比较才能有鉴别!真心想学就去比较一下,绝不忽悠你!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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