基于51单片机的实时时钟设计(8255扩展io口)

合集下载

基于51单片机的多功能电子钟设计

基于51单片机的多功能电子钟设计

基于51单片机的多功能电子钟设计1. 本文概述随着现代科技的发展,电子时钟已成为日常生活中不可或缺的一部分。

本文旨在介绍一种基于51单片机的多功能电子钟的设计与实现。

51单片机因其结构简单、成本低廉、易于编程等特点,在工业控制和教学实验中得到了广泛应用。

本文将重点阐述如何利用51单片机的这些特性来设计和实现一个具有基本时间显示、闹钟设定、温度显示等功能的电子钟。

本文的结构安排如下:将详细介绍51单片机的基本原理和特点,为后续的设计提供理论基础。

接着,将分析电子钟的功能需求,包括时间显示、闹钟设定、温度显示等,并基于这些需求进行系统设计。

将详细讨论电子钟的硬件设计,包括51单片机的选型、时钟电路、显示电路、温度传感器电路等。

软件设计部分将介绍如何通过编程实现电子钟的各项功能,包括时间管理、闹钟控制、温度读取等。

本文将通过实验验证所设计的电子钟的功能和性能,并对实验结果进行分析讨论。

通过本文的研究,旨在为电子钟的设计提供一种实用、经济、可靠的方法,同时也为51单片机的应用提供一个新的实践案例。

2. 51单片机概述51单片机,作为一种经典的微控制器,因其高性能、低功耗和易编程的特性而被广泛应用于工业控制、智能仪器和家用电器等领域。

它基于Intel 8051微处理器的架构,具备基本的算术逻辑单元(ALU)、程序计数器(PC)、累加器(ACC)和寄存器组等核心部件。

51单片机的核心是其8位CPU,能够处理8位数据和执行相应的指令集。

51单片机的内部结构主要包括中央处理单元(CPU)、存储器、定时器计数器、并行IO口、串行通信口等。

其存储器分为程序存储器(ROM)和数据存储器(RAM)。

程序存储器通常用于存放程序代码,而数据存储器则用于存放运行中的数据和临时变量。

51单片机还包含特殊功能寄存器(SFR),用于控制IO端口、定时器计数器和串行通信等。

51单片机的工作原理基于冯诺伊曼体系结构,即程序指令和数据存储在同一块存储器中,通过总线系统进行传输。

毕业设计基于51单片机的电子闹钟设计

毕业设计基于51单片机的电子闹钟设计

摘要这个设计时基于AT89C2051设计的电子时钟,通过对硬件资源和软件的编写,初步了解设计的思路以及实现过程。

电子闹钟是采用电子电路实现对时、分、秒进行数字显示的装置,广泛应用于个人家庭、医院、车站、码头、办公室等公共场所,成为人们日常生活中不可缺少的必需品。

本设计基于单片机技术原理,以AT89SC2051作为核心控制器,通过硬件电路的制作及软件程序的编制,设计制作了一种利用四位LED数码管动态扫描显示时间的电子闹钟系统。

整个电子闹钟系统主要由时间显示模块、时间设置、闹铃模块、闹钟响应模块。

可实现时间显示、时间调整、闹钟设置和整点闹铃功能,具有制作简单、调整方便、稳定性好、便于扩展等特点。

电子时钟还通过对比实际的数字电子时钟,来校正和调整,从而找出误差的来源,尽可能的减少误差,是系统可以达到实际数字电子时钟允许的误差范围内。

关键词:单片机AT89SC2051、电子闹钟、LED动态显示目录摘要 (I)1.引言 (1)2 系统设计 (1)2.1设计要求 (1)2.2总设计方案 (1)2.2.1 系统实现 (2)3系统硬件电路设计 (2)3.1时钟电路设计 (3)3.2显示模块的设计 (4)3.3按键模块的设计 (5)3.4复位电路设计 (5)3.5闹铃的设计 (6)3.6发光二极管闪烁电路设计 (6)4 软件设计 (7)4.1程序流程 (7)4.1.1主程序 (8)4.1.2 时钟走时模块 (9)4.1.3时间设置模块 (10)4.1.4闹钟设置模块 (11)4.1.5 奏乐模块 (11)5 系统测试 (15)5.1硬件调试 (15)5.2软件调试 (15)6 结论 (15)附录 (15)附录1器件清单 (15)附录2调试仪器 (16)附录3原理图和PCB图 (16)附录4实物 ............................................... 错误!未定义书签。

附录5程序清单 ........................................... 错误!未定义书签。

第14讲:MCS-51单片机系统的并口IO扩展(8255)

第14讲:MCS-51单片机系统的并口IO扩展(8255)

8255A 74LS373
1D ~ 8D 2Q 1Q G /OC
8 8
微型打印机
P0
PA0~PA7
A1 A0 PC0 PC7
DB0~DB7
8031
ALE /RD /WR RST /EA
BUSY /STB
D0 ~D7 /RD /WR RESET
分析:因为PC0连接BUSY,所以,PC3~PC0为输入,又因PC7连接 /DATA
STROBE ,所以PC7~PC4为输出;STROBE表示重复的意思;/DATA STROBE 数据选通信号。作用是通知打印机,8255A要给它传数。 PA口输出,PB口未用。 故 8255A的控制字可设为:1000 0001B=81H 由电路图,得PA口地址:7FFCH(地址的无关位取“1”) PB口地址:7FFDH PC口地址:7FFEH 控制口 : 7FFFH
I/O
I/O INTRA /STBA IBFA × ×
I/O
I/O INTRA × × /ACKA / OBFA
(4)8255A的4个端口的地址
①8255各端口的地址如何确定?
CS
0 0 0 0 1
②对8255各端口的操作?
A1
0 0 1 1 ×
A0
0 1 0 1 ×
选中的端口
PA PB PC 控制寄存器 芯片未选中
C口:除了单独作为8位输入、输出口使用外, 还可以按控制命令被分成两个4位端使用, 分别作为A口和B口输出控制信号和输入 状态信号。
A组控制和B组控制:这两组控制电路由 工作方式控制字来设定两组端口的工作 方式和读/写操作。 A组的控制电路管理A口和C口的高5位 (PC7~PC3)的工作方式和读/写操作。 B组的控制电路管理B口和C口的低3位 (PC2~PC0)的工作方式和读/写操作。

51单片机8255A扩展IO口解析

51单片机8255A扩展IO口解析
D7 D6 D5 D4 D3 D2 D1 D0
PC口置/复位控制字
工作方式控制字
B组
D7 D6 D5 D4 D3 D2 D1 D0
PC置/复位控制字
0:复位 1:置位 位选择 000 PC0 001 PC1 010 PC2 011 PC3 100 PC4 101 PC5 110 PC6 111 PC7
I/O PC4-PC7
B组 端口C
下半部(4)
I/O PC0-PC3
PA口 PB口 PC口低4位
PC口高四位
PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
14 15 16 17 13 12 11 10
RD WR A0 A1 RESET
读写 控制 逻辑
B组 控制
B组 端口B (8) I/O PB0-PB7
单片机 8255A 外设
1. 8255A的结构及引脚功能
8255A为40引脚的双列直插式(DIP)封装
(1)引脚功能 ① D0~D7为数据线,与单片机的数据 总线连接,传数据、命令等。 ② PA0~PA7(PA口)、PB0~PB7(PB 口)、PC0~PC7(PC口)为3个8位并行 I/O口,用于8255A与外设之间传数据。 ③ 读写控制逻辑线
8255A
PA口: × PB口: × PC口: × 控制口:× × × × × × × × × × × × × × × × × × × × × × × × × × × × ×
CS
0 0 0 0 × × × × × × × × × × × × × × × × × × × ×
A1 0 0 1 1
A0 0 1 0 1
0 1 0 1
没接的地址线设为1,则4个端口地址为: PA=7FFCH PB=7FFDH PC=7FFEH 控制口=7FFFH

基于51单片机的实时时钟设计报告

基于51单片机的实时时钟设计报告

课程设计(论文)任务书信息工程学院信息工程专业(2)班一、课程设计(论文)题目嵌入式课程设计二、课程设计(论文)工作自 2014 年 6 月 9 日起至2014年 6月15日止。

三、课程设计(论文) 地点: 5-402 单片机实验室四、课程设计(论文)内容要求:1.本课程设计的目的(1)使学生掌握单片机各功能模块的基本工作原理;(2)培养学生单片机应用系统的设计能力;(3)使学生能够较熟练地使用proteus工具完成单片机系统仿真。

(4)培养学生分析、解决问题的能力;(5)提高学生的科技论文写作能力。

2.课程设计的任务及要求1)基本要求:(1)分析所设计系统中各功能模块的工作原理;(2)选用合适的器件(芯片);(3)提出系统的设计方案(要有系统电路原理图);(4)对所设计系统进行调试。

2)创新要求:在基本要求达到后,可进行创新设计,如改善单片机应用系统的性能。

3)课程设计论文编写要求(1)要按照书稿的规格打印撰写论文。

(2)论文包括目录(自动生成)、摘要、正文、小结、参考文献、附录等。

(3)论文装订按学校的统一要求完成。

4)答辩与评分标准:(1)完成原理分析:20分;(2)完成设计过程:30分;(3)完成调试:20分;(4)回答问题:20分;(5)格式规范性(10分)。

5)参考文献:(1)张齐.《单片机原理与嵌入式系统设计》电子工业出版社(2)周润景.《PROTUES入门实用教程》机械工业出版社(3)任向民.《微机接口技术实用教程》清华大学出版社(4)/view/a5a9ceebf8c75fbfc77db2be.html6)课程设计进度安排内容天数地点构思及收集资料1图书馆系统设计与调试 4 实验室撰写论文2图书馆、实验室学生签名:2014 年6 月9日课程设计(论文)评审意见(1)完成原理分析(20分):优()、良()、中()、一般()、差();(2)设计分析(30分):优()、良()、中()、一般()、差();(3)完成调试(20分):优()、良()、中()、一般()、差();(4)回答问题(20分):优()、良()、中()、一般()、差();(5)格式规范性(10分):优()、良()、中()、一般()、差();评阅人:职称:2014 年6 月15 日目录摘要 (4)第1章设计要求 (5)1.1设计要求 (5)1.2设计内容 (5)1.3设计基本环境 (5)第2章设计方案和论证 (6)2.1总设计原理框图 (6)2.2设计方案选择 (7)第3章硬件电路 (8)3.1单片机的选择 (8)3.1.1 单片机内部原理分析 (8)3.1.2单片机的引脚及封装 (9)3.1.3单片机最小系统 (11)3.2 数码管显示工作原理 (11)3.3 8255A模块 (12)3.4时间调节模块 (13)3.4.1 时间设置 (13)3.4.2整点报时 (13)第4章软件调试 (14)4.1时间调节程序流程图 (14)4.2主程序流程图 (18)第5章仿真调试 (22)第6章总结与体会 (23)第7章参考文献 (23)摘要单片计算机即单片微型计算机。

利用8255和51单片机实现数码管显示按键值的实验

利用8255和51单片机实现数码管显示按键值的实验

物理与电子工程学院单片机原理及其应用期中大作姓名:专业:学号:课题:使用8255和51单片机实现对数码管显示案件数值控制要求:从0--15,数码管上分别显示0--9,A--F,4*4矩阵键盘芯片资料8255一、简介8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。

具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。

其各口功能可由软件选择,使用灵活,通用性强。

8255可作为单片机与多种外设连接时的中间接口电路。

二、内部结构8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。

同时必须具有与外设连接的接口A、B、C口。

由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。

1)与CPU连接部分根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。

由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0~A1。

此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。

各信号的引脚编号如下:(1)数据总线DB:编号为D0~D7,用于8255与CPU传送8位数据。

(2)地址总线AB:编号为A0~A1,用于选择A、B、C口与控制寄存器。

(3)控制总线CB:片选信号、复位信号RST、写信号、读信号。

当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。

2)与外设接口部分根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。

各通道的引脚编号如下:(1)A口:编号为PA0~PA7,用于8255向外设输入输出8位并行数据。

8255电子钟课程设计

8255电子钟课程设计

8255电子钟课程设计一、课程目标知识目标:1. 理解8255可编程定时器/计数器的工作原理,掌握其在电子时钟设计中的应用。

2. 学会使用8255芯片与微控制器(如8051)的接口技术,并能正确编程控制电子钟的时、分、秒显示。

3. 掌握电子时钟的时间计数与显示的基础算法,能够运用所学知识设计简单的电子时钟程序。

技能目标:1. 培养学生动手能力,通过搭建8255电子时钟电路,提高学生的电路连接与调试技巧。

2. 培养学生编程能力,让学生能够独立编写8255控制电子时钟的程序代码,并实现功能。

3. 培养学生问题解决能力,面对电子时钟设计中的问题,能够进行故障排查和程序优化。

情感态度价值观目标:1. 培养学生对电子技术和编程的兴趣,激发学生的学习热情和创新精神。

2. 培养学生团队协作精神,通过小组合作完成课程设计,增强集体荣誉感和责任感。

3. 培养学生科学严谨的态度,在设计过程中注重细节,遵循操作规程,确保安全与可靠性。

本课程针对高年级电子信息技术或计算机科学与技术相关专业学生,结合教材内容,注重理论联系实际,旨在提高学生电子电路设计、编程及实际应用能力。

课程目标明确、具体,可衡量,为后续教学设计和评估提供依据。

二、教学内容本课程教学内容紧密围绕课程目标,结合教材以下章节:1. 8255可编程定时器/计数器原理与功能- 8255芯片内部结构- 工作模式及时序分析- 接口技术及其在微控制器中的应用2. 电子时钟基础知识- 电子时钟原理概述- 时、分、秒计数与显示方法- 电子时钟程序设计基础3. 8255电子时钟设计与实现- 电路设计与搭建- 程序编写与调试- 故障排查与优化教学内容安排与进度:第一周:8255可编程定时器/计数器原理学习,接口技术了解。

第二周:电子时钟基础知识学习,程序设计基础掌握。

第三周:分组讨论,确定电子时钟设计方案,开始电路搭建与程序编写。

第四周:电路调试,程序优化,完成8255电子时钟设计。

51单片机电子时钟设计

51单片机电子时钟设计

51单片机电子时钟设计电子时钟是一种非常实用的电子设备,它可以准确地显示时间,并拥有一系列的功能,如闹钟、日历等。

使用51单片机设计电子时钟,可以实现这些功能,同时还能够进行功能扩展,更好地满足用户需求。

首先,我们需要硬件上的准备工作。

51单片机需要与时钟(晶振)和显示器(LCD模块)进行连接。

晶振是提供单片机时钟脉冲的源头,LCD模块用于显示时间和各种功能。

同时,在电路中还需要进行一些扩展,如实时时钟模块(RTC模块)、按键模块等。

在软件设计方面,主要需要考虑以下几个方面:1.时钟脉冲:通过配置晶振的频率,可以生成单片机所需的时钟脉冲。

这个脉冲控制了单片机的运行速度,从而影响到时钟的准确性。

需要根据晶振频率进行相关配置。

2.时间的获取和计算:通过RTC模块可以获取当前的时钟数据(包括年、月、日、时、分、秒)。

在程序中,需要通过相应的接口获取这些数据,并进行计算。

比如,在显示时钟的时候,可以通过获取秒数、分钟数和小时数,并将其转换为相应的字符串进行显示。

3.菜单和按键功能:为了实现更多的功能,我们可以通过按键来实现菜单切换和功能选择。

在程序中,需要对按键进行扫描,判断按键的状态,然后进行相应的操作。

比如,按下菜单键可以进入菜单界面,通过上下键选择不同的功能,再通过确定键进行确认。

4.闹钟功能:闹钟功能是电子时钟中常见的功能之一、通过设置闹钟时间,并进行闹钟的开启或关闭,可以在指定的时间点触发相应的报警动作。

在程序中,需要编写逻辑判断闹钟是否到达指定的时间,然后触发报警。

5.日历功能:除了显示时间,电子时钟还可以显示当前的日期,包括年、月、日。

在程序中,需要编写相关的逻辑来获取日期数据,并进行显示。

通过以上的步骤,我们可以基本实现一个简单的电子时钟功能。

当然,根据用户的需求,还可以进行更多的功能扩展,比如添加温湿度监测、自动调光等功能。

总结起来,51单片机电子时钟的设计主要包括硬件和软件两个方面。

基于51单片机的多功能数字时钟系统设计

基于51单片机的多功能数字时钟系统设计

一、概述、设计思路该设计方案是以MC51单片机为核心,采用LCD液晶屏幕显示系统,辅以闹钟模块,温度采集模块、日期提醒、键盘时间调整预设置等模块,所构建的数字时钟系统,能动态显示实时时钟的时、分、秒,数据显示(误差限制在30每天),对闹铃方式与温度调节模块进行了重点设计实现SB0、SB1、SB2、SB3四个键实现时钟正常显示,调时,及闹钟时间设置。

本系统设计大部分功能有软件来实现,使电路简单明了,系统稳定性也得大大提高。

二、系统组成与工作原理1、工作原理:本设计采用STC89C51单片机作为本次课程设计的控制模块。

单片机可把由DS18B20、DS1302、AT24C02中的数据利用软件来进行处理,从而把数据传输到显示模块,实现温度、日历和闹铃的显示。

以LCD液晶显示器为显示模块,把单片机传来的的数据显示出来,并且显示多样化,在显示电路中,主要靠按键来实现各种显示要求的选择与切换。

2、总是设计框架图:图二:系统总体电路图三、单元电路的设计与分析整个电子时钟系统电路可分为六大部分:中央处理单元(CPU)、复位电路部分、显示部分、键盘输入部分、温度采集部分。

1、MCS-51单片机89S51各引脚功能介绍:VCC:89S51 电源正端输入,接+5V。

VSS:电源地端。

XTAL1:单芯片系统时钟的反相放大器输入端。

XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在XTAL1 和XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。

A T89S51RESET:89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。

EA/Vpp:"EA"为英文"External Access"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。

单片机仿真课程设计——基于51单片机的实时时钟

单片机仿真课程设计——基于51单片机的实时时钟

基于51系列单片机及DS1302时钟芯片的实时时钟仿真设计一、课程设计目的意义通过本次课程设计可以灵活运用单片机的基础知识,依据课程设计内容,能够完成从硬件电路图设计,到软件编程及系统调试实现系统功能,完成课程设计,加深对单片机基础知识的理解并灵活运用。

二、实现目标本设计主要为实现一款可正常显示时钟/日历的实时电子时钟。

对当前电子钟开发手段进行了比较和分析,最终确定了采用单片机技术实现电子时钟。

本设计应用AT89C52芯片作为核心,LCD显示屏,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能。

这种实现方法的优点是电路简单,性能可靠,实时性好,时间精确,操作简单,编程容易。

三、硬件设计本设计采用具有32根I/O引脚的AT89C52单片机。

AT89C52单片机是一款低功耗,低电压,高性能CMOS 8位单片机,片内含4KB(可经受1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM),器件采用CMOS工艺和ATMEI公司的高密度、非易失性存储器(NURAM)技术制造,其输出引脚和指令系统都与MCS-52兼容。

片内的FLASH存储器允许在系统内可改编程序或用常规的非易失性存储器编程器来编程。

因此,AT89C52是一种功能强,灵活性高且价格合理的单片机,可方便的应用在各个控制领域。

AT89C52具有以下主要性能:1.4KB可改编程序Flash存储器;2.全静态工作:0——24Hz;3.128×8字节内部RAM;4.32个外部双向输入/输出(I/O)口;5.6个中断优先级; 2个16位可编程定时计数器;6.可编程串行通道;7.片内时钟振荡器。

DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。

实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。

单片机并行IO口8255扩展实验

单片机并行IO口8255扩展实验

实验一并行I/O口8255扩展实验
一、实验目的
了解8255芯片的结构及编程方法,学习模拟交通灯控制的实现方法。

二、实验内容
用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。

三、实验说明
因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化情况和规律。

假设一个十字路口为东西南北走向。

初始状态0为东西红灯,南北红灯。

然后转状态1东西绿灯通车,南北红灯。

过一段时间转状态2,东西绿灯灭,黄灯闪烁几次,南北仍然红灯。

再转状态3,南北绿灯通车,东西红灯。

过一段时间转状态4,南北绿灯灭,黄灯闪烁几次,东西仍然红灯,最后循环至状态1。

四、实验原理图
五、实验程序框图(8255.ASM)
六、实验步骤
①8255 PC0-PC7、
PB0-PB3分别接L0~L11
红、黄、绿发光二极管;
②8255CS接Y0(在仿
真插头所在扩展总线区);
③打开8255接口区中的
电源开关S1;
④调试、运行程序(内
程序,外数据);
⑤初始态为四个路
口的红灯全亮之后,东西
路口的绿灯亮南北路口的
红灯亮,东西路口方向通
车。

延时一段时间后东西
路口的绿灯熄灭,黄灯开
始闪烁。

闪烁若干次后,
东西路口红灯亮,而同时
南北路口的绿灯亮,南北
路口方向开始通车,延时
一段时间后,南北路口的
绿灯熄灭,黄灯开始闪烁。

闪烁若干次后,再切换到东西路口方向,之后重复以上过程。

.。

基于51单片机实现的简单闹钟设计

基于51单片机实现的简单闹钟设计

基于51单片机实现的简单闹钟设计本设计利用单片机AT89C52制作一个简单的倒计时定时闹钟,这是一个很实用的工具。

我们使用按键来设定需要定时的时间长短,然后利用中断设置20次中断定义一秒,利用程序设计时间倒数。

同时,我们使用4个8段数码管来显示分和秒,并且在定时结束后使用电铃警示。

在硬件系统方面,我们使用proteus仿真,这样就能观察到系统的实际运行情况。

具体地说,我们使用AT89C52单片机芯片作为控制芯片,使用四位相连的8段共阴数码管,并且使用74HC573锁存器控制数码管的显示。

在定时过程中,我们使用s1控制十分位,s2控制分位,s3控制十秒位,s4控制秒位,s5开始倒计时。

这样,我们就能实现一个简单而实用的倒计时定时闹钟。

关于AT89C52单片机芯片,它是___MCS-51系列单片机中基本的产品,采用___可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。

它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,基于标准的MCS-51单片机体系结构和指令系统,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。

80C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。

此外,80C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。

在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。

掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。

80C52有PDIP(40pin)和PLCC(44pin)两种封装形式。

8051片内有ROM,无须外接外存储器和373,更能体现“单片”的简练。

最后,关于74HC573芯片,它是一个锁存器,用于控制数码管的显示。

51单片机8255A扩展IO口与单片机连接

51单片机8255A扩展IO口与单片机连接

INTRA IBFA STB A INTRA
STB BRB INTRB
ACK B
4. 8255A的应用
8255A与单片机的连接
WR RD P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 D7 D6 D5 D4 D3 D2 D1 D0 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 G OE WR RD RESET CS PA
8255A CS
PA口: 0 × PB口: 0 × PC口: 0 × 控制口:0 × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × ×
A1 0 0 1 1
A0
74LS373
8255A
A1 A0 PB
8031
ALE
EA
D7 D6 D5 D4 D3 D2 D1 D0
PC
数据线D0~D7接P0口 RD 、 WR 接单片机的 RD 、WR 复位线RESET接到复位电路,与CPU一起复位
8255A与单片机的连接
WR RD P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 D7 D6 D5 D4 D3 D2 D1 D0 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 G OE WR RD RESET CS PA
+5V ... ... L4 L3 ... L0 ... K7 ... . . . K4 K3 ... K0 ... . .
0 1 0 1
没接的地址线设为1,则4个端口地址为: PA=7FFCH PB=7FFDH PC=7FFEH 控制口=7FFFH

第9章 MCS 51 单片机系统扩展(三,8255扩展).

第9章 MCS 51 单片机系统扩展(三,8255扩展).

+5V
Q7接片选/CS端,8255的(一组)寄存器地址可以是:
PA口:0000H PB口:0001H PC口:0002H 命令口:0003H
也可以是:007CH,007DH,007EH,007FH……
8255的编程应用
例:初始化A口,B口,C口为基本I/O输出口 MOV DPTR,#7003H ;指向控制字寄存器 MOV A, #80H ; A,B,C口均为输出口 MOVX @DPTR, A ;装入

40 PIN
8255的PA,PB,PC口的三种工作方式:
工作方式 0 1 2 ◆ A口 基本输入/输出 输出锁存, 输入三态 应答式输入/输出 输入/输出均锁存 应答式双向输入/输出 输入/输出均锁存 B口 C口 基本输入/输出 基本输入/输出 输出锁存, 输入三态 输出锁存, 输入三态 应答式输入/输出 输入/输出均锁存 B口无此方式 提供A口和B口的 应答信号 提供A口的 应答信号
选中的 位将要 输出的 状态
1 0 , , 置 清 1 0
=
=
8255与单片机的连接:
74LS373
AT89C51
P0.0-P0.7 ALE P2.7 WR RD RESET 8D G Q0 Q1 OE
D0-D7 A0 A1
8255
PA
PC CS WR RD RESET
PB
EA
+5V
P2.7接片选/CS端,8255的(一组)寄存器地址可以是:
二、并行接口的扩展(8255)
可编程并行I/O接口芯片8255扩展I/O:
PA3 PA2 PA1 PA0 RD CS GND A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2 PA4 PA5 PA6 PA7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 VCC PB7 PB6 PB5 PB4 PB3

单片机毕业设计论文-基于51系列的单片机进行的实时日历和时钟显示设计[管理资料]

单片机毕业设计论文-基于51系列的单片机进行的实时日历和时钟显示设计[管理资料]

摘要本设计是基于51系列的单片机进行的实时日历和时钟显示设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。

在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。

实时日历和时钟显示的设计过程在硬件与软件方面进行同步设计。

硬件部分主要由AT89S52单片机,LED显示电路,以及调时按键电路等组成,系统通过LED显示数据,所以具有人性化的操作和直观的显示效果。

软件方面主要包括时钟程序、键盘程序,显示程序等。

本系统以单片机的汇编语言进行软件设计,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,以便更简单地实现调整时间及日期显示功能。

所有程序编写完成后,在wave软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。

关键词:AT89S52; DS1302; LEDthe led display at89s52 monolithic integrated circuits, and when should the electrical circuits, the system through the led display data so be humanized operate and intuitive that effect. including the software application programs, the keyboard, the program, etc. This system to monolithic integrated circuits of the assembly language for easily developing software design, and changes, software design to use modular design, the programming logical relationship with more and more so as to realize the time and date display the functions. all procedures in writing after wave of debugging the software and make no question of the proteus software embedded monolithic integrated circuits.Key Words:AT89S52; DS1302; LED目录1概述 (1)2设计方案论证 (2) (2) (2)23333主控制器和外围器件 (4) (4) (4)4的应用 (8) (8) (9) (9)4硬件设计 (10) (10) (10) (10) (11) (11) (12)5软件设计 (13) (13) (14) (16) (18)6系统调试 (18) (18) (19)7结论 (19)致谢 (21)参考文献 (22)附录 (23)附录Ⅰ硬件电路图 (23)附录Ⅱ主程序源代码 (24)附录Ⅲ外文翻译原文............................................................ 错误!未定义书签。

基于51单片机的实时时钟设计(8255扩展io口)讲解

基于51单片机的实时时钟设计(8255扩展io口)讲解

目录摘要 (1)第一章51单片机简介 (2)1.151系列单片机每部结构 (2)1.251单片机的封装及引脚 (2)第二章实时时钟的设计方案 (4)2.1单片机最先系统 (4)2.28255A模块 (4)2.3数码管显示模块 (5)2.4时间调节模块 (6)2.5整点报时 (7)第三章实时时钟的程序设计 (8)3.1时间调节程序流程图 (8)3.2主程序流程图 (9)第四章小结 (10)参考文献 (11)附录1 (12)附录2 (13)摘要单片计算机即单片微型计算机。

由RAM ,ROM,CPU构成,定时,计数和多种接口于一体的微控制器。

它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。

而51系列单片机是各单片机中最为典型和最有代表性的一种。

通过本子课程设计掌握单片机的基本原理,加深对课堂知识的理解,从而达到学习、设计、开发单片机软硬的能力。

本设计主要设计了一个基于AT89C52单片机的电子时钟,由定时器定时并在数码管上显示相应的时间,通过中断和按键扫描实现对时间的停止、启动和设置调整。

应用Proteus软件实现了单片机电子时钟系统的设计与仿真。

该方法仿真效果真实、准确,节省了硬件资源。

关键字:单片机;子时钟;键盘控制。

第一章51单片机简介单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

概括的讲:一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等,比方说用来控制路口红绿灯的亮灭公交车报站。

各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。

1.1 51系列单片机每部结构51系列单片机中主要有8031、8051、8751三种机型,它们的指令系统和芯片引脚完全兼容,只是片内程序存储器(ROM)有所不同,其中8031片内没有ROM,8051片内有4k的掩膜ROM,8751片内有4k的紫外线可擦除ROM。

单片机原理及应用第17讲利用8255扩展IO口

单片机原理及应用第17讲利用8255扩展IO口

单片机原理简介
单片机原理涉及CPU、存储器、I/O接口等方面。CPU负责执行指令,存储器 用于存储程序和数据,I/O接口实现与外部设备的数据交互。
8255扩展IO口介绍
8255是一种常用的扩展IO芯片,它包含三个可编程并行I/O口,可以实现输入 和输出功能。它具有较强的通用性和可扩展性。
8255扩展IO口的功能和特性
单片机原理及应用第17讲 利用8255扩展IO口
本讲将介绍单片机的基本原理和应用。主题包括8255扩展IO口的功能、特性 以及利用8255扩展IO口的设计步骤。
单片机概述
单片机是一种高度集成的电子器件,内部包含CPU、RAM、ROM和各种外设接口。它可以实现各种控 制功能,并广泛应用于电子设备领域。
利用8255扩展IO口的应用实例
机器人组装线
通过8255扩展IO口,可以实现 与机器人的通信和控制,提高 生产效率。
温度监控系统
利用8255扩展IO口读取温度传 感器的数据,实时监测并报警 温度异常情况。
家居自动化
通过8255扩展IO口,可以控制 家居设备,实现智能化的家居 管理和控制。
利用8255扩展IO口的设计步骤
多功能性
8255可以配置为三种不同的工作模式:单个8255、两个8255串联和三个8255并联,满足不 同的应用需求。
灵活的输入输出控制
8255可以通过编程控制来实现不同的输入输出模式,包括口号输出、手摇模式、双向传输 等。
可编程中断
8255支持可编程中断,可以通过设置中断屏蔽字和中断控制字来实现中断功能。
1
确定需求
明确需要利用8255扩展IO口的具体功能和应用场景。
2
选型与连接
根据需求选择合适的8255芯片,并按照写控制程序,设置8255的工作模式和相关参数。

基于51单片机定时器的电子时钟设计

基于51单片机定时器的电子时钟设计

基于51单片机定时器的电子时钟设计电子时钟是一种集计时、显示时间等功能于一体的电子设备。

它可以准确地显示当前的时间,并通过定时器控制乃至更新时间。

本文将介绍基于51单片机定时器的电子时钟设计。

设计步骤如下:步骤一:硬件设计首先,需要准备以下硬件元件:1.51单片机:作为主要控制单元;2.DS1302实时时钟芯片:用于计时和保存时间数据;3.16x2字符LCD显示屏:用于显示时间;4.4x4矩阵键盘:用于调整时间和设置闹钟;5.蜂鸣器:用于报时功能;6.电位器:用于调整LCD背光亮度。

将这些硬件元件按照电路图连接起来,注意正确连接引脚和电源。

步骤二:软件设计在51单片机上编写程序,实现以下功能:1.初始化:a.初始化DS1302实时时钟芯片,设置初始时间;b.初始化LCD显示屏;c.初始化矩阵键盘;2.获取时间:a.从DS1302芯片读取当前时间;3.显示时间:a.将时间数据转换为字符,并在LCD上显示出来;4.键盘输入:a.监测矩阵键盘输入,判断用户按下的是哪个键;b.根据不同的键,执行相应的操作,如设置时间、设置闹钟等;5.闹钟功能:a.设置闹钟时间,当当前时间与闹钟时间相同时,触发蜂鸣器报时;b.可以通过按键来设置闹钟时间和开启/关闭闹钟功能。

以上是基本的电子时钟功能,可以根据实际需求进行扩展和添加其他功能。

步骤三:测试与调试步骤四:优化与扩展在基本功能正常运行的基础上,可以对电子时钟进行优化和扩展。

添加一些实用的功能,如温湿度显示、日期显示、闹钟音乐选择等,以提高电子时钟的实用性和用户体验。

总结:本文介绍了基于51单片机定时器的电子时钟设计步骤,包括硬件设计和软件编程。

通过该设计,可以实现准确显示时间、调整时间、设置闹钟等功能。

为了使电子时钟更加实用,可以根据需要进行优化和扩展。

8255电子钟课程设计

8255电子钟课程设计

8255电子钟课程设计一、教学目标本课程的目标是让学生了解和掌握8255芯片的基本原理和应用方法,能够利用8255芯片设计和制作一个简易的电子钟。

具体的学习目标包括:1.知识目标:学生需要了解8255芯片的结构、工作原理和编程方法;掌握电子钟的设计原理和制作流程。

2.技能目标:学生能够熟练使用8255芯片和相关电子元器件设计并制作电子钟;能够运用编程语言进行程序设计,实现电子钟的功能。

3.情感态度价值观目标:培养学生对电子技术的兴趣和好奇心,提高学生动手实践的能力,培养学生团队合作的精神。

二、教学内容本课程的教学内容主要包括8255芯片的基本原理、编程方法以及电子钟的设计和制作。

具体的教学大纲如下:1.第一章:8255芯片的基本原理和工作原理;2.第二章:8255芯片的编程方法;3.第三章:电子钟的设计原理;4.第四章:电子钟的制作方法和步骤。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

具体的教学方法如下:1.讲授法:用于讲解8255芯片的基本原理、编程方法和电子钟的设计原理;2.讨论法:用于引导学生讨论电子钟的制作过程中遇到的问题和解决方案;3.案例分析法:通过分析典型的电子钟设计案例,让学生了解电子钟的制作方法和技巧;4.实验法:让学生动手实践,实际操作制作电子钟,增强学生的实际操作能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:《8255电子钟设计与应用》;2.参考书:电子技术相关书籍;3.多媒体资料:电子钟设计原理和制作的视频教程;4.实验设备:8255芯片、电子元器件、编程器、实验板等。

五、教学评估本课程的评估方式将包括平时表现、作业、考试等多个方面,以全面客观地评估学生的学习成果。

具体评估方式如下:1.平时表现:通过学生在课堂上的参与度、提问回答、小组讨论等表现来评估;2.作业:布置相关的设计任务和编程练习,评估学生对知识的掌握和应用能力;3.考试:进行理论知识考试和实际操作考试,评估学生对8255芯片原理和电子钟设计的理解和掌握程度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录摘要 (1)第一章51单片机简介 (2)1.151系列单片机每部结构 (2)1.251单片机的封装及引脚 (2)第二章实时时钟的设计方案 (4)2.1单片机最先系统 (4)2.28255A模块 (4)2.3数码管显示模块 (5)2.4时间调节模块 (6)2.5整点报时 (7)第三章实时时钟的程序设计 (8)3.1时间调节程序流程图 (8)3.2主程序流程图 (9)第四章小结 (10)参考文献 (11)附录1 (12)附录2 (13)摘要单片计算机即单片微型计算机。

由RAM ,ROM,CPU构成,定时,计数和多种接口于一体的微控制器。

它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。

而51系列单片机是各单片机中最为典型和最有代表性的一种。

通过本子课程设计掌握单片机的基本原理,加深对课堂知识的理解,从而达到学习、设计、开发单片机软硬的能力。

本设计主要设计了一个基于AT89C52单片机的电子时钟,由定时器定时并在数码管上显示相应的时间,通过中断和按键扫描实现对时间的停止、启动和设置调整。

应用Proteus软件实现了单片机电子时钟系统的设计与仿真。

该方法仿真效果真实、准确,节省了硬件资源。

关键字:单片机;子时钟;键盘控制。

第一章51单片机简介单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

概括的讲:一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等,比方说用来控制路口红绿灯的亮灭公交车报站。

各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。

1.1 51系列单片机每部结构51系列单片机中主要有8031、8051、8751三种机型,它们的指令系统和芯片引脚完全兼容,只是片内程序存储器(ROM)有所不同,其中8031片内没有ROM,8051片内有4k的掩膜ROM,8751片内有4k的紫外线可擦除ROM。

其主要资源有:8位CPU、片内带震荡器及时钟电路、128B片内数据存储器、4K片内程序存储器(8031无)、21B特殊功能寄存器、4个8位的IO口、一个全双工串行接口、两个16位定时器、中断系统有5个中断源、111条指令。

其内部结构如图1.1所示。

图1.1 单片机内部结构1.2 51单片机的封装及引脚在封装上,51单片机有常用的三种封装:PQFP-44、DIP-40和PLCC-44。

我们学习中最常见的封装为DIP-40型的封装,其封装图如图1.2所示。

该封装的单片机共有40个引脚,其中可分为端口线电源线和控制线三类。

端口线有32条,为4个并行的8为IO端口,由于地址或数据的传送,其中P0口为开漏输出,在作为通用IO使用时需要加上上拉电阻。

在外部扩展时分时提供系统的数据总线和地址总线;P2口可作为通用IO接口和外部扩展时的地址总线;P1口只作为通用IO口使用;P3口作为通用IO口外,还附有第二功能,如表1.1所示。

电源线有两根:VCC为+5V电源线,GND为接地。

控制线有6根,其中EA为片外存储器访问选择线;PSEN为片外ROM选通线;RST为复位线;XTAL1和XTAL2为片内震荡电路输入线;ALE为地址锁存允许线。

图1.2 单片机引脚图第二章实时时钟的设计方案本课设制作的实时时钟由单片机外扩一片8255A芯片,用8255A的PA口和PB口控制6位8段共阳数码管显示时钟,并由定时器控制时钟精准的计时,中断和按键扫描共同完成对时间的初始化、启停和调整。

整体完成实时时钟的设计,精准的计时。

整体仿真原理图见附录1。

2.1单片机最先系统单片机最小系统就是能使单片机工作的最少的器件构成的系统。

对于本课设所使用的AT89C52来讲,其最小系统为AT89C52单片机芯片、时钟电路和复位电路,器仿真原理图如图2.1所示。

图2.1单片机最小系统2.28255A模块8255A是一种可编程的I/O接口芯片,可以与MCS-51系统单片机以及外设直接相连,广泛用作外部并行I/O扩展接口。

8255A内部由PA、PB、PC三个8位可编程双向I/O口,A组控制器和B组控制器,数据缓冲器及读写控制逻辑四部分电路组成。

数据总线(8条):D0~D7,用于传送CPU和8255A间的数据、命令和状态字。

控制总线(6条):RESET:复位线,高电平有效。

/CS:片选线,低电平有效。

/RD、/WR:/RD为读命令线,/WR为写命令线,皆为低电平有效。

A0、A1:地址输入线:用于选中PA、PB、PC口和控制寄存器中哪一个工作。

本次课设中8255A 的设计如图2.2。

图2.2 8255A连接图其中DO~D7连接在单片机的外扩数据总线P0口上,WR和RD分别接在单片机的WR和RD口,RESET接在单片机RST上,CS、A1和A0分别接在P2.7、P2.6和P2.5上,从而8255A的A口地址可为0000H,B口地址可为2000H,C口地址可为4000H 控制口地址可为6000H。

2.3数码管显示模块本课设采用8段共阳数码管,其中abcdefg七段构成日字形dp段位小数点位,当阳极那端为高电平时相应的段为低电平则该段点亮,从而显示不同的数字和符号。

本次利用8255A控制数码管,其连接图如图2.3所示。

图2.3 数码管显示原理图2.4时间调节模块时间调节时利用中断和按键扫描来实现的,其连接图如图2.4所示。

图2.4 按键连接图其中,定时器启停有外部中断0控制,设置时分秒由外部中断1控制,而调时间时的加减是由按键连接P1.0和P1.1口。

2.5整点报时利用蜂鸣器实现整点报时,仿真原理图如图2.5所示。

图2.5 蜂鸣器控制第三章实时时钟的程序设计程序设计中主要包括初始化,定时器0的控制,中断和按键扫描,蜂鸣器控制等。

程序清单见附录2。

3.1时间调节程序流程图时间调节程序流程图如图3.1所示。

图3.1 时间调节程序流程图3.2主程序流程图主程序流程图如图3.2所示。

否否图3.2主程序流程图第四章小结本次我和本组另外一名同学完成了这次单片机课程设计课题中的实时时钟设计,通过这次的设计使我认识到本人对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,尤其是对程序设计语句的理解和运用,不能够充分理解每个语句的具体含义,导致编程的程序过于复杂,使得需要的存储空间增大。

损耗了过多的内存资源。

本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的知识运用到我以后的工作中去。

在大学的课堂的学习只是在给我们灌输专业知识,而我们应把所学的用到我们现实的生活中去,此次的实时时钟设计给我奠定了一个实践基础,我会在以后的学习、生活中磨练自己,使自己适应于以后的竞争,同时在查找资料的过程中我也学到了许多新的知识,在和同学协作过程中增进同学间的友谊,使我对团队精神的积极性和重要性有了更加充分的理解。

最后,感谢老师一个学期来对我们的教育,正是由于老师的精彩的课程和对我们严格的要求,使得我的课程设计能够顺利的完成,同时在课程设计过程中,我们巩固和学习了我们的单片机知识。

相信这对我以后的课程设计和毕业设计乃至今后的工作将会有很大的帮助!参考文献(1)张齐.《单片机原理与嵌入式系统设计》电子工业出版社(2)周润景.《PROTUES入门实用教程》机械工业出版社(3)任向民.《微机接口技术实用教程》清华大学出版社(4)/view/a5a9ceebf8c75fbfc77db2be.html#include<reg52.h>#include<absacc.h>#define PA XBYTE[0x0000]#define PB XBYTE[0x2000]#define PC XBYTE[0x4000]#define CMD XBYTE[0x6000]sbit up=P1^0;sbit down=P1^1;sbit FMQ=P1^3;bit flag_TR=0;unsigned char flag_SET=0,shi=0,fen=0,miao=0,temp=0,i; unsigned char shu[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 };void init(){IE=0x87;TMOD=0x01;TH0=0x4c;TL0=0X00;TCON=0x05;CMD=0x80;}void delay(unsigned int m){unsigned char count;while(m!=0){for(count=0;count<239;count++){}m--;}}void display(unsigned char shi,unsigned char fen,unsigned char miao) {unsigned char shi0,shi1,fen0,fen1,miao0,miao1;shi0=shi/10; shi1=shi%10;fen0=fen/10; fen1=fen%10;miao0=miao/10; miao1=miao%10;PA=0x80;PB=shu[shi0];delay(5);PA=0x40;if(flag_SET==3&&!flag_TR)PB=shu[shi1]&0x7f;elsePB=shu[shi1];delay(5);PA=0x20;PB=shu[fen0];delay(5);PA=0x10;if(flag_SET==2&&!flag_TR)PB=shu[fen1]&0x7f;elsePB=shu[fen1];delay(5);PA=0x08;PB=shu[miao0];delay(5);PA=0x04;if(flag_SET==1&&!flag_TR)PB=shu[miao1]&0x7f;elsePB=shu[miao1];delay(5);}void main(){init();while(1){display(shi,fen,miao);if(flag_SET){TR0=0;if(flag_SET==1&&up==0){while(up==0);miao++;if(miao==60)miao=0;}if(flag_SET==1&&down==0){while(down==0);miao--;if(miao>60)miao=59;}if(flag_SET==2&&up==0){while(up==0);fen++;if(fen==60)fen=0;}if(flag_SET==2&&down==0){while(down==0);fen--;if(fen>60)fen=59;}if(flag_SET==3&&up==0){while(up==0);shi++;if(shi==24)shi=0;}if(flag_SET==3&&down==0){while(down==0);shi--;if(shi>24)shi=23;}}if(flag_TR==1)TR0=1;elseTR0=0;if(flag_TR==1&&fen==0&&miao==0){for(i=0;i<shi;i++){display(shi,fen,miao);FMQ=0;delay(300);FMQ=1;delay(300);}while(miao==0);}}}void timer0() interrupt 1{EA=0;TH0=0x4c;TL0=0x00;flag_SET=0;temp++;if(temp==20){temp=0;miao++;}if(miao==60){miao=0;fen++;}if(fen==60){fen=0;shi++;}if(shi==24){shi=0;}EA=1;}void timer_run() interrupt 0 {EA=0;flag_TR=!flag_TR;EA=1;}void set_time() interrupt 2 {EA=0;if(!flag_TR)flag_SET++;flag_SET%=4;EA=1;}。

相关文档
最新文档