三位倒计时器pic单片机课程设计(含全部汇编程序清单)(编辑修改稿)内容摘要:
DECFSZ COUNTER。 循环减 1,是否为 0 GOTO RT。 否,中断返回 DECF NUMB。 是,计数变量减 1 MOVLW .20。 循环数赋初值 20 MOVWF COUNTER RT MOVLW 3DH。 50 毫秒时间常数初值 MOVWF TMR0 movf status_temp,w。 retrieve copy of STATUS register movwf STATUS。 restore preisr STATUS register contents swapf w_temp,f swapf w_temp,w。 restore preisr W register contents retfie。 return from interrupt 主程序中有关部分为: BSF STATUS,RP0。 进入体 1 MOVLW 07H。 分频比为 1: 256 MOVWF OPTION_REG 三位倒计时器 15 倒计时显示子程序 基本的输入及辅助程序准备完毕,接下来是主体的显示程序。 前面提到过,显示程序分为两部分,前面一部分负责键盘的显示,这一部分负责计数变量变化时其显示的变化。 由前面的多个数转化为多位数的准备, 我们易知该子程序应该具有将多位数分解为多个数并分别送入各个位选显示的功能。 其分解子程序工作过程如下,除初值外,其他参数初值均为 0。 图 25 分解流程图 当送入的数值被分解之后,调用 3 位数码管显示子程序,实现 3 位数的动态扫描,当计时器计时时间到 1 秒之后,变量值减 1,分解子程序分解,送入显示,数码管显示三位数减 1,实现了 1 秒倒计时功能。 其子程序在总程序中可查,不再多说。 附加功能部分 为增加该倒计时器工作的灵活性,我们增加了一些比如暂停,继续,加一,减一,复位和归零后重新开始等附加功能。 三位倒计时器 16 暂停 和继续 倒计时的功能是通过 TMR0 定时器实现的,定时器时间到后显示变量减 1,因此,可通过控制定时器来实现暂停和继续功能。 控制定时器的中断开关是本节的关键。 图 26 中断控制流程图 程序代码:。 B 键,用于计数暂停 JIANB CALL SFANG。 释放 BCF INTCON,5。 T0 使能关闭,计数停止 RETURN。 C 键,用于计数继续 JIANC CALL SFANG。 释放 BSF INTCON,5。 T0 使能打开,计数继续 RETURN 三位倒计时器 17 计数功能 计数功能的实现是对计数变量的控制,运行过程中,变量加一实现显示加一,变量减一实现显示减一。 其程序如下:。 D 键,用于计数加一 JIAND CALL SFANG。 释放 INCF NUMB。 显示变量加一 RETURN。 E 键,用于计数减一 JIANE CALL SFANG。 释放 DECF NUMB。 显示变量减一 RETURN 复位和归零 所谓复位,是指该键按下后一切恢复初始状态,计时器可以重新工作。 其主要操作是 使定时器关闭,有关变量初始化,并跳转到按键大循环。 F 键,用于清零和重新开始 JIANF CALL SFANG。 调用释放子程序 BCF INTCON,5。 T0 使能关闭,停止计时 MOVLW 01H。 键盘次数判断恢复初始值 MOVWF KEYFLAG CLRF NUM9。 中间变量的初始化 CLRF NUM10 GOTO LOOP。 跳转至 LOOP 大循环 当倒计时为 0 后,指示灯和蜂鸣器发出警示,之后计时器恢复初始状态,可以重新工作。 它的原 理同复位相同,都是参数的初始化。 LIGHT BCF INTCON,5。 关闭 T0 使能,计时器停止工作 CALL SHANSHU。 调用小灯闪烁子程序 MOVLW 01H。 KEYFLAG 初始化 三位倒计时器 18 MOVWF KEYFLAG CLRF NUM9。 中间变量的初始化 CLRF NUM10 GOTO LOOP。 跳转至 LOOP 大循环,重新开始工作 结束提示 部分 当计时到 0 时,三色小灯各亮灭一次,且小灯亮起蜂鸣器响起,亮灯关闭蜂鸣器停止鸣叫。 图 27 提 醒子程序流程图 程序在主程序中可查,不再赘述。 程序部分总结 介绍完所有子程序的工作原理之后,还要将其有机的组合起来。 这里采用大循环的方式,不停地对程序进行扫描,当扫描到某一部分发现需要调用或跳转时会相应的调用或跳转至其他子程序。 这样就把以上所设计的子程序连接起来,组成一个整体。 三位倒计时器 19 第三章 实物照片 实验板照片 将元件按照电路设计图焊接完成后如下图: 图 31 焊接实物图 脱机运行照片 将程序烧写进实验板中,从键盘输入初值 123,按下开始键,开始倒计时,图为开始时、计时到 11计时到 116 时暂停 的照片。 三位倒计时器 20 图 32 键入初值显示 图 33 计时过程记录 图 34 计时过程中暂停 三位倒计时器 21 第四章 问题与体会 两周的单片机课程设计转瞬即逝,这两周是我感觉过的最快的两周。 因为每天大部分时间都用在设计上,而我们对单片机的设计还不够熟练,总是花上大量的时间弄明白一个小小的问题,有时一个错误会耽误上半天而无法发现,所以,当我们取得一点点进步之后才会发现已经过去了很长的时间。 这两周里我们体验了从焊板到编写程序,再到烧写、调试程序,最终完成我们的设计的艰辛历程。 回首整个过程,我会发 现自己的许多不足。 首先是对编程软件的使用不够熟练,刚开始编写程序常常不能够灵活的新建工程,添加文件,遇到意外问题也会不知所措,经过两天的熟悉之后,终于能够解决这些基本问题。 第二个问题是编程过程中经常出现理想思维,以为自己的思路能够走通但是调试之后才发现无法实现,经过无数遍的理顺之后才发现有些地方是明显的错误,有时是语言的使用错误,有时是思路的局限,然而经过不断的发现问题、解决问题我们的程序逐渐完善。 还有一个很严重的问题就是焊接问题,由于焊接的不够熟练,焊出的焊点不够圆润饱满,偶尔还会出现虚焊的情况。 另外,焊 接用的导线不够简洁,看起来比较混乱。 纵使有许多的不足与遗憾,这次课程设计我还是学到了很多的东西。 不仅复习了课本上所学的内容,还把理论付诸于实践,并使我们切身的体会到理论用于实践时会出现的各种问题,通过解决这些问题,我们处理实际问题的能力有了很大的提高。 通过这次课程设计我了解了电子设计的基本流程,熟练的掌握了编程软件和汇编语言的使用,同时锻炼了我的编程思维,让我在以后的编程过程中少走一些弯路。 学习到这些的同时,它也对我的心态起到了锻炼的作用,遇到问题时不能一味的抱怨,而是应该静下心来仔细的分析问题产生的原因 ,并且找到解决的办法。 它也让我意识到团队协作的重要性,在这次两周的设计过程中,我和我的队友密切协作才能够完成最终的结果。 这次课程设计提高了我们解决实际问题的能力,为我们积累了宝贵的实践经验。 相信这次 PIC 的单片机课程设计也促进了我能够触类旁通的能力,为其他类型的单片机设计甚至所有电子类设计打下了坚实的基础。 三位倒计时器 22 结论 本次设计实现了最初的设计要求,实际运行结果与理想一致,计时精准,使用简单。 能够灵敏的显示所要输入的数字,并能够精确的计时,有很广泛的应用前景,可以应用于跑步计时、辩论赛的计时等各种需要计时的比赛场合,有很强的现实意义。 但是该计时器局限于 255 秒以内的的计时,计时长度有限制;而且体积较大,线路较为复杂,不适合携带。 出于这些问题,只要时间足够,可以设置两个内存空间用于存放计时变量,且把数码管扩展为 4 位甚至更多,就能够实现多达 65535 秒的计时,当然实际生活中很少用到这么长时间的秒用计时。 对于后者,只要电路板的编排合理,就可以省去导线连接的步骤,而且能够实现各种形状的制作,有助于广大 使用者的喜爱。 三位倒计时器 23 参考 文献 1. 李荣正 . PIC 单片机原理及应用 [M]. 北京航空航天大学出版社 ,2020 2. 刘和平 .PIC16F887 单片机程序设计及应用 [M].北京航天航空大学出版社 ,2020 3. 王有绪 .单片机接口技术及应用系统设计 [M].高等教育出版社 ,2020 4. 李学海 .PIC 单片机实用教程 — 基础篇 [M]. 北京航天航空大学出版社 ,2020 5. 窦振中 .PIC 系列单片机原理和程序设计 [M].北京航空航天大学出版社 ,2020 三位倒计时器 24 附录:程序清单 list p=16f887。 list directive to define processor include。 processor specific variable definitions __CONFIG _CONFIG1,_LVP_OFFamp。 _IESO_OFFamp。 _BOR_OFFamp。 _PWRTE_ONamp。 _WDT_OFFamp。 _XT_OSC。 ***** VARIABLE DEFINITIONS w_temp EQU 0x71。 variable used for context saving status_temp EQU 0x72。 variable used for context saving BIAN EQU 0X40。 键盘显示中间变量 KEYFLAG EQU 0X43 NUM EQU 0X44 NUM4 EQU 0X48 NUMB EQU 0X49。 计数变量 GE EQU 0X50 SHI EQU 0X51 BAI EQU 0X52 SHANG EQU 0X53 YUSHU EQU 0X54 COUNTER EQU 0X55 NUM5 EQU 0X56 NUM6 EQU 0X57 NUM7 EQU 0X58 NUM8 EQU 0X59 NUM9 EQU 0X60 三位倒计时器 25 NUM10 EQU 0X61 NUM11 EQU 0X62。 ********************************************************************** ORG 0x000。 processor reset vector clrf PCLATH。 ensure page bits are cleared goto MAIN。 go to beginning of program ORG 0x004。 interrupt vector location movwf w_temp。 save off current W register contents movf STATUS,w。 move status register into W register movwf status_temp。 save off contents of STATUS register BCF INTCON,T0IF。 清 TMR0 溢出标志位 DECFSZ COUNTER。 循环减 1,是否为 0 GOTO RT。 否,中断返回 DECF NUMB。 是,计数变量减 1 MOVLW .20。 循环数赋初值 20 MOVWF COUNTER RT MOVLW 3DH。 50 毫秒时间常数初值 MOVWF TMR0。 isr code can go here or be located as a call subroutine elsewhere movf status_temp,w。 retrieve copy of STATUS register movwf STATUS。 restore preisr STATUS register contents。三位倒计时器pic单片机课程设计(含全部汇编程序清单)(编辑修改稿)
相关推荐
156 156 156 27732 27018 27018 4329 4204 4204 日 本 100 103 103 30771 33010 33010 3074 3400 3400 在国内 ,近十余年来,马铃薯种植面积呈不断增加的趋势,到 2020 年已达 万公顷,是马铃薯种植面积最大的国家,且鲜食品种占了一半以上,造成了我国马铃薯总产量多、单产低、质量差、效益微的局面
等。 工程管理的重点之一是贯彻执行新标准、新规范,对工程质量实行规范化、程序化管理。 参加本工程建设的各级管理人员需认真学习 金域华府二期 工程 施工组织设计 万科178。 金域华府 3楼及地下室工程 第 17 页 新标准和新规范的相关内容和要求,特别应熟练掌握强制条文,认真贯彻执行,确保工程质量。 重点之二,是围绕集团公司制定 的质量目标、工期目标、安全文明施工目标,如何加强管理,落实措施。
这种型号的 MOS 管。 IRFZ44N 的基本参数如下: 晶体管极性: N 沟道 漏极电流, Id 最大值: 49A 三相交流异步电动机变频调速系统的硬件 设计 12 电压, Vds 最大: 55V 开态电阻, Rds( on): 电压, Vgs 最高: 21V 功耗: 83W 额定电压的确定 : 1. 漏极至源极间可能承受的最大 电压即 Vds 2. 在整个工作温度范围内 电压的变化范围 3
子技术的飞速发展 ,新器件和新的控制系统的不断推出 ,使交流电气传动也具有与直 5 流电气传动同样优良的调速性能 ,从而使交流调速得到了迅速发展。 三相异步电动机的转速公式为 )1(60)1( 1 spfsnn s ,其中 sn 为旋转磁场的速度, n 为转子转速为旋转磁场的频率, s 为转差率。 所以异步电动机的调速可由三个方 面入手;一是改变定子绕组的极对数;二是改变电源频率
2 个用户类型一个是普通浏览者,不需要登陆就可以查看新闻信息,酒店信息,景点等信息。 另外一个会员,会员首先要进行注册,然后使用注册的账号进行登陆,登陆到系统中可以进行门票的预订,查看自己的订单信息,修改自己的注册信息等功能。 前台业务流程图如图 23 所示。 8 新 闻 信 息注 册登 录验 证 密 码验 证 账 号登 录 成 功修 改 登 录 密 码修 改 个 人 资 料酒 店 预 订酒 店
,建成总占地 【】 平方米的年出栏二元猪 6 万 头、 商品仔 猪 16 万 头 的现代化种猪养殖基地,使该基地成为全国最大的种猪猪源基地,集选种育种、新品种开发、疾病防疫研究、饲料改良、饲养繁育技术培训为一体的大型种猪标准化生产示范基地。 主要经济技术指标 万头种猪扩繁基地建设项目主要经济技术指标如下: 序号 项目 单位 数值 1 总规划用地面 积 ㎡ 2 总占地面积 ㎡ 生产区总占地面积 ㎡