MSP430F149流水灯闪烁以及数码管的显示

发布者:painter最新更新时间:2017-01-09 来源: eefocus关键字:MSP430F149  流水灯闪烁  数码管 手机看文章 扫描二维码
随时随地手机看文章

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

电路示意图:

 

示例代码:

#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);



}

然程序按照51的方式写出来了,但是问题出现了,把该程序下载到板子上,结果发现不是第一个数码管亮,改变段选,结果数码管又亮了,这是led灯后三位也亮了,不知道怎么回事,这个程序还有待完善~~


关键字:MSP430F149  流水灯闪烁  数码管 引用地址:MSP430F149流水灯闪烁以及数码管的显示

上一篇:MSP430主系统时钟以及430的低功耗设置
下一篇:msp时钟设置程序

推荐阅读最新更新时间:2024-03-16 15:29

8位数码管电子时钟仿真图及程序源代码
利用8位数码管显示时间,原理与4位数码管显示的基本一样 仿真图: 程序源代码: 本程序已经通过在线软件仿真和硬件制作. org 0000h ;程序开始入口地址 sjmp main ;跳转至主程序 org 000bh ;T0中断入口地址 ljmp inti0 ;跳转至T0中断程序 org 001bh ;T1中断入口地址 ljmp inti1 ;跳转至T1中断程序 org 0030h main:mov tmod,#11h ;设T0、T1为模式1 mov ie,#8ah ;开T0、T1允许中断 mov th0,#4ch ;赋T0 50ms初值 mov tl0,#00h mov th1,#4ch ;赋T1 50ms初值 mov
[单片机]
8位<font color='red'>数码管</font>电子时钟仿真图及程序源代码
51单片机实验4:静态数码管
开发板数码管模块电路图如下: 开发板数码管共阴连接,P0口通过输出阳极电平来控制段选,74ls138译码器通过控制8个数码管的阴极电平来控制位选。 实验任务:点亮第一个数码管并使其显示数字0; P2^2,P2^3,P2^4口置0,使138译码器译码为1000 0000,即第一个数码管阴极电平为0,其他7个数码管阴极电平为1。 P0口置为0x3f,即:0011 1111,(二极管a b c d e f亮,构成数字0) 代码如下: #include reg52.h #include intrins.h #define uc unsigned sbit lsa=P2^2; sbit lsb=P2^3; sb
[单片机]
51单片机实验4:静态<font color='red'>数码管</font>
PIC单片机对数码管的动态扫描显示设计
#include//包含单片机内部资源预定义 __CONFIG(0x1832); //芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡 voiddelay();//delay函数申明 voidinit();//I/O口初始化函数申明 constcharTABLE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92};//定义常数0-5的数据表格 voidm ai n()//主函数 { while(1)//死循环,让数码管持续点亮 { init();//调用初始化函数 PORTD=TABLE[0];//D口输出数据表格第1个数据0 PORTA=0X3E;//点亮第1位数码管 de
[单片机]
PIC单片机对<font color='red'>数码管</font>的动态扫描显示设计
avr单片机proteus仿真第三课:单只数码管
数码管选7SEG-MPX1-CC,共阴极数码管。也就是低电平选通(最右脚),数码管左边8只管脚,从左到右,由低到高,分别接PC0---PC7。 c程序如下: #include avr/io.h #include util/delay.h #define int8u unsigned char #define int16u unsigned int const int8u seg_code ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; int main() { int8u i=0; DDRC=0xff; while(1) { PORTC=seg_code ; i=
[单片机]
avr单片机proteus仿真第三课:单只<font color='red'>数码管</font>
基于MSP430F149单片机为核心的展馆人员登记与录入系统设计
文章主要阐述了一种运用视频图像分析技术进行人员登记与录入系统的设计。通过红外线采集人们入馆和出馆的信号并将其送入单片机MSP430F149中,单片机对信号进行处理统计入馆、出馆人数并在LCD12864液晶显示屏上显示出来,同时对进出馆的人进行拍照并存储。通过人员登记与录入系统可以及时得到馆内准确的人数和照片,有利于博物馆更高效的组织工作,它可与第三方软件系统进行集成,为科学决策提供数据支持。 人数统计系统在不同的应用场合可以发挥不同的作用。它可以为商场或零售点获取商场内部按不同时段分布的人数统计、人群流动方向等信息,有利于评估商品对于顾客的吸引力,以及评估商场选址是否适当;对于大型建筑,管理者可利用人数统计系统了解人群的行
[单片机]
基于<font color='red'>MSP430F149</font>单片机为核心的展馆人员登记与录入系统设计
C51---4.1 静态数码管显示
数码管引脚定义 原理图 74HC138 通过74HC138译码器的 P2_2 P2_3 P2_4 控制LED1-LED8 输出0为选中 例如 P2_2=1//低位 P2_3=0 P2_4=1//高位 101十进制为5 则第5位为有效 并且低电平有效。数码管为共阴极连接,所以LED5被选中 通过74HC138译码器选择LED 74HC245 74HC245为双向数据缓冲器 OE为低电平有效,芯片使能 A0-A7 与 B0-B7一一相连 DIR控制方向选择,高电平方向为A0- B0,低电平方向为B0- A0 代码 思路:通过74HC138选择LED1-8中的数码管,例如选择LED6 ,则控制 P
[单片机]
C51---4.1 静态<font color='red'>数码管</font>显示
51单片机计数器计数数码管显示
#include reg52.h #define uint unsigned int #define uchar unsigned char uchar code smg_tab ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//{0x28,0x7e,0xa2,0x62,0x74,0x61,0x21,0x7a,0x20,0x60,0x30,0x25,0xa9,0x26,0xa1,0Xb1}; uchar code bit_tab ={0x7f,0xbf}; uchar Counts=0; uchar Display_Buffer ={0,0}; void _del
[单片机]
74ls164驱动数码管电路 74ls164应用电路
74ls164应用电路 本文采用了74LS164 这个串入并出的移位寄存器,很好地解决了2051 与L ED 的显示接口电路。 1 硬件电路 2051 余下的并行I/ O 口线不足8 根,数据的并行输出已不可能,但可以考虑串行输出方法,图1 给出串行口扩展的4 位L ED 显示接口电路。该电路只使用2051 的3 个端口,配接4 片串入并出移位寄存器74LS164 与1 片三端可调稳压器LM317T 3 结束语 本串行口扩展的LED 显示接口电路已被笔者成功地应用到以AT89C2051 单片机为核心的智能仪表中,如单片机湿度测量仪、单片机温度测量仪等。现场运行表明,LED 显示清晰稳定不闪烁,特别是在现场环境如光照强弱不同的
[单片机]
74ls164驱动<font color='red'>数码管</font>电路 74ls164应用电路
热门资源推荐
热门放大器推荐
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved