版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、昆明冶金高等昆明冶金高等专专科学校科学校 自动化与电力学院自动化与电力学院 毕业设计(论文)开题报告毕业设计(论文)开题报告 设计题目:基于单片机的电子时钟设计题目:基于单片机的电子时钟 学生姓名:学生姓名: 学学 号:号:0800001236 班班 级:电气级:电气 0840 班班 专专 业:电气自动化业:电气自动化 指导教师:指导教师: 填表 时间 2010 年 12 月 25 日 毕毕 业业 设设 计计 开开 题题 报报 告告 1本课题的研究意义 (1)巩固和提高学过的基础理论和专业知识; (2)提高运用所学专业知识进行独立思考和综合分析、解决实际问题的能力; (3)培养掌握正确的思维方
2、法和利用软件和硬件解决实际问题的基本技能; (4)增强对实际电路的认识,掌握分析处理方法,进行调试、计算等基本技能 的训练,使之具有一定程度的实际工作能力。 (5)掌握科研、资料查询的基本方法以及获取新知识的能力。 (6)促使我们学习和获取新知识,掌握自我学习的能力。 (7)通过参与实际工作,使我们了解社会和工作,具备一定的实际工作能力 (8)通过设计数字电子钟,了解电子钟的工作原理和内部构造。 2本课题的主要内容 1根据数字电子钟课题任务制定合理、可行的工作计划; 2进行必要的调研和资料搜集、文献阅读; 3软件设计要符合软件工程规范,硬件设计符合原理表示、电 路图纸和工艺要求的各种规范; 4
3、制定系统的测试方法,并根据完整的测试数据对系统的性能指标做出分析和 评价; 5.实现数字电子钟的显示时间和时间校对的功能; 6对课题成果进行总结,撰写毕业设计说明书 3本课题的重点和难点及预期目标 本课题的重点是:设计出能显示时间且能校对时间的一个电子钟; 本课题的难点是:熟练掌握 proteus、protelse99 及 keil c51 的应用和能实 现的功能; 预期目标:实现时间显示且能校对时间的一块电子时钟。 4设计提纲、进度计划 1、了解机的基本机构; 2、根据数字电子钟课题任务制定合理、可行的工作计划; 3、根据课题任务书选择合理的单片机; 4、根据课题任务书绘出合理的原理图; 5
4、、根据课题任务书编写正确的应用程序; 6、在应用软件中进行仿真练习; 7、购买元器件进行焊接; 8、下载程序进行调试; 9、撰写设计论文。 进度计划: 第十一周:查阅资料,搜集所需信息; 第十二、三周:根据数字电子钟课题任务制定合理、可行的工作计划; 第十四、五周:根据所制定的任务书编写电气原理图; 第十六、七周:根据所制定的任务书编写程序在 proteus 中进行仿真调试; 第十八、九周:编写毕业设计论文,装订成册; 第二十周:进行毕业答辩; 5、完成课题所需条件及落实措施 1、资料:相关设备资料和图纸资料已由指导教师提供,其他的参考资料通过图 书馆和网络查询,可满足完成任务设计需要; 2、
5、机、plc、proteus、protelse99、eil c51 及软件运行环境; 3、时间和场地:由于要参加毕业实习,学院提供了教为灵活教学进度计划、辅 导时间及相应的教室、实验室,可保证灵活有效地按进度完成设计任务。 指导教师意见:(对本课题的深度、广度及工作量的意见) 参考文献、资料: 1 代启化.基于 proteus 的电路设计与仿真j.现代电子技术.2006,第 19 期. 2 曹洪奎;马莹莹 基于 proteus 单片机系统设计与仿真j. 辽宁工学院学报 07 年 04 期 3 侯玉宝 基于 proteus 的 51 系列单片机设计与仿真m电子工业出版社, 2008.270288
6、4 蔡希彪,曹洪奎; 单片机电子时钟系统的设计与仿真 j;中国科技信息; 2007 年 04 期 5 方怡冰.单片机课程的教学与实验改革j.电气电子教学学报.2006,第 3 期. 6 刘文秀.单片机应用系统仿真的研究j.现代电子技术.2005, 第 286 期 7 张友德.单片微型机原理、应用与实验m.上海:复旦大学出版社, 2003.225256. 8 李光飞.单片机设计实例指导m.北京:北京航空航天大学出版社, 2004.5,96100. 9 胡汉才 单片机原理及其接口技术m. 北京: 清华大学出版社 , 1996.89110. 10 杨立民.单片机技术及应用m.西安:西安电子科技大学出
7、版社. 1997.90120. 【11】李军.51 系列单片机高级实例开发指南 北京航空航天大学出版社 指导教师: 年 月 日 目录 第一章第一章 绪论绪论7 1.1 引言7 1.2 proteus 软件简介8 第二章第二章 单片机的相关知识单片机的相关知识8 2.1 单片机简介8 2.2 单片机的发展史9 2.2.1 4 位单片机9 2.2.2 8 位单片机9 2.2.3 16 位单片机9 2.2.4 32 位单片机10 2.2.5 64 位单片机10 2.3 单片机的特点10 2.4 at89c51 单片机介绍11 2.4.1 主要特性11 2.4.2 管脚说明12 第三章第三章 硬件电路
8、设计硬件电路设计14 3.1 电子钟系统硬件组成14 3.2 电子时钟系统设计流程15 3.3 单片机的基本结构15 3.4 单片机的选择20 3.5protel dxp 电路图设计22 3.6 proteus 电路图设计23 第四章软件设计第四章软件设计24 4.1 程序流程图设计24 4.2 源程序设计29 4.3 keilc51 进行程序调试34 4.4 仿真与调试35 4.4.1 proteus 中 hex 文件选择35 4.4.2 proteus 进行电子钟系统仿真35 结束语结束语36 参考文献参考文献37 致致 谢谢38 第一章第一章 绪论绪论 1.1 引言引言 近年来随着计算机
9、在社会领域的渗透和大规模集成电路的发展,单片机的应用 正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作 可靠,使用方便等特点,因此越来越广泛地应用各个领域. 本文的电子钟系统是以单片机(at89c51)为核心,时钟芯片 ds1302、数码管 显示驱动芯片 max7219 等元器件组成。具体介绍应用 proteus 的 isis 软件进行 单片机系统的电子钟设计与仿真的实现方法。该方法既能准确验证所设计的系 统是否满足技术要求,又能提高系统设计的效率和质量,降低开发成本,具有推广 价值。随着半导体技术的飞速发展,以及移动通信、网络技术、多媒体技术在 嵌入式系统设计中的应用,单
10、片机从 4 位、8 位、16 位到 32 位,其发展历程一 直受到广大电子爱好者的极大关注。单片机功能越来越强大,价格却不断下降 的优势无疑成为嵌入式系统方案设计的首选,同时单片机应用领域的扩大也使 得更多人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。 然而传统的单片机系统开发除了需要购置诸如仿真器、编程器、示波器等价格 不菲的电子设备外,开发过程也较繁琐。来自英国 labcenter electronics 公 司的 proteus 软件很好地诠释了利用现代 eda 工具方便快捷开发单片机系统的 优势。它包括 proteus vsm(virtual system model
11、ling)、proteus pcb design 两大组成部分,在 pc 机上就能实现原理图电路设计、电路分析与仿真、 单片机代码级调试与仿真、系统测试与功能验证以及形成 pcb 文件的完整嵌入 式系统设计与研发过程。 单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件电路设计和软件 编程设计两个方面, 其调试过程一般分为软件调试、硬件测试、系统调试 3 个 过程。如果采用单片机系统的虚拟仿真软件proteus,则不用制作具体的电 路板也能够完成以上工作。 1.2 proteus 软件简介软件简介 proteus 软件由 labcenter 公司开发,是目前世界上最先进、最完整的嵌入式 系
12、统设计与仿真平台,可以实现数字电路、模拟电路及微控制器系统与外设的 混合电路系统的电路仿真、软件仿真、系统协同仿真和 pcb 设计等功能,是目 前唯一能够对各种处理器进行实时仿真、调试与测试的 eda 工具。微控制器系 统相关的仿真需建立编译和调试环境,可选择 keil c51uvision2 软件。该软 件支持众多不同公司的芯片,集编辑、编译和程序仿真等于一体,同时还支持 plm、汇编和 c 语言的程序设计。它的界面友好易学,在调试程序、软件仿真方 面有很强大的功能。 其革命性的功能是:将电路仿真和微处理器仿真进行协同, 直接在基于原理图的虚拟原型上进行处理器编程调试,并进行功能验证,通过
13、动态器件如电机、led、lcd、开关等,实时看到运行后的输入、输出的效果, 配合系统配置的虚拟仪器如示波器、逻辑分析仪等, proteus 为我们建立了完 备的电子设计开发环境。 第二章第二章 单单片机的相关知片机的相关知识识 2.1 单片机简介单片机简介 单片微型计算机简称单片机,是典型的嵌入式 微控制器(microcontroller unit),常用英文字母的缩写 mcu 表示单片机,它最早是被用在工业控制领 域。单片机由 芯片内仅有 cpu 的专用处理器发展而来。最早的设计理念是通 过将大量外围设备和 cpu 集成在一个芯片中,使 计算机系统更小,更容易 集成进复杂的而对体积要求严格的
14、控制设备当中。 intel 的 z80 是最早按 照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道 扬镳。 2.2 单片机的发展史单片机的发展史 2.2.1 4 位单片机位单片机 1975 年,美国德克萨斯仪器公司首次推出 4 位单片机 tms-1000;此后, 各个计算机公司竞相推出四位单片机。日本松下公司的 mn1400 系列,美国洛克 威尔公司的 pps/1 系列等。四位单片机的主要应用领域有:pc 机的输入装置, 电池充电器,运动器材,带液晶显示的音/视频产品控制器,一般家用电器的控 制及遥控器,电子玩具,钟表,计算器,多功能电话等。 2.2.2 8 位单片机位单片机
15、 1972 年,美国 intel 公司首先推出 8 位微处理器 8008,并于 1976 年 9 月 率先推出 mcs-48 系列单片机。在这以后,8 位单片机纷纷面市。例如,莫斯特 克和仙童公司合作生产的 3870 系列,摩托罗拉公司生产的 6801 系列等。随着 集成电路工艺水平的提高,一些高性能的 8 位单片机相继问世。例如,1978 年 摩托罗拉公司的 mc6801 系列及齐洛格公司的 z8 系列,1979 年 nec 公司的 upd78xx 系列。这类单片机的寻址能力达 64kb,片内 rom 容量达 4-8kb,片内 除带有并行 io 口外,还有串行 io 口,甚至还有 ad 转化
16、器功能。8 位单片 机由于功能强,被广泛用于自动化装置、智能仪器仪表、智能接口、过程控制、 通信、家用电器等各个领域。 2.2.3 16 位单片机位单片机 1983 年以后,集成电路的集成度可达几十万只管/片,各系列 16 位单片机 纷纷面市。这一阶段的代表产品有 1983 年 intel 公司推出的 mcs-96 系列, 1987 年 intel 推出了 80c96,美国国家半导体公司推出的 hpc16040,nec 公司 推出的 783xx 系列等。16 位单片机主要用于工业控制,智能仪器仪表,便携式 设备等场合。 2.2.4 32 位单片机位单片机 随着高新技术只智能机器人,光盘驱动器,
17、激光打印机,图像与数据实时 处理,复杂实时控制,网络服务器等领域的应用与发展,20 世纪 80 年代末推 出了 32 位单片机,如 motorlora 公司的 mc683xx 系列,intel 的 80960 系列, 以及近年来流行的 arm 系列单片机。32 位单片机是单片机的发展趋势,随着技 术的发展及开发成本和产品价格的下降,将会与 8 位单片机并驾齐驱。 2.2.5 64 位单片机位单片机 近年来,64 位单片机在引擎控制,智能机器人,磁盘控制,语音图像通信, 算法密集的实时控制场合已有应用,如英国 inmos 公司的 transputer t800 是 高性能的 64 位单片机。 2
18、.3 单片机的特点单片机的特点 1 . 单片机的存储器 rom 和 ram 时严格区分的。rom 称为程序存储器,只 存放程序,固定常数,及数据表格。ram 则为数据存储器,用作工作区及存放 用户数据。 2 . 采用面向控制的指令系统。为满足控制需要,单片机有更强的逻辑控 制能力,特别是单片机具有很强的位处理能力。 3 . 单片机的 i/o 口通常时多功能的。由于单片机芯片上引脚数目有限, 为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法,引 脚处于何种功能,可由指令来设置或由机器状态来区分。 4 . 单片机的外部扩展能力很强。在内部的各种功能部件不能满足应用的 需求时,均可在
19、外部进行扩展,与许多通用的微机接口芯片兼容,给应用系统 设计带来了很大的方便。 2.4 at89c51 单片机介绍单片机介绍 at89c51 是一种带 4k 字节闪烁可编程可擦除只读存储器( fperom falsh programmable and erasable read only memory)的低电压,高性 能 cmos8 位微处理器,俗称单片机。 at89c2051 是一种带 2k 字节闪烁可编 程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用 atmel 高密度非易失存储器制造技术制造,与工业标准 的 mcs-51 指令集和输出管脚相兼容。
20、由于将多功能8 位 cpu 和闪烁存储器 组合在单个芯片中, atmel 的 at89c51 是一种高效微控制器, at89c2051 是它的一种精简版本。 at89c 单片机为很多嵌入式控制系统提供了一种灵活 性高且价廉的方案。 at89c51 单片机 2.4.1 主要特性主要特性 与 mcs-51 兼容 4k 字节可编程闪烁存储器 寿命:1000 写/擦循环 数 据保留时间: 10 年 全静态工作: 0hz-24hz 三级程序存储器锁定 128*8 位内部 ram 32 可编程 i/o 线 两个 16 位定时器/计数器 5 个中断源 可编 程串行通道 低功耗的闲置和掉电模式 片内振荡器和时
21、钟电路 2.4.2 管脚说明管脚说明 v vc cc c:供电电压。 g gn nd d:接地。 p p0 0 口口:p0 口为一个 8 位漏级开路双向 i/o 口,每脚可吸收 8ttl 门电流。当 p1 口的管脚第一次写 1 时,被定义为高阻输入。 p0 能够用于 外部程序数据存储器,它可以被定义为数据 /地址的第八位。在 fiash 编程 时,p0 口作为原码输入口,当 fiash 进行校验时, p0 输出原码,此时 p0 外部必须被拉高。 p p1 1 口口:p1 口是一个内部提供上拉电阻的 8 位双向 i/o 口,p1 口 缓冲器能接收输出 4ttl 门电流。p1 口管脚写入 1 后,
22、被内部上拉为高,可 用作输入,p1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的 缘故。在 flash 编程和校验时, p1 口作为第八位地址接收。 p p2 2 口口:p2 口为一个内部上拉电阻的 8 位双向 i/o 口,p2 口缓冲器 可接收,输出 4 个 ttl 门电流,当 p2 口被写“1”时,其管脚被内部上拉 电阻拉高,且作为输入。并因此作为输入时, p2 口的管脚被外部拉低,将 输出电流。这是由于内部上拉的缘故。 p2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, p2 口输出地址的高八位。在给出地址 “1”时,它利用内部上拉优势,当对外部八位地址数据
23、存储器进行读写时, p2 口输出其特殊功能寄存器的内容。 p2 口在 flash 编程和校验时接收高八 位地址信号和控制信号。 p p3 3 口口:p3 口管脚是 8 个带内部上拉电阻的双向 i/o 口,可接收输 出 4 个 ttl 门电流。当 p3 口写入“1”后,它们被内部上拉为高电平,并用 作输入。作为输入,由于外部下拉为低电平, p3 口将输出电流( ill)这 是由于上拉的缘故。 p3 口也可作为 at89c51 的一些特殊功能口,如下表所示: p3.0 rxd 串行输入口 p3.1 txd 串行输出口 p3.2 /int0 外部中断 0 p3.3 /int1 外部中断 1 p3.4
24、 t0 记时器 0 外部输入 p3.6 /wr 外部数据存储器写选通 p3.7 /rd 外部数据存储器读选通 r rs st t:复位输入。当振荡器复位器件时,要保持rst 脚两个机器周 期的高电平时间。 a al le e/ /p pr ro og g:当访问外部存储器时,地址锁存允许的输出电平用于锁 存地址的地位字节。在 flash 编程期间,此引脚用于输入编程脉冲。在平时, ale 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因 此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作 外部数据存储器时,将跳过一个 ale 脉冲。如想禁止 ale 的输出可在
25、sfr8eh 地址上置 0。此时, ale 只有在执行 movx,movc 指令是 ale 才起 作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale 禁止, 置位无效。 / /p ps se en n:外部程序存储器的选通信号。在由外部程序存储器取指期 间,每个机器周期两次 /psen 有效。但在访问外部数据存储器时,这两次有 效的/psen 信号将不出现。 / /e ea a/ /v vp pp p:当/ea 保持低电平时,则在此期间外部程序存储器 (0000h-ffffh),不管是否有内部程序存储器。注意加密方式1 时,/ea 将内部锁定为 reset;当/ea 端保持高电平时
26、,此间内部程序存储器。在 flash 编程期间,此引脚也用于施加 12v 编程电源( vpp)。 x xt ta al l1 1:反向振荡放大器的输入及内部时钟工作电路的输入。 x xt ta al l2 2:来自反向振荡器的输出。 振振荡荡器器特特性性: : xtal1 和 xtal2 分别为反向放大器的输入和输出。该反向放大器可 以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱 动器件,xtal2 应不接。有余输入至内部时钟信号要通过一个二分频触发器, 因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的 宽度。 第三章第三章 硬件硬件电电路路设计设计 3.
27、1 电子钟系统硬件组成电子钟系统硬件组成 电子钟系统硬件主要由 at89c51 单片机、时钟芯片 ds1302、数码管显 示驱动芯片 max7219 等元器件组成。 at89c51 是一种带 4k 字节闪烁可编程可擦除只读存储器的低电压,高性 能 cmos8 位微处理器,俗称单片机 ds1302 是美国 dallas 公司推出的一种高性能、低功耗、带ram 的实 时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时。 max7219 是 maxim 公司生产的串行输入 /输出共阴极数码管显示 驱动芯 片。 单单片片机机晶晶振振电电路路 单单片片机机复复位位电电路路 at89c51 单单片片
28、机机 时时钟钟芯芯片片 ds1302 8位位led显显示示 数数码码管管显显示示驱驱 动动芯芯片片 max7219 按按键键电电路路 蜂蜂鸣鸣器器 电子钟系统硬件电路组成框图 3.2 电子时钟系统设计流程电子时钟系统设计流程 protel dxp 与与 proteus 电电路路设设计计 源源程程序序设设计计 生生成成目目标标代代码码 基基于于proteus仿仿真真 。 3.3 单片机的基本结构单片机的基本结构 mcs-52 单片机内部结构 8052 单片机包含中央处理器、程序存储器(rom)、数据存储器(ram)、 定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总 线和控
29、制总线等三大总线,现在我们分别加以说明: 中央处理器: 中央处理器(cpu)是整个单片机的核心部件,是 8 位数据宽度的处理器, 能处理 8 位二进制数据或代码,cpu 负责控制、指挥和调度整个单元系统协调 的工作,完成运算和控制输入输出功能等操作。 数据存储器(ram) 8052 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存器单元, 它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问, 而不能用于存放用户数据,所以,用户能使用的 ram 只有 128 个,可存放读写 的数据,运算的中间结果或用户定义的字型表。 图 3-1 单片机 8052 的内部结构 程序
30、存储器(rom): 8052 共有 4096 个 8 位掩膜 rom,用于存放用户程序,原始数据或表格。 定时/计数器(rom): 8052 有两个 16 位的可编程定时/计数器,以实现定时或计数产生中断用于 控制程序转向。 并行输入输出(i/o)口: 8052 共有 4 组 8 位 i/o 口(p0、 p1、p2 或 p3),用于对外部数据的传输。 全双工串行口: 8052 内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该 串行口既可以用作异步通信收发器,也可以当同步移位器使用。 中断系统: 8052 具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一 个串行中断,可满
31、足不同的控制要求,并具有 2 级的优先级别选择。 时钟电路: 8052 内置最高频率达 12mhz 的时钟电路,用于产生整个单片机运行的脉冲 时序,但 8052 单片机需外置振荡电容。 单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式, 即哈佛(harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据 存储器合二为一的结构,即普林斯顿(princeton)结构。intel 的 mcs-52 系列 单片机采用的是哈佛结构的形式,而后续产品 16 位的 mcs-96 系列单片机则采 用普林斯顿结构。 下图是 mcs-52 系列单片机的内部结构示意图。 图 3-2 mcs
32、-52 系列单片机的内部结构 mcs-52 的引脚说明: mcs-52 系列单片机中的 8031、8051 及 8751 均采用 40pin 封装的双列直接 dip 结构,右图是它们的引脚配置,40 个引脚中,正电源和地线两根,外置石 英振荡器的时钟线两根,4 组 8 位共 32 个 i/o 口,中断口线与 p3 口线复用。 现在我们对这些引脚的功能加以说明: mcs-51 的引脚说明: mcs-52 系列单片机中的 8031、8051 及 8751 均采用 40pin 封装的双列直接 dip 结构,右图是它们的引脚配置,40 个引脚中,正电源和地线两根,外置石 英振荡器的时钟线两根,4 组
33、8 位共 32 个 i/o 口,中断口线与 p3 口线复用。 现在我们对这些引脚的功能加以说明: 单片机的引脚图 pin9:reset/vpd复位信号复用脚,当 8052 通电,时钟电路开始工作,在 reset 引脚上出现 24 个时钟周期以上的高电平,系统即初始复位。初始化后, 程序计数器 pc 指向 0000h,p0-p3 输出口全部为高电平,堆栈指针写入 07h, 其它专用寄存器被清“0”。reset 由高电平下降为低电平后,系统即从 0000h 地址开始执行程序。然而,初始复位不改变 ram(包括工作寄存器 r0-r7)的状 态,8052 的初始态。 8051 的复位方式可以是自动复位
34、,也可以是手动复位,见下图 4。此外, reset/vpd还是一复用脚,vcc掉电其间,此脚可接上备用电源,以保证单片机 内部 ram 的数据不丢失。 上电自动和手动复位电路图 内部和外部时钟方式图 pin30:ale/当访问外部程序器时,ale(地址锁存)的输出用于锁存地址 的低位字节。而访问内部程序存储器时,ale 端将有一个 1/6 时钟频率的正脉 冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输 出。更有一个特点,当访问外部程序存储器,ale 会跳过一个脉冲。 如果单片机是 eprom,在编程其间,将用于输入编程脉冲。 pin29:当访问外部程序存储器时,此脚输出负
35、脉冲选通信号,pc 的 16 位地址数据将出现在 p0 和 p2 口上,外部程序存储器则把指令数据放到 p0 口上, 由 cpu 读入并执行。 pin31:ea/vpp程序存储器的内外部选通线,8051 和 8751 单片机,内置有 4kb 的程序存储器,当 ea 为高电平并且程序地址小于 4kb 时,读取内部程序存 储器指令数据,而超过 4kb 地址则读取外部指令数据。如 ea 为低电平,则不管 地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的 8031,ea 端必须接地。 3.4 单片机的选择单片机的选择 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单
36、 片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部 件:中央处理器、存储器和 i/o 接口电路等。因此,单片机只需要和适当的软 件及外部设备相结合,便可成为一个单片机控制系统。 单片机经过 1、2、3、3 代的发展,正朝着多功能、高性能、低电压、低功 耗、低价格、大存储容量、强 i/o 功能及较好的结构兼容性方向发展。其发展 趋势不外乎以下几个方面: 1、多功能 单片机中尽可能地把所需要的存储器和 i/o 口都集成在一块芯片上,使得 单片机可以实现更多的功能。比如 a/d、pwm、pca(可编程计数器阵列)、 w
37、dt(监视定时器-看家狗)、高速 i/o 口及计数器的捕获/比较逻辑等。 有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系 统的芯片数量。例如,有的芯片以 51 内核为核心,集成了 usb 控制器、smart card 接口、mp3 解码器、can 或者 i*i*c 总线控制器等,led、lcd 或 vfd 显示 驱动器也开始集成在 8 位单片机中。 2、高效率和高性能 为了提高执行速度和执行效率,单片机开始使用 risc、流水线和 dsp 的设 计技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提 高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高
38、,单片 机的寻址能力、片内 rom(flash)和 ram 的容量都突破了以往的数量和限制。 由于系统资源和系统复杂程度的增加,开始使用高级语言(如 c 语言)来 开发单片机的程序。使用高级语言可以降低开发 难度,缩短开发周期,增强软 件的可读性和可移植性,便于改进和扩充功能。 3、低电压和低功耗 单片机的嵌入式应用决定了低电压和低功耗的特性十分重要。由于 cmos 等 工艺的大量采用,很多单片机可以在更低的电压下工作(1.2v 或 0.9v),功耗 已经降低到 ua 级。这些特性使得单片机系统可以在更小电源的支持下工作更长 的时间。 4、低价格 单片机应用面广,使用数量大,带来的直接好处就是
39、成本的降低。目前世 界各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低其产品 的价格。 下面大致介绍一下单片机的主要应用领域和特点。 (1)家用电器领域 用单片机控制系统取代传统的模拟和数字控制电路,使家用电器(如洗衣 机、空调、冰箱、微波炉、和电视机等)功能更完善,更加智能化和易于使用。 (2)办公自动化领域 单片机作为嵌入式系统广泛应用于现代办公设备,如计算机的键盘、磁盘 驱动、打印机、复印机、电话机和传真机等。 (3)商业应用领域 商业应用系统部分与家用和办公应用系统相似,但更加注重设备的稳定性、 可靠性和安全性。商用系统中广泛使用的电子计量仪器、收款机、条形码阅读 器、安全
40、监测系统、空气调节系统和冷冻保鲜系统等,都采用了单片机构成的 专用系统。与通用计算机相比,这些系统由于比较封闭,可以更有效地防止病 毒和电磁干扰等,可靠性更高。 (4)工业自动化 在工业控制和机电一体化控制系统中,除了采用工控计算机外,很多都是 以单片机为核心的单片机和多机系统。 (5)智能仪表与集成智能传感器 目前在各种电气测量仪表中普遍采用了单片机应用系统来代替传统的测量 系统,使得测量系统具有存储、数据处理、查询及联网等智能功能。将单片机 和传感器相结合,可以构成新一代的智能传感器。它将传感器变换后的物理量 作进一步的变化和处理,使其成为数字信号,可以远距离传输并与计算机接口。 (6)现
41、代交通与航空航天领域 通常应用于电子综合显示系统、动力监控系统、自动驾驶系统、通信系统 以及运行监视系统等。这些领域对体积、功耗、稳定性和实时性的要求往往比 商用系统还要高,因此采用单片机系统更加重要。 目前,我国生产很多型号的单片机,在此,我们采用型号为 stc89c52 的单片机。 因为: stc89c52 是一个低电压,高性能 cmos 8 位单片机,片内含 4k bytes 的可反复擦写的 flash 只读程序存储器和 128 bytes 的随机存取数据存储器 (ram) ,器件采用 atmel 公司的高密度、非易失性存储技术生产,兼容标准 mcs-52 指令系统,片内置通用 8 位中
42、央处理器和 flash 存储单元,内置功能强 大的微型计算机的 at89c52 提供了高性价比的解决方案。 stc89c52 是一个低功耗高性能单片机,40 个引脚,32 个外部双向输 入/输出(i/o)端口,同时内含 2 个外中断口,2 个 16 位可编程定时计数器,2 个全双工串行通信口,stc89c51 可以按照常规方法进行编程,也可以在线编程。 其将通用的微处理器和 flash 存储器结合在一起,特别是可反复擦写的 flash 存储器可有效地降低开发成本 3.5protel dxp 电路图设计电路图设计 protel dxp 设计的电子钟电路原理图 主要元器件功能介绍: at89c51
43、 是一种带 4k 字节闪烁可编程可擦除只读存储器的低电压,高性能 cmos8 位微处理器,俗称单片机。 ds1302 是美国 dallas 公司推出的一种高性能、低功耗、带 ram 的实时时钟电 路,它可以对年、月、日、周日、时、分、秒进行计时。具有调时功能。时钟 操作可通过 ampm 指示决定采用 24 或 12 小时格式。 max7219 是 maxim 公司生产的串行输入/输出共阴极数码管显示驱动芯片。采用 三线制串行接口技术进行数据传送,可直接与单片机连接,用户能方便地修改 内部参数实现多位 led 数码管显示。内含有硬件动态扫描显示控制,每块芯片 可驱动 8 个 led 数码管。 3
44、.6 proteus 电路图设计电路图设计 运行 proteus 的 isis 后出现程序主窗口界面,鼠标左键单击窗口左侧的 元器件工具栏的 component.按钮, 接着再点击窗口左侧的元器件选择区的 pick divices.按钮,弹出如图 1 所示的 pick devices 窗口,再在 categ 栏里点击 microprocessorics 项后,在 results 栏里会出现各种类型的 cpu 器件,找到 at89c51 后双击,at89c51 就被添加到当前窗口左侧的元器件列表区了。 用同样的方法依次把 ds130、max7219、数码管、晶振以及多个电阻、电容 也添加到器件列
45、表区里。 然后再依次点击列表区里的器件,单击左键把他们放到绘图区,右键选中 元件,并编辑其属性,合理布局后,进行连线。连线时当鼠标的指针靠近一个 对象的引脚时,跟着鼠标的指针 r ics 就会出现一个“”提示符号,点击鼠 标左键即可画线了,需要拐弯时点击一下即可,在终点再点击确认一下就画出 了一段导线,所有导线画完后,点击工具栏的 inter-sheeterminal.按钮,添 加上电源和接地符号,原理图的绘制就完成了。 proteus 中设计的电子时钟系统原理图 第四章第四章软软件件设计设计 4.1 程序流程图设计程序流程图设计 系统程序流程图 按键处理是先检测秒按键是否按下,秒按键如果按下
46、,秒就加1;如 果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;如果 没有按下,就检测时按键是否按下,时按键如果按下,时就加1;如果没 有按下,就把时间显示出来。 按键处理流程图 定时器中断时是先检测 1 秒是否到,1 秒如果到,秒单元就加 1;如果没到, 就检测 1 分钟是否到,1 分钟如果到,分单元就加 1;如果没到,就检测 1 小时 是否到,1 小时如果到,时单元就加 1,如果没到,就显示时间。 n y n y n y 时加 1 显示时间 结束 开始 秒按键按下? 秒加 1 分按键按下? 分加 1 时按键按下? n 24 小时到? 分单元清零,时单元加 1 n n n y y
47、 时单元清零 时间显示 中断返回 开始 一秒时间到? 60 秒时间 到? 60 分钟到? 秒单元加 1 秒单元清零,分单元加 1 y y 定时器中断流程图 时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算 显示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。 时十位计算 显示 结束 开始 秒个位计算 显示 秒十位计算 显示 分个位计算 显示 分十位计算 显示 时个位计算 显示 时间显示流程图 4.2 源程序设计源程序设计 中断技术在单片系统中有着十分重要的作用,它不仅可以提高单片机 cpu 的效率,也可以对突发事件处理。所谓中断就是当cpu 正在执行程序 a 时,
48、发生了另一个急需处理的事件 b,这是 cpu 暂停当前执行的程序 a, 立即转去执行处理事件 b 的程序,处理完事件 b 后,再返回到程序 a 继续 执行,这个过程被叫做中断。关于中断的概念有下列几个名词:(1)程序 a 称为主程序,( 2)处理事件 b 的程序称为中断服务程序,( 3)主程序 中转向中断服务程序的地方称为断点,( 4)引起中断的原因即事件 b 称为 中断源,(5)转去执行中断服务程序称为中断响应。关于中断的概念可以 打个如下的比喻。领导( cpu)在自己的房间办公(执行主程序),下属 (外设)有问题打电话来请示(中断源),领导停下正在进行的工作,通过 电话给下属做指示(执行中
49、断服务程序),指示完后,领导挂断电话,继续 做自己的工作(返回主程序继续执行)。 中断是一个过程,当中央处理器 cpu 在处理某件事情时,外部又发生了 另一紧急事件,请求 cpu 暂停当前的工作而去迅速处理该紧急事件。处理结 束后,再回到原来被中断的地方,继续原来的工作。引起中断的原因或发出 中断请求的来源,称为中断源。 单片机一般允许有多个中断源,当几个中断源同时向cpu 请求中断时, 就存在 cpu 优先响应哪一个中断请求源的问题(优先级问题),一般根据中 断源的轻重缓急排队,优先处理最紧急事件的中断请求,于是便规定每一个 中断源都有一个中断优先级别,并且cpu 总是响应级别最高的中断请求
50、。 当 cpu 正在处理一个中断源请求的时候,又发生了另一个优先级比它高 的中断源请求,如果 cpu 能够暂时中止对原来中断处理程序的执行,转而去 处理优先级更高的中断源请求,待处理完以后,再继续执行原来的低级中断 处理程序,这样的过程称为中断嵌套。 以下为部分源程序: #include at89x51.h #include delay.h #include max7219.c #include music.c #define uchar unsigned char #define uint unsigned int idata sbit add=p11; sbit sub=p10; sbit
51、 acc0 = acc0; sbit acc7 = acc7; void showday(void);/显示时间 void showdata(void);/显示日期 void showdishi(void);/显示定时 void int_0(void);/中断 0 void int_1(void);/中断 1 void flash_max7219(unsigned char n);/闪一个位 max7219 /* */ /* 实时时钟模块 时钟芯片型号: ds1302 */ /*/ /* */ sbit t_clk = p23; /*实时时钟时钟线引脚 */ sbit t_io = p24;
52、/*实时时钟数据线引脚 */ sbit t_rst = p25; /*实时时钟复位线引脚 */ /* */ void v_rtinputbyte(uchar ucda); /往 ds1302 写入 1byte 数据 uchar uc_rtoutputbyte(void);/ 从 ds1302 读取 1byte 数据 void v_w1302(uchar ucaddr, uchar ucda);/往 ds1302 写入数据 uchar uc_r1302(uchar ucaddr);/读取 ds1302 某地址的数据 /void v_burstw1302t(uchar *psecda);/往 ds
53、1302 写入时钟数据 (多字节方式) /void v_burstr1302t(uchar *psecda);/读取 ds1302 时钟数据 /void v_burstw1302r(uchar *preda);/往 ds1302 寄存器数写入数 据(多字节方式) /void v_burstr1302r(uchar *preda);/读取 ds1302 寄存器数据 void v_set1302(uchar *psecda) ;/设置初始时间 ,输入: psecda: 初始时间地址。初始时间格式为 : 秒 分 时 日 月 星期 年 void v_get1302(uchar uccurtime) ;
54、/读取 ds1302 当前时间 uchar showtime8=0,0,10,0,0,10,0,0;/显示的时间 *全局变量 uchar settime2=0,0;/定时的设定 uchar time7=0,0 x59,0 x19,0 x24,0 x7,0 x01,0 x08;/秒 分 时 日 月 星期 年 uchar tmod=7;/此时的调节模式 void main() delay_ms(200); /sound(); initmax7219();/初始化 max7219 cls();/清屏 max7219 /v_get1302( /v_set1302( ex0=1; ex1=1; it1=
55、1;/下降沿触发 it0=1; ea=1;/开中断 v_get1302( showday(); /int_1(); /int_0(); while(1) v_get1302( showday(); if (settime0=time2) /*显示时间 void showday(void) /将数据转化为显示格式 showtime7=time0 /个位 showtime6=time04;/十位 showtime4=time1 showtime3=time14; showtime1=time2 showtime0=time24; showtime2=showtime5=10; disp_88( /
56、*显示日期 void showdata(void) showtime7=time3 showtime6=time34; showtime4=time4 showtime3=time44; showtime1=time6 showtime0=time64; showtime2=showtime5=10; disp_88( /*显示定时 void showdishi(void) showtime1=settime0 showtime0=settime04; showtime4=settime1 showtime3=settime14; showtime6=12; showtime7=13; showtime2=showtime5=10; disp_88( 4.3 keilc51 进行程序调试进行程序调试 4.4 仿真与调试仿真与调试 4.4.1 proteus 中中 hex 文件选择文件选择 系统仿真分析电路原理图在 isis 里设计完成,并将系统软件编译成.hex 文件,再进行电子时钟的系统虚拟仿
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二手房交易抵押条款协议版
- 二零二五年度温情离婚协议离婚后的子女保险协议2篇
- 二零二五年度地质灾害区域打井安全防护合同4篇
- 二零二五年度彻砖劳务分包合同风险防控措施4篇
- 2025至2030年中国一次性淀粉环保餐饮具数据监测研究报告
- 2025年度电商平台数据分析与用户行为研究合作协议书4篇
- 二零二五年度餐饮企业食品安全管理体系优化合同3篇
- 政治经济一体化趋势-深度研究
- 2025至2031年中国弹性补缝腻子行业投资前景及策略咨询研究报告
- 智能交通优化策略-深度研究
- 煤矿反三违培训课件
- 向流程设计要效率
- 安全文明施工的管理要点
- 2024年中国航空发动机集团招聘笔试参考题库含答案解析
- 当代中外公司治理典型案例剖析(中科院研究生课件)
- GMP-基础知识培训
- 动力管道设计手册-第2版
- 2022年重庆市中考物理试卷A卷(附答案)
- Python绘图库Turtle详解(含丰富示例)
- 煤矿机电设备检修技术规范完整版
- 榆林200MWp并网光伏发电项目可行性研究报告
评论
0/150
提交评论