历史上的今天
返回首页

历史上的今天

今天是:2025年01月30日(星期四)

2020年01月30日 | MSP430F149流水灯闪烁以及数码管的显示

2020-01-30 来源:eefocus

今天下午写了一个流水灯闪烁的实验,总的来说,不难,因为这块板子集合的电路图没有上一块那么复杂,所以总的来说,还是比较顺手,开始的时候,出现流水灯没有流转的现象,原来是没有加入延时函数,后来经过调整,结果很快就出来了


电路示意图:

示例代码:


#include


#define CPU_F               ((double)8000000) 

#define delay_us(x)        __delay_cycles((long)(CPU_F*(double)x/1000000.0)) 

#define delay_ms(x)        __delay_cycles((long)(CPU_F*(double)x/1000.0)) 

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


void main( void )

{

  // Stop watchdog timer to prevent time out reset

  WDTCTL = WDTPW + WDTHOLD;

  unsigned char i=0;

  

  P2SEL = 0x0;//设置P2普通的I/O

  P2DIR = 0xff;//设置普通的输出

 

  

  while(1)

  {

      P2OUT = table1[i];

      delay_ms(50);

      i++;

      if(i == 8)

          i=0;

  }


  

}

 


实验板点亮数码管


实验板的电路图

示例代码:


#include


#define dula_l P6OUT &=~BIT6

#define dula_h P6OUT |=BIT6

#define wela_l P5OUT &=~BIT5

#define wela_h P5OUT |=BIT5



#define CPU_F               ((double)8000000) 

#define delay_us(x)        __delay_cycles((long)(CPU_F*(double)x/1000000.0)) 

#define delay_ms(x)        __delay_cycles((long)(CPU_F*(double)x/1000.0)) 


unsigned char scandata[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

                              0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

//记录显示位数的全局变量


void  main( void )

{

  // Stop watchdog timer to prevent time out reset

  WDTCTL = WDTPW + WDTHOLD;

  

  P6SEL = 0x0;//设置P6,P5,P4为普通的I/O

  P5SEL = 0x0;

  P4SEL = 0x0;

  

  P6DIR |=BIT6;//选择P6.6,P5.5为输出

  P5DIR |=BIT5;

  P4DIR = 0xff;

  

  wela_h;//拉高位选

  P4OUT = 0xff;

  wela_l;

  

  P4OUT = 0x0;//消影

  dula_h;

  P4OUT = scandata[4];//选择段选

  delay_ms(10);//延时

  dula_l;

  

  while(1);



}


推荐阅读

史海拾趣

AD Semiconductor公司的发展小趣事

AD Semiconductor是一家专注于模拟和数字混合信号集成电路的设计、生产和销售的公司。以下是该公司发展的五个相关故事:

  1. 公司成立与初期发展: AD Semiconductor成立于1990年,总部位于美国马萨诸塞州。公司的创始人具有丰富的集成电路设计和制造经验,致力于开发高性能、高可靠性的模拟和数字混合信号芯片。初期,公司主要专注于功率管理、数据转换和信号处理等领域。

  2. 技术创新与产品推出: AD Semiconductor在技术创新方面取得了多项突破,不断推出具有领先性能的芯片产品。公司的产品涵盖了模拟转换器、运算放大器、数据采集系统、功率管理器等多个系列,广泛应用于通信、工业控制、汽车电子等领域。

  3. 市场拓展与国际化发展: 随着产品线的不断完善和市场认可度的提升,AD Semiconductor逐步拓展了国内外市场。公司在美国、中国、欧洲等地设立了销售和技术支持中心,与全球各地的客户建立了合作关系。通过与国际合作伙伴的合作,AD Semiconductor的产品远销至全球各地,赢得了广泛的市场认可。

  4. 并购与战略合作: 为了加强自身的技术实力和市场地位,AD Semiconductor进行了一系列的并购和战略合作。其中最重要的是2015年,AD Semiconductor收购了一家专注于RF和微波集成电路设计的公司,进一步拓展了在无线通信领域的业务布局。

  5. 持续创新与未来展望: AD Semiconductor致力于持续创新,不断推出符合市场需求的新产品和解决方案。公司将继续加强技术研发投入,提升产品性能和稳定性,以满足客户在不断变化的市场需求。未来,AD Semiconductor将继续致力于成为模拟和数字混合信号领域的领先企业,并为全球客户提供更加优质的产品和服务。

Flexxon Pte Ltd公司的发展小趣事

随着电子行业的不断发展和市场需求的日益多样化,Flextronics(Flexxon Pte Ltd)开始实施多元化战略,积极拓展新的业务领域。公司不仅继续深耕消费电子、通信设备等传统市场,还积极涉足汽车电子、医疗电子、物联网等新兴领域。通过并购、合作等多种方式,Flextronics不断拓宽产品线和服务范围,为客户提供更加全面和专业的解决方案。这一战略调整不仅为公司带来了新的增长点,也进一步提升了公司的市场竞争力。

华润微(CRMICRO)公司的发展小趣事

尽管面临市场终端景气度低迷等挑战,华润微依然保持稳健的发展态势。公司积极应对市场变化,通过优化产品结构、加大研发投入等措施,不断提升自身竞争力。同时,华润微也看到了新能源业务等领域的巨大潜力,将其作为未来发展的重要方向。通过不断的技术创新和市场拓展,华润微有望在电子行业中实现更加辉煌的成就。

Curtis Instruments Inc公司的发展小趣事

在上世纪60年代至70年代的阿波罗登月计划期间,Curtis的技术和产品被美国航空航天局(NASA)广泛应用。在每个登月舱中,NASA都装备了多个Curtis消逝时间指示器,用于监控电力系统的运行情况。同时,阿波罗月球行走车上也安装了Curtis的电子电量安培小时计,以监控电池的使用情况。这些高精度、高可靠性的产品为NASA的太空任务提供了强有力的技术支撑。

ABCO公司的发展小趣事

ABCO公司初创时,电子市场竞争激烈,众多企业争夺市场份额。面对这样的环境,ABCO公司创始人凭借对电子技术的深刻理解,以及敏锐的市场洞察力,选择了专注于某一细分领域——高精度传感器的研发与生产。通过不断优化产品设计,提升产品性能,ABCO公司的传感器逐渐在市场上获得认可,为公司的起步奠定了坚实基础。

DIPTRONICS MANUFACTURING INC公司的发展小趣事

圜达实业于1985年在台湾新北市创立,创始人凭借对电子开关行业的深刻理解和前瞻视野,决定专注于研发制造各类程序开关、触动开关等产品。公司初创时期面临资金短缺、市场竞争激烈等挑战,但创始人凭借坚定的信念和不懈的努力,逐步在市场上站稳脚跟。

问答坊 | AI 解惑

今年的大学生电子竞赛题目,大学生做的出来???

本帖最后由 paulhyde 于 2014-9-15 09:38 编辑 我看了半天,要我在3天3夜做出来,不可想象。 我都3年研发经验了,而且参加过05年的电子竞赛,是天津市2等奖。 可是,看到现在的题目,我怀疑是大学生能做出来的吗??? 如果真能大学生自己做出 ...…

查看全部问答>

盘点2009:中国光伏十大年度关键词

这个世界已经越来越有方向感,一群远见的精英思想正在汇聚成一张清晰的低碳线路图,供人类未来抵达。拯救地球环境,不能或缺中国力量。2009年度,中国光伏正在赶往一条叫做社会责任的低碳大道上。…

查看全部问答>

Camera 应用开发

平台:6410+WINCE6.0 新开一个贴,再讨论一下这个CAMERA应用开发,因为本人一直是做驱动的,现在要写应用,而且是COM接口的directshow,所以有很多东西要向大家请教,    用640X480分辩进行preview 和 拍照都没有问题,但是,我驱动给di ...…

查看全部问答>

讨论 WINCE5 2440 中堆和栈的分配问题

在一个线程中定义一个数组, 大小为320*240*8 定义1:U8 cData[320*240*8];   这个应该存在系统的stack里面,结果data abort失败了,提示就是stack的问题,于是重新 定义2:U8 *cData = new U8[320*240*8]  ,这个没有问题 ...…

查看全部问答>

无线遥控控制直流电机

按键控制无线遥控发送是脉冲 现在我想对接收板接收到无线模块发送的信号进行分析 1.如果只是单个脉冲电机就微动一下 2.如果是连续的脉冲,电机就保持转动状态,再发一个脉冲,电机才停止 现在不知道如何判断发送的是单个脉冲还是连续脉冲 请高 ...…

查看全部问答>

楼主,我能不能用DMA实现这个功能

我用双路AD同步采集,采集后的数据通过DMA传送的一个32位数组空间内,采集100次,100次后AD采样自动从从数组的开始位置存放。是不数不能实现这个功能啊?我怎么做不出来啊,我的数据只能采集16个,而且数据好像不是按我的要求去转换不同的通道…

查看全部问答>

TI 原厂LM3S8962板上调试部分的 CPLD 起到什么样的作用呢

TI  原厂LM3S8962板上调试部分的 CPLD 起到什么样的作用呢? 设计调试仿真器的时候,是否可以不用它?…

查看全部问答>

F2812断货原因

请问F2812为什么出现断货,什么时候恢复正常…

查看全部问答>

Unix环境高级编程 习题

附录A   函数原型 497附录B   其他源代码 512附录C   习题答案 518…

查看全部问答>