找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4040|回復(fù): 4
收起左側(cè)

[求助]數(shù)碼管問題

[復(fù)制鏈接]
ID:34330 發(fā)表于 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;
}怎么數(shù)碼管顯示出來小數(shù)啊

回復(fù)

使用道具 舉報(bào)

ID:34099 發(fā)表于 2012-2-15 22:44 | 顯示全部樓層

你的運(yùn)算有錯(cuò)誤 應(yīng)該改為

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

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

回復(fù)

使用道具 舉報(bào)

ID:7485 發(fā)表于 2012-2-16 10:00 | 顯示全部樓層

數(shù)碼管的小數(shù)點(diǎn),大部分是最高位控制,比如0x7F是不帶小數(shù)點(diǎn)的“8”,而0XFF就是帶小數(shù)點(diǎn)的“8”。

可以把帶小數(shù)的數(shù)字字模另列一個(gè)表,也可以把不帶小數(shù)的碼+(0x80)(共陰極)

對(duì)于你的表中的數(shù)據(jù),應(yīng)該是共陽(yáng)極的,{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}將表中的每個(gè)數(shù)-0x80即可;
 

[此貼子已經(jīng)被作者于2012-2-16 10:05:07編輯過]
回復(fù)

使用道具 舉報(bào)

ID:34099 發(fā)表于 2012-2-16 15:25 | 顯示全部樓層

是你的運(yùn)算有錯(cuò)誤 應(yīng)該改為

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

 昨天我試過了 換過來就可以了 運(yùn)算錯(cuò)誤導(dǎo)致機(jī)器找不到這個(gè)數(shù)就出錯(cuò)了 比如你的 shi=num_2/10%100;num_2=4321 時(shí) shi=32 這時(shí)就出錯(cuò)啦

回復(fù)

使用道具 舉報(bào)

ID:34330 發(fā)表于 2012-2-16 16:45 | 顯示全部樓層
謝謝了 本來還要加個(gè)定時(shí)器做流水燈的 發(fā)現(xiàn)數(shù)碼管有些問題就沒做了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表