欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    单片机倒计时秒表课程设计.docx

    • 资源ID:13777881       资源大小:389.62KB        全文页数:23页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机倒计时秒表课程设计.docx

    1、单片机倒计时秒表课程设计单片机技术倒计时数字秒表设计张三李四课程设计说明书课程名称: 设计题目: 院 系: 学生姓名: 学 号: 专业班级: 指导教师:年月日课程设计任务书设计题目倒计时计数秒表设计学生姓名所在院系 电气子工信程息学与院电 专业、年级、班设计要求:一、设计一个可倒计时的数字秒表。二、技术参数与要求1 、具有电源开关及指示灯,有复位按键;2 、p2.0-p2.3 通过 74LS47接 2位数码管, p2.4 和 p2.5 分别控制数码管显示的个位和十位,显示 0-99 秒时间;3 、 p3.2 接按键 1,用于记录时间值;4 、 P3.3 接按键 2,用于显示记录时间值;5 、上

    2、电时,显示 59 并倒计时,按键 1 用于记录当前值和复位 59 ,按键 2 用于显示记录值。学生应完成的工作:1、查阅资料,确定实施方案;2、学会识别各种元器件及掌握它们的工作原理;3、熟练画出设计所需的原理图和编写出所需的汇编语言程序;4、学会用 Protues 仿真及调试自己的单片机课程设计;5、掌握自己动手完成板子的焊接及检错维修的能力;6、学会编写基本的课程设计报告。参考文献阅读:1 李广弟 . 单片机基础 M 北京:航空航天大学出版社 2001 年 1 月2 迟荣强.单片机原理及接口技术 M 北京:高等教育出版社 2004 年 9月3 张毅刚 . 单片机原理及应用 M 北京:高等教

    3、育出版社 2008 年 5 月4 阎胜利 .Protel DXP2004 电路设计 M 北京:电子工业出版社 2006 年 7 月工作计划:5月9日:查阅资料; 5 月10日:硬件设计; 5 月 11日:软件设计; 5月16日:领元器件; 5 月175月18日烧程序 ; 5 月19日:焊接电路板; 5月205月 22日调试任务下达日期: 2012 年 5 月 7 日任务完成日期: 2012 年 5 月 18 日指导教师(签名) : 学生(签名) :倒计时秒表摘 要:本次课程设计以 AT89S52单片机为核心设计一个倒计时数字秒表, 计数初值为 59 并开始每秒自动减 1,当按键 1按下时记录当

    4、前时间值,当 按键 2 按下时显示当前记录值,显示过之后再次按下按键 1 时秒表复位为 59。本设计硬件部分包括电源电路、复位电路、按键电路、振荡电路、数 码管显示电路五部分电路,软件程序部分有定时中断程序、外部中断程序、 显示子程序和延时子程序等。软件 Proteus 画出原理图并进行仿真,依照 仿真成功的原理图接线,在万能版上把个个器件焊接好从而实现预期的功关键词: 倒计时 AT89S52 74LS47 数码管1.设计背景 51.1、设计课题的提出 51.2、设计作用及意义 52.设计方案 62.1、可行方案选择 62.2、可行方案比较 63.方案实施 73.1、硬件电路的实施 73.2、

    5、软件程序的实施 114.结果与结论 134.1、 Proteus 仿真运行结果 134.2、结论 145.收获与致谢 146.参考文献 147.附件 157.1、附件一(整体电路图) 157.1、附件二(元件清单图) 167.1、附件三(程序) 177.1、附件四(运行实物图) 221.设计背景1.1设计课题的提出计时器日常生活中随处可见,我们手上的电子表,手机上的时间显示等,这些利用 数字电路实现的装置,与机械时钟相比具有更高的准确性与直观性,且无机械装置,具 有更长的使用寿命。其中重要的组成部分就是计数器模块,是单片机中常见的模块,以 计时器为基础还可以设计更多对日常生活密切相关的设备,诸

    6、如定时报警、按时自动打 铃、时间程序自动控制、定时广播、自动启闭路灯、定时开关烘箱、甚至各种定时电器 的自动启用等,都是以计时器为基础的。为了更好的学习定时器模块,掌握基本计数器程序的设计,实现一个功能的基本流 程,提高动手能力,更好的掌握所学的知识,我们在本次课程设计中提出了实现倒计时 秒表的课题。1.2设计作用及意义通过查阅资料、接口设计、程序设计、安装调试等环节,完成 MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用。 让我不仅能够将课堂上学 到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等 方面的知识进一步加深认识,同时在软件编程、

    7、排错调试、焊接技术、相关仪器设备的 使用技能等方面得到较全面的锻炼和提高,增进对单片机的感性认识,加深对单片机理 论方面的理解,掌握单片机的内部功能模块的应用,如定时器 / 计数器、中断、片内外 存贮器、 I/O 口、串行口通信等。了解和掌握单片机应用系统的软硬件设计过程、方法 及实现,强化单片机应用电路的设计与分析能力。提高学生在单片机应用方面的实践技 能和科学作风 ; 培育学生综合运用理论知识解决问题的能力,实现理论结合实际,学以 至用的原则。用所学的知识和自身课外的拓展学习加深对专业课的理解和学习;锻炼综合运用电 路设计及相关电子仪器、单片机软硬件结合的理论,结合生产实际分析和解决工作工

    8、程 实际问题的能力,加固、加深和扩展有关电子类,汇编语言,相关电子电路和仿真软件 方面的知识和能力。通过本次课程设计,应加强培养如下能力:(1) 加强自身独立的动手能力和思考解决问题的能力,提高创造能力;(2) 学会使用软件 Proteus 画原理图和仿真调试。2.设计方案2.1可行方案选择以 AT89S52单片机为核心元件, 利用两位 7 段共阳极数码管作为显示器件。 在此设计中 共接入 2 个两位一体 7 段共阳 LED 数码管,来显示实时数字,其中 1个用于显示十位,1 个用于显示个位,通过查表指令分别动态显示个位和十位。 2 个 LED 数码管显示范围 可达到 O-99 。上电时,显示

    9、 59 并开始自动每秒自动减 1,当按键 1 按下时记录当前 时间值,当按键 2按下时显示当前记录值, 显示过之后再次按下按键 1 时秒表复位为 59。 方案一利用查询端口实现记录通过不断的查询 P2.4 和 P2.5 的电平来判断是否记录当前时间值,当 P2.4 按下时记录 当前时间但并不显示,当 P2.5 按下时则显示记录下的时间,当 P2.5 再次按下时则复位 为 59,等待下次计时。用延时程序来实现 1 秒的延时,通过数据区来记录记录值, 通过 显示子程序来显示倒计时和记录值。方案二 利用中断实现记录本方案在方案一的硬件基础上采用 74LS47 译码器硬件译码来方便实现显示,同时 利用

    10、单片机的外部中断 0和外部中断 1 来实现记录和显示, 把记录处理和显示处理做成 分别做成外部中断 0 和外部中断 1 的中断服务程序,通过中断服务程序处理不同的动作。 利用 T0做一个 1 秒的中断,从而实现倒计时。另外通过数据区来记录记录值。通过显 示子程序来显示当前倒计时和记录值。2.2方案的选取 如果使用方案一需要不停的查询端口的电平,单片机还要不停的去执行显示程序, 另外还要执行延时程序,单片机在同一个时刻只能做一件事情,所以会对记录造成较大 的误差,所以方案一误差较大如果使用方案二,因为方案二是利用外部中断,所以不必不停查询端口电平,当按 键按下时,即使程序处于显示程序中也可以立即

    11、中断去执行按键按下所需要的处理动 作,由于定时 1 秒是采用定时器来实现,单片机可以边执行程序边实现定时,所以可以 实现较精确的计时,另外外部中断均处于高级中断,可以较准确的记录记录值。综上比较,本设计采用方案二作为此次课程设计的首选方案。3.方案实施3.1硬件电路的实施(1)整体设计框图 本硬件设计总共包括五部分电路:显示电路、振荡电路、复位电路、电源电路、按 键电路。总体设计框图如图 3.1 所示。图 3.1 整体框图2)电源电路本设计采用整流桥墩 2W10进行整流,然后用电解电容进行滤波,用 7805进行稳压, 最后输出 +5V稳压直流电源。其中 C1、C4为1000PF的电解电容, C

    12、2、C3为104瓷片电容, R1为1K的电阻。其电路图如 3.2 所示。图 3.2 电源电路3)振荡电路本模块用了一个 11.0592HZ 的晶振外加两个 33pf 的电容,电路图用如图 3.3 所示图 3.3 振荡电路图 3.4 复位电路5)显示电路本设计的显示电路采用动态显示,动态显示,是指无论任何时刻只有一个 LED数码管处于显示状态。若要各个数码管能同时显示出与本位相应的显示字符,就必须采用动 态的“扫描显示方式” 。即在某一时刻,只让某一位的位选线处于选通状态,而其它各 位的位选线处于关闭状态,同时,段码线上输出相应位要有显示的字符的段码,这样, 在同一时刻, 2 位数码管中只有被选

    13、通的那一位显示出字符。如此循环下去就可以显示 出要显示的字符。虽然这些字符是不同时刻显示的,但由于 LED数码管的余辉和人眼的 “视觉暂留”作用,只要每位显示间隔足够短,则可以造成“多位同时亮的假象” ,达 到同时显示的效果。动态显示的优点是硬件电路简单,显示器越多,优势越明显。本次设计的显示电路有三部分组成:译码电路、驱动电路、 LED数码管显示电路。 其中译码电路用的是芯片 74LS47,74LS47 是 BCD-7段数码管驱动器,它的功能用于将 BCD 码转化成数码块中的数字 ,通过它解码, 可以直接把数字转换为数码管的显示数 字, 从而简化了程序,节约了单片机的 I/O 开销。74LS

    14、47译码器原理: 译码为编码的逆过程。它将编码时赋予代码的含义 “翻译 ”过 来。实现译码的逻辑电路成为译码器。 译码器输出与输入代码有唯一的对应关系。 74LS47 是输出低电平有效的七段字形译码器,它在这里与数码管配合使用,其部分真值表如表 3.1.1 所示。表 3.11分析表格 3.1.1 易知74LS47为4-7译码器,并且是等数译码。即当输入为 0000即0时, 数码管显示也为 0,一次类推,当输入为 1001 即9时,数码管显示也为 9。驱动电路很简 单,就是用两个 9013即 NPN 型三极管去驱动共阳极数码管。显示电路的第三部分数码 管显示电路,本次设计用的是两位共阳极数码管。

    15、显示电路模块用如图 3.2 所示。图 3.5 显示电路6)按键电路本实验要求开关 BUTTON和1 BUTTON按2 下时触发两个对应的中断,所以两个按键接到外部中断 0 和外部中断 1 管脚上。其 Proteus 仿真电路图如图 3.6 所示图 3.6 按键电路3.2软件程序实施本程序采用定时器 T0产生 1 秒定时来实现秒表的倒计时,采用外部中断 0来记录 不同的记录值,通过外部中断 1 来显示已经记录的记录值。在主程序中初始化各个数值 并且仅仅循环执行显示程序,有中断来时才转去做相应的中断服务程序。1)主程序流程图开始 初始化显示 等待中断2)外部中断 0 流程图3)定时器 TI 流程图

    16、开始初始化 T1清外部中断请求标志 开外部中断返回4)T0定时器 1 秒中断5)显示流程图4.结果与结论4.1Proteus 仿真运行结果我们设计好系统后,首先在 proteus 上进行了仿真,仿真结果可以正常运行,当上 电时秒表从 59 开始倒计时,每当按下 BUTTON1时,系统会记录当前时间值,按下 BUTTON时2 系统会显示原来记录的时间值。 再次按下 BUTTON时1 系统会复位 59 等待下次 倒计时,并且如果没有记录值,按下 BUTTON并2 不起作用。硬件结果经过半天的焊接,我们把硬件焊好后上电结果表明,我们的设计要求都达到了,硬件结果和 proteus 仿真结果完全一样。

    17、各项功能完整可用。 仿真图如附件所示。4.2结论通过软件仿真和硬件运行,我们的系统完全的达到了设计要求。5.收获与致谢通过本次的课程设计,我认识和了解了基本的单片机设计的开发过程。期间,我学 会了分析课题的要求,查阅资料用怎样的元器件来实现,学会用 Protues 软件来绘制原 理图,用汇编来编写源程序,最终仿真成功。在用实际器件实现系统时,还学会了怎样 合理布局元器件,学会 2 位数码管各个管脚的分布和接法,熟识了硬件驱动数码管动态 显示的基本原理和程序编写, 提高了将单个电子器件组合到一起构成所需电路系统的能 力。在课程设计期间也遇到很多问题,在使用 74LS47 的连线时忘记给译码器加电

    18、源, 在仿真时,程序编写有语法错误,在焊接时电阻弄错,阻值过大结果数码管很暗,引脚 焊接出错。焊接完成通电调试时,按键不灵,经丁老师指导,在程序中添加去抖程序。 除此之外, 组员之间相互配合, 在整个过程中有过争论, 有过互助,最终圆满完成任务。 在设计过程中,要是遇到问题,一定要有耐心,有错误就耐心查找,程序或实物系统出 错就慢慢调试,要有永不服输的精神。在此要特别感谢学校老师们为我们安排这次课程设计,为我们精心挑选课题,在万 忙之中抽出时间指导我们,对于我们的问题,老师耐心的解答,一遍不行,再讲一遍。 还不辞劳苦的给我们买需要的任何元器件。这次课程设计收获很多,为以后毕业设计打 下基础,培

    19、养我们实际的动手能力,对以后的学习、工作中一定会有很大的帮助。再次感谢所有老师。6.参考文献1李广弟 . 单片机基础 M 北京:航空航天大学出版社 2001 年 1 月2迟荣强 . 单片机原理及接口技术 M 北京:高等教育出版社 2004 年 9月3张毅刚 . 单片机原理及应用 M 北京:高等教育出版社 2008 年 5 月4阎胜利 .Protel DXP2004 电路设计 M 北京:电子工业出版社 2006 年 7 月7.1 整体电路图7. 附件图 7.1 整体电路图7.2元器件清单表 7.1 元器件清单元器件名称型号规格数量备注单片机AT89S521晶振11.0592MHz1电解电容100

    20、0Uf3瓷片电容1042瓷片电容332桥堆2W10178051发光二极管1红电阻1K12按键3拨动开关174LS471数码管1两位共阳7.3源程序; 功能:; 外部中断 0 用于记录不同的秒表数值; 外部中断 1 用于显示不同的记录数值; 外部中断 0 用于复位; 如果没有记录秒表数值,则外部中断 1 不起作用; 可以判断是否显示到最后一个数,显示的是最后一个记录值则保持显示而不再改变; 变量分配 DATA1 EQU 40H DATA2E QU4 2H TCNT EQU 41H MOD1 BIT 00H MOD2 BIT 01H MOD3 BIT 02H MOD4 BIT 03H; 主程序OR

    21、G 0000HLJMP STARTORG 0003HLJMP INT_0ORG 000BHLJMP INT_T0ORG 0013HLJMP INT_1ORG 001BH;DATA1用于储存显示的值 ;DATA2用于储存记录的时间的个数 ;TCNT用于判断定时是否到 1 秒 ;MOD1用于记录计数值是否到 0 ;MOD2用于指示初始化成 59 标志 ;MOD3用于记录外部中断 1 ;MOD4用于记录是否储存了记录值; 开始LJMP INT_T1ORG 0050HSTART: MOV SP,#70H ; 设置堆栈CLR MOD1 ; 初始化标志位CLR MOD2 ;CLR MOD3 ;CLR MO

    22、D4 ;MOV TCNT,#0MOV TMOD,#11H; 定时器初始化, 16 位定时方式 定时 50MS,总定时 1SMOV TH0,3CHMOV TL0,#0B0HCLR P2.4CLR P2.5SETB PX1; 中断设置 外部中断 1 和 0 为高级中断,跳沿触发SETB EX1; 定时器 T0 为低级中断SETB PX1SETB PT1; 定时器 1 设置为高级中断SETB ET1; 开定时器 1MOV TH1,#0FFHMOV TL1,#0FFH; 赋初值SETB IT1SETB PX0SETB IT0SETB ET0SETB EX0SETB EASETB TR0MOV R1,#

    23、50H; 初始化 R1 为 50HMOV DATA1,#59D; 初值是十进制 59LOOP1: LCALL DISPLAY循环显示SJMP LOOP1定时器 T0 中断INT_T0: MOV TH0,#3CHMOV TL0,#0B0HINC TCNTMOV A,TCNTCJNE A,#20,RETURN MOV TCNT,#0 JB MOD1,RETURN DEC DATA1MOV A,#0CJNE A,DATA1,RETURNSETB MOD1RETURN: RETI外部中断 0INT_0: CLR EX0SETB TR1H5: JNB MOD2,H0MOV TH0,#3CHMOV TL0

    24、,#0B0HSETB TR0CLR MOD2SJMP RETURN4H0: JNB MOD1,H1H3: MOV DATA1,#59DMOV R1,#50H到 0 秒直接返回不再减 1减1判断 DATA1是否到 0不到 0 直接返回 到 0 则置位 MOD1标志位; 关外部中断 0; 启动定时器 T1; 如果不是初始化 59 则判断是否到 0; 是初始化 59 则初始化 T0; 清除初始化 59 标志; 如果不到 0 则判断上次是否是储存值显示; 是到 0 则初始化 59; 数据指针初始化为 50SETB MOD2; 初始化 59 标志CLR MOD1; 清除其它标志位CLR MOD3CLR

    25、MOD4CLR TR0SJMP RETURN4; 返回H1: JNB MOD3,H2; 上次不是储存值显示则储存当前值SJMP H3; 上次是储存值显示则初始化 59H2: MOV R1,DATA1SETB MOD4; 当前值存入记录值数据区INC R1; 指针加 1MOV DATA2,R1; 储存记录数值个数RETURN4: RETI; 返回T1中断INT_T1: CLR TR1; 关闭定时器MOV TH1,#0FFHMOV TL1,#0FFH; 重赋值CLR IE0; 清除中断请求标志位CLR IE1SETB EX0; 开中断 0SETB EX1; 开中断 1RETURN9:RETI; 返

    26、回外部中断 1INT_1: CLR EX1; 关闭外部中断 1SETB TR1; 启动定时器 T1X10: JNB MOD4,RETURN6; 没有储存则直接返回JB MOD3,X7 ; 如果上次也是外部中断 1 则直接显示下一个,上次不是外部中断 1 则从第一个显示X8: SETB MOD3MOV R1,#4FHX7: CLR TR0INC R1MOV A,R1CJNE A,DATA2,X9DEC R1 ; 到最后一个则SJMP RETURN6X9: MOV DATA1,R1CLR IE1RETURN6:RETI显示子程序DISPLAY:MOV A,DATA1MOV B,#10DDIV AB

    27、MOV P2,ACJNE A,#0,D_PLAY1SJMP SKIP1D_PLAY1: SETB P2.4CLR P2.5SKIP1: LCALL DELAYCLR P2.4MOV A,BMOV P2,ASETB P2.5CLR P2.4LCALL DELAY;并置位外部中断标志 MOD3; 关定时器; 判断是否到最后一个数; 不到则返回显示R1减 1,一直显示最后一个数值直到复位成 59; 返回; 取十位; 如果十位为 0 则不显示; 十位不为 0 则显示; 取个位CLR P2.5RET ;延时程序DELAY:MOV R6,#5 ;DE: MOV R7,#250 ;DJNZ R7,$ ;DJNZ R6,DE ;RET ;END ; 结束7.4运行实物图图 7.4 运行实物图指导教师评语:课程设计报告成绩: ,占总成绩比例: 课程设计其它环节成绩:环节名称: ,成绩: ,占总成绩比例:环节名称: ,成绩: ,占总成绩比例:总 成 绩:指导教师签字:年月日 本次课程设计负责人意见:负责人签字:年月日


    注意事项

    本文(单片机倒计时秒表课程设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开