单片机设计报告_第1页
单片机设计报告_第2页
单片机设计报告_第3页
单片机设计报告_第4页
单片机设计报告_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计课 程 设 计 报 告学生姓名:任冬冬学 号:2013301020122学 院:电气工程学院班 级:电信131题 目:单片机系统设计-带有温度计的数字时钟指导教师:高洪学、李辉 职称: 实验老师、讲师 2015年9月16日42HCY摘 要 主要功能包括数字钟、无线控制和温度计。数字钟通过时钟芯片DS1302实现,时钟准确,误差小;无线控制采用红外遥控,成本低,操作距离适中;温度采集采用温度传感器DS18B20,精度高。系统扩展、系统配置灵活。容易构成何种规模的应用系统,且应用系统较高的软、硬件利用系数。单片机具有可编程性,硬件的功能描述可完全在软件上实现,而且设计时间短,成本低,

2、可靠性高。综上所述,利用振荡电路与单片机结合实现电阻、电容、电感测试仪更为简便可行,节约成本。所以,本次设计选定以STM8S105系列单片机为核心来进行。关键词:STM8单片机、红外无线、DS18B20、DS1302目录0. 前言1. 方案比较及选择4 1.1显示部分41.2 红外遥控器51.3 红外接收电路5 1.4温度采集5 2. 硬件电路设计62.1 单元电路设计62.1.1 单片机控制电路设计62.1.2 显示电路设计72.1.3 时钟电路设计82.1.4温度采集电路设计82.1.5 红外接收电路设计82.1.6 电源电路设计9 2.2 整体电路103. 系统测试及结果124. 设计心

3、得12参考文献12附录1 电路原理图及印刷板图13附录2 源程序141. 方案比较及选择1.1显示部分方案一:数值显示可采用LED点阵显示,如16*16点阵方案二:采用七段数码管显示数值,如共阴数码管方案选择:考虑到数码管显示操作简单,硬件电路少,本设计采用数码管显示。1.2 红外遥控器方案一:采用红外发射二极管,搭配单片机,软件编码再结合按键检测可以自制专业红外反射器方案二:采用市面上现成的遥控器方案选择:由于自己搭建发射电路复制和制作成本高,这里采用现成的红外遥控器,38KHZ载波。1.3 红外接收电路方案选择:结合发射器,这里采用一体化红外接收头HS0038,方案不做比较。1.4温度采集

4、方案一:可以采用AD595温度传感器,结合STM8S单片机内嵌的ADC采集电压经过软件计算,进而得到温度值方案二:采用单总线数字温度传感器DS18B20方案选择:由于模拟传感器需要配合前置电路和数模转换器,需消耗成本,这里采用数字传感器DS18B201.5 单片机方案方案一:51单片机 51单片机是目前应用最广泛的8位单片机之一,很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。其功能特点如下: a、可以仿真63K程序空间,接近64K 的16位地址空间; b、可以仿真64Kxdata 空间,全部64K 的16位地址空间; c、可以真实仿真全部32 条IO脚; d

5、、完全兼容keilC51 UV2 调试环境,可以通过UV2 环境进行单步,断点, 全速等操作; e、可以使用C51语言或者ASM汇编语言进行调试 ; f、可选 使用用户晶振,支持040MHZ 晶振频率; g、片上带有768字节的xdata,可以在仿真时选用,进行xdata 的仿真; h、可以仿真双DPTR 指针; i、可以仿真去除ALE 信号输出。 方案二:STM8单片机STM8S是意法半导体公司近些年推出的8位微处理器,与AVR等新一代8位微处理器相比,其功能更强大,但价格相对便宜。其功能特点如下: a、最大支持128kB FLASH、6Kb RAM、2Kb EEPROM, 可达30万次擦写

6、,最大封装有68引脚; b、灵活的时钟控制,4个主时钟源,并带有时钟监控的时钟安全保障系统 c、带有32个中断的嵌套中断控制器,6个外部中断向量,最多27个外部中断;d、高级控制定时器:4 个捕获/ 比较通道,3 个互补输出,死区控制和灵活的同步,16 位通用定时器,带有3 个捕获/ 比较通道(IC、OC 或 PWM),带有8位预分频器的8 位基本定时器,自动唤醒定时器,2 个看门狗定时器:窗口看门狗和独立看门狗;e、非常强健的I/O 设计,对倒灌电流有非常强的承受能力。方案选择:51 单片机是一款典型的单片机,但是由于51 单片机的FLASH 和RAM 都比较小,寄存器和定时器的数量少,体积

7、大,所以不建议采用。方案二中的STM8S 系列单片机,体积小,功能强大,价格便宜。所以选择STM8 作为主控制MCU。2. 硬件电路设计2.1 单元电路设计2.1.1 单片机控制电路设计单片机控制电路主要包括单片机及其周围元件。2.1.2 显示电路设计显示电路主要包括四位共阴数码管、锁存器74HC573、译码器74HC138。电路如下图所示:2.1.3 时钟电路设计时钟电路主要包括DS1302、32768晶振及纽扣电池。电路如下图所示:2.1.4温度采集电路设计温度采集电路包括DS18B20及其插座。电路如下图所示:2.1.5 红外接收电路设计电路如下图所示:2.1.6 电源电路设计电路如下图

8、所示:3.2 整体电路整体电路图如下图所示:4. 软件程序设计4.1 程序算法设计流程调用更新时间函数调用温度采集函数调用整点报时函数调用温度报数函数是否需要报温度数值是否是整点报时是否是显示温度模式是否需要更新时间判断接收到的任务,执行任务红外是否有接收 新内容各种初始化(内存数据清除、时钟初始化、IO口初始化、定时器初始化、相关变量初始化)开始图各种中断函数(数码管显示、红外捕获解码、计数计时、蜂鸣器驱动)5. 系统测试及结果经实验检测,本装置系统能实现数字钟、闹钟设定、红外无线控制、语音报时、温度采集及显示灯功能。功能强大,并且系统稳定,造价低,达到了课程设计的要求,是理想的多功能数字时

9、钟。6. 设计总结经过几个星期的努力,本设计系统终于完成了。通过该课程设计,掌握了硬件电路制作和软件编译的基本过程及其各阶段的基本任务,熟悉了产品设计制作的总流程框图,了解了编译程序的生成过程及其相关的技术,对课本上的知识也有了更深的理解。老师常说,课本上的知识是机械的,要学会去运用,要举一反三。现在终于深刻的了解了这句话。经过这次的课程设计,发现书本上很深奥的知识变的更为简单,同样,对实验原理也了有更深的理解。知道和理解了该理论在计算机中是怎样执行的, 对该理论在实践中的应用有深刻的理解 。通过该课程设计,把死板的课本知识变得生动有趣,激发了学习的积极性。能够把课堂上学的知识通过自己设计表示

10、出来,加深了对理论知识的理解。课程设计中的电路和程序比较复杂,因此调试的过程更是考验我们耐性和细心。除了课堂外,课程设计是最能学到东西的,最考验人的。在做课程设计的这段时间,时刻都感到自己学的知识有多么的贫瘠。经过这次课程设计,让我对PCB电路设计和单片机C语言编程有了更深的认识,操作能力有了提高。 参考文献1童诗白 华英成,模拟电子技术基础M.北京:高等教育出版社,2006. 2阎石,数字电子技术基础M.北京:高等教育出版社,2006.3胡斌 胡松,电子元器件M.北京.电子工业出版社,2010. 4孙肖子,电子设计指南M.北京.高等教育出版社,2006.5谭浩强,C程序设计M.北京:清华大学

11、出版社,2010.附录1 电路原理图及印刷板图 PCB电路正面:PCB电路反面:附录2 源程序(1)主函数文件程序stm8/;*;功能:遥控数字时钟;时间:2012/11/30;地点:广东工业大学;*#INCLUDE "STM8S105C_S.INC"#include "mapping.inc"#INCLUDE "RAM.INC"#INCLUDE "ISD1730.INC"segment 'rom'main.l; initialize SPldw X,#stack_endldw SP,X#ifdef

12、 RAM0; clear RAM0ram0_start.b EQU $ram0_segment_startram0_end.b EQU $ram0_segment_endldw X,#ram0_startclear_ram0.lclr (X)incw Xcpw X,#ram0_endjrule clear_ram0#endif#ifdef RAM; clear RAM1ram1_start.w EQU $ram1_segment_startram1_end.w EQU $ram1_segment_endldw X,#ram1_startclear_ram1.lclr (X)incw Xcpw

13、X,#ram1_endjrule clear_ram1#endif; clear stackstack_start.w EQU $stack_segment_startstack_end.w EQU $stack_segment_endldw X,#stack_startclear_stack.lclr (X)incw Xcpw X,#stack_endjrule clear_stackINTELMOV CLK_CKDIVR,#00H ;主频16M;*延时* CALL IO_INIT;*时钟初始化* CALL TIM1_INIT ;CALL TIM2_INT ;红外解码定时器2初始化CALL

14、TIM3_INIT ;定期3初始化 CALL TIM4_INIT;- MOV ITC_SPR3,#0MOV ITC_SPR4,#01110100B MOV ITC_SPR6,#0;-;CALL DS1302_INIT ;时钟初始化;*相关寄存器初始化*MOV CLOCK_LED+2,#16 ;数码第3位显示“-”MOV CLOCK_LED+5,#16 ;数码第6位显示“-”MOV TEMPERATURE+4,#17 ;温度模式下数码第3位显示“o”MOV TEMPERATURE+5,#0CH;温度模式下数码第4位显示“C”MOV X_TIMES_TRMPERATURE,#100MOV TIM1

15、_TIMES_TEMP,#10MOV ALARM_LED+2,#16 ;闹钟设置模式下第3位显示-MOV ALARM_MIN,#55HMOV ALARM_HOUR,#01HMOVX_TIM1,#35 ;红外接收成功指示灯闪烁时间MOV X_TIM2,#90 ;时间/日期更新时间MOV X_TIM3,#20 ;调整模式下数码管闪烁效果快慢RIM ;开总中断 MOV BEEP_TIME,#3;*;调试区 CALL ISD1730_INITMOV X_MS,#10CALL DELAY_MS;*JP CLOCK_MAIN ;进入任务分配interrupt TIM1_INTERRUPTTIM1_INTE

16、RRUPT.l JP TIM1_INTERRUPT_CODE interrupt TIM4_INTERRUPTTIM4_INTERRUPT.l JP TIM4_INTERRUPT_CODE ;*定时器3更新中断*interrupt TIMER_3TIMER_3.lBRES TIM3_SR1,#0 ;必要时的清除更新产生的更新标志BTJF LED_SHAN,TIMER_3_EXITDEC X_TIM3JRNE TIMER_3_EXITMOV X_TIM3,#50BTJT IR_CH1_F,ALARM_LED_SHANBCPL DISPLAY_SP,#0 ;任务0/1切换,闪烁效果JRA TIME

17、R_3_EXITALARM_LED_SHAN BCPL ALARM_SHAN ;闹钟模式下闪烁标志TIMER_3_EXIT BTJT LED_OFF,LED_DATA_NOTSHOWCALL LED_DATA_SHOW ;调用数码管显示函数LED_DATA_NOTSHOWDEC X_TIM2JRNE TIMER_3_EXIT_1 ;判断是否需要更新时间/日期MOV X_TIM2,#90BTJT LED_DATE_TEM,LED_DISPLAY_TEMBSET DS1302_FLAG ;采集时间BRES DS1820_FLAGJRA TIMER_3_EXIT_1LED_DISPLAY_TEMBS

18、ET DS1820_FLAG ;采集温度BRES DS1302_FLAGTIMER_3_EXIT_1BTJF RX_SUCCESS_LED,TIMER_3_EXIT_2;判断是否需要闪烁一下RX_SUCCESS_LEDDEC X_TIM1JRNE TIMER_3_EXIT_2BSET IR_LEDBRES RX_SUCCESS_LED MOVX_TIM1,#35TIMER_3_EXIT_2 ;*关闹钟*BTJF ALARM_CLOCK,TIMER_3_EXIT_3;BCPL BEEPERTIMER_3_EXIT_3 IRETIRETIRETIRETIRET;*定时2更新中断*interrupt

19、 TIMER_2TIMER_2.lJP TIM2_INTERRUPT;*定时器2捕获中断*interrupt TIMER_2_CAPTURETIMER_2_CAPTURE.lJP TIM2_CAPTURE(2)根据时钟计时分配任务STM8/;*;功能:遥控数字时钟;时间:2012/11/30;地点:广东工业大学;*#INCLUDE "STM8S105C_S.INC"#include "mapping.inc"#INCLUDE "RAM.INC"#INCLUDE "ISD1730.INC"SEGMENT 'r

20、om'INTEL;-时钟任务分配-.CLOCK_MAINBTJT RX_SUCCESS,GET_IR_FUNCTION ;红外是否有更新BTJT DS1302_FLAG,GET_TIME ;是否需要更新时间BTJT DS1820_FLAG,GET_TEMPERATURE ;是否是显示温度模式BTJT READ_TIME_FLAG,READ_NOWTIME ;报时BTJT READ_WENDU_FLAG,READ_NOWWENDU;报温JP CLOCK_MAINGET_TIME;-更新时间BRES DS1302_FLAG ;清除更新时间标志位CALL DS1302_GETTIME ;调用

21、读取时间函数JP CLOCK_MAIN ;返回任务分配GET_TEMPERATURE;-温度显示模式BRES DS1820_FLAG ;清除显示温度模式标志位CALL READ_TEMPERATURE ;取温度显示JP CLOCK_MAIN GET_IR_FUNCTION;-遥控有按键按下,并成功接收JP IR_TASK ;解码 JP CLOCK_MAINREAD_NOWTIME;-报时 BRES READ_TIME_FLAG; CALL READ_TIME JP CLOCK_MAINREAD_NOWWENDU;-报温度值; CALL READ_WENDU BRES READ_WENDU_FL

22、AG JP CLOCK_MAINEND(3)红外遥控任务管理文件STM8/;*;功能:红外按键执行程序;时间:2012/11/30;地点:广东工业大学;*#INCLUDE "STM8S105C_S.INC"#include "mapping.inc"#INCLUDE "RAM.INC"#INCLUDE "ISD1730.INC"SEGMENT 'rom'INTEL;*红外任务解码*.IR_TASKBSET RX_SUCCESS_LEDBRES IR_LEDBRES RX_SUCCESSBTJF LE

23、D_OFF,IR_TASK_NEXT ;判断此时是否数码管关闭LD A,RX_BUF+3 ;是关闭CP A,IR_ON_OFF ;判断是否为开关按键JRNE IR_CODE_TASK_ERROR ;不是,错误,返回JP IR_TASK2_OFF ;是,执行IR_TASK2_OFFIR_TASK_NEXTCLRW XLD A,#21 ;21个任务码LD XL,ALD A,RX_BUF+3IR_CODE_TASK_LOOPDECW XJREQ IR_CODE_TASK_ERROR ;小于0,出错CP A,(IR_TASKCODE,X) ;查表方式取出值 JRNE IR_CODE_TASK_LOOP

24、JRA IR_CODE_TASK_SUCCESSIR_CODE_TASK_ERROR ; ;清相关标志位JP CLOCK_MAIN IR_CODE_TASK_SUCCESSLD A,XLLD IR_TASK_SP,A ;任务号放IR_TASK_SPCPW X,#15JRNC IR_CODE_FUNCTION_TASK ;功能键CPW X,#5JRNC IR_CODE_FIGURE_TASK ;数字键LD A,#3JRA IR_TASK_CONTROLIR_CODE_FIGURE_TASKLD A,#1JRA IR_TASK_CONTROLIR_CODE_FUNCTION_TASKLD A,#2

25、IR_TASK_CONTROLLD XL,ALD A,#3MUL X,AJP (IR_TASK_CONTROL_1,X)IR_TASK_CONTROL_1JP IR_TASK0JP IR_TASK1JP IR_TASK2JP IR_TASK3IR_TASK0JP CLOCK_MAIN;-IR_TASK1 ;数字键BTJT IR_MODE_F,IR_TASK1_EXITJP CLOCK_MAIN ;不是设置模式,返回IR_TASK1_EXITCLRW XLD A,IR_TASK_SP ;'9'->IR_TASK_SP=6 '8'->IR_TASK_SP

26、=7SUB A,#5 ;'0'->IR_TASK_SP=15 15-6=9LD XL,A;'9'->IR_TASK_SP=6 6-6=0LD A,#3MUL X,AJP (IR_TASK1_CONTROL_1,X)IR_TASK1_CONTROL_1JP IR_TASK19JP IR_TASK18JP IR_TASK17JP IR_TASK16 JP IR_TASK15JP IR_TASK14JP IR_TASK13 JP IR_TASK12 JP IR_TASK11JP IR_TASK10 ;-"0"-IR_TASK10MOV

27、ADJUST_H,#0BTJF IR_CH1_F,IR_TASK10_EXITJP ALARM_ADJUSTIR_TASK10_EXIT JP IR_ADJUST_TASKIR_TASK11MOV ADJUST_H,#1BTJF IR_CH1_F,IR_TASK11_EXITJP ALARM_ADJUSTIR_TASK11_EXITJP IR_ADJUST_TASKIR_TASK12MOV ADJUST_H,#2BTJF IR_CH1_F,IR_TASK12_EXITJP ALARM_ADJUSTIR_TASK12_EXITJP IR_ADJUST_TASKIR_TASK13MOV ADJUS

28、T_H,#3BTJF IR_CH1_F,IR_TASK13_EXITJP ALARM_ADJUSTIR_TASK13_EXITJP IR_ADJUST_TASKIR_TASK14MOV ADJUST_H,#4BTJF IR_CH1_F,IR_TASK14_EXITJP ALARM_ADJUSTIR_TASK14_EXITJP IR_ADJUST_TASKIR_TASK15MOV ADJUST_H,#5BTJF IR_CH1_F,IR_TASK15_EXITJP ALARM_ADJUSTIR_TASK15_EXITJP IR_ADJUST_TASKIR_TASK16MOV ADJUST_H,#6

29、BTJF IR_CH1_F,IR_TASK16_EXITJP ALARM_ADJUSTIR_TASK16_EXIT JP IR_ADJUST_TASKIR_TASK17MOV ADJUST_H,#7BTJF IR_CH1_F,IR_TASK17_EXITJP ALARM_ADJUSTIR_TASK17_EXITJP IR_ADJUST_TASKIR_TASK18MOV ADJUST_H,#8BTJF IR_CH1_F,IR_TASK18_EXITJP ALARM_ADJUSTIR_TASK18_EXITJP IR_ADJUST_TASKIR_TASK19MOV ADJUST_H,#9BTJF

30、IR_CH1_F,IR_TASK19_EXITJP ALARM_ADJUSTIR_TASK19_EXITJP IR_ADJUST_TASKIR_ADJUST_TASKLD A,IR_MODE_SPCP A,#2JREQ DS1302_TIME_ADJUSTCP A,#3JREQ DS1302_DATE_ADJUSTJP IR_ADJUST_TASK_EXITDS1302_TIME_ADJUST ;*-时间调整 CLRW XLD A,LED_SHANSHUO_1 ;第几位LD XL,ALD A,(TIME_ADJUST,X)LD ADJUST_W,ABTJF LED_SHANSHUO,#0,AD

31、JUST_SHIDEC LED_SHANSHUO_1LD A,LED_SHANSHUO_1LD XL,ALD A,(CLOCK_LED,X) ;取显示值INC LED_SHANSHUO_1SWAP AAND A,#11110000BOR A,ADJUST_H LD ADJUST_H,AJRA IR_ADJUST_TASK_ONEADJUST_SHIINC LED_SHANSHUO_1LD A,LED_SHANSHUO_1LD XL,ALD A,(CLOCK_LED,X) ;取显示值DEC LED_SHANSHUO_1AND A,#0FHSWAP AOR A,ADJUST_HSWAP ALD A

32、DJUST_H,AIR_ADJUST_TASK_ONECALL DS1302_ADJUSTJRA IR_ADJUST_TASK_EXITDS1302_DATE_ADJUST ;-日期调整CLRW XLD A,LED_SHANSHUO_1 ;第几位LD XL,ALD A,(DATE_ADJUST,X)LD ADJUST_W,ABTJF LED_SHANSHUO,#0,ADJUST_DATE_SHIDEC LED_SHANSHUO_1LD A,LED_SHANSHUO_1LD XL,ALD A,(CLOCK_LED,X) ;取显示值INC LED_SHANSHUO_1SWAP AAND A,#11

33、110000BOR A,ADJUST_H LD ADJUST_H,AJRA IR_ADJUST_DATE_TASK_ONEADJUST_DATE_SHIINC LED_SHANSHUO_1LD A,LED_SHANSHUO_1LD XL,ALD A,(CLOCK_LED,X) ;取显示值DEC LED_SHANSHUO_1AND A,#0FHSWAP AOR A,ADJUST_HSWAP ALD ADJUST_H,AIR_ADJUST_DATE_TASK_ONECALL DS1302_ADJUSTIR_ADJUST_TASK_EXITJP IR_TASK2_YOU ;调整完,闪烁位自动加1JP

34、 CLOCK_MAIN;-闹钟模式设置-ALARM_ADJUSTCLRW XLD A,LED_SHANSHUO_1 ;第几位LD XL,ALD A,ADJUST_HLD (ALARM_LED,X),AADJUST_ALARM_ONE ;更新一下ALARM_SEC,ALARM_MIN,ALARM_HOUR CLRW XLD A,(ALARM_LED,X) ;小时十位INCW XSWAP AOR A,(ALARM_LED,X) ;小时个位LD ALARM_HOUR,AINCW XINCW XLD A,(ALARM_LED,X) ;分钟十位INCW XSWAP AOR A,(ALARM_LED,X)

35、 ;分钟个位LD ALARM_MIN,AADJUST_ALARM_EXITJP IR_TASK2_YOU ;闪烁位自动加1,下1位 JP CLOCK_MAIN;-IR_TASK2 ;功能键CLRW XLD A,IR_TASK_SP ;'MOED'->IR_TASK_SP=21 'ZUO'->IR_TASK_SP=20SUB A,#15 ;'BACK'->IR_TASK_SP=16 16-16=0LD XL,A ;'MOED'->IR_TASK_SP=21 21-16=5LD A,#3MUL X,AJP (I

36、R_TASK2_CONTROL_1,X)IR_TASK2_CONTROL_1JP IR_TASK2_BACKJP IR_TASK2_STOPJP IR_TASK2_OFFJP IR_TASK2_YOUJP IR_TASK2_ZUOJP IR_TASK2_MODE;-MODE-IR_TASK2_MODE ;设置模式BSET IR_MODE_F ;置标志位LD A,IR_MODE_SPCLRW XLD XL,ALD A,#3MUL X,AJP (ONE_IR_TASK2_MODE_1,X)ONE_IR_TASK2_MODE_1 JP ONE_IR_TASK0 JP ONE_IR_TASK1 JP

37、ONE_IR_TASK2 JP ONE_IR_TASK3ONE_IR_TASK0 ;按1下BSET DS1302_GET_DATE_TIMEJRA ONE_IR_TASK2_MODE_EXITONE_IR_TASK1 ;按2下BRES DS1302_GET_DATE_TIME ;显示时间;IR_MODE_SP=2BSET LED_SHAN ;闪烁显示 JRA ONE_IR_TASK2_MODE_EXIT ONE_IR_TASK2 ;按3下BSET DS1302_GET_DATE_TIME ;显示日期BSET LED_SHAN ;闪烁显示JRA ONE_IR_TASK2_MODE_EXITONE

38、_IR_TASK3 ;4CLR LED_SHANSHUO_1 ;回0BRES IR_MODE_F ;模式键按下标志位清除BRES LED_SHAN ;停止闪烁BRES DS1302_GET_DATE_TIME;显示时间CLR DISPLAY_SPBRES LED_DATE_TEMCLR IR_MODE_SPJP CLOCK_MAINONE_IR_TASK2_MODE_EXITINC IR_MODE_SP ;模式显示指针加1JP CLOCK_MAIN;-"<<<"-IR_TASK2_ZUOBTJF IR_MODE_F,IR_TASK2_YOU_EXITDEC

39、 LED_SHANSHUO_1LD A,LED_SHANSHUO_1JRPL IR_TASK2_ZUO_1 MOVLED_SHANSHUO_1,#7 ;LED_SHANSHUO_1<0JRA IR_TASK2_ZUO_EXITIR_TASK2_ZUO_1CP A,#2JRNE IR_TASK2_ZUO_2DEC LED_SHANSHUO_1JRA IR_TASK2_ZUO_EXITIR_TASK2_ZUO_2CP A,#5JRNE IR_TASK2_ZUO_EXITDEC LED_SHANSHUO_1IR_TASK2_ZUO_EXIT ;模式退出CALL SP_SWAP ;计算LED_S

40、HANSHUOJP CLOCK_MAIN;-">>>"-IR_TASK2_YOUBTJF IR_MODE_F,IR_TASK2_YOU_EXITINC LED_SHANSHUO_1LD A,LED_SHANSHUO_1CP A,#2JRNE IR_TASK2_YOU_1INC LED_SHANSHUO_1JRA IR_TASK2_YOU_EXITIR_TASK2_YOU_1CP A,#5JRNE IR_TASK2_YOU_2INC LED_SHANSHUO_1JRA IR_TASK2_YOU_EXITIR_TASK2_YOU_2CP A,#8JRC IR_

41、TASK2_YOU_EXITCLR LED_SHANSHUO_1IR_TASK2_YOU_EXIT ;模式退出CALL SP_SWAP ;计算LED_SHANSHUOJP CLOCK_MAIN;-ON/OFF-IR_TASK2_OFF ;开/关闭BCPL LED_OFF ;开/关数码管标志位CLR PB_ODR ;请数码管显示;BCPL TIM3_CR1,#0 ;开/关闭定时器JP CLOCK_MAIN;-STOP-IR_TASK2_STOP BCPL IR_STOP_FBTJT IR_STOP_F,DS1302_STOPMOV RTC_ADDR,#8EH MOV RTC_DATA,#0H C

42、ALL WIRTE_DATA1302 MOV RTC_ADDR,#80H LD A,SECAND A,#01111111B LD RTC_DATA,A CALL WIRTE_DATA1302 ;写入秒JRA IR_TASK2_STOP_EXITDS1302_STOP MOV RTC_ADDR,#8EH MOV RTC_DATA,#0H CALL WIRTE_DATA1302 MOV RTC_ADDR,#80H LD A,SEC OR A,#080H LD RTC_DATA,A CALL WIRTE_DATA1302 ;写入秒IR_TASK2_STOP_EXIT ;退出JP CLOCK_MAIN;-BACK_MUNE-IR_TASK2_BACK BRES TIM1_CR1,#0BRES LEDBSET PE_ODR,#6BRES TIM4_CR1,#0 ;关闹钟 CLR LED_SHANSHUO_1 ;回0BRES IR_MODE_F ;模式键按下标志位清除BRES IR_CH1_F ;闹钟设置键标志位清除BRES LED_SHAN ;停止闪烁BRES DS1302_GET_DATE_TIME;显示时间CLR DISPLAY_SPBRES LED_DATE_TEMMOV RTC_ADDR,#8EH MOV RTC_DATA,#0H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论