单片机定时中断数码管程序

发布者:hzx312895379最新更新时间:2013-04-03 来源: 51hei关键字:单片机  定时中断  数码管 手机看文章 扫描二维码
随时随地手机看文章

;数码管 ---- 目的:学习查表及间接寻址定时中断
;完整代码下载地址: http://www.51hei.com/f/smysh.rar
 CHIP SN8F27E65
//{{SONIX_CODE_OPTION
 .Code_Option WDT_CLK  Flosc/4
 .Code_Option Reset_Pin P04
 .Code_Option LVD  LVD_Max  ; 3.3V Reset
 .Code_Option Watch_Dog Disable  ;关闭看门狗
 .Code_Option Low_Fcpu Flosc/1
 .Code_Option High_Clk IHRC_16M ; Internal 16M RC Oscillator
 .Code_Option High_Fcpu Fhosc/1
 .Code_Option Security Enable
 .Code_Option Noise_Filter Enable
//}}SONIX_CODE_OPTION
 DATAC EQU P4M
 DATA EQU P4
 LEDC EQU P0M
 LED EQU P0

.DATA;数据
 ORG  0
 TEMP  DS 1
 ACCBUF  DS 1
 PflagBUF DS 1

.CODE;程序代码
 ORG 0000H
 JMP A0
 ORG 000BH
 JMP T0
; ORG 0015H
A0: B0BCLR FT0IEN;关闭T0中断
 B0BCLR FT0ENB;禁止T0中断
 MOV A,#16;设置T0时钟
 B0MOV T0M,A;
 MOV A,#16;装初值
 B0MOV T0C,A;
 B0BCLR FT0IRQ;清中断标志
 B0BSET FT0IEN;开T0中断
 B0BSET FT0ENB;允许T0中断
 B0BSET FGIE;开总中断
 
 MOV A,#3;显示值
 MOV 41H,A
 
 MOV A,#2;显示值
 MOV 42H,A
 MOV A,#1;显示值
 MOV 43H,A
 MOV A,#0;显示值
 MOV 44H,A
;*********************************************
;显示设置
;*********************************************
A1: MOV A,#11111110B ;显示位码
 MOV 31H,A
 MOV A,#4;显示位数
 MOV 33H,A
 B0MOV H,#0 ; 清“H”以寻址RAM bank 0。
 B0MOV L,#41H ; 设定寄存器地址。
 JMP $
;*********************************************
;T0中断
;*********************************************
T0: B0BCLR FT0IEN;关T0中断
 B0BCLR FT0ENB;禁止T0中断
 B0XCH A,ACCBUF;压栈
 B0MOV A,PFLAG;
 B0MOV PFLAGBUF,A;
 MOV A,#0FFH;清显示
 B0MOV DATAC,A;
 B0MOV DATA,A;
 MOV A,#0FFH;
 B0MOV LEDC,A;
 MOV A,#0FFH;
 B0MOV LED,A;
T1:
 MOV A,#0FFH;设置为输出口
 B0MOV DATAC,A;
 B0MOV Y,#Q1$M;编码表地址
 B0MOV Z,#Q1$L;编码表地址
 B0MOV A, @HL;间接寻址
 ADD Z,A;寻找要显示编码
 MOVC ;查表高八位存在R低八位存在ACC
 B0MOV DATA,A;数据输出[page]
 
 MOV A,#0FFH;设为输出口
 B0MOV LEDC,A

 MOV A,31H;位码
 B0MOV LED,A
 MOV A,31H;处理位码的数由于没有RL只有RLC现在这里处理C
 MOV 32H,A
 RLC 32H
 RLCM 31H;移动位码
 INCMS L;显示数据控制寄存器处理
 CALL M001;延时提高亮度
 MOV A,#0FFH;清显示
 B0MOV DATAC,A
 B0MOV DATA,A
 MOV A,#0FFH
 B0MOV LEDC,A
 MOV A,#0FFH
 B0MOV LED,A
 DECMS 33H;自动减1判断是否也显示完成
 JMP T1
 
 MOV A,#11111110B ;显示位码
 MOV 31H,A
 MOV A,#4;显示位数
 MOV 33H,A
 B0MOV H,#0 ; 清“H”以寻址RAM bank 0。
 B0MOV L,#41H ; 设定寄存器地址。
 B0MOV A,PFLAGBUF;弹栈
 B0MOV PFLAG,A;
 B0XCH A,ACCBUF;
 MOV A,#16;设T0时钟
 B0MOV T0M,A;
 MOV A,#16;重装初值
 B0MOV T0C,A;
 B0BCLR FT0IRQ;清中断标志
 B0BSET FT0IEN;开中断
 B0BSET FT0ENB;允许中断
 B0BSET FGIE;开总中断
 RETI;
;******************************************
;延时子程序
;******************************************
M001: MOV A,#1
 MOV 51H,A
M002: MOV A,#24
 MOV 52H,A
M003: MOV A,#250
 MOV 53H,A
M004: DECMS 53H
 JMP M004
 DECMS 52H
 JMP M003
 DECMS 51H
 JMP M002
 RET
;******************************************
;编码表
;******************************************
Q1:   DW     00C0H        ;0
      DW     00F9H        ;1
      DW     00A4H        ;2
      DW     00B0H        ;3
      DW     0099H        ;4
      DW     0092H        ;5
      DW     0082H        ;6
      DW     00F8H        ;7
      DW     0080H        ;8
      DW     0090H        ;9
      DW     0088H        ;A
      DW     0083H        ;B
      DW     00C6H        ;C
      DW     00A1H        ;D
      DW     0086H        ;E
      DW     008EH        ;F
      endp

关键字:单片机  定时中断  数码管 引用地址:单片机定时中断数码管程序

上一篇:单片机跑灯程序
下一篇:松翰单片机外部中断程序

推荐阅读最新更新时间:2024-03-16 13:21

基于单片机数码管动态显示器的设计方案
  1.前言   数码管静态显示系统需要占用过多的单片机口线,但是可以保证正常的亮度。为了解决占用口线较多而浪费硬件资源等问题,研究人员开发了一系列诸如74HC595的数码管驱动芯片,该类芯片可以实现串行转并行的工作方式,驱动数码管实现静态和动态显示。但是,这样一种工作方式暴露出控制系统实时性不足等问题,在某些对系统响应时间要求比较高的场合的应用产生了一定的限制。为了解决上述几个弊端,本文提出了一种基于单片机的数码管动态显示器的设计方案,以IAP15F2K61S2系列单片机做控制核心,并采用全新的软硬件电路实现数码管的动态显示。   2.控制系统硬件设计   2.1 显示器外观设计   本显示器采用六个共阳极的数码管,按照
[单片机]
基于<font color='red'>单片机</font>的<font color='red'>数码管</font>动态显示器的设计方案
瑞萨推出血糖仪用MCU,内置生物感测电路
       瑞萨电子2016年10月5日宣布,开发出了供血糖仪、乳酸测试仪及胆固醇测试仪等医疗领域的电池驱动设备使用的16位MCU“RL78/L1A系列”的6款产品,已开始量产供货。新产品配备生物感测用模拟前端电路,原来必须使用不同仪器测量的血糖值和血红蛋白值可用同一个仪器测量。同时还推出了可即时评估产品功能的Promotion Board。        新产品有三大特点。第一,在模拟前端电路中内置了模拟开关。由于可根据测量对象切换合适的电路,因此可以开发从血液交互测量血红蛋白和血糖值的医疗设备。       第二,通过提供参考软件,容易提高使用D/A转换器、运算放大器、A/D转换器及基准电压电路等内置模拟前端功能的
[医疗电子]
SAM4E单片机之旅——1、LED闪烁之空循环
最近因为导师要写一本关于SAME4单片机的书籍,而我也作为一个嵌入式的初学者看了这本书。现在也让我写写几个小的程序,做做示例。既然写了文档之类的,就发到博客上来吧。 目前关于这芯片能参考的书籍大概就只有英文手册了。用的板子是SAM4E16E。IDE用的是Atmel Studio。既然是学习单片机,就没有使用asf框架,而是直接采用访问寄存器的方法了。 第一个程序就是控制板子上一个LED灯的闪烁了。 一、电路 通过查看电路图,可以发现有一个蓝色的LED灯连接在PA0引脚上。我们可以通过改变PA0输出的电平实现LED灯的闪烁。 二、寄存器的访问和CMSIS 对单片机的操作需要通过对相关寄存器的访问来实现。比如,为调节
[单片机]
SAM4E<font color='red'>单片机</font>之旅——1、LED闪烁之空循环
更便利、更高效,全新STM32WB无线微控制器问市
意法半导体推出整合基本功能与节能技术的新产品,扩大STM32WB* Bluetooth® LE微控制器(MCU)产品线。 双核微控制器 STM32WB15 和 STM32WB10超值系列 搭载主应用处理器Arm® Cortex®-M4和Bluetooth 5.2蓝牙处理器Cortex-M0+,保证两个处理器都能实现出色的实时性能。射频端链路预算达到102dBm,确保远距离网络连接稳定可靠,并集成巴伦(平衡-不平衡变换器)电路,节省电路板空间和材料清单成本。 新产品采用一种新的射频保持正常工作的超级省电模式,以及精心定制的外设和内存,适用于对成本敏感、注重功耗的嵌入式应用,包括可穿戴设备、信标、智能断路器、跟踪器, 物
[单片机]
更便利、更高效,全新STM32WB无线<font color='red'>微控制器</font>问市
基于STC15单片机的循迹避障遥控车
Altium Designer画的基于STC15的循迹避障遥控车原理图和PCB图如下: 单片机源程序如下: #include all.h extern unsigned char code INRECO ,TL ,TriLU ,TriLD ,TRU ,TRD ,FR ,TriRU ,TriRD ,ST ,TR ,BR ,Back ; extern bit deal_over; extern bit deal_over_flag; extern bit flag; extern ADC_BF_value,ADC_LR_value; bit Show_flag,Tracing_flag,U_flag,clean_flag,ligh
[单片机]
基于STC15<font color='red'>单片机</font>的循迹避障遥控车
单片机多机通讯在分布式安防系统中的应用
  安全防卫系统应用在许多场合,他的可靠性直接影响人们的生命财产安全。而不同的场合提出的防卫要求又各不相同,故安防系统的组成形式呈现多样化的趋势。目前的安防系统大多采用计算机+微控制器的方式,这样的系统结构复杂,所需的软、硬件支持多,成本高。我们针对某仓库安防提出的以下几点要求,从可靠性和实用性出发,利用单片机+RS485串口标准组成了一种分布式安防系统。该系统的要求如下:   (1)通信距离远 从站多达16个且距离较分散,各站之间相距都在km以上,最远约有5 000 m。   (2)实时性强 由于从站无人看守,主站必须每个时刻都知道从机是否在线,一旦发现异常情况,主站立刻做出相应的反应。   (3)抗干扰能力强 主站和从站都在恶
[单片机]
<font color='red'>单片机</font>多机通讯在分布式安防系统中的应用
ZigBee-CC2530单片机 - DMA方式复制数据
程序源码 #include ioCC2530.h #include stdio.h #define LED1 P1_0 // P1_0定义为P1_0 #define LED2 P1_1 // P1_0定义为P1_1 #define SW1 P1_2 //SW1端口宏定义 enum SYSCLK_SRC { RC_16MHz,XOSC_32MHz }; /**************************************************************/ #pragma bitfields = reversed //使用大端格式 typedef struct { uns
[单片机]
基于PIC单片机的倾角传感器的设计
0 前 言 设计中的倾角传感器是新型变质面积电容式倾角传感器,该倾角传感器技术是为数不多的、能够兼有结构简单、可靠性高、有通用传感器集成电路等优点的倾角传感器技术之一。在测绘仪器仪表、建筑机械、天线定位、机器人技术、坦克和舰船火炮平台控制、飞机姿态、汽车电子控制、石油勘探、海上平台监控等方面有广泛应用。 图1 倾角传感器原理图 1 倾角传感器的工作原理 倾角传感器的电路原理如图1所示。 检测电路由比较器A1、A2、双稳态触发器及电容充放电回路组成。C1、C2为可变介质面积电容式倾角传感器,其容量大小与倾角变化成比例。双稳态触发器的两个输出端A、B作为差动脉冲宽度调制电路的输出。设电源接通时,触发器的A端为
[单片机]
基于PIC<font color='red'>单片机</font>的倾角传感器的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习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