




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子系统设计课程设计报告PAGEPAGE23《电子系统设计》课程设计报告题目:基于单片机和CPLD的数字时钟姓名: XXX院系:电力学院专业:电子科学与技术学号:XXXXXXXXX指导老师:XXXXXXXXX完成时间:2014年1月9日设计题目基于单片机和CPLD的数字时钟设计要求设计过程(包括:设计方案、上机设计与仿真结果、硬件实验方案及实验结果、收获和体会)成绩评定指导教师评语课程设计等级目录设计概述…………………31.1使用软件简介………….41.2设计目的及要求………….4第二章总体设计…………………42.1设计框图………42.2设计框图概述…………………….5第三章硬件设计………………53.1数字时钟的结构……….53.2数字时钟的功能实现……….73.3数字时钟的功能模块设计…………………….7第四章 程序框图和清单……………114.1程序框图……….……114.2程序……………….124.3清单……………….19第五章 实验结果和体会………………20体会…………………22第一章设计概述1.1使用软件简介a.使用汇编语言或C语言要使用编译器,以便把写好的程序编译为机器码,才能把HEX可执行文件写入单片机内。KEILuVISION是众多单片机应用开发软件中最优秀的软件之一,它支持众多不同公司的MCS51架构的芯片,甚至ARM,它集编辑,编译,仿真等于一体,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。因此很多开发51应用的工程师或普通的单片机爱好者,都对它十分喜欢。KEILuVision5是uVision4的升级版本,页面有了进一步的优化,使用起来更加的人性化。b.仿真软件ProtuesProteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。迄今为止是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译。c.综合工具ModelsimMentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件。1.2设计目的及要求a、设计要求(1)设计一个基于单片机和CPLD的数字时钟;(2)根据性能指标,计算元件参数,选好元件,设计电路并画出电路图;对设计电路进行模拟与测试。(3)撰写设计报告。b、技术指标使用单片机和CPLD设计,显示年、月、日、小时、分钟、秒,时间可以调整。第二章总体设计2.1设计框图按键按键数码管显示数码管驱动时钟芯片DS12c887复位电路主控STC89C52晶振电路2.2设计框图概述 a.晶振电路:12MHZ晶振和两个22PF的电容,产生标准脉冲信号。 b.复位电路:利用它把电路恢复到起始状态。 c.时钟芯片:本设计采用高精度时钟芯片DS12C887,自带晶体振荡器和锂电池。在没有外部电源的情况下可工作10年。在运行中,单片机从时钟芯片读取当前时间,然后送到数码管显示。 d.数码管显示:本设计采用八段共阴极数码管,可以同时显示年月日或者时分秒。 e.数码管驱动:选用两个74HC573锁存器,分别控制数码管的段码显示和位码显示。 f.按键:采用四个独立按键,分别用来实现调整时间及其它功能。第三章硬件设计3.1数字时钟的结构运用protues软件进行仿真,keil软件与其调试显示时分秒显示年月日3.2数字时钟的功能实现 本设计一共使用四个独立按键来实现数字时钟的功能,其中k1是时分秒和年月日切换显示键,若当前显示是时分秒,按下k1,则切换显示到年月日;k2键为修改项选择键,按一下k2修改当前显示的第三位,按两下k2修改当前显示的第二位,按三下k2修改当前显示的第一位;k3和k4分别为增大和减小按键,来对修改项进行操作,只有在k2按下之后才有效。3.3数字时钟的功能模块设计 本设计中需要用到CPLD的有两个74HC573锁存器,下面用Modelsim进行锁存器设计.锁存器代码:moduleverilog_74hc573(LE1,OE_N1,D1,Q1,LE2,OE_N2,D2,Q2);inputLE1,OE_N1,LE2,OE_N2;input[7:0]D1,D2;output[7:0]Q1,Q2;reg[7:0]Q_r1,Q_r2;wire[7:0]D_r1,D_r2;assignD_r1=D1;always@(OE_N1,LE1,D1)beginif(OE_N1)beginQ_r1<=8'hz;endelseif(LE1)beginQ_r1<=D_r1;endelsebeginQ_r1<=Q_r1;endendassignQ1=Q_r1;assignD_r2=D2;always@(OE_N2,LE2,D2)beginif(OE_N2)beginQ_r2<=8'hz;endelseif(LE2)beginQ_r2<=D_r2;endelsebeginQ_r2<=Q_r2;endendassignQ2=Q_r2;endmodule测试代码`timescale1ns/1ns;moduleverilog_74hc573_tb;regle1,oe_n1;reg[7:0]d1;wire[7:0]q1;initialbeginle1=0;oe_n1=0;d1=8'b0000_1111;endalwaysbegin#5le1=1;oe_n1=0;#5d1=8'd1111_0000;#5d1=8'd0000_1111;#5le1=0;oe_n1=0;#5d1=8'd1010_0101;#5d1=8'd0101_1010;#5oe_n1=1;le1=0;#5d1=8'd1111_1111;#5oe_n1=1;le1=0;#5d1=8'd1000_0001;#5d1=8'd0001_1110;#5oe_n1=1;le1=1;#5d1=8'd0011_1100;#5d1=8'd1100_0011;endverilog_74hc573u1(.LE1(le1),.OE_N1(oe_n1),.D1(d1),.Q1(q1));endmodule仿真结果第四章程序框图和清单4.1程序框图开始开始初始化初始化STC89C52STC89C52从DS12C887中读数据Flag=0? Flag=0?YN YN显示年月日显示时分秒显示年月日显示时分秒键盘扫描键盘扫描键盘扫描键盘扫描K1=1?K1=1?K1=1?NYYNYYYK2=1?YK2=1?K2=1?NNNNKK2_num=?修改时/年修改分/月修改秒/天 修改时/年修改分/月修改秒/天K3=1K3=1,增大K4=1,减小4.2程序#include<reg52.h>#defineucharunsignedchar#defineuintunsignedint#defineM1#defineN10sbitsp=P3^0;sbitdscs=P2^4;sbitdsas=P2^5;sbitdsrw=P2^6;sbitdsds=P2^7;sbitduan=P2^0;sbitwei=P2^1;sbitk1=P3^4;sbitk2=P3^5;sbitk3=P3^6;sbitk4=P3^7;voiddelay(uint);voidinit();voidkeyscan();voiddisplay(uchar,uchar,uchar);voidwrite_ds(uchar,uchar);voidset_time();ucharread_ds(uchar);ucharshi,fen,miao,month,day;ucharyear,flag,k2_num,i;unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};voiddelay(uintx){ uinti,j; for(i=x;i>0;i--) for(j=110;j>0;j--);}voidinit(){ flag=0; k2_num=0; write_ds(0x0a,0x20); write_ds(0x0b,0x26); set_time();}voiddisplay(ucharsh,ucharfe,ucharmia){ ucharsg,ss,fg,fs,mg,ms; sg=sh%10; ss=sh/10; fg=fe%10; fs=fe/10; mg=mia%10; ms=mia/10; duan=1; P0=table[ss]; duan=0; P0=0xfe; wei=1; wei=0; P0=0x00; delay(M); duan=1; P0=table[sg]; duan=0; P0=0xfd; wei=1; wei=0; P0=0x00; delay(M); duan=1; P0=table[10]; duan=0; P0=0xfb; wei=1; wei=0; P0=0x00; delay(M); duan=1; P0=table[fs]; duan=0; P0=0xf7; wei=1; wei=0; P0=0x00; delay(M); duan=1; P0=table[fg]; duan=0; P0=0xef; wei=1; wei=0; P0=0x00; delay(M); duan=1; P0=table[10]; duan=0; P0=0xdf; wei=1; wei=0; P0=0x00; delay(M); duan=1; P0=table[ms]; duan=0; P0=0xbf; wei=1; wei=0; P0=0x00; delay(M); duan=1; P0=table[mg]; duan=0; P0=0x7f; wei=1; wei=0; P0=0x00; delay(M);}voidwrite_ds(ucharadd,uchardate){ dsas=1; dsds=1; dsrw=1; dscs=0; P1=add; dsas=0; dsrw=0; P1=date; dsrw=1; dsas=1; dscs=1;}ucharread_ds(ucharadd){ uchards_date; dscs=0; dsas=1; dsds=1; dsrw=1; P1=add; dsas=0; dsds=0; P1=0xff; ds_date=P1; dsas=1; dsds=1; dscs=1; returnds_date;}voidset_time(){ write_ds(0,0); write_ds(1,0); write_ds(2,0); write_ds(3,0); write_ds(4,12); write_ds(5,0); write_ds(6,0); write_ds(7,1); write_ds(8,1); write_ds(9,14);}voidkeyscan(){ if(k1==0) { uinti; delay(5); if(k1==0) { flag++; if(flag>=2) { flag=0; } for(i=N;i>0;i--) { if(flag==0) { display(shi,fen,miao); } else { display(year,month,day); } } while(!k1); } } if(k2==0) { delay(5); if(k2==0) { k2_num++; if(k2_num>=4) { k2_num=0; } for(i=N;i>0;i--) { if(flag==0) { display(shi,fen,miao); } else { display(year,month,day); } } while(!k2); } } if(k2_num!=0) { if(flag==0) { if(k3==0) { delay(5); if(k3==0) { switch(k2_num) { case1:write_ds(0,(miao+1)); break; case2:write_ds(2,(fen+1)); break; case3:write_ds(4,(shi+1)); break; } for(i=N;i>0;i--) { if(flag==0) { display(shi,fen,miao); } else { display(year,month,day); } } while(!k3); } } if(k4==0) { delay(5); if(k4==0) { switch(k2_num) { case1:write_ds(0,(miao-1)); break; case2:write_ds(2,(fen-1)); break; case3:write_ds(4,(shi-1)); break; } for(i=N;i>0;i--) { if(flag==0) { display(shi,fen,miao); } else { display(year,month,day); } } while(!k4); } } } if(flag==1) { if(k3==0) { delay(5); if(k3==0) { switch(k2_num) { case1:write_ds(7,(day+1)); break; case2:write_ds(8,(month+1)); break; case3:write_ds(9,(year+1)); break; } for(i=N;i>0;i--) { if(flag==0) { display(shi,fen,miao); } else { display(year,month,day); } } while(!k3); } } if(k4==0) { delay(5); if(k4==0) { switch(k2_num) { case1:write_ds(7,(day-1)); break; case2:write_ds(8,(month-1)); break; case3:write_ds(9,(year-1)); break; } for(i=N;i>0;i--) { if(flag==0) { display(shi,fen,miao); } else { display(year,month,day); } } while(!k4); } } } } }voidmain(){ init(); while(1) { keyscan(); year=read_ds(9); month=read_ds(8); day=read_ds(7); shi=read_ds(4); fen=read_ds(2); miao=read_ds(0); if(flag==0) { display(shi,fen,miao); } else { display(year,month,day); } }}4.3清单BillOfMaterialsFor数字钟DesignTitle:数字钟Author:<XXX>Revision:<NONE>DesignCreated:2013Äê12ÔÂ22ÈÕDesignLastModified:2014Äê1ÔÂ7ÈÕTotalPartsInDesign:112
ResistorsQuantity:ReferencesValueOrderCode2R1,R2500
3
CapacitorsQuantity:ReferencesValueOrderCode2C1,C222p
1C3100uMaplinVH12N4
IntegratedCircuitsQuantity:ReferencesValueOrderCode1U1AT89C52
2U2,U374HC573
1U4DS12887
2
MiscellaneousQuantity:ReferencesValueOrderCode1RP1RESPACK-8
1X1CRYSTAL
第五章 实验结果和体会 经过仿真,此次设计的数字时钟可以正常工作显示时分秒显示年月日仿真结果 体会:通过这次设计,我深深体会到,干任何事情都要认真、细致、耐心。但是设计是一件很严谨的工作,而且时间又比较紧,我就不得不静下心思来,认真地搞设计。有两次我因为不小心计算错误前功尽弃而心烦意乱。但一想到自己已是一个成年人,应该有担当,有社会责任感,就又重拾信心继续算。就这样,不断地警示自己,鼓励自己,终于完成了这次设计。通过这次设计也磨砺了我的意志力和做事踏实认真的作风。
说老实话,设计真的有点累。但是当自己整理自己的设计成果的时候,那种少有的成功的喜悦让所有的倦意都吹散。犹如一阵春风沁人心脾,心旷神怡。我知道这是人生中的一小步,今后我会走得更加坚定。
短短两周的设计,我发觉自己所学的知识还很有限。这次设计,我翻阅了很多资料。越是看的书多,我就越觉得自己的专业知识很贫乏。在以后的学习中,我一定会更加努力,更加注重积累,为将来走向社会打好基础。
最后,我要衷心的感谢老师。两周的设计老师您一刻也没有休息,教室-图书馆-寝室三点一线的来回跑。是您耐心的给我们指导,是您一次又一次的鼓励我。真心的感谢您,老师!我一定再接再厉,更上一层楼基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现基于单片机的倒立摆控制系统设计与实现单片机嵌入式以太网防盗报警系统基于51单片机的嵌入式Internet系统的设计与实现单片机监测系统在挤压机上的应用MSP430单片机在智能水表系统上的研究与应用基于单片机的嵌入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年生态园区环保型厂房租赁及维护服务合同
- 2025年高压变电站电气设备定期检修与保养服务协议
- (2025年标准)便道硬化协议书
- 2025年度文化创意产业版权纠纷案件代理服务协议
- 企业中层管理人员能力提升计划
- 2025年新能源汽车共享租赁服务及行业标准合作协议
- 2025年婚姻财产分割与债务清偿及家庭财产保全服务合同
- 2025年国际高端面料批发与海关通关一体化服务协议
- 丝绳抗拉强度测试-洞察及研究
- 2025年新型建筑材料租赁合同书
- KBZ2馈电开关华荣教案
- 检验科标本保存制度
- 2025版商业综合体物业服务合同招标文件3篇
- 建设工程降低成本、提高经济效益措施
- 2024-2030年中国科技孵化器产业运行动态及投资发展前景调研报告
- 江苏省南京市雨花台区实验小学2024-2025学年五年级上学期期中数学试题(文字版)
- RPA财务机器人开发与应用 课件 6.2 RPA银企对账机器人
- Unit3Timeschange!Developingideas教学设计2023-2024学年高二英语外研版(2019)选择性必修第二册
- 2025年辽宁中考语文复习专项训练:非连续性文本阅读(含解析)
- 人教版八年级上册物理重点实验知识总结
- 低空经济:应急救援的新力量
评论
0/150
提交评论