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

51开发板数码管:固定显示\闪烁显示\走灯显示“--8051--“,字符可以任意更改,较为灵活 1、数码管固定显示"--8051--"约5s时间。3、向左移动走字显示"--8051--"3遍。2、闪烁显示"--8051--"5次。汇编语言的代码有空会补上~~~~~~4、重复执行1~3。实现代码:(c语言) 阅读详情

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

电路示意图:

 

示例代码:

#include<msp430x14x.h>

#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<msp430x14x.h>

#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灯后三位也亮了,不知道怎么回事,这个程序还有待完善~~

 

版权所有,转载请注明链接地址:http://www.cnblogs.com/fengdashen/p/3403954.html

 

MSP430F149微控制器源程序实战指南 微控制器是嵌入式系统的核心,MSP430F149作为德州仪器(Texas Instruments)旗下的一款经典16位微控制器,因其低功耗和高性能在工业及消费电子领域获得了广泛应用。本章将详细介绍MSP430F149的硬件结构、核心特点以及如何在项目中发挥其优势。MSP430F149微控制器包含中央处理单元(CPU)、内存、多种外设接口和模块,以及能够实现高级集成和简化设计的片上资源。 阅读详情

相关推荐

MSP430F149流水灯例程

程序功能:实现流水灯以三种流动方式和四种流动速度 的不同组合而进行点亮"流动" ------------------------------------------------ 拨码开关设置:将LED位拨至ON,其余拨至OFF 测试说明:观察流水灯流动顺序和速度的变化

一种让数码管闪烁算法

数码管闪烁算法 最近做了一个大作业,在用数码管显示rtc时间时想让某个数码管位置闪烁,虽然不难,感觉还是能常用到的。 代码如下,这里让case5和7位置闪烁 /********************************************************** 数码管显示年月日 **********************************************...

qq_41816727的博客 3160

51单片机 经典4位数码管显示,带闪烁位

经典4位数码管显示,带闪烁位51单片机

单片机中动态数码管闪烁问题

以51单片机为例,数码管动态显示如何让某一位数值闪烁,考虑到有新人不一定能熟练运用定时器和中断,这里提供两种简单的思路。 本次示例中让数码管某一位亮起的函数为 XianShi(数码管位置,显示的字符)。 1.利用if语句让需要闪烁的一位先显示一段时间(或次数),再让其显示“空”一段时间。 数码管是不能同时显示多位字符的,我们可以先让某一位显示,再让其显示空字符,其他位置的数码管不变,利用main函数的刷新原理和人眼的视觉暂留就可以实现闪烁,本次示例均令第一位数码管闪烁,示例代码如下: ...

weixin_59954476的博客 1万+

51单片机教程实例43-数码管闪烁

51单片机教程实例43-数码管闪烁

抖音直播参数逆向实战:手把手教你用Python获取ttwid和x-bogus(附完整代码)

本文深入解析抖音直播接口的反爬机制,重点剖析核心防护参数ttwid和x-bogus的生成原理与作用。通过Python实战,手把手教你逆向获取ttwid、webid等关键参数,并构建稳定的数据采集方案,为开发者提供企业级数据获取能力。

weixin_29196891的博客 1044

单片机C语言实例:5、数码管闪烁

【代码】单片机语言实例:5、数码管闪烁。

m0_49968063的博客 5112

[仿真实战]FDTD Solutions 8.0:从零搭建薄膜光谱分析模型

本文提供了一份基于FDTD Solutions 8.0的薄膜光谱分析模型从零搭建实战指南。通过详细步骤,手把手教你创建玻璃基底与硅薄膜的几何结构、设置仿真区域与边界条件、配置光源与监视器,并最终计算反射率与透射率光谱。内容涵盖参数扫描与优化,旨在帮助用户快速掌握FDTD仿真在纳米光子学与薄膜光学设计中的核心应用。

defi6farmer的博客 500

51单片机数码管闪烁c语言,51单片机--设置数码管的闪烁位置,便于输入数字...

/*有四个独立按键为 K1~K4,有四个数码管,可显示 0000~9999。初始时都显示 0。四个数码管中,有一个处于闪烁状态。闪烁的频率为 1Hz。利用 K3、K4 可以使得闪烁的位置左右移动。只有不停闪烁的位,才可以用 K1、K2 使其数值递增或递减。数值的范围是 0~9。题目连接:http://zhidao.baidu.com/question/455550887523150405.html...

weixin_35642587的博客 2415

Matcap与菲涅尔

菲尼尔效果(简化版公式):fresnel = base + scale*((1-v*n)^power)透明队列为后前渲染,不关闭深度写入则会覆盖之前的像素,导致混合不了。y的值为0~1,根据x3返回对应y值。两色混合做个demo看看!混合为什么要关闭深度写入?

weixin_62773441的博客 372

从DWS到设备树:MTK平台LK阶段GPIO初始化的隐秘路径与调试实战

本文深入探讨了MTK平台LK阶段GPIO初始化的完整流程,揭示了从DWS配置到设备树生成的隐秘转换路径。通过分析MT6768等平台的启动框架,提供了针对preloader到LK阶段GPIO初始化异常的实战调试方法与最佳实践,帮助开发者有效解决硬件与软件配置不匹配的常见问题。

h9j8k7l6m5n的博客 1003

动态数码管显示的51程序

请注意,此程序中使用了`delay`函数来实现延时。在实际应用中,延时的时间可能需要根据实际情况进行调整。此外,数码管的段选和位选的连接方式可能需要根据硬件连接进行修改。动态数码管显示是一种常见的嵌入式系统应用,特别是在51单片机上。下面是一个简单的51单片机动态数码管显示的程序,使用4位共阳极数码管,连接到P0口。当在51单片机上使用C语言编写动态数码管显示程序时,一般会使用Keil C编译器。这个程序会循环显示数字0到9,每个数字显示一段时间。这个程序使用了简单的循环和延时来实现动态显示。

公众号:风景邮递Yuan的博客 1426

特斯拉数字孪生4.0体系解析:从“数字镜像“到“持续进化“的造车革命

当每一辆汽车都拥有自己的“数字分身”,我们正见证的不仅是技术革新,更是整个制造业文明形态的跃迁。其数字孪生体已超越“数字镜像”的被动属性,成为。特斯拉年服务收入超1200美元/车的业绩表明,数字孪生正在将汽车从“交通工具”转变为“持续增值的智能终端”。构建起覆盖设计、制造、使用、服务全链条的虚拟镜像体系,将物理世界与数字世界的融合推向新高度。:特斯拉的实践证明,数字孪生已从“技术选项”升级为“战略必选项”。不仅重塑了汽车产品的价值创造逻辑,更预示着整个制造业向“元宇宙工业”演进的新范式。

beige888的博客 1608

C51单片机使用3-数码管显示

数码管有单位数码管、双位数码管和其它多位数码管。如下图所示单个的数码管共10个引脚,显示不同的数字需要7个引脚,小数点占用1个引脚,公共端占用1个,厂家为了生产方便同意10个引脚,3和8引脚都是公共端。根据公共端接线不同分共阴和共阳。单个的数码管的原理如下比如:显示数字“8”,则需要点亮a、b、c、d、e、f、g引脚显示数字“5”,则需要点亮a、c、d、f、g引脚。......

panjinliang066333的博客 1万+

PLC1200使用CB1241RS485通讯模块做从站进行Modbus Rtu通信

添加新设备(PLC)->设备和网络管理->点击PLC->看到硬件目录选择通信板->点到点->CB1241(RS485)->看到6ES7241-1CH30-1XB0选择添加,如图。指向Modbus保持寄存器数据块的指针 我这里指向了自定义的DB块数据中一个INT数组。在通信->通信处理模块->MODBUS(选择不带RTU的通信指令块)注意:接线时,TRA接485调试模块的B- TRB接调试模块的A+组态后的硬件标识符 270 对应自己组态后自动生成的。1:事务完成,且无任何错误。波特率对应自己使用的。

swmyaopeng的博客 2万+

Android逆向分析

Android 逆向开发是指对已发布的 Android 应用进行分析和破解,以了解应用程序的内部工作原理,获取应用程序的敏感信息,或者修改应用程序的行为。Android应用 Java编写的,利用Android SDK编译代码,并并且把所有的数据和资源文件打包成一个APK(Android Package)文件这是一个后缀名为.apk的压缩文件,apk文件中包含了一个Anddroid应用程序的所有内容,是Android平台用于安装应用程序的文件。

qq_51598534的博客 6294

51单片机实验三:数码管显示时钟 按键调节时间时闪烁提示

功能效果:1.时分秒的动态显示。2.用三个按键实现时分秒的修改,调节的数字闪烁提示。

weixin_64459915的博客 8503

储能电池管理系统介绍(一)

介绍储能BMS的架构以及各模块功能

manjixingkong1234的专栏 1916

流水灯程序,单个数码管程序,四位一体数码管程序,1602程序

我们首先定义了数码管显示的码表,然后利用三个数码管选择锁存器(LSA,LSB和LSC)进行选择,执行函数 display() 和 delayms() 进行时间显示和时间延时操作。2. 倒计时的循环过程中,控制第一位数码管的段锁存引脚为高电平,选择相应的码表中的值,然后控制位选锁存引脚为高电平,选择第一个数码管进行显示,实现显示效果。// 函数声明,显示字符串。delay(500);

m0_72524655的博客 890

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

第三十节:数码管通过闪烁来设置数据。

第三十节:数码管通过闪烁来设置数据。 开场白:    上一节讲了一级菜单,这一节要教会大家两个知识点: 第一个:二级菜单的程序的程序框架。 第二个:继续加深熟悉鸿哥首次提出的“一二级菜单显示理论”:凡是人机界面显示,不管是数码管还是液晶屏,都可以把显示的内容分成不同的窗口来显示,每个显示的窗口中又可以分成不同的局部显示。其中窗口就是一级菜单,用ucWd变量表示。局部就是二级菜单,用uc

yuanmeixiang的专栏 6265

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

c语言数码管选中位闪烁功能n,plc编写程序,实现一个led数码管闪烁4次熄灭

满意答案gthryjty2015.12.24采纳率:55%等级:12已帮助:10414人#include#include #define uchar unsigned char#define uint unsigned intsbit led=P3^3; //P3^3--LED--电源,这样接法,即低电平点亮//P0接数码管的段//P2接数码管的位//共阴数码管的段定义,0~9// uc...

weixin_36316494的博客 1237

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

51单片机教程:数码管动态显示(0~99999999)74hc138驱动

数码管动态显示0~99999999 一、共阴极8位数码管原理 那么,如果要显示:‘123’ ,首先科普一些必要知识 1、多位数码管是扫描显示,也就是同一时刻只有一个数码管显示 2、视觉暂留效果:第一个数码管显示完,第二个数码管接着显示,接着后面数码管一次显示,当显示(扫描)足够快的时候,人眼是看不到闪烁的,就认为多个数码管是同时显示的 比如说要显示12345678,你看起来8个数码管是同时亮的,其实同一时刻只有一个数码管是亮的 我们把时间放慢,看看数码管都发生了什么变化: 1、第1毫秒 2、第二毫

mbs706的博客 4万+

51单片机数码管闪烁显示

调节时间时闪烁 #include "reg52.h" //unsigned char code LED[]={231,219,189,126}; //void main() //{ // unsigned int I=0,D=0; // bit k; // while(1) // { // I=55555; // while(I--); // P1=LED[D]; // D+=!...

浤济的专栏 7874

单片机数字钟(调时,调时闪烁,万年历,年月日)超详细解析

2019/07/13 单片机数字钟(调时,调时闪烁,万年历,年月日)超详细解析+代码 发表日期:2019/07/13 单片机开发板:巫妖王2.0, 使用同款开发板可直接上板测试 文档说明: 实现功能 : 一分钟闹钟 , 调时 ,调闹钟时间 , 年月日与日期切换 ,闹钟年月日与日期切换 , 停止计时 , 调时闪烁:调哪位低位闪烁 实现功能的学习板: 巫妖王 2.0 (不同的开发板,外围电路连接不同)(对应...

qq_40564448的博客 6223
上一篇: 感慨
下一篇: msp时钟设置程序
hust我是船长
博客等级 码龄14年 24粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值