单片机课设报告
- 格式:doc
- 大小:895.01 KB
- 文档页数:27
《单片机应用设计报告》系别电子信息与电气工程系专业自动化班级 09 级 (1) 班姓名王杰王典老师储忠完成时间 2012年5月18日单片机原理及接口技术课程设计报告摘要:单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
MCS-51单片机是使用极为广泛的一款8位单片机,在此次实训中所用的单片机是美国Atmel公司生产的以8031为内核的AT89S52单片机。
实训分别以构建单片机最小系统版、74HC138流水灯、8255交通灯、8253方波、6N137光耦控制继电器等几个实验关键词:AT89S52 74HC138 8255A 8253 6N137 交通灯目录单片机原理及接口技术课程设计报告 (1)实验一构建单片机最小系统和实验环境熟悉 (3)1.1单片机的工作原理 (3)1.1.1单片机最小系统图 (3)1.1.2运算器简介 (4)1.1.3控制器简介 (5)1.1.4实验解析与总结 (7)实验二跑马灯实验及74HC138译码器 (7)2.1实验内容 (7)2.1.1实验原理 (8)2.1.2实验原理图 (8)2.1.3实验程序流程图 (9)2.1.4实验程序代码 (9)2.1.5完成后的效果图 (10)2.2实验总结 (10)实验三8255控制交通灯实验 (11)3.1实验内容 (11)3.1.3实验原理 (11)3.1.2实验原理电路图 (12)3.1.3程序流程图 (13)3.1.4实验程序代码 (13)3.1.5系统实现图 (15)3.2 8255A寻址原理 (15)3.3实验总结 (16)实验四8253方波实验 (17)4.1实验内容 (17)4.1.1实验原理图 (17)4.1.2实验原理电路图 (17)4.1.3程序流程图 (18)4.1.4程序流程代码 (19)4.1.4系统仿真 (20)4.2实验总结 (21)实训总结 (21)附录 (22)1 实验源程序 (22)2仿真系统电路原理图 (27)3硬件实物照片 (27)实验一构建单片机最小系统和实验环境熟悉1.1单片机的工作原理1.1.1单片机最小系统图单片机最小系统主要有外部晶振电路,系统复位电路以及供电电源组成。
单片机课程设计报告
题目:音乐门铃
院系:电气信息工程系专业:通信工程
组长:吴楠学号: 20100606019
组员 1 :刘静静学号: 20100606017
组员 2 :张琳娜学号: 20100606018
组员 3 :李元学号: 20100606020
组员 4 :黄智鑫学号: 20100606049
组员 5 :学号:
组员 6 :学号:
指导教师:李宁
2011年01月06日
电气信息工程系课程设计总结报告
PCB原理图
电气信息工程系
单片机课程设计元器件清单指导教师:李宁课题名称:音乐门铃
参考文献:
[1]徐爱钧.单片机原理实用教程[M].北京:电子工业出版社,2009:267-285.
[2]刘焕平.单片机原理及应用[M].北京:北京邮电大学出版社,2008:246-260.
[3]刘南平.单片机实训与开发教程[M].北京:科学出版社,2008:199-209.
[4]吴金戌.8051单片机实践与应用[M].北京:清华大学出版社,2002:242-253.
[5]刘海成.单片机及应用系统设计原理与实践[M].北京:北京航空航天大学出版社,2009:273-281.
[6]杨振江.单片机应用于实践指导[M].西安:西安电子科技大学出版社,2010:378-380.。
单片机课程设计报告代码摘要:一、单片机课程设计报告简介1.单片机概述2.课程设计报告的目的与意义3.报告内容概述二、单片机基础知识回顾1.单片机的定义与历史2.单片机的基本结构3.单片机的工作原理三、单片机应用领域1.工业控制2.通信设备3.消费电子4.汽车电子5.其他领域四、单片机课程设计报告实例分析1.实例一:基于单片机的智能家居系统设计2.实例二:单片机控制的智能交通灯系统设计3.实例三:单片机在智能医疗设备中的应用设计五、单片机课程设计报告撰写建议1.明确设计目标与要求2.详细的设计过程与思路3.合理的硬件与软件设计4.系统测试与优化5.结论与展望正文:一、单片机课程设计报告简介单片机课程设计报告是学生在学习单片机知识后,将理论应用于实际的一个综合性实践环节。
通过对单片机的了解与掌握,学生可以设计出各种具有一定功能的智能系统。
本报告将对单片机课程设计报告进行简要介绍,包括报告的目的、意义以及内容概述。
二、单片机基础知识回顾在开始设计报告之前,我们需要先回顾一下单片机的基础知识,以便更好地理解单片机的工作原理和应用领域。
单片机是一种集成电路,集成了CPU、存储器、外设接口等多种功能于一体,可编程实现各种控制功能。
它具有体积小、成本低、功耗低、功能强大等特点,被广泛应用于各个领域。
1.单片机的定义与历史单片机(Microcontroller Unit, MCU)是一种集成了CPU、存储器、外设接口等多种功能于一体的微型计算机。
自1971年Intel公司推出第一款单片机4004以来,单片机得到了迅速发展,其性能、功能和应用领域不断扩展。
2.单片机的基本结构单片机主要由CPU、存储器、外设接口和时钟电路等部分组成。
CPU是单片机的核心部分,负责程序的执行;存储器用于存储程序和数据;外设接口用于与外部设备进行通信;时钟电路为单片机提供工作节拍。
3.单片机的工作原理单片机根据预先编写好的程序,在时钟信号的作用下,对输入信号进行处理,并产生相应的输出信号,从而实现对各种外部设备的控制。
JIUJIANG VOCATIONAL AND TECHNICAL COLLEGE 电气工程学院课程设计报告课程名称:单片机技术与应用设计题目:双边拉幕灯控制班级:航电1901姓名:许江勇学号: 192026266指导教师:徐云龙完成时间: 2021.1.6二〇二一年一月双边拉幕灯控制1.1设计目的1)掌握单片机开关与led接口电路设计,软件延时程序;2)学会程序的调试过程与仿真方法,i/o口应用程序分析。
1.2设计任务本设计为一个89c51单片机控制8个led发光管进行“双边拉幕灯控制”运行,led1~led4为模拟的左边幕,led5~led8为模拟的右边幕。
该课程设计的具体功能为:当系统上电运行时,模拟左右两边幕的led灯同时由两边向中间逐一点亮,当全部亮后,再同步由中间向两边逐一熄灭。
以此往复循环运行,形成“双边拉幕灯”效果。
开关s2用于系统的运行和停止控制,当其闭合时,系统工作;当其断开时,系统暂停处于当前状态。
1)keil和proteus联合调试,完成仿真并实现设计任务;2)完成设计报告,内容包括proteus电路、流程图、c程序。
1.4硬件系统与控制流程分析。
双边拉幕灯控制系统进行软硬件设计。
1.4.1硬件分析对双边拉幕灯控制系统各部分硬件进行分析,列写元器件清单。
1.4.2控制流程分析对双边拉幕灯控制系统运行过程及效果进行分析。
当系统上电运行时,判断s2是否合上,如果闭合:左右两边幕的led灯同时由两边向中间逐一点亮,当全部亮后,再同步由中间向两边逐一熄灭。
如果断开:系统暂停运行。
以此往复循环运行,形成“双边拉幕灯”效果。
开关s2用于系统的运行和停止控制,当其闭合时,系统工作;当其断开时,系统暂停处于当前状态。
1.5 c语言程序分析与设计对双边拉幕灯控制系统软件部分进行分析与设计。
1.5.1程序流程图分析画出双边拉幕灯控制系统程序流程图。
1.5.2c程序设计编写双边拉幕灯控制系统c语言程序。
中州大学工程技术学院单片机课程设计说明书课题名称秒表专业机械制造与自动化学生XX 马振杨班级机制一班学号7指导教师沈娣丽完成日期2013年9月25日目录摘要 (1)一.系统设计要求 (2)二.设计思路分析 (2)三.秒表电路原理图设计 (2)3.1系统总电路图 (2)3.2时钟电路设计 (3)3.3 输入模块电路设计 (3)3.4显示模块电路设计 (3)四.系统硬件电路设计 (3)4.1秒表显示模块 (4)4. 2控制器模块单片机的选择 (4)4. 3键盘的选择 (5)五.简易秒表软件系统设计 (6)5.1定时模块 (6)5.2 主程序流程图 (8)六.系统的调试 (8)七.心得体会 (11)八.参考文献 (12)摘要单片机在日用电子产品中的应用日益广泛,单片机控制秒表是基于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低、平安性高使用方便等优点。
秒表是人们日常生活中常常需要用到的一种工具。
本文采用AT89S51单片机从硬件和软件两方面介绍了一款简易的秒表设计过,并对硬件原理图和程序流程图作了简洁的描述。
关键字:单片机AT89C51,LED,秒表,计数器引言:随着单片机技术的不断开展,单片机在日用电子产品中的应用越来越广泛,而本文设计并制作了一款基于AT89C51的3位数码管显示的秒表,其电路简单,软硬件构造模块化,易于实现。
产品和技术革新的日新月异都让人非常惊讶。
在电子科学技术高速开展的今天,高科技产品越来越多的应用在我们的日常生活中,给我们的生活带来了非常大的方便,每时每秒我们都能感受到产品的更新换代。
像平常我们工作所用的电脑、手机和生活所用的电视机,收音机,Mp3等等,这些高科技产品给我们带来了极大的方便,但这要归功于科学技术的高速开展。
一、设计要求⑴硬件设计:根据任务要求,完成单片机最小系统及其扩展设计。
⑵软件设计:根据硬件设计完成显示功能要求,完成控制软件的编写与调试;⑶功能要求:用S1启动秒表和停顿秒表,S2键将秒表归零,按一下S1,即开场定时,在数码管上每秒加1,加到60,归零。
51单片机课程设计报告一、课程目标知识目标:1. 理解51单片机的硬件结构、工作原理及其功能特点;2. 学会使用51单片机的指令系统进行程序设计;3. 掌握51单片机与外围电路的接口技术,能实现简单的硬件控制功能;4. 了解51单片机在嵌入式系统中的应用及发展趋势。
技能目标:1. 能够运用C语言编写51单片机的程序,实现基础控制功能;2. 能够运用仿真软件对51单片机程序进行调试,分析并解决简单问题;3. 能够设计简单的51单片机硬件系统,进行电路连接和功能测试;4. 培养学生的动手能力、创新能力和团队协作能力。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发学习热情;2. 培养学生严谨、务实的科学态度,提高自主学习能力;3. 培养学生关注社会发展,了解科技在生活中的应用,增强社会责任感;4. 培养学生团队合作精神,尊重他人意见,善于沟通交流。
课程性质:本课程为实践性较强的电子技术课程,以51单片机为核心,结合硬件和软件,培养学生的实际操作能力和创新能力。
学生特点:学生具备一定的电子技术基础知识,对单片机有一定了解,但实践经验不足。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,提高学生的实际操作能力和解决问题的能力。
通过课程学习,使学生能够独立完成简单的51单片机控制系统设计。
二、教学内容根据课程目标,教学内容分为以下几个部分:1. 51单片机硬件结构及原理- 熟悉51单片机的内部结构、引脚功能;- 掌握51单片机的工作原理及性能特点。
2. 51单片机指令系统与编程- 学习51单片机的指令集,理解各指令的功能和使用方法;- 掌握C语言在51单片机编程中的应用。
3. 51单片机外围接口技术- 学习51单片机与常见外围电路(如LED、LCD、键盘等)的接口技术;- 掌握外围设备的控制原理及编程方法。
4. 仿真软件的使用- 学习使用Keil、Proteus等仿真软件进行51单片机程序设计和调试;- 掌握仿真软件的操作方法,提高程序调试效率。
单片机课程设计报告基于单片机的数字时钟姓名:班级:学号:一、前言利用实验板上的4个LED数码管,设计带有闹铃、秒表功能的数字时钟。
功能要求:a)计时并显示(LED)。
由于实验板上只有4位数码管,可设计成显示“时分”和显示“分秒”并可切换。
b)时间调整功能。
利用4个独立按钮,实现时钟调整功能。
这4个按钮的功能为工作模式切换按钮(MODE),数字加(INC),数字减(DEC)和数字移位(SHITF)。
c)定闹功能。
利用4个独立按钮设定闹钟时间,时间到以蜂鸣器响、继电器动作作为闹铃。
d)秒表功能。
最小时间单位0.01秒。
二、硬件原理分析1.电源部分电源部份采用两种输入接口(如上图)。
a)外电源供电,采用2.1电源座,可接入电源DC5V,经单向保护D1接入开关S1。
b)USB供电,USB供电口输入电源也经D1单向保护,送到开关S1。
注:两路电源输入是并连的,因此只选择一路就可以了,以免出问题。
S1为板子工作电源开关,按下后接通电源,提供VCC给板子各功能电路。
电路采用两个滤波电容,给板子一个更加稳定的工作电源。
LED为电源的指示灯,通电后LED灯亮。
2.蜂鸣器蜂鸣器分为有源和无源两种,有源即两引脚有一个直流电源就可以长鸣,无源则需要一个1K左右的脉冲才可以蜂鸣,因此对于按键的提示音及报警蜂鸣使用有源来得方便。
有源也可以当无源使用,而无源则不能当有源使用,当然用有源蜂鸣器作音乐发声会失真厉害。
如上图:单片机P15输出高低电平经R21连接三极管B极,控制三极管的导通与截止,从而控制蜂鸣器的工作。
低电平时三极管导通,蜂鸣器得电蜂鸣,高电平时三极管截止,蜂鸣器失电关闭蜂鸣。
电路使用一个四位共阳型数码管,四个公共阳级由三极管放大电流来驱动,三极管由P10-P13控制开与关。
数码管的阴级由P0口经过电阻限流连接。
例如,要十位的数码管工作,P12输出0,使三极管Q12导通,8脚得电,当P0口相应位有输出0时,点亮相应的LED灯组合各种字符数字。
单片机万年历课程设计报告一、课程设计目标本课程设计旨在帮助学生掌握单片机应用基础知识,学习并完成万年历电路的设计和代码编写。
通过这个实践,学生将会深入理解单片机在实际生活中的应用,同时提升自己的程序设计和解决问题的能力。
二、课程设计内容1. 万年历电路的原理和设计本次课程设计要求学生完成一个万年历电路的设计,包括硬件电路和程序设计。
在电路设计中,学生需要考虑到显示器、时钟模块、日期模块和温湿度传感器等部分的连接和调试。
在程序设计方面,学生需要实现万年历的功能,包括显示当前日期和时间、自动确定闰年、节假日提示等。
2. 单片机基本原理和应用实践在万年历电路设计之前,本课程将会对单片机基本原理进行介绍,包括单片机内部结构、芯片选型和I/O口控制等。
另外,还将介绍单片机在各种应用场景中的应用实践,如遥控、电脑控制、机器人和智能家居等。
3. 问题解决和困难克服在学生完成万年历电路设计的过程中,难免会遇到各种问题和困难。
本课程将对学生进行相关的实用技巧和方法讲解,帮助他们解决问题和克服难关。
三、课程设计流程1. 单片机基础知识介绍(2学时)讲解单片机内部结构及其原理,并介绍单片机应用实践2. 万年历电路设计(12学时)对万年历的硬件和软件进行介绍,包括连接显示器和外设、编写程序等3. 问题解决(2学时)介绍学生应对问题的技巧和方法,并帮助他们克服电路设计中的问题和难点四、课程设计评价标准1. 设计成果设计成果的好坏是课程设计的重要衡量标准之一,包括电路的设计完整性、软件功能实现等方面。
2. 实践能力课程设计是一种实践性强的学习形式,学生需要通过实践来掌握知识,因此他们的实践能力成为衡量标准之一。
3. 团队合作在课程设计的过程中,学生要协同工作,完成一个大型的项目,因此团队合作能力是衡量标准之一。
4. 学习的态度学习态度是衡量标准之一,包括学生在课程设计中的主动性、积极性和责任感等方面。
五、总结通过这个万年历课程设计,学生不仅学会了单片机应用的基础知识,还掌握了实际项目开发的方法和技巧。
单片机电子时钟课程设计报告一、设计目的。
本课程设计旨在通过单片机技术的应用,设计并制作一个简单的电子时钟。
通过这一设计,学生将能够掌握单片机的基本原理和应用,培养学生的动手能力和创新意识,提高学生的实际操作能力。
二、设计原理。
本电子时钟采用单片机作为控制核心,通过晶振产生的时钟信号来实现时间的计时和显示。
利用数码管来显示小时和分钟,通过按键来调整时间。
同时,通过蜂鸣器发出报时信号,实现基本的闹钟功能。
三、设计方案。
1. 硬件设计。
(1)单片机选择,本设计选用常见的51单片机作为控制核心,具有成本低、易于编程的特点。
(2)时钟电路,采用晶振作为时钟信号源,通过单片机的定时器来实现时间的计时。
(3)显示模块,采用数码管来显示小时和分钟,通过数码管的扫描显示来实现时间的动态显示。
(4)按键输入,设计按键来调整时间,包括调整小时和分钟。
(5)报时功能,通过蜂鸣器来实现基本的报时功能,可以设置闹钟时间。
2. 软件设计。
(1)时钟控制,通过单片机的定时器来实现时间的计时和更新。
(2)显示控制,设计数码管的扫描显示程序,实现时间的动态显示。
(3)按键处理,设计按键扫描程序,实现对时间的调整。
(4)报时功能,设计蜂鸣器的报时程序,实现基本的闹钟功能。
四、设计实现。
1. 硬件实现。
根据上述设计方案,完成了电子时钟的硬件连接和布线,保证各个模块之间的正常通讯和工作。
2. 软件实现。
编写了单片机的程序,实现了时钟的计时、显示和控制功能,保证了电子时钟的正常运行。
五、实验结果。
经过调试,电子时钟能够准确显示当前的时间,并能够通过按键调整时间和设置闹钟功能,报时功能也能够正常工作。
六、总结与展望。
通过本课程设计,学生掌握了单片机的基本原理和应用,培养了动手能力和创新意识。
在今后的学习和工作中,学生将能够更好地应用单片机技术,设计和制作更加复杂的电子产品。
同时,也为学生今后的科研和创新工作奠定了良好的基础。
单片机课程设计实验报告设计题目:基于单片机的多功能综合应用系统的设计专业:电子信息工程班级:姓名:指导老师:目录第一章设计说明1.1 设计目的 (3)1.2 设计内容及要求 (3)第二章硬件电路仿真实现2.1 硬件结构分析 (5)2.2基本功能仿真电图 (6)2.3扩展功能仿真电路图 (10)2.4 实物电路图 (15)第三章软件设计实现3.1软件程序内容 (16)3.2模块分析 (16)3.3 程序流程图 (17)第四章系统测试4.1 软件调试 (19)4.2硬件调试 (19)第五章心得体会 (20)第六章参考文献 (21)附录 (21)第一章设计说明1.1 设计目的单片机在许多领域使用十分广泛,如智能仪器仪表、实时工控、通讯设备、导航系统、家用电器等。
各科任老师们经常说“学好单片机,工作就不成问题了。
”可见学好单片意义之重大。
单片机作为一门基础学科,既是对前期学习C语言的综合运用,也是理论与实践相结合的一大体现。
本次课程设计通过基础部分,拓展功能以及整体电路的实现能很好地锻炼我们的动手及编程能力。
1.2 设计内容及要求内容:1.设计并实现具有复位功能的单片机小系统。
2.利用单片机进行灯光的场景开关控制、循环点亮控制、花样变化控制及速度变化控制(如:左右循环、扩散收缩式移动、流星雨、舞台灯光综合效果、名曲名句跟随显示等。
至少应做两项:前两项选一并有速度变化控制功能,后三项选一或自创特色花样)。
3. 炫彩音乐显示(依据3秒以上某名曲名句,模拟高、中、低音三分频,彩色LED随音频变化而起伏显示的效果,进一步地,LED 亮度跟随音乐响度闪烁)。
4.利用单片机进行灯光的色彩连续变化效果控制。
5.利用单片机进行灯光的三色联动定时控制(以交通灯为例)。
(说明:3、4中二选一,1、2、5必选)6. 配合2至5项中功能,实现液晶屏输出功能或状态信息。
7. 以调节5或4项中的时间为例实现基于4X4键盘的输入功能。
目录1 引言 (1)1.1 设计任务 11.2主要技术指标和要求 11.3实验价值和理论意义12核心芯片简介22.1 DS1302简介22.1.1 DS1302引脚功能与内部结构32.1.2 DS1302的寄存器42.2 AT89C52简介43方案设计和论证 54软硬件设计4.1硬件电路设计 54.2软件实现 104.2.1C语言的主程序104.2.2时钟读出程序设计134.2.3时钟调整程序设计135系统调试146总结14参考文献14附录:A:DS1302读写数据程序15附录B:主程序以及程序宏定义18附录C 23附录D:PCB制板25目录正文为: 宋体小四 1.5倍行距目录要求独立编写页码,用罗马字母,如右下角所示一、引言1.1 设计任务用DS1302时钟芯片设计实时时钟。
1.2 主要技术指标和要求(1)通过程序直接对实时时钟时间进行设置,启动时钟运行。
用8位数码管实时显示时、分、秒。
(2)用89C52系列单片机及DS1302时钟电路,通过按钮对实时时钟时间进行设置,能输出阳历年、月、日及星期、小时、分、秒等计时信息的实时时钟。
1.3实验价值和理论意义从古代的滴漏更鼓到近代的机械钟,从电子表到目前的数字时钟,为了准确的测量和记录时间,人们一直在努力改进着计时工具。
钟表的数字化,大力推动了计时的精确性和可靠性。
在单片机构成的装置中,实时时钟是必不可少的部件。
目前常用的实时时钟,很多采用单片机的中断服务来实现,这种方式一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许;有的则使用并行接口的时钟芯片,如MC146818、DS12887等,它们虽然能满足单片机系统对实时时钟的要求,但是这些芯片与单片机接口复杂,占用地址、数据总线多,芯片体积大,占用空间多,给其它设计带来诸多不便。
本设计选取串行接口时钟芯片DS1302与单片机同步通信构成数字时钟电路。
其简单的三线接口能为单片机节省大量资源,DS1302的后背电源及对后背电源进行涓细电流充电的能力保证电路断电后仍能保存时间和数据信息等。
这些优点解决了目前常用的实时时钟所无法解决的问题。
该时钟电路强大的功能和优越的性能,在很多领域的应用中,尤其是某些自动化控制、长时间无人看守的测控系统等对时钟精确性和可靠性有较高要求的场合,具有很高的使用价值。
二、核心芯片简介2.1 DS1302简介DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.5~5.5V。
时钟可工作在24小时格式或12小时(AM/PM)格式。
DS1302与单片机的接口使用同步串行通信,仅用3条线与之相连接。
可采用一次传送一个字节或突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
2.1.1 DS1302引脚功能与内部结构DS1302的引脚功能如表2-1所示,外形及内部结构如图2-1所示引脚号引脚名称引脚功能1 VCC2 主电源2,3 X1,X2 振荡源,外接32768HZ晶振4 GND 地线5 RST 复位/片选线6 I/O 串行数据输入/输出端(双向)7 SCLK 串行时钟输入端8 VCC1 后备电源图2-1 DS1302管脚图及内部结构图2.1.2 DS1302的寄存器DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其时间寄存器及其控制字见表3-2此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。
时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器的内容。
DS1302与RAM相关的寄存器分为两类,一类是单个RAM 单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H--FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。
寄存器名命令字取值范围各位内容写操作读操作7 6 5 4 3 2 1 0 秒寄存器80H 81H 00-59 CH 10SEC SEC分寄存器82H 83H 00-59 0 10MIN MIN时寄存器84H 85H 00-23 24 0 10 HR HR2.2 AT89C52简介图2-2 A T89S52引脚图功能特性概括: AT89S52提供以下标准功能:40个引脚、4K Bytes Flash 片内程序存储器、128 Bytes的随机存取数据存储器(RAM)、32个外部双向输入/输出(I/O)口、5个中断优先级2层中断嵌套中断、2个数据指针、2个16位可编程定时/计数器、2个全双工串行通信口、看门狗(WDT)电路、片内振荡器及时钟电路。
三、方案设计和论证使用串行接口时钟芯片DS1302设计时钟电路。
该设计方案以单片机AT89C52为主控芯片,以串行时钟芯片DS1302为核心计时芯片,组成数字时钟电路。
该电路不但能准确地计时、附加其它功能,而且,其三线接口可以节省接口资源,在断电后不丢失时间和数据信息。
设计方案接口简单,计时可靠,综合性能良好。
图3-1 时钟芯片DS1302设计时钟四、软硬件设计4.1硬件电路设计LED数码管采用动态扫描方式显示,P0口为段码输出口,P2口为扫描驱动口,计时按键设计了2个,分别接在P3.5,P3.6口,用于设定与加一调整。
DS1302时钟芯片的晶挣频率为32.78KHz。
秒表/时钟计时器的硬件电路如图,仿真图4-1 总图图4-2 数码管控制图4-3 单片机控制芯片图4-4 51单片机复位电路和晶振图4-5 DS1302及外围电路图4-6 按键控制图4-7 显示时分秒图4-8 显示年月日图4-9 显示周秒4.2软件实现4.2.1C语言的主程序/*------------------------------------------------主函数------------------------------------------------*/ void main (void){unsigned char num,displaynum;Init_Timer0();Ds1302_Init();Ds1302_Write_Time();while (1) //主循环{num=KeyScan();switch(num){case 1:time_buf1[4]++;if(time_buf1[4]==24)time_buf1[4]=0; Ds1302_Write_Time();break; //正常时间小时加1 case 2:time_buf1[5]++;if(time_buf1[5]==60)time_buf1[5]=0;Ds1302_Write_Time();break;//分加1case 3:time_buf1[5]--;if(time_buf1[5]==255)time_buf1[5]=59;Ds1302_Write_Time();break; //分减1case 4:time_buf1[6]=0; Ds1302_Write_Time();break; //秒置零case 5:time_buf1[2]++;if(time_buf1[2]==13)time_buf1[2]=1; Ds1302_Write_Time();break; //月加1case 6:time_buf1[3]++;if(time_buf1[3]==32)time_buf1[3]=1; Ds1302_Write_Time();break; //日加1case 7:time_buf1[7]++;if(time_buf1[7]==8)time_buf1[7]=1; Ds1302_Write_Time();break; //周加1case 8: displaynum++; if(displaynum==3) displaynum=0; break;//翻页default:break;}if(ReadTimeFlag==1){ReadTimeFlag=0;Ds1302_Read_Time();if(displaynum==0) //显示时间{TempData[0]=DuanMa[time_buf1[4]/10];//时 //数据的转换,TempData[1]=DuanMa[time_buf1[4]%10];//因我们采用数码管0~9的显示,将数据分开TempData[2]=0x40; //加入"-"TempData[3]=DuanMa[time_buf1[5]/10];//分TempData[4]=DuanMa[time_buf1[5]%10];TempData[5]=0x40;TempData[6]=DuanMa[time_buf1[6]/10];//秒TempData[7]=DuanMa[time_buf1[6]%10];}else if(displaynum==1)//显示日期{TempData[0]=DuanMa[time_buf1[1]/10];//年TempData[1]=DuanMa[time_buf1[1]%10];TempData[2]=0x40; //加入"-"TempData[3]=DuanMa[time_buf1[2]/10];//月TempData[4]=DuanMa[time_buf1[2]%10];TempData[5]=0x40;TempData[6]=DuanMa[time_buf1[3]/10];//日TempData[7]=DuanMa[time_buf1[3]%10];}else if(displaynum==2)//显示周秒{TempData[0]=0x40;TempData[1]=DuanMa[time_buf1[7]%10];//周TempData[2]=0x40; //加入"-"TempData[3]=0;TempData[4]=0;TempData[5]=0;TempData[6]=DuanMa[time_buf1[6]/10];//秒TempData[7]=DuanMa[time_buf1[6]%10];}}}}4.2.2时钟读出程序设计图5 时钟读出程序流程4.2.3时钟调整程序设计图6 时钟调整程序流程五、系统调试当一切准备就绪,开始调试。