- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
沈阳工业大学
课程设计
课 程:单片机原理及应用
题 目:基于单片机的长定时器设计(0-9h)
专业班级: 通信工程1003班
学 号: 100404315
学生姓名: 吴开来
指导教师: 唐云雷
完成时间: 2013年6月25日
目录
第1章 绪论 2
第2章 设计内容 3
第3章 MCS-51单片机系统简介 4
第4章 课程设计原理 6
第5章 课程设计代码 8
第6章 仿真与编译 16
第7章 设计总结 18
参考文献: 20
附录: 20
基于LED的数字时钟设计
摘要:近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
关键字 : 单片机 时钟设计 MC51
第1章 绪论
单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、 发展很快、单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习、应用,以AT89C51芯片为核心,加以辅助电路,设计了一个简易的长定时器,它是在设计数字时钟的基础上,由直流电源供电,通过数码管能够准确显示时间。
数字时钟是现代社会应用广泛的计时工具,在航天、电子等科研单位,工厂、医院、学校等企事业单位,各种体育赛事及我们每个人的日常生活中都发挥着重要的作用。本系统是基于AT89C51单片机设计的一个具有四位数码管显示的数字时实时钟,该系统同时具有硬件设计简单、工作稳定性高、价格低廉等优点。数字单片机的技术进步反映在内部结构、功率消耗、外部电压等级以及制造工艺上。在这几方面,较为典型地说明了数字单片机的水平。在目前,用户对单片机的需要越来越多,但是,要求也越来越高。下面分别就这几个方面说明单片机的技术进步状况。
4.1 数值时钟整体框图
软件设计框图如下:
4.2 软件简单流程图
第5章 课程设计代码
; 简要说明:实现24小时制电子钟,6位数码管显示,显示时分秒
; 显示格式:00-00-00
; P0口输出段选信号,P2口输出位选信号,到整点进行提示提示时间为30s
; P1.0为调时按钮,P1.1为调分按钮;P1.3为秒复位 晶振12M
ORG 0000H ;程序入口地址
LJMP START
ORG 000BH ;定时器0中断入口地址
LJMP TIMER_0
K1 BIT P3.7 ;定义调时按键
K2 BIT P3.6 ;定义调分按键
K3 BIT P3.5 ;秒清零
K4 BIT P3.4 ;停止蜂鸣器
FLAG BIT 37H ;蜂鸣器响标志位1为蜂鸣器没有叫,0代表蜂鸣器正在叫
MODE BIT 38H ;报时使能位1为能够报时0为否
FLAG1 BIT 38H
START:
MOV TMOD,#01H ;定时器0,工作模式1
MOV TH0,#03CH
MOV TL0,#0B0H ;赋初值,定时50ms
SETB EA ;开中断总开关
SETB TR0 ;开启定时器0
SETB ET0 ;定时器0中断允许位
MOV R6,#0 ;用于控制走时的基准时钟源,计中断次数
MOV R5,#0 ;R5用于控制扫描按键的时间间隔
MOV 20H,#0 ;秒个位寄存器清零
MOV 21H,#0 ;秒十位寄存器清零
MOV 22H,#0 ;分个位寄存器清零
MOV 23H,#0 ;分十位寄存器清零
MOV 24H,#0 ;时个位寄存器清零
MOV 25H,#0 ;时十位寄存器清零
CLR P0.0 ;将蜂鸣器置0停止
SETB FL
文档评论(0)