历史上的今天
返回首页

历史上的今天

今天是:2025年03月07日(星期五)

正在发生

2018年03月07日 | 基于单片机的四位二进制转十进制计算显示程序

2018-03-07 来源:eefocus

    此程序是根据自己的单片机板子写的,四位共阳数码管。

    k1-k4是板子上的4个键 用来进行二进制输入,因为按键只有按下和没有按下两种状态,

    十进制的数值就显示在数码管上.

    #include
#define uchar unsigned char
#define uint unsigned int
uchar code smg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar data yy[]={0xff,0xfe,0xfc,0xf8,0xf0,0xfe0,0xc0,0x80,0x00};
uint a;

    sbit K1=P3^0;
sbit K2=P3^1;
sbit K3=P3^2;
sbit K4=P3^3;

    sbit P20=P2^0;
sbit P22=P2^2;

    sbit wx1=P0^0;
sbit wx2=P0^1;
sbit wx3=P0^2;
sbit wx4=P0^3;

    void delayms(uint a)
{
uchar i,j;
for(i=a;i>0;i--)
for(j=110;j>0;j--);
}

    void main()
{
while(1)
{
{
if(K1==0)    
 {
  wx1=1;
  P1=smg[0];
  wx2=0;wx3=0;wx4=0;
  P2=yy[0];
 }

    
if(K2==0)    
 {
  wx1=1;
  P1=smg[1];
  wx2=0;wx3=0;wx4=0;
  P2=yy[1];
 }

    
if(K3==0)    
 {
  wx1=1;
  P1=smg[2];
  wx2=0;wx3=0;wx4=0;
  P2=yy[2];
 }

    if(K4==0)    
 {
  wx1=1;
  P1=smg[3];
  wx2=0;wx3=0;wx4=0;
  P2=yy[3];
 }

    if(K1==0&K2==0)    
{
  wx1=1;
  P1=smg[4];
  delayms(10);
  wx1=0;wx2=0;wx3=0;wx4=0;
  P2=yy[4];
  delayms(10);
 }

    if(K1==0&K3==0)    
 {
  wx1=1;
  P1=smg[5];
  delayms(10);
  wx1=0;wx2=0;wx3=0;wx4=0;
  P2=yy[5];
  delayms(10);
  }

    if(K1==0&K4==0)    
  {
  wx1=1;
  P1=smg[6];
  delayms(10);
  wx1=0;wx2=0;wx3=0;wx4=0;
  P2=yy[6];
  delayms(10);
  }

    if(K2==0&K3==0)    
  {
  wx1=1;
  P1=smg[7];
  delayms(10);
  wx1=0;wx2=0;wx3=0;wx4=0;
  P2=yy[7];
  delayms(10);
  }

    if(K2==0&K4==0)  
  {
  P20=1;P22=1;
  wx1=1;
  P1=smg[8];
  delayms(10);
  wx1=0;wx2=0;wx3=0;wx4=0;
  P2=yy[8];
  delayms(10);
  }

    if(K3==0&K4==0)    
  {
  wx1=1;
  P1=smg[9];
  delayms(10);
  wx1=0;wx2=0;wx3=0;wx4=0;
  P2=yy[8];
  delayms(10);
}
}
P2=0xff;
}
}


推荐阅读

史海拾趣

Adam Tech公司的发展小趣事

Adam Tech深知品质是企业生存和发展的基石。因此,公司始终将品质管理放在首位,通过引进先进的生产设备和技术,以及实施严格的质量控制流程,确保每一款产品都符合客户的要求和行业标准。同时,公司还建立了完善的售后服务体系,及时解决客户在使用过程中遇到的问题。这种对品质的执着追求和持续改进的精神,使得Adam Tech在客户中赢得了良好的口碑。

BusBoard公司的发展小趣事

在竞争激烈的电子行业,技术创新是企业生存发展的关键。BusBoard公司深知这一点,因此不断加大研发投入,引进高端人才,推动技术创新。一次偶然的机会,公司研发团队发现了一种新型材料,可以显著提高电路板的性能和稳定性。经过反复试验和优化,这一技术突破最终转化为实际产品,并成功推向市场。这一创新不仅提升了BusBoard公司的竞争力,也为客户带来了更优质的产品体验。

HOPERF公司的发展小趣事

随着技术的不断积累和市场的日益扩大,HOPERF开始着手整合产业链资源。公司不仅在ASIC芯片设计和MEMS传感芯片设计方面持续深耕,还逐步构建起包括封装测试校准技术、应用服务在内的完整产业链。同时,HOPERF积极实施全球化战略,在全球范围内招募顶尖研发设计人才,其中60%的专家级工程师来自德国、美国、瑞士等国际一流企业。这些举措极大地提升了公司的研发实力和市场竞争力,为公司的全球化发展奠定了人才和技术基础。

Galaxy ( Bel )公司的发展小趣事

在无线射频和传感器领域,HOPERF始终保持着技术创新的领先地位。公司独创的“NextGenRF”算法专利技术,填补了国内在该领域的空白,并获得了多项企业认证、发明专项和软件著作权。这些技术创新不仅推动了公司产品性能的持续提升,还引领了整个行业的发展方向。此外,HOPERF还积极参与国际标准制定,不断提升自身在全球行业中的话语权和影响力。

Capar Components Corp公司的发展小趣事

随着国内市场的饱和,Capar Components Corp开始将目光投向国际市场。公司积极参加国际电子展会,与海外客户建立联系,拓展销售渠道。同时,公司还根据不同国家和地区的市场需求,调整产品结构和营销策略,逐步打开了国际市场的大门。如今,公司的产品已经远销欧美、东南亚等多个国家和地区,成为了国际电子市场上的一支重要力量。

Gigavac LLC公司的发展小趣事

随着电子行业的快速发展,Capar Components Corp意识到只有不断创新才能在市场中立足。于是,公司加大了对研发的投入,引进了一批高素质的技术人才。经过数年的努力,公司成功研发出了一种新型的高性能集成电路,这一创新不仅提升了产品的性能,还降低了生产成本,使公司在市场上获得了更大的竞争优势。

问答坊 | AI 解惑

1602LCD液晶秒表.rar

1602LCD液晶秒表.rar…

查看全部问答>

minicom不能显示开发板启动信息

我用的是s3c2410主机是linux操作系统,用minicom时,启动开发板则不能显示任何信息, minicom配置如下: A-Serial Device :dev/ttyS0 B-Lockfile Location :/var/lock E-Bps/Par/Bits      :115200 8N1 F-Hardware Flow ...…

查看全部问答>

新手求助 EVC下将文件内容输出到编辑框程序问题

想选择路径打开文件 将内容输出到编辑框 程序运行弹出一个对话框 显示叉号和乱码   void CTCPClientExDlg::Sendfile() {    CFile MyFile;    TCHAR str[100];    DWORD count;    Updat ...…

查看全部问答>

怎么完成单片机与PC机通信?

本人想做一个单片机与PC机通信操作的实验,看过资料,但有些地方不明白,请大家帮忙:   它们的通信是要通过MAX232吗?MAX232还用不用接8250,然后再接九针插头?它们的电路图应该怎么接?   书上还说要对8250编 ...…

查看全部问答>

键盘扫描,有点疑惑

4×4阵列键盘扫描判断是否有键按下,先对键盘所在端口写0x0f,再回读,不为0x0f,表示有键按下在程序里我是这样处理的先配制成开漏输出,写0x0f,再配制成浮空输入,读端口,发现每次读到的都是0xff.是不是在第二次配制成输入的时候,IO寄存器的 ...…

查看全部问答>

万利EK-STM32F10E配套的例程所用的固件库是什么版本啊?

                                 万利EK-STM32F10E配套的例程所用的固件库是什么版本啊?…

查看全部问答>

菜鸟求救

fpga设计一个移位函数,输入是一个32位的数DATA,和一个左移、右移的控制信号shit_contr,其输出是一个32位的数 设计一个连加函数,输入的是起始数值和终止数值,输入和输出的数据位宽可由参考数化设定…

查看全部问答>

测量5Mv~500V,频率5Hz~5MHz的交流电压

本帖最后由 paulhyde 于 2014-9-15 03:41 编辑 有人做过测量交流电压的吗?可以交流交流一下 。带宽太宽了不好测量啊  可以分享你们的经验吗?  …

查看全部问答>

FPGA做AD采样,这种情况如何编程?

通过译码来选通要采样的模拟量,比如有6路选通、即有六路模拟量;这样的话,需采样六次才能将所有模拟量采完,然后分别处理这六个量。 如果采样一路的话,感觉好处理一些,循环采样六路,应该如何用verilog HDL来写? 之前觉得AD采样一次本身可以 ...…

查看全部问答>

UCC28810具备PFC的恒定电流驱动器

本帖最后由 qwqwqw2088 于 2014-1-21 09:38 编辑 本文所介绍的以UCC28810为主控芯片的电路具备PFC的恒定电流驱动器,提供具有 700mA 恒流的 10V 至 48V 电压。可通过单个电阻对输出电流进行调节;输入电压为高线路。 PCB板设计 ...…

查看全部问答>