{0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}到底是什么?它是怎么得来的?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-06-29
关于数码管的问题

1、数码管显示电压值,其实就是一个简易的电压表。不用单片机可以使用ICL7107.
2、网上卖的模块没有发现译码器,是因为采用了更高集成度的集成IC,例如ICL7107.
觉得好了,望采纳!

#include
unsigned char code table[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef} ;
//数码管显示的段码0~9 共阳
#define Out P0 //定义段码输出端口
sbit input = P3^2; //红外接收输入脚外部中断0
unsigned char m = 0 ; //计数参数
unsigned char t =60 ; //倒数计时参数
unsigned char i=0 ;

void delay(unsigned char i)
{
unsigned char j,k;
for(k=0;k<i;k++)
for(j=0;j<255;j++);
}

void main()
{
IT0=1; //下降沿触发
EX0=1;

TMOD=0X01;//设置定时器0为模式一,即16位计算模式
TH0=(65536-50000)/256;//给计数寄存器赋值,50毫秒时间
TL0=(65536-50000)%256;
ET0=1;
TR0=1; //开启T0定时器
EA=1;
while(1)
{
Out = table[m/10];
P1 = 0b00001000;
delay(3);
Out = table[m%10];
P1 = 0b00000100;
delay(3);

Out = table[t/10];
P1 = 0b00000010;
delay(3);
Out = table[t%10];
P1 = 0b00000001;
delay(3);

}
}

void inter0(void) interrupt 0 //红外计数
{
t++
if(t==100) t= 0;
}

void tim(void) interrupt 1 //定时器中断0
{

TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
i++;
if(i==20)//定时器 计数20次 1s
{
i=0;
t--;
if(t==0)
{t =60 ;}
}
}
//参考一下, 根据自己的实际电路修改。

是一些十六进制数,0x0a等于十进制的10,0xff等于十进制的255
根据你的补充:这10个数分别代表了七段数码管的0-9共十个状态,每个数是8位,从高往低,左边第一位一直为“1”,后面的7位分别控制数码管的7个段,排列顺序:第二位为中间的短横,第三位为左上的短竖,第四位为左下的短竖,……,按逆时针方向旋转,最后一位是上端的短横。举例来说,0X87,用二进制表示为1000 0111,除去左边第一位,只有最后三位为'1’,表示右下的短竖、右上的短竖和顶端的短横点亮,正好显示为"7"。回答的比较罗嗦,希望你能看懂。

通常是根据某位置0(与逻辑)或1(或逻辑)的需要进行的。
例如a&0xef,在a的第4位置0,其它保持不变。

  • 麻烦大神帮我设计三个单片机的程序。
    答:0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};uchar idata buf[4];display(){ P0=LEDcode[buf[0]]; m1=0;delay(50);m1=1; P0=LEDcode[buf[1]]; m0=0;delay(50);m0=1; P0=LEDcode[buf[2]]; s1=0;delay(50);s1=1; P0=LEDcode[buf[3]]; s0=0;...
  • 跪求用温度传感器ds18b20显示温度的单片机程序,我用的是89c52单片机...
    答:0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsigned char code table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};void delay(uint count) //delay { uint i;while(count){ i=200;while(i>0)i--;count--;} } ///功能:串口初始化,波特率9600,...
  • 求助,数字时钟的仿真总出错
    答://不带点的数字uchar code num_dot[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed}; //带点的数字uchar code wei[]={0x0d,0x0b,0x07}; //位码 void delay(uint z){uchar i;while(z--)for(i=0;i<120;i++);}void display(){uchar i=0;bai=(datas*500/255)/100;//计算并得...
  • 修改单片机按键程序,按键按下时数码管十位数处熄灭,请问该如何修改_百 ...
    答:uchar code table_d[16] = {0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1};void Delay_1ms(uint i)//1ms延时 { uchar x,j;for(j=0;j<i;j++)for(x=0;x<=110;x++);} void main(){ uchar i = 0;while(1){ P0 = table[i...
  • 51单片机,ds18b20 温度高低oven升温motor降温程序程序
    答:0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsigned char code table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};void delay(uint count) //delay { uint i;while(count){ i=200;while(i>0)i--;count--;} } ///功能:串口初始化,波特率9600,...
  • 做一个基于labview的温度测控系统,传感器用ds18b20,最后用protues仿真...
    答:0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsigned char code table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};void delay(uint count) //delay { uint i;while(count){ i=200;while(i>0)i--;count--;} } ///功能:串口初始化,波特率9600,...
  • 求DS18B20测温程序 用四位数码管显示 单片机STC89C51控制
    答:uchar code tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //不带小数点 uchar code table1[11]={0XBF,0X86,0XDB,0XCF,0XE6,0XED,0XFD,0X87,0XFF,0XEF,0x39}; //带点的 //0x39是C uchar code LED_W[8] = {0,1,2,3,4,5,6,7};//)...
  • 用C语言编写AT89C51单片机程序,设计一个智能数字钟。
    答:0X90,0X88,0X83,0XC6,0XA1,0X8E,0X86,0xbf}; //0~F,-,共阳 //uchar code tableyi[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,//0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40};//0-F,-,共阴 uchar code table_d[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd...
  • 亲们~~~紧急求解答~~~51单片机跑表设计之程序翻译,有能解释的亲加我扣 ...
    答:uint second=0; //4利用更名后的关键字来声明一个变量并赋值 uchar count=0,i=0; //5同上 uchar code tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //6一维数组,即数码管编码 uchar code tbb[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,...
  • 求用89C52单片机+DS18B20+LED灯结合的温度报警器,用keil编程c语言程序...
    答:sbit led0=P1^0;sbit led1=P1^1;sbit led2=P1^2;sbit led3=P1^3;unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};void delay(uint z)//延时 { uint x,y;for(x=z;x>0;x--...