历史上的今天
返回首页

历史上的今天

今天是:2025年08月15日(星期五)

正在发生

2019年08月15日 | 单片机码表的驱动程序

2019-08-15 来源:eefocus


#include

#include "./delay/delay.h"

 

#define SEGPORT P0

 

sbit start = P1^0;

sbit end = P1^1;

sbit seg_select = P2^1;        

sbit bit_select = P2^0;          

 

unsigned char flag = 1;

unsigned char duanma[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};               

unsigned char weima[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; 

unsigned char TempData[8];

 

unsigned char shi = 0, fen = 0, miao = 0;

 

void display()

{

  static unsigned char i = 0;

  SEGPORT = 0x0;

  seg_select = 1;

  seg_select = 0;

  

  SEGPORT = 0xff;

  bit_select = 1;

  bit_select = 0;

  SEGPORT = TempData[i];

  seg_select = 1;

  seg_select = 0;

  

  SEGPORT = weima[i];

  bit_select = 1;

  bit_select = 0;

  

i++;

  if(8 == i)

{

i = 0;

    }  

}

 

void time0_init(void)

{

  EA = 1;             

  TMOD |= 0x01;

  TH0 = (65536 - 2000) / 256;

  TL0 = (65536 - 2000) % 256;   

  ET0 = 1;           

  TR0 = 1;

   

 

}

 

void time0_isr() interrupt 1

{

static unsigned char i = 0;

    TH0 = (65536 - 200) / 256;

  TL0 = (65536 - 200) % 256;    

  i++;

  

if(flag)

{

if(50 == i)

{

i = 0;

miao++;

if(60 == miao)

{

 

miao = 0;

fen++;

if(60 == fen)

{

fen = 0;

shi++;

if(24 == shi)

{

shi = 0;

}

}

}

}

}

TempData[0] = duanma[shi / 10];

TempData[1] = duanma[shi % 10];

TempData[2] = 0x40;

TempData[3] = duanma[fen / 10];

TempData[4] = duanma[fen % 10];

TempData[5] = 0x40;

TempData[6] = duanma[miao / 10];

TempData[7] = duanma[miao % 10];

}

 

void time1_init(void)

{

    EA = 1;                               

  TMOD |= 0x10;                        

  TH1 = (65536 - 2000) / 256;

  TL1 = (65536 - 2000) % 256;          

  ET1 = 1;                            

  TR1 = 1;                             

 

}

 

void time1_isr() interrupt 3             

{

    TH1 = (65536 - 2000) / 256;

  TL1 = (65536 - 2000) % 256; 

    

  display();

}

                

 

void main()

{

  time1_init();

time0_init();

  

  while(1)

{

  

if(0 == start)

{

  while(!start);    //È¥¶¶¶¯

delay_ms(10);

while(!start);

if(0 == flag)

{

flag = 1;

}

else

{

flag = 0;

}

}

if(0 == end)

{

while(!end);         //È¥¶¶¶¯

delay_ms(10);

while(!end);

shi = 0;

fen = 0;

miao = 0;

}

}

}

 

/*****delay.c***********/

void delay_us(unsigned char t)

{

while(--t);

}

 

void delay_ms(unsigned char t)

{

while(t--)

{

delay_us(245);

delay_us(245);

}

}

 

void delay_s(unsigned char t)

{

    while(t--)

{

        delay_ms(200);

delay_ms(200);

  delay_ms(200);

delay_ms(200);

  delay_ms(200);

}

}

 

/****delay.h*******/

#ifndef _DELAY_H_

#define _DELAY_H_

 

extern void delay_us(unsigned char t);

extern void delay_ms(unsigned char t);

extern void delay_s(unsigned char t);

 

#endif


推荐阅读

史海拾趣

Galil Motion Control Inc公司的发展小趣事

Galil Motion Control Inc. 的五个发展故事

故事一:技术创新引领者

Galil Motion Control Inc.,成立于1983年,位于美国加州硅谷中心,是电子行业中运动控制技术的先驱。公司成立初期,便致力于研发基于微处理器的精密运动控制器。据《DESIGNNEWS》杂志报道,Galil是全球第一家推出数字运动控制器的公司,这一技术创新在业界引起了巨大反响。此后,Galil不断推陈出新,其产品已发展到第五代,采用RISC结构的DSP技术,结合最新控制理论及网络技术,使得伺服更新速率和指令执行周期显著提升,引领了运动控制领域的技术潮流。

故事二:全球市场的扩展

随着技术的不断成熟,Galil的产品逐渐在全球市场上占据了一席之地。目前,全球有超过500,000台Galil的运动控制器在稳定运行,应用领域覆盖了医疗、半导体、纺织、物料搬运、食品加工、机床、产业机械、航天、测试测量等多个行业。这一广泛的应用不仅证明了Galil产品的可靠性和稳定性,也为其在全球市场的扩展奠定了坚实的基础。

故事三:分布式运动控制器的诞生

在进入21世纪之初,Galil公司又开发出了DMC3425分布式运动控制器。这款控制器不仅提供了API函数支持高级应用开发,还引入了极其简单易学的2字符命令集,使得应用编程变得如同书写英文字母般简单。这一创新不仅降低了用户的学习成本,也极大地提高了系统的开发效率,进一步巩固了Galil在运动控制领域的领先地位。

故事四:与光纤激光切割技术的结合

近年来,随着激光切割技术的快速发展,Galil公司也紧跟这一趋势,将运动控制技术与光纤激光切割技术相结合。通过设计以Galil控制卡为核心的四轴联动伺服控制系统,实现了激光切割设备的高精度控制。这一结合不仅提升了激光切割设备的性能,也拓展了Galil运动控制技术的应用领域,为工业制造带来了更多的可能性。

故事五:全球销售与服务网络的建立

为了更好地服务全球客户,Galil公司在全球范围内建立了完善的销售和服务网络。目前,Galil拥有众多销售代理商,遍布世界各地。这些代理商不仅负责产品的销售工作,还为客户提供专业的技术支持和售后服务。通过这一网络,Galil能够迅速响应客户的需求,确保每位客户都能获得最佳的产品体验和服务保障。这种以客户为中心的服务理念,也为Galil赢得了良好的市场口碑和广泛的客户认可。

Bogen Communications Inc公司的发展小趣事

Bogen Communications Inc公司起初只是一个小型的电子设备制造商,但公司高层看到了市场的巨大潜力,决心进行市场拓展。通过精准的市场定位和有效的营销策略,公司成功地将产品打入多个国家和地区。同时,公司还注重品牌建设,通过提升产品质量、优化客户服务等方式,逐渐树立了良好的品牌形象。

Diode Laser Concepts公司的发展小趣事

在电子行业日益关注环保的背景下,Diode Laser Concepts公司积极响应,将环保理念融入产品设计和生产过程中。公司采用环保材料,优化生产流程,减少废弃物排放,致力于为客户提供绿色、环保的二极管激光产品。这一举措不仅提升了公司形象,也为公司赢得了更多客户的青睐。

Coors Components Inc公司的发展小趣事

随着电子行业的不断发展,智能化、绿色化成为了行业的新趋势。Coors Components Inc公司敏锐地捕捉到这一趋势,加大了对智能电子产品和环保材料的研发力度。通过不断推出符合市场需求的新产品,公司成功抓住了行业发展的机遇,实现了快速发展。

Ava Electronics Corp公司的发展小趣事

在市场竞争日益激烈的情况下,AVA电子意识到单打独斗已经难以应对市场的挑战。于是,公司开始寻求与上下游企业的合作,通过产业链整合实现协同发展。AVA电子与供应商建立了长期稳定的合作关系,确保了原材料的稳定供应和质量保障;同时,公司还与多家销售渠道商建立了战略合作关系,共同开拓市场。这种产业链整合的模式不仅降低了公司的运营成本,也提高了公司的市场竞争力。

BOPLA公司的发展小趣事

为了进一步提升公司的竞争力,BOPLA积极寻求与其他企业的合作机会。通过与上下游企业建立紧密的合作关系,公司实现了产业链的协同发展。同时,BOPLA还与其他创新型企业进行技术交流和合作研发,共同推动电子行业的发展。这种合作模式不仅提升了公司的技术水平,还为公司带来了更多的商业机会和发展空间。

以上便是关于BOPLA公司在电子行业中发展的几个可能的故事情节。这些故事展示了BOPLA在创业初期、技术突破、市场拓展、绿色转型以及合作与共赢等方面的努力和成就。当然,实际的发展过程可能更加复杂和多变,但无论如何,BOPLA都以其坚韧不拔的精神和不断创新的态度,在电子行业中留下了深刻的印记。

问答坊 | AI 解惑

射频测试的趋势

无线通信的市场需求持续加速,同时伴随着向数据应用的转移,比如短信息、网络浏览和GPS等应用。这些应用需要更高的数据传输率来实现更佳的用户体验,这需要在有限的频谱上采用新的传输方式。一些相当有效率的调制方式和数字编码算法得到了采用,与 ...…

查看全部问答>

7种替代能源[有几种你绝对想不到]

石油危机使替代能源成为了热门话题。而这篇文章介绍了七种可替代石油的新能源,以及应用这七种替代能源的汽车。[[[你对哪种最感兴趣] 曾高达每加仑4美元的汽油价格使燃烧汽油成了奢侈品,寻找替代能源成了急切的任务。但哪些汽车能应用这些替代 ...…

查看全部问答>

关于the golbal default build tree (WINCEROOT) has not been set问题

我先安装好vs2005,再装上Embedded CE 6.0   用vs2005建立Platform Builder for CE 6.0工程时,提示the golbal default build tree (WINCEROOT) has not been set ......。 然后我在Tools-Options-Platform Builder for CE里面重新设置 ...…

查看全部问答>

51单片机+MC39I的PPP连接

最近在用51单片机和MC30I进行GPRS拨号,PPP连接过程有问题,下面是连接过程中收发的数据包: 1,GPRS-TO-51:7E FF 03 C0 21 01 03 00 7D 39 02 06 00 0A 00 00 07 02 08 02 05 06 CF 34 94 FD 03 05 C2 23 05 EA 3B 7E 2,51-TO-GPRS:7E FF ...…

查看全部问答>

PDA与单片机如何进行红外通信

PDA与单片机如何进行红外通信? 使用COM3高速红外,发送数据被包裹了红外协议Irda的数据,通过COM2口Raw IR,则数据混乱,且在1200波特,未检测到发送数据,请高手指导!!…

查看全部问答>

昨天收到MCU DAY承诺的msp430无线模块

    板子做的很精致  连电池都送来了。一个收一个发。有时间可以开发开发。…

查看全部问答>

锁相环MC145170基本控制程序

#include <REG51.h>#define c_register 7#define n_register 15#define r_register 14sbit Din = P2^1; sbit ENB = P2^2;sbit CLK = P2^3;void MC145170_Reset(void){unsigned char Bit_shift_counter; Bit_shift_counter=0;CLK=0;ENB=1;Din=0; ...…

查看全部问答>

Multisim 的示波器显示速度很快,要如何慢下来?

大家好: 我在操作 Multisim 的示波器时发觉画面闪得很快,不知道有没有什么方法可以让画面显示平稳一点,或是慢动作播放,谢谢。…

查看全部问答>

谁能告诉我,C2000的LAUNCHPAD板子如何下载程序?如何在线调试?

谁能告诉我,C2000的LAUNCHPAD板子如何下载程序?如何在线调试?上次从论坛得了一C2000的开发板,最近论坛在宣传培训C2000板子。于是哥填了根内存条(原来是1G的),装好之后,按照大神们的资料学习。看了半天,试了半天,但不知道如何实现程序下载 ...…

查看全部问答>

ADI 系列芯片哪个用到的哦?

电能表、配电设备、电子数据采集及变频控制等应用到的IC : ADE7752      ADE7753      ADE7758      AD7874     AD7864     AD73360  ...…

查看全部问答>