这个程序主要部分是我改写的,程序把看门狗当做普通定时器使用,在看门狗中断中进行数码管扫描,另外我加入了显示的缓冲区,想在数码管上显示什么数字只需要对缓冲数组中的值进行操作即可。最后加入了小数点的操作,可以很方便的加入小数点,程序如下:

/********************************************** 程序功能:在八位数码管上显示任意数字 ----------------------------------------------- 拨码开关设置:将SMG位拨至ON,其余拨至OFF 测试说明:观察数码管显示 ***********************************************/ #include <msp430x14x.h> typedef unsigned char uchar; //数码管7位段码:0--f uchar scandata[16] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//段码 uchar dispbitcode[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//将端口的片选信号编码 uchar disbuf[8] = {8,8,1,3,1,9,4,2};//存放要显示的数据 //记录显示位数的全局变量 uchar cnt = 0;//用来扫描计数 uchar dotn = 2;//用来选择第几位后面显示小数点 /********************主函数********************/ void main(void) { /*下面六行程序关闭所有的IO口*/ P1DIR = 0XFF;P1OUT = 0XFF; P2DIR = 0XFF;P2OUT = 0XFF; P3DIR = 0XFF;P3OUT = 0XFF; P4DIR = 0XFF;P4OUT = 0XFF; P5DIR = 0XFF;P5OUT = 0XFF; P6DIR = 0XFF;P6OUT = 0XFF; //这里面看门狗用作普通的定时器,要来对数码管进行动态扫描,如果看门狗有其他作用 //可以用定时器代替 WDTCTL = WDT_ADLY_1_9; // 设置内部看门狗工作在定时器模式,1.9ms中断一次 //可以去看头文件中具体的配置,这里使用的手表晶振64分频计算可得是1.9ms IE1 |= WDTIE; // 使能看门狗中断 P6DIR |= BIT2;P6OUT |= BIT2; //关闭电平转换 P5DIR = 0xff; //设置P4,P5的IO方向为输出 P4DIR = 0xff; P5OUT = 0x00; //设置P4,P5的输出初值 P4OUT = 0xff; _BIS_SR(LPM3_bits + GIE); //CPU进入LPM3低功耗模式,同时打开全局中断 //这个地方要注意LPM3低功耗模式下其他时钟源是关闭的,只能使用ACLK时钟源 } /******************************************* 函数名称:watchdog_timer 功 能:看门狗中断服务函数,在这里输出数码管的 段选和位选信号 参 数:无 返回值 :无 ********************************************/ #pragma vector=WDT_VECTOR __interrupt void watchdog_timer(void) { P4OUT = 0xff; uchar temp; if(cnt == (dotn-1))//判断要不要显示小数点 { temp = scandata[disbuf[cnt]]&0x7F;//如果要显示的就将要显示的段码先进行一步运算 P5OUT = temp; } else P5OUT = scandata[disbuf[cnt]]; //输出段选信号 P4OUT ^= dispbitcode[7-cnt]; //输出位选信号由于用了三极管驱动,实际是低电平选通因此翻一下。 //发现显示的顺序是倒着的,减一下把顺序正过来 cnt++; //位计数变量在0~8之间循环 if(cnt == 8) cnt = 0; }

MSP430学习笔记6-动态数码管的显示相关推荐

  1. xcode 学习笔记2:动态添加view

    xcode 学习笔记2:动态添加view 2011-07-06 16:48:39|  分类: 计算机学习|字号 订阅 前面说的都是用的Interface Builder来编辑.xib文件来给窗口添加各 ...

  2. MyBatis:学习笔记(4)——动态SQL

    MyBatis:学习笔记(4)--动态SQL 转载于:https://www.cnblogs.com/MrSaver/p/7453949.html

  3. JavaWeb学习笔记(动态SQL)

    JavaWeb学习笔记(动态SQL) 动态SQL中的元素 < if>元素 < choose>.< when>.< otherwise>元素 < w ...

  4. 学习笔记——共阳数码管的动态显示

    目录 一.任务简述 二.实现方法 三.参考代码 一.任务简述 在CT107D单片机上实现动态数码管的显示,在8位数码管中,前4位显示年份"2022",接着2位显示"–&q ...

  5. OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪 OpenCV学习笔记(三十七)——实用函数、系统函数、宏core OpenCV学习笔记(三十八)——显示当前FPS OpenC

    OpenCV学习笔记(三十六)--Kalman滤波做运动目标跟踪 kalman滤波大家都很熟悉,其基本思想就是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加 ...

  6. 51单片机控制动态数码管的显示

    动态数码管的显示 学会设计静态数码管的显示后,我们可以在各个静态数码管显示之间加入延时函数,写进while(1)循环内,这样就能实现动态数码管的显示.根据以前的内容,我们先生成延时函数,然后写一个简单 ...

  7. 数码管动态显示c语言,动态数码管循环显示设计C语言及汇编代码(HUBU)

    动态数码管循环显示设计(HUBU电信) 实验任务(两个实验): 1.单只数码管循环显示0-9: 2.8只数码管滚动显示单个数字. 第一题实验电路如下: 此题我写的代码比较笨,同学们可以进行TAB列表操 ...

  8. python数码管动态时钟壁纸_8个动态数码管时钟显示

    8 个动态数码管时钟显示 #include #define uint unsigned int #define uchar unsigned char uchar i,temp,aa,miao,fen ...

  9. (实验12)单片机,STM32F4学习笔记,代码讲解【OLED显示实验】【正点原子】【原创】

    文章目录 其它文章链接,独家吐血整理 实验现象 主程序 OLED初始化程序 代码讲解 其它文章链接,独家吐血整理 (实验3)单片机,STM32F4学习笔记,代码讲解[按键输入实验][正点原子][原创] ...

最新文章

  1. mysql中如何操作字符串_mysql 字符串操作
  2. REM重复制造MFBF功能
  3. 【性能优化】EKPO/EKBE和LIPS做JOIN的问题
  4. python中二维数组如何按索引找元素_按索引或坐标访问二维数组中的元素
  5. Java基础IO流(五)RandomAccessFile
  6. 浅谈javascript继承【读javascript设计模式第四章节继承有感】
  7. linux安装后启动mysql,linux安装完mysql后启动错误
  8. Python中的回文详解
  9. C#读取Win32标准DLL文件中的Bitmap(位图)
  10. python读写excel模块pandas_如何用python pandas操作excel?
  11. Python的Lock对象和Condition对象对比
  12. php redis 日志模式,Redis的PHP客户端
  13. python 命令行 参数_Python命令行参数
  14. bat 文件 服务器,bat文件做成服务器
  15. MP4格式转换为AMV格式
  16. springboot集成微信APP支付V3最新版
  17. ASN.1入门(超详细)
  18. 韩国服务器搭建网站慢怎么办,如何提升韩国服务器访问速度?
  19. dva的用法_dva入门讲解
  20. Spark宽窄依赖详解

热门文章

  1. 根据txt中的文件名将文件复制到目标文件夹中
  2. C# Excel 导入
  3. Solr学习之一 --------环境搭建
  4. Struts2国际化文件乱码解决
  5. ASP.NET中App_Code,App_Data等文件夹的作用转
  6. 上证所Level-2在信息内容和传送方式方面的比较优势[逐笔数据与分笔数据的根本区别]...
  7. 数据库-ADONET-向数据库提交更新
  8. 浅谈工作流引擎的几个关键因素
  9. C#统计子字符串出现次数(转帖,http://www.it130.cn/)
  10. 1.1 计算机视觉-深度学习第四课《卷积神经网络》-Stanford吴恩达教授