找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[求助]数码管问题

[复制链接]
跳转到指定楼层
楼主
ID:34330 发表于 2012-2-15 21:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uint i,num,num_1,num_2,a,b,c;
uint qian,bai,shi,ge;
void display(uint qian,uint bai,uint shi,uint ge);
void delay(uint);
void main()
{
 TMOD=0x01;
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 EA=1;
 ET0=1;
 TR0=1;
 num_2=4221;
 while(1)
 {
  display(qian,bai,shi,ge);
 }
}
void delay(uint i)
{
 int x,y;
 for(i=x;i>0;i--)
  for(y=110;y>0;y--);
}
void T0_timer() interrupt 1
{
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 num++;
 if(num==2)
  {
   num=0;
   num_2--;
  }
}
void display(uint qian,uint bai,uint shi,uint ge)

 
 qian=num_2/1000;
 bai=num_2/100%10;
 shi=num_2/10%100;
 ge=num_2%10;
 P1=0XFE;
 P0=table[qian];
 delay(1);
 P1=0XFF;
 P0=0XFF;
 P1=0XFD;
 P0=table[bai];
 delay(1);
 P1=0XFF;
 P0=0XFF;
 P1=0XFB;
 P0=table[shi];
 delay(1);
 P1=0XFF;
 P0=0XFF;
 P1=0XF7;
 P0=table[ge];
 delay(1);

 P1=0XFF;
 P0=0XFF;
}怎么数码管显示出来小数啊

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

使用道具 举报

沙发
ID:34099 发表于 2012-2-15 22:44 | 只看该作者

你的运算有错误 应该改为

qian=num_2/1000;
 bai=(num_2%1000)/100;
 shi=((num_2%1000)%100)/10;
 ge=((num_2%1000)%100)%10;

还有#include<intrins.h> 可以不要啦

回复

使用道具 举报

板凳
ID:7485 发表于 2012-2-16 10:00 | 只看该作者

数码管的小数点,大部分是最高位控制,比如0x7F是不带小数点的“8”,而0XFF就是带小数点的“8”。

可以把带小数的数字字模另列一个表,也可以把不带小数的码+(0x80)(共阴极)

对于你的表中的数据,应该是共阳极的,{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}将表中的每个数-0x80即可;
 

[此贴子已经被作者于2012-2-16 10:05:07编辑过]
回复

使用道具 举报

地板
ID:34099 发表于 2012-2-16 15:25 | 只看该作者

是你的运算有错误 应该改为

qian=num_2/1000;
 bai=(num_2%1000)/100;
 shi=((num_2%1000)%100)/10;
 ge=((num_2%1000)%100)%10;

 昨天我试过了 换过来就可以了 运算错误导致机器找不到这个数就出错了 比如你的 shi=num_2/10%100;num_2=4321 时 shi=32 这时就出错啦

回复

使用道具 举报

5#
ID:34330 发表于 2012-2-16 16:45 | 只看该作者
谢谢了 本来还要加个定时器做流水灯的 发现数码管有些问题就没做了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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