2022年单片机数字钟.docx

上传人:C****o 文档编号:59129492 上传时间:2022-11-09 格式:DOCX 页数:19 大小:181.09KB
返回 下载 相关 举报
2022年单片机数字钟.docx_第1页
第1页 / 共19页
2022年单片机数字钟.docx_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《2022年单片机数字钟.docx》由会员分享,可在线阅读,更多相关《2022年单片机数字钟.docx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -目录1 设计任务与要求 . . I 2 设计方案 . 1 3 硬件设计 . 2 3.1 AT89C51 单片机简介 2 3.2 单片机型号的挑选 . . 6 3.3 数码管显示工作原理 . 6 4 软件设计 . 7 4.1 主程序模块介绍 . 7 4.2 主程序 . 7 5 仿真调试 . 5.1 KEIL 仿真结果 . 错误!未定义书签;错误!未定义书签;5.2 仿真结果分析 . 136 小结 . I 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 14

2、 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -1 设计任务与要求1. 设计一个基于单片机的电子时钟,并且能够实现时分秒的现实和调剂;2. 设计出硬件电路;3. 设计出软件编程方法,并写出源代码;4. 用 PROTEUS 进行仿真;5用汇方式实现目的;7系统的各各功能模块要编语言编实现程序设计;6利用查表,中断等清晰,有序;8程序运行时有友好的用户界面;2 设计方案本设计主要设计了一个基于AT89C51单片机的电子时钟; 并在数码管上显示相应的时间;并通过一个掌握键用来实现时间的调剂和是否进入省电模式的转 换;应用

3、 Proteus 的 ISIS 软件实现了单片机电子时钟系统的设计与仿真;该方 法仿真成效真实、精确,节约了硬件资源;该设计的硬件部分主要包括89C51多功能接口芯片用于开发电子时钟芯片、LED七段数码显示器用于显示时间、8031 集成定时器用于定时、 0.125W、8 欧姆的扬声器用于定时发声; 软件部分包括主程序、 定时计数中断程序、 时间调整程序、延时程序四大模块; 通过中断程序进行定时器计数,时间调整程序是当键按下时间小于 1 秒,关闭显示(省电)进入调剂时间状态,延时程序用于时间的延迟;先设计个秒钟程序,在秒钟程序中先不设计按钮,直接通电运行,使用 40H存放计数值,从 0059,始

4、终循环,把 40H 中的数值拆分成个位和十位,分别存在 30H与 31H中,要求动态扫描时,使用 21H当标志位,用指令 JB掌握显示个位与十位,程序中使用中间寄存器R0 与 R1 用于存放拆分后的字型,再传到30H与 31H中去,再设计时钟程序;2 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -3 硬件设计3.1 AT89C51 单片机简介AT89C51单片机是一种低功耗,高性能的片内含有4KB可编程 /

5、 擦除只读存储器( FPEROMFlash Programmable and Erasable Read Only Memory)的 8位 COMS微掌握器,使用高密度,非易失储备技术制造,并且与 AT89C51引脚和指令系统完全兼容;芯片上的 程器对储备重视复编程;3.1.1 单片机的构成FPEROM答应在线编程或采纳通用的非易失储备编AT89C51单片机是在一块芯片中集成了 CPU、RAM、ROM、定时器 / 计数器和多种功能的 I/O 线等一台运算机所需要的基本功能部件,包含以下几个部件:(1) 一个 8 位 CPU;(2)一个片内振荡器准时钟电路;(3)4K字节 ROM程序储备器;(4

6、)128 字节 RAM数据储备器;(5)两个 16 位定时器 / 计数器;AT89C51单片机单片机内(6)可寻址 64K 外部数据储备器和 64K外部程序储备器空间的掌握电路;(7)32 条可编程的 I/O 线(四个 8 位并行 I/O 端口);(8)一个可编程全双工串行口;(9)具有五个中断源、两个优先级嵌套中断结构;其内部机构框图如图 3.1 所示:3 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -图

7、 3.1 MCS-51 单片机内部机构框图 3.1.2 AT89C51 单片机性能及特点(1)与 MCS-51微掌握器产品系列兼容;(2)片内有 4KB可在线重复编程的快闪擦写储备器(Flash Memory);(3)储备器可循环写入 / 擦除 1000 次;(4)储备数据储存时间为 10 年;(5)工作电压范畴: Vcc 可为 2.7V6V;(6)全静态工作:可从 0HZ到 16MHZ;(7)程序储备器具有 3 级加密爱护;(8)128 8 位内部 RAM;(9)32 条可编程 I/O 线;(10)两个 16 位定时器 / 计数器;(11)中断结构具有 5 个中断源和 2 个优先级;(12)

8、可编程全双工串行通道;(13)闲暇状态维护低功耗和掉电状态储存储备内容;3.1.3 振荡器特性XTAL1和 XTAL2分别为反向放大器的输入和输出,片内振荡器;4 该反向放大器可以配置为细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -3.1.4 AT89C51 单片机的引脚说明AT89C51是一种带 4K字节闪耀可编程可擦除只读储备器(FPEROMFalsh Programmable and Erasable

9、 Read Only Memory )的低电压,高性能 CMOS8位微处理器,俗称单片机; AT89C2051是一种带 2K 字节闪耀可编程可擦除只读储备器的单片机;单片机的可擦除只读储备器可以反复擦除100 次;该器件采纳 ATMEL高密度非易失储备器制造技术制造,与工业标准的 MCS-51指令集和输出管脚相兼容;由于将多功能 8 位 CPU和闪耀储备器组合在单个芯片中, ATMEL的 AT89C51是一种高效微掌握器;图 3.3 AT89C51 单片机引脚图AT89C51单片机的内部硬件结构中除了程序储备器由FPEROM 取代了 87C51单片机的 EPROM外,其余部分完全相同,其管脚说

10、明如下:(1)VCC:供电电压(2)GND:接地(3)时钟电路 XTAL1(19 脚)芯片内部振荡电路(单级反相放大器)输入端; XTAL2 (18 脚)芯片内部振荡电路(单级反相放大器)输出端;(4)掌握信号5 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -RST(9 脚)复位信号:时钟电路工作后,在此引脚上将显现两个机器周期的高电平,芯片内部进行初始复位,P0口 P3口输出高电平,将初值07H写入堆栈指

11、针;ALE(30 脚)地址锁存信号:当拜访外部储备器时,P0口输出的低 8 位地址由 ALE输出的掌握信号锁存到片外地址锁存器,P0口输出地址低 8 位后,又能与片外储备器之间传送信息;另外,ALE可驱动 4 个 TTL门;PSEN (29 脚)片外程序储备器读选通:PSEN 低电平有效, PSEN 作为程序储备器的读信号,输出负脉冲,将相应的储备单元的指令读出并送到 P0 口,PSEN 可驱动 8 个 TTL门;EA /Vpp30 脚):当 EA 为高电平且 PC值小于 0FFFH时,CPU执行内部程序储备器程序;当 EA 为低电平常, CPU仅执行外部程序储备器程序;(5)I/O 接口P0

12、口(P0.0P0.7,3932 脚)三态双向口: P0口结构包括一个输出锁存器、两个三态缓冲器、一个输出驱动电路和一个输出掌握端;P1口(P1.0P1.7,18 脚)准双向口: P1口做通用 I/O 接口使用, P1口的每一位口线能独立地作用于输入线,P1口可驱动 4 个 TTL门;P2口(P2.0P2.7,2128 脚)通用 I/O 接口:它做通用 I/O 接口使用时,是一个准双向口, 此时转换开关 MUX倒向左边, 输出极与锁存器相连, 引脚可作 为用户 I/O 口线使用,输入 / 输出操作与 P1口完全相同, P2 口做地址总线使用;P3口(P3.0P3.7 ,1017 脚)双功能口:

13、P3 口做通用 I/O 接口使用,输 出功能掌握线为高电平, 与非门的输出取决于锁存器的状态,此时锁存器 Q端的 状态与其引脚状态是一样的;P3口也可作为 AT89C51的一些特别功能口使用如:P3.0 RXD(串行输入口);6 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -P3.1 TXD(串行输出口);P3.2 /INT0 (外部中断 0);P3.3 /INT1 (外部中断 1);P3.4 T0 (记时

14、器 0 外部输入);P3.5 T1 (记时器 1 外部输入);P3.6 /WR(外部数据储备器写选通) ;P3.7 /RD (外部数据储备器读选通) ;3.2 单片机型号的挑选通过对多种单片机性能的分析, 最终认为 89C51是最抱负的电子时钟开发芯 片;89C51是一种带 4K字节闪耀可编程可擦除只读储备器的低电压,高性能 CMOS8 位微处理器, 器件采纳 ATMEL高密度非易失储备器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容;由于将多功能8 位 CPU和闪耀储备器组合在单个芯片中, ATMEL的 89C51是一种高效微掌握器,而且它与 MCS-51兼容,且具有 4K字节

15、可编程闪耀储备器和 是最好的挑选;3.3 数码管显示工作原理1000 写/ 擦循环,数据保留时间为 10 年等特点,数码管是一种把多个 LED显示段集成在一起的显示设备; 有两种类型, 一种是共阳型, 一种是共阴型; 共阳型就是把多个 LED显示段的阳极接在一起, 又称为公共端; 共阴型就是把多个LED显示段的阴极接在一起, 即为公共商; 阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极;通常的数 码管又分为 8 段,即 8 个 LED显示段,这是为工程应用便利如设计的, 分别为 A、B、C、D、E、F、G、DP,其中 DP 是小数点位段;7 细心整理归纳 精选学习资料 -

16、- - - - - - - - - - - - - - 第 7 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -4 程序设计4.1 主程序模块介绍主程序主要完成一般运行时,循环显示时间的 24 小时;4.2 主程序 #include #define uchar unsigned char #define uint unsigned int sbit P1_7 =P17; sbit P1_6 =P16; typedef struct uchar hour; uchar minute; uchar seco

17、nd; time; time now=0,0,0; uchar code num_tab1=0x80,0x40,0x20,0x10,0x08,0x04; uchar code num_tab2=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /8 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -共阳极显示 uchar state=0; uchar coun

18、t=100; uchar flag=0; / 调整时间 / 定时的标志 uchar recount=0; uchar recount1=0; void delayuint time1 /延时子程序 int i; int k; fori=0;itime1;i+ fork=0;k100;k+; void displaytime disnum /显示子程序 int hour_shi,hour_ge,min_shi,min_ge,sec_shi,sec_ge,i; int num6=0,0,0,0,0,0; hour_shi=disnum.hour/10; hour_ge=disnum.hour%10

19、; 9 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - min_shi=disnum.minute/10; min_ge=disnum.minute%10; sec_shi=disnum.second/10; sec_ge=disnum.second%10; num0=hour_shi; num1=hour_ge; num2=min_shi; num3=min_ge; num4=sec_shi; num5=

20、sec_ge; fori=0;i6;i+ P2=num_tab1i; P0=num_tab2numi; delay1; void display_1uchar wei,uchar k / 显示子程序 1 uchar wei1,wei2; 10 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 10 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - wei1=wei/10; wei2=wei%10; P2=num_tab1k; P0=num_tab2wei1; d

21、elay1; P2=num_tab1k+1; P0=num_tab2wei2; delay1; void interrupt_initvoid EA=0; TMOD=0x01; TH0=0xd8; TL0=0xf0; IT0=1; ET0=1; EX0=1; EA=1; TR0=1; 11 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 11 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - ifrecount.=0 P1_7=P1_7; recount-;

22、else P1_7=0; ifrecount1.=0 P1_6=P1_6; recount1-; else P1_6=0; else count-; 12 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 12 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - void mainvoid uchar j=0; flag=0; interrupt_init; /中断初始化P1_6=0; P1_7=0; while1 switchstate case 0: disp

23、laynow;break; case 1: display_1now.hour,0;break; case 2: display_1now.minute,2;break; case 3: display_1now.second,4;break; 13 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 13 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - 5 仿真调试5.1 KeiL 调试(1)在 Windows下运行 Keil Visiion3 软件,进入 K

24、eil Visiion3 开发环境;(2)在 Keil Visiion3 挑选 Project/New Preject 项目;5.2 仿真结果分析 ,建立一个新的工程功能太过单调, 只能实现时分秒的显示, 设计比较简洁; 电路图的设计过于单调,用的器件太少, 实现调剂时间的按钮太少, 不能很好的实现时间的调剂;在测试过程中,六位数码显示管只显示五位数字,有一位数字不亮, 通过多次的修改程序并在 PROTEUS软件环境中进行仿真, 最终解决了这个问题, 同时也透露出本人在单片机电路设计和程序设计方面的不足;不过最终的仿真成效特别好, 实现了预期的成效, 能过通过多功能掌握键调剂时间和是否进入省电模式,是一个比较令人中意的14 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 14 页,共 14 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁