第一篇:电气工程及其自动化专业课程设计
大学生电脑主页-dxsdiannao.com – 大学生喜欢的都在这里
四川大学网络教育(专升本)
电气工程及其自动化专业课程设计大纲
课程设计的目的是通过一个实际工程的设计,巩固和加深对课程所学理论知识的理解;培养学生分析问题和独立解决实际问题的能力,理论联系实际的能力,技术与经济全面考虑问题的观点;初步学习工程经济的计算方法等。因此,课程设计是专业课程教学中重要的实践性环节。
电气工程及其自动化专业网络教育专升本层次教学计划中设置了专业课课程设计。为此,我院开设了“电力系统分析”、“电力系统继电保护原理”、“电力系统调度自动化”、“发电厂电气部分”和“电力市场”五门专业课的课程设计,以供学生选择。
大学生电脑主页 —— dxsdiannao.com —— 大学生的百事通
“电力系统分析”课程设计大纲
——区域电力网的规划设计
编写:刘天琪,邱晓燕
—、设计要求
根据“电力系统分析”课程所学理论知识和电力系统规划设计的基本任务,在电源及负荷大小及其相对地理位置已确定的情况下,完成一个区域电力网络的设计。要求对多个方案进行技术经济比较和分析,选择出最优方案,并对所选方案进行必要的技术计算(如调压计算、稳定性计算),提出解决技术问题的措施。
二、原始资料
1. 电源点和负荷点的相对地理位置;
2. 发电厂装机容量、额定电压和功率因数;
3. 各负荷点的最大最小负荷、最大负荷利用小时数和额定电压等。
三、电力网规划设计的基本内容
根据前述课程设计的要求,在电源和负荷大小及其相对地理位置已确定的情况下,完成以下设计内容:
1.制订网络可能的接线方案,选择电力网的电压等级;
2.选择各方案发电厂及变电站的主接线,根据电网运行的可靠性、灵活性和经济性,比较各方案的负荷矩、线路长度和高压开关数等指标,摒弃显然不合理的方案;
3.对待选的各方案,确定其输电线路的导线截面及发电厂、变电站的主要电气设备(变压器及断路器);
4.计算各方案的一次投资,对待选方案进行工程经济计算。进行技术经济比较,选定最优设计方案;
5.对所选方案进行调压或稳定性计算,提出调压或提高稳定性的措施。
6.物资统计,列出设备清单。
四、设计成果
1.设计说明书
2.全网主接线图
3.潮流计算结果及潮流分布图
4.设备清单
“电力系统继电保护原理”课程设计任务及指导书
—— 元件保护的设计及整定计算
编写:陈浩
—、原始资料
1、发电厂(或变电所)电气主结线图(附元件参数)。
2、电力系统主接线图(附元件参数)
二、设计要求
l、根据厂、所继电保护、自动装置、励磁装置、同期装置及测量表计的要求,配置相应的电流互感器及电压互感器,并选择出相应的电流互感器及电压感器的型号和变比。
2、编制3—4种运行方式。
3、决定变压器中性点接地的位置及台数。
4、根据发电机、变压器的型式和容量及出线的电压等级,配置发电机,变压器(或发一变组)、母线及出线的继电保护方案,并计算出相应的继电保护的整定值。
5、对电网各线路配置继电保护及重合闸方案,并计算出相应的继电保护定值。
三、设计成果
1.编写整计算说明书一份,包括以下内容
(1)所选择的电流、电压互感器的型号及变比
(2)变压器中性点接地位置及台数
(3)各元件、线路参数的计算,各序网的制定;
(4)短路电流计算的过程(要求列出短路电流计算成果表);
(5)各种继电保护整定计算的过程(要求列表给出整定计算成果表,包括各保
护整定值,动作时间,灵敏度等)。
2、在原主结线图的基础上,绘制发电机,变压器(或发一变组),母线及出线继 电保护,自动装置配置方案结线图一张。
四、参考资料
1、发电厂电气设计与CAD应用四川大学电力工程系刘继春
2、电力系统继电保护配置及整定计算
成都科技大学电力工程系潘和勋四川电力调度局张军文
3、电力工程电气设计手册(电气二次部分)能源部西北电力设计院
4、水电站机电设计手册(电气二次)水电站机电设计手册写组
5、电力系统分析华中理工大学何仰赞
五、设计指导(设计的方法和步骤)
1、根据厂、所继电保护、自动装置、励磁装置、同期装置及测量表计的要求,配置和选择相应的电流、电压互感器。见参考资料[1],P89发电厂中互感器配置图,互感器的选择(包括互感器的技术数据)见1:P9598。
2、拟定四种远行方式,确定变压器中性点接地位置及台数。见参考资料[2]见P164。进行短路电流的计算:
(1)有关元件(包括线路)参数的计算,见参考资料 P55 —56的表3--2,表3---3,表3---4。
(2)有关序网的制定及变压器零序等值电路和参数的计算,见参考资料
[5],P110—114,P116—120。
(3)有关网络变换与简化,见参考资料P57—58,表3—5,表3—6。
(4)计算继电保护所需的短路电流(包括残压)允许按倒数法(I*d1)X*(注意:I*d,X*在计算不同的短路故障时,有不同的含意和内容),然后求出所需的支路电流及母线电压。
3、进行继电保护的整定计算
(1)根据线路在系统中的重要性及电压等级,配置相应的继电保护,对终端线路所选保护的二、三段可以按灵敏度的要求,计算定值,例如距离保护、零序保护,(零序保护也可设四段)。
(2)根据母线、发电机、变压机、变压器(或发一变组)的型式和容量,配置相应的继电保护,并整定其定值。
以上两项整项整定的内容及方法,见参考资料[2]的有关内容。
4、绘制继电保护,自动装置配置方案结线图时,其有关的图形符号,见参 考资料[1]P211~212,附录。
继电保护装置(包括自动重合闸),可以选择电磁型、整流型、晶体管型、集成电路型或微机型的成套保护装置。
“调度自动化及信息管理系统”程设计教学大纲
——县级调度自动化系统的结构功能设计
本大纲主笔人:滕欢周步祥
一、课程设计的目的通过本课程设计,使学生能够对调度自动化系统的体系结构有一个感性认识,通过查阅资料,了解调度自动化系统设计的国家标准,掌握调度自动化系统的基本功能、硬软件结构、技术指标。
二、课程设计要求
(1)范围:包括厂站RTU、主站计算机系统及其通信通道;
(2)内容:设计基本功能、硬软件结构、技术指标;
三、设计报告
(1)设计名称、目的、作用
(2)设计基本要求
(3)设计过程及结果(设计图纸)
(4)结论
(5)参考资料
“电气设备”课程设计任务及指导书
本大纲主笔人:李长松
一、课程设计的目的本课程设计是在《电气设备》课程教学过程中进行的,是《电气设备》课程的课堂讲授、课程设计及生产实习三大教学环节之一。通过该课程设计,目的是使学生达到:
⑴ 理论联系实际,巩固《电气设备》课程的理论知识;
⑵ 培养工程计算、独立分析和解决问题的能力;
⑶ 树立工程观点,初步学习和掌握发电厂和变电所电气部分设计的基本方法,获得计算、分析和解决问题的能力的训练。
二、课程设计的依据
整个课程设计应根据设计任务书和国家现行的有关政策和已颁布的设计技术规程、规范进行。
三、课程设计的内容
本课程设计不是发电厂电气部分的全面设计,大体只相当于实际工程电气一次部分初步设计的内容,其中一部分可达技术设计的要求深度。具体设计内容如下:
⑴ 对原始资料的分析
包括本工程情况、电力系统情况、负荷情况以及环境条件等。
⑵ 电气主接线的设计
包括各级电压接线方式、主变压器的选择;不同可行方案的技术经济比较及最终方案的确定。
⑶短路电流的计算
在确定的主接线方案中,按电器设备选择的需要选定短路点,计算各个支路I 0、I 0.1(35kV及以上电压等级处短路点)、I 0.2(6~10kV电压等级处短路点)、I∞及ish的短路电流值。
⑷ 主要电器设备的选择
包括全厂的主变压器、断路器、隔离开关、电抗器、母线、电缆、电压互感器、电流互感器、绝缘子、熔断器。选择电器时,应参考最近的产品目录,选出我国目前生产的设备。
四、课程设计的成果
1.设计说明书
应分以下各章:
⑴ 总论:说明设计依据和原始资料分析
⑵ 电气主接线的设计:可行方案及其技术经济比较及最终方案
⑶ 短路电流计算:计算依据、计算方法和计算结果表
2.设计图纸
⑴ 电气主接线图
⑵ 其它(由指导教师指定)
【本文由大学生电脑主页[]—大学生的百事通收集整理】
第二篇:电气工程及其自动化专业课程设计大纲
“电力系统继电保护原理”课程设计任务及指导书
—— 元件保护的设计及整定计算
编写:陈浩
—、原始资料
1、发电厂(或变电所)电气主结线图(附元件参数)。
2、电力系统主接线图(附元件参数)
二、设计要求
l、根据厂、所继电保护、自动装置、励磁装置、同期装置及测量表计的要求,配置相应的电流互感器及电压互感器,并选择出相应的电流互感器及电压感器的型号和变比。
2、编制3—4种运行方式。
3、决定变压器中性点接地的位置及台数。
4、根据发电机、变压器的型式和容量及出线的电压等级,配置发电机,变压器(或发一变组)、母线及出线的继电保护方案,并计算出相应的继电保护的整定值。
5、对电网各线路配置继电保护及重合闸方案,并计算出相应的继电保护定值。
三、设计成果
1.编写整计算说明书一份,包括以下内容
(1)所选择的电流、电压互感器的型号及变比
(2)变压器中性点接地位置及台数
(3)各元件、线路参数的计算,各序网的制定;
(4)短路电流计算的过程(要求列出短路电流计算成果表);
(5)各种继电保护整定计算的过程(要求列表给出整定计算成果表,包括各保
护整定值,动作时间,灵敏度等)。
2、在原主结线图的基础上,绘制发电机,变压器(或发一变组),母线及出线继 电保护,自动装置配置方案结线图一张。
四、参考资料
1、发电厂电气设计与CAD应用四川大学电力工程系刘继春
2、电力系统继电保护配置及整定计算
成都科技大学电力工程系潘和勋四川电力调度局张军文
3、电力工程电气设计手册(电气二次部分)能源部西北电力设计院
4、水电站机电设计手册(电气二次)水电站机电设计手册写组
第三篇:电气工程及其自动化专业课程设计
大学生电脑主页dxsdiannao.com – 大学生喜欢的都在这里
“电力系统分析”课程设计大纲
——区域电力网的规划设计
编写:刘天琪,邱晓燕
—、设计要求
根据“电力系统分析”课程所学理论知识和电力系统规划设计的基本任务,在电源及负荷大小及其相对地理位置已确定的情况下,完成一个区域电力网络的设计。要求对多个方案进行技术经济比较和分析,选择出最优方案,并对所选方案进行必要的技术计算(如调压计算、稳定性计算),提出解决技术问题的措施。
二、原始资料
1. 电源点和负荷点的相对地理位置;
2. 发电厂装机容量、额定电压和功率因数;
3. 各负荷点的最大最小负荷、最大负荷利用小时数和额定电压等。
三、电力网规划设计的基本内容
根据前述课程设计的要求,在电源和负荷大小及其相对地理位置已确定的情况下,完成以下设计内容:
1.制订网络可能的接线方案,选择电力网的电压等级;
2.选择各方案发电厂及变电站的主接线,根据电网运行的可靠性、灵活性和经济性,比较各方案的负荷矩、线路长度和高压开关数等指标,摒弃显然不合理的方案;
3.对待选的各方案,确定其输电线路的导线截面及发电厂、变电站的主要电气设备(变压器及断路器);
4.计算各方案的一次投资,对待选方案进行工程经济计算。进行技术经济比较,选定最优设计方案;
5.对所选方案进行调压或稳定性计算,提出调压或提高稳定性的措施。
6.物资统计,列出设备清单。
四、设计成果
1.设计说明书 2.全网主接线图
3.潮流计算结果及潮流分布图 4.设备清单
大学生电脑主页 —— dxsdiannao.com —— 大学生的百事通 大学生电脑主页dxsdiannao.com – 大学生喜欢的都在这里
5、电力系统分析
华中理工大学
何仰赞
五、设计指导(设计的方法和步骤)
1、根据厂、所继电保护、自动装置、励磁装置、同期装置及测量表计的要求,配置和选择相应的电流、电压互感器。见参考资料[1],P89发电厂中互感器配置图,互感器的选择(包括互感器的技术数据)见1:P9598。
2、拟定四种远行方式,确定变压器中性点接地位置及台数。见参考资料[2]见P164。进行短路电流的计算:
(1)有关元件(包括线路)参数的计算,见参考资料 P55 —56的表3--2,表3---3,表3---4。
(2)有关序网的制定及变压器零序等值电路和参数的计算,见参考资料[5],P110—114,P116—120。
(3)有关网络变换与简化,见参考资料P57—58,表3—5,表3—6。
(4)计算继电保护所需的短路电流(包括残压)允许按倒数法(I*d1)X*(注意:I*d,X*在计算不同的短路故障时,有不同的含意和内容),然后求出所需的支路电流及母线电压。
3、进行继电保护的整定计算
(1)根据线路在系统中的重要性及电压等级,配置相应的继电保护,对终端
线路所选保护的二、三段可以按灵敏度的要求,计算定值,例如距离保护、零序保护,(零序保护也可设四段)。
(2)根据母线、发电机、变压机、变压器(或发一变组)的型式和容量,配置相应的继电保护,并整定其定值。
以上两项整项整定的内容及方法,见参考资料[2]的有关内容。
4、绘制继电保护,自动装置配置方案结线图时,其有关的图形符号,见参
考资料[1]P211~212,附录。
继电保护装置(包括自动重合闸),可以选择电磁型、整流型、晶体管型、集成电路型或微机型的成套保护装置。
大学生电脑主页 —— dxsdiannao.com —— 大学生的百事通 大学生电脑主页dxsdiannao.com – 大学生喜欢的都在这里
“电气设备”课程设计任务及指导书
本大纲主笔人:李长松
一、课程设计的目的
本课程设计是在《电气设备》课程教学过程中进行的,是《电气设备》课程的课堂讲授、课程设计及生产实习三大教学环节之一。通过该课程设计,目的是使学生达到:
⑴ 理论联系实际,巩固《电气设备》课程的理论知识; ⑵ 培养工程计算、独立分析和解决问题的能力;
⑶ 树立工程观点,初步学习和掌握发电厂和变电所电气部分设计的基本方法,获得计算、分析和解决问题的能力的训练。
二、课程设计的依据
整个课程设计应根据设计任务书和国家现行的有关政策和已颁布的设计技术规程、规范进行。
三、课程设计的内容
本课程设计不是发电厂电气部分的全面设计,大体只相当于实际工程电气一次部分初步设计的内容,其中一部分可达技术设计的要求深度。具体设计内容如下:
⑴ 对原始资料的分析
包括本工程情况、电力系统情况、负荷情况以及环境条件等。⑵ 电气主接线的设计 包括各级电压接线方式、主变压器的选择;不同可行方案的技术经济比较及最终方案的确定。
⑶
短路电流的计算
在确定的主接线方案中,按电器设备选择的需要选定短路点,计算各个支路I 0、I 0.1(35kV及以上电压等级处短路点)、I 0.2(6~10kV电压等级处短路点)、I∞及ish的短路电流值。
⑷ 主要电器设备的选择
包括全厂的主变压器、断路器、隔离开关、电抗器、母线、电缆、电压互感器、电流互感器、绝缘子、熔断器。选择电器时,应参考最近的产品目录,选出我国目前生产的设备。
四、课程设计的成果
1.设计说明书 应分以下各章:
⑴ 总论:说明设计依据和原始资料分析
⑵ 电气主接线的设计:可行方案及其技术经济比较及最终方案 ⑶ 短路电流计算:计算依据、计算方法和计算结果表 2.设计图纸
⑴ 电气主接线图
⑵ 其它(由指导教师指定)
【本文由大学生电脑主页[ www.teniu.cc ]—大学生的百事通收集整理】
大学生电脑主页 —— dxsdiannao.com —— 大学生的百事通
第四篇:电气工程及其自动化专业电力工程课程设计教学大纲
电力工程基础课程设计教学大纲
课程编号:
课程名称:电力工程基础课程设计 周数学分:2周/2
先修课程:电机学,电力工程基础 1.设计目的
课程设计是完成对应课程教学计划后的一个重要实践性教学环节,是对该门课程内容的综合运用和提高。
通过课程设计巩固和加深学生对所学的专业课程知识,结合工程或生产的实际问题,锻炼学生分析和解决问题的能力;提高学生使用技术资料,进行计算,绘图以及编写技术文件的技能,掌握设计的步骤和方法,学会运用规程,规范,手册和参考资料.通过课程设计应使每个学生都受到较全面的训练,在教师的具体指导下独立完成规定的设计任务.2.设计题目的选择原则
课程设计要尽可能地结合生产实际来进行.选题可以多样化,以围绕发电厂变电所电气部分工程设计为主.可以选用合适的现实工程设计题材,也可拟订符合工程实际的教学性题材。3.设计任务
对某变电站或发电厂确定初步的电气主接线,并进行电气设备的选择.亦可根据情况,另选其它题材,但内容应符合本专业培养目标,份量要适当。4.设计的内容及范围
因课程设计时间较短,从教学目的出发,内容应覆盖两门及两门以上的所学的专业知识,有选择地简化和删去部分设计内容,适当减少相同方法和相同内容的重复工作量。
设计的内容可有:短路电路计算,电气主接线确定,变压器选择,高压断路器,隔离开关,母线,熔断器,互感器和避雷器的选择。5.设计说明书及图纸等的基本要求
(1)设计说明书
学会用简练的工程技术语言编写技术文件是设计的目的之一,说明书的编写大体上可按设计内容,分章、节、项写出设计的依据、条件、过程、方法、结果等,文字简明扼要,字迹清楚,结论明确,各种数据,尽量利用表格,以期一目了然,最少在3000字。
(2)设计计算书 它是设计过程中各种主要计算的编集,可作为设计说明书的附件,应显示出各计算项目的计算条件,计算方法,计算过程和计算结果,作为成果数据的要列表以便查用。
根据设计内容,计算书中至少有下列各项内容: 短路电流计算; 设备选择校验计算。(3)设计图纸
各电气元件一律使用标准图例和代号,讲究图面布局美观整洁。根据设计内容,要求作出变电站电气主接线图。6.设计时间分配
根据本专业教学计划安排该课程设计的时间为 2 周: 第1天查阅各种相关资料;第2-8天各种电气设备选择计算;第9天画图、书写设计说明书;第10天整理设计材料,答辩。7.成绩评定标准和考核办法
(1)成绩评定标准
根据学生完成的课程设计成果和课程设计答辩的情况,结合在设计过程中个人学习积极性的发挥综合评定成绩,一般分优,良,及格,不及格四等次评定。
(2)考核办法
以出勤情况和设计成果进行综合评定,出勤占20%,设计成果占40%,答辩40%。8.主要参考资料
《电气工程基础》 王锡凡主编 西安交通大学出版社 《发电厂变电站电气部分》 牟道槐主编 重庆大学出版社 《供电技术》 余健明等编 机械工业出版社
《水电站电气设备》 尹厚丰主编 中国水利水电出版社 《供配电设计手册》 焦留成主编 中国计划出版社 《电气设备及运行维护》刘增良主编 中国电力出版社
第五篇:电气工程及其自动化单片机课程设计
河北建筑工程学院
单片机课程设计任务书
课程名称:
单片机原理及应用 系 :
电气工程系 专 业:
电气工程及其自动化 班 级: 学 号: 2008308112 学生姓名:
指导教师: 职 称:
讲师
2012 年 1 月 1 日
一·摘要
近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此越来越广泛地应用各个领域.本文的电子钟系统是以单片机(AT89C51)为核心,时钟芯片DS1302、数码管显示驱动芯片74LS164等元器件组成。具体介绍应用protell软件进行单片机系统的电子钟设计与仿真的实现方法。该方法既能准确验证所设计的系统是否满足技术要求,又能提高系统设计的效率和质量,降低开发成本,具有推广价值。
关键词:单片机; 时钟芯片 ;数码管显示驱动芯片 ;电子钟
二·系统总体方案设计
随着电子技术的发展,人类不断研究,不断创新纪录。万年历目前已经不再局限于以书本形式出现。以电脑软件或者电子产品形式出现的万年历被称为电子万年历。与传统书本形式的万年历相比,电子万年历得到了越来越广泛的应用,采用电子时钟作为时间显示已经成为一种时尚。目前市场上各式各样的电子时钟数不胜数,但多数是只针对时间显示,功能单一不能满足人们日常生活需求。
本文提出了一种基于AT89C51单片机的万年历设计方案,本方案以AT89C51单片机作为主控核心,与时钟芯片DS1302、按键、LED显示等模块组成硬件系统。在硬件系统中设有独立按键和LED显示器,能显示丰富的信息,根据使用者的需要可以随时对时间进行校准、选择时间等,综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
1.功能要求
本电子时钟能显示星期、小时、分钟、秒
2.技术可行性
随着国内超大规模集成电路的出现,微处理器及其外围芯片有了迅速的发展。集成技术的最新发展之一是将CPU和外围芯片,如程序存储器、数据存储器、并行I/O口、串行I/O口、定时/计数器、中断控制器及其他控制部件集成在一个芯片之中,制成单片计算机(Single-Chip Microcomputer)。而近年来推出的一些高档单片机还包括有许多特殊功能单元,如A/D、D/A转换器、调制解调器、通信控制器、锁相环、DMA、浮点运算单元、PWM控
4.DS1302简介
(1)DS1302特性介绍
DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。
(2)DS1302引脚介绍
各引脚的功能为:、Vcc1:备用电池端;
1、Vcc2:5V电源。当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2< Vcc1时,由Vcc1向DS1302供电。
7、SCLK:串行时钟,输入;
6、I/O:数据输入输出口;
5、CE/RST:复位脚
3、X1、X2 是外接晶振脚(32.768KHZ的晶振)
4、地(GND)
(4)DS1302有关日历、时间的寄存器
寄存器的说明如下:
1、秒寄存器(81h、80h)的位7定义为时钟暂停标志(CH)。当初始上电时该位置为1,时钟振荡器停止,DS1302处于低功耗状态;只有将秒寄存器的该位置改写为0时,时钟才能开
6(2)时钟电路DS1302
DS1302的性能特性: ● 实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行比较; ● 用于高速数据暂存的31*8位RAM; ● 最少引脚的串行I/O; ● 2.5~5.5V电压工作范围; ● 2.5V时耗小于300nA;
● 用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式; ● 简单的三线接口;
● 可选的慢速充电(至Vcc1)的能力。
DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被访问到。在开始8个时钟周期,把命令字节装入移位寄存器后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下为8+8,在多字节方式下为8+字节数,最大可达248字节数。如果在传送过程中置RST脚为低电平,则会终止本次数据传送,并且I/O引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST脚必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。
DS1302的控制字如表所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。位6如果为0,则表示存取日历时钟数据;为1则表示存取RAM数据。位5~1(A4~A0)指示操作单元的地址。最低有效位(位0)如果为0,则表示药进行写操作;为1表示进行读操作。控制字节总是从最低位开始输入/输出。
为了提高对32个地址寻址能力(地址/命令位1~5=逻辑1),可以把时钟/日历或RAM寄存器规定为多字节(burst)方式。位6规定时钟或RAM,而位0规定读或写。在时钟/日历寄存器中的地址9~31或RAM寄存器中的地址31不能存储数据。在多字节方式下,读或写从地址0的位0开始。必须按数据传送的次序写最先的8个寄存器。但是,当以多字节方式写RAM时,为了传送数据不必写所有的31字节,不管是否谢了全部31字节,所写的每一字节都将传送至RAM。
DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。其日历、时间寄存器及其控制字如上表所示,其中奇数为读操作,偶数为写操作。
时钟暂停:秒寄存器的位7定义位时钟暂停位。当它为1时,DS1302停止振荡,进入低功耗的备份方式,通常在对DS1302进行写操作时(如进入时钟调整程序),停止振荡。当它为0时,时钟将开始启动。
AM-PM/12-24小时方式:小时寄存器的位7定义为12或24小时方式选择位。它为高电平时,选择12小时方式。在此方式下,位5为第二个10小时位(20~23h)。
DS1302的晶振选用32768Hz,电容推荐值为6pF。因为振荡频率较低,也可以不接电容,对计时精度影响不大。
9DS1302的晶振选用32768Hz,电容推荐值为6pF。因为振荡频率较低,也可以不接电容,对计时精度影响不大。
四· 系统软件设计
1.程序设计
电子万年历的程序主要包括3个方面的内容:一是DS1302从单片机中读取数据进行计数,二是利用按键进行时间的调整,三是74LS164从单片机中读取数据驱动LED数码管显示时间。
AT89C51单片机主要I/O口的分配,P2.0-P2.2分别接74LS164的DIN,LOAD,CLK三个功能端,P3接查询式按键,P1.0-P1.2分别接DS1302的CLK,IO,RST端。
2.时间控制流程图
DS1302时控流程图
附录 电子时钟程序
#include
//定义10ms计数器 sbit K1 = P3^2;
//定义K1键 sbit K2 = P3^3;
//定义K2键 sbit K3 = P3^4;
//定义K3键 sbit K4 = P3^5;
//定义K4键 sbit BEEP=P3^7;//定义蜂鸣器 sbit reset = P1^2;sbit sclk = P1^0;sbit io
= P1^1;sbit LCD_RS=P2^0;
sbit LCD_RW=P2^1;
sbit LCD_EN=P2^2;bit K1_FLAG=0;
//定义按键标志位,当按下K1键时,该位置1,K1键未按下时,该位为0。uchar code line1_data[] = {“---LCD Clcok---”};
//定义第1行显示的字符 uchar code line2_data[] = {“****”};
//定义第2行显示的字符 uchar disp_buf[8] ={0x00};
//定义显示缓冲区 uchar time_buf[7] ={0,0,0x12,0,0,0,0};//DS1302时间缓冲区,存放秒、分、时、日、月、星期、年 uchar temp [2]={0};
//用来存放设置时的小时、分钟的中间值 /********以下是函数声明********/ void Delay_ms(uint xms);bit lcd_busy();
void lcd_wcmd(uchar cmd);
void lcd_wdat(uchar dat);
void lcd_clr();void lcd_init();void write_byte(uchar inbyte);
//写一字节数据函数声明 uchar read_byte();
//读一字节数据函数声明 void write_ds1302(uchar cmd,uchar indata);//写DS1302函数声明 uchar read_ds1302(uchar addr);
//读DS1302函数声明
void set_ds1302(uchar addr,uchar *p,uchar n);//设置DS1302初始时间函数声明 void get_ds1302(uchar addr,uchar *p,uchar n);//读当前时间函数声明 void init_ds1302();
//DS1302初始化函数声明 /********以下是延时函数********/ void Delay_ms(uint xms)
{ uint i,j;for(i=xms;i>0;i--)
//i=xms即延时约xms毫秒
for(j=110;j>0;j--);} /********以下是LCD忙碌检查函数********/
_nop_();
LCD_EN = 1;
_nop_();
_nop_();
_nop_();
_nop_();
LCD_EN = 0;
}
/********以下是LCD清屏函数********/ void lcd_clr()
{
lcd_wcmd(0x01);
//清除LCD的显示内容
Delay_ms(5);
}
/********以下是LCD初始化函数********/ void lcd_init()
{
Delay_ms(15);
//等待LCD电源稳定
lcd_wcmd(0x38);
//16*2显示,5*7点阵,8位数据
Delay_ms(5);
lcd_wcmd(0x38);
Delay_ms(5);
lcd_wcmd(0x38);
Delay_ms(5);
lcd_wcmd(0x0c);
//显示开,关光标
Delay_ms(5);
lcd_wcmd(0x06);
//移动光标
Delay_ms(5);
lcd_wcmd(0x01);
//清除LCD的显示内容
Delay_ms(5);
}
/********以下是写一字节数据函数********/ void write_byte(uchar inbyte){
uchar i;
for(i=0;i<8;i++)
{
sclk=0;
//写时低电平改变数据
if(inbyte&0x01)
io=1;
else
io=0;
sclk=1;
//高电平把数据写入DS1302
_nop_();
inbyte=inbyte>>1;
{
write_ds1302(addr,*p);
p++;
addr=addr+2;
}
write_ds1302(0x8e,0x80);
//写保护,不允许写 } ********读取当前时间函数******** void get_ds1302(uchar addr,uchar *p,uchar n){
for(;n>0;n--)
{
*p=read_ds1302(addr);
p++;
addr=addr+2;
} } ********初始化DS1302函数********/ void init_ds1302(){
reset=0;
sclk=0;
write_ds1302(0x80,0x00);//写秒寄存器
write_ds1302(0x90,0xab);//写充电器
write_ds1302(0x8e,0x80);//写保护控制字,禁止写 }
/*********以下是蜂鸣器响一声函数********/ void beep(){
BEEP=0;
//蜂鸣器响
Delay_ms(100);
BEEP=1;
//关闭蜂鸣器
Delay_ms(100);
} /********以下是转换函数,负责将走时数据转换为适合LCD显示的数据********/ void LCD_conv(uchar in1,in2,in3)
//形参in1、in2、in3接收实参time_buf[2]、time_buf[1]、time_buf[0]传来的小时、分钟、秒数据 { disp_buf[0]=in1/10+0x30;
//小时十位数据
disp_buf[1]=in1%10+0x30;
//小时个位数据
disp_buf[2]=in2/10+0x30;
//分钟十位数据
disp_buf[3]=in2%10+0x30;
//分钟个位数据
disp_buf[4]=in3/10+0x30;
//秒十位数据
disp_buf[5]=in3%10+0x30;
//秒个位数据 }
{
Delay_ms(10);//延时去抖
if(K4==0)
{
while(!K4);//等待K4键释放
beep();
write_ds1302(0x80,0x00);//调整完毕后,启动时钟运行
write_ds1302(0x8e,0x80);//写保护控制字,禁止写
K1_FLAG=0;//将K1键按下标志位清0
} } }
/********以下是读取时间函数,负责读取当前的时间,并将读取到的时间转换为10进制数********/ void get_time(){ uchar sec,min,hour;
//定义秒、分和小时变量
write_ds1302(0x8e,0x00);
//控制命令,WP=0,允许写操作
write_ds1302(0x90,0xab);
//涓流充电控制
sec=read_ds1302(0x81);
//读取秒
min=read_ds1302(0x83);
//读取分
hour=read_ds1302(0x85);
//读取时
time_buf[0]=sec/16*10+sec%16;
//将读取到的16进制数转化为10进制
time_buf[1]=min/16*10+min%16;
//将读取到的16进制数转化为10进制
time_buf[2]=hour/16*10+hour%16;
//将读取到的16进制数转化为10进制 } /********以下是主函数********/ void main(void){ uchar i;P0 = 0xff;P2 = 0xff;lcd_init();
//LCD初始化函数(在LCD驱动程序软件包中)
lcd_clr();
//清屏函数(在LCD驱动程序软件包中)
lcd_wcmd(0x00|0x80);
//设置显示位置为第1行第0列
i = 0;
while(line1_data[i]!= '')
//在第1行显示“---LCD Clcok---”
{
lcd_wdat(line1_data[i]);
//显示第1行字符
i++;
//指向下一字符
}
lcd_wcmd(0x40|0x80);
//设置显示位置为第2行第0列
i = 0;
while(line2_data[i]!= '')
//在第2行0~3列显示“****”
{
lcd_wdat(line2_data[i]);
//显示第2行字符
920-