1、电子系统设计课程总结报告信息工程学院指导老师王东专业、班级通信121报告人姓名签名学号12426046同组人姓名签名学号12426060论文结题时间2015年6月20日I摘要该课程我们主要会用到PROTEL软件、KELI软件、PROTUES软件、LOPE仿真软件,以及LP5124实时在线仿真器等。对于KEIL软件,其主要是与LOPE仿真软件联合使用,了解他的基础操作,怎样输入源程序,建立工程、设置详细的工程,将源程序变为目标代码等。通过这个门课程学会了电路元原理图原理图的设计以及PCB图的布线等。掌握这几个软件的具体操作过程,并掌握了单片机实验板的硬件结构和主要元件的功能、用途、物理地址,并根
2、据要求编制和调试程序。本次课程设计主要采用MSC51系列单片机中的AT89C51作为中心器件来设计一系列内容在PROTEUS与KEIL搭建的仿真平台上,用LOPE仿真软件,以汇编语言和C语言作为编程语言进行仿真。在该课程中我们做过在PROTUES环境下用780578127912芯片设计5V12V12V直流稳压电源;LM324集成运算放大器,设计频率可调、占空比可调的方波发生电路;51单片机最小系统;在单片机实验板环境下编制和调试程序;根据HB51单片机实验板上的DS12887时钟芯片和键盘与显示器接口芯片INTEL8279,以汇编语言和C语言编写电子时钟软件程序,并通过键盘对时间和日期进行修改
3、和设置。关键字软件;程序;单片机IIABSTRACTTHEMAINCOURSEWEWILLUSEPROTELSOFTWARE,KELISOFTWARE,PROTUESSOFTWARE,LOPESIMULATIONSOFTWARE,ASWELLASREALTIMEINCIRCUITEMULATOR,ETCLP5124FORKEILSOFTWARE,WHICHISMAINLYUSEDINCOMBINATIONWITHLOPESIMULATIONSOFTWARETOUNDERSTANDTHEBASISOFHISOPERATION,WHATINPUTSOURCE,BUILDTHEPROJECT,SET
4、THEDETAILEDENGINEERING,THESOURCECODEINTOOBJECTCODEANDSOONTHROUGHTHISCOURSEYOULEARNTODESIGNANDCIRCUITELEMENTSSUCHASWIRINGSCHEMATICSPCBSCHEMATICDIAGRAMTHESPECIFICOPERATIONTOMASTERTHESESOFTWAREANDMASTERFUNCTION,USE,PHYSICALADDRESSMCUBOARDOFHARDWARESTRUCTUREANDMAINELEMENTS,ANDINACCORDANCEWITHTHEREQUIREM
5、ENTSOFTHEPREPARATIONANDDEBUGGERTHECOURSEISDESIGNEDMAINLYMSC51SERIESMICROCONTROLLERAT89C51ASTHECENTRALDEVICEDESIGNEDASERIESOFCONTENTONPROTEUSANDKEILTOBUILDASIMULATIONPLATFORM,WITHLOPESIMULATIONSOFTWAREINASSEMBLYLANGUAGEANDCLANGUAGEASAPROGRAMMINGLANGUAGEFORSIMULATIONINTHISCOURSEWEDIDATPROTUESENVIRONME
6、NTWITH780,578,127,912CHIPDESIGN5V12V12VDCPOWERSUPPLYLM324INTEGRATEDOPERATIONALAMPLIFIERDESIGNEDADJUSTABLEFREQUENCY,ADJUSTABLEDUTYCYCLESQUAREWAVEGENERATINGCIRCUIT51SMALLESTSINGLECHIPSYSTEMSMCUBOARDINTHEPREPARATIONANDDEBUGGINGENVIRONMENTACCORDINGDS12887CLOCKCHIPANDKEYBOARDANDDISPLAYINTERFACECHIPMICROC
7、ONTROLLEREXPERIMENTALBOARDINTELHB518279,INASSEMBLYLANGUAGEANDCLANGUAGEELECTRONICCLOCKSOFTWAREPROGRAM,ANDTHROUGHKEYBOARDFORTIMEANDDATETOBEMODIFIEDANDSETTINGSKEYWORDSSOFTWARE;PROGRAM;SCMIII目录摘要IABSTRACTII第一章绪论111软件简介1111PROTEL软件1112KEILC软件1113PROTUES软件2114LOPE软件212芯片32PROTUES设计521直流稳压电源522方波发生电路623单片机
8、最小系统83单片机实验板94电子时钟1141实验要求1142实验步骤1143试验程序125结论226元件清单23附录一电子时钟、键盘电路图251第一章绪论11软件简介111PROTEL软件PROTEL是PORTEL公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用。它是工作在WINDOWS95环境下,是个完整的板级全方位电子设计系统,它包含了电路原理图绘制、模拟电路与数字电路混合信号仿真、多层印制电路板设计(包含印制电路板自动布线)、可编程逻辑器件设计、图表生成、电子表格生成、支持宏操作等功能,并具有
9、CLIENT/SERVER(客户/服务器)体系结构,同时还兼容一些其它设计软件的文件格式,如ORCAD,PSPICE,EXCEL等,其多层印制线路板的自动布线可实现高密度PCB的100布通率。112KEILC软件KEILC51是美国KEILSOFTWARE公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。KEIL提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION)将这些部分组合在一起。用过汇编语言后再使用C来开发,体会更加深刻。KEILC5
10、1软件提供丰富的库函数和功能强大的集成开发调试工具,全WINDOWS界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KEILC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。2113PROTUES软件PROTEUS是世界上著名的EDA工具仿真软件,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSP
11、IC33、AVR、ARM、8086和MSP430等,2010年又增加了CORTEX和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、KEIL和MATLAB等多种编译器。114LOPE软件可仿真调试C和汇编语言,即使不连接仿真器也能软件模拟运行,仿真速度可达64MHZ,编辑,编译,调试在一个窗口内完成,调试后在编辑窗内跟踪光标显示变量值和名称,类型,长度,储存,地址等属性。使用时,创建项目管理,方便项目编译仿真,可在窗口自行设置设置仿真器频率,无须硬件跳线,变量可用鼠标快速加变量窗口,无须按键输入名称,可将程序装入仿真区调试或存盘,同时调试观察源文件和反汇编窗口及其他
12、窗口,可仿真调试各种格式的文件。312芯片(1)78057805为稳压芯片,路即可以输入一个直流稳压电源,他的输出电压恰好为5V,刚好是51系列单片机运行所需的电压,其中1接整流器输出的电压,2为公共地,3就是的正5V输出电压了。(2)781212V固定正电压稳压电路4(3)791212V电源稳压集成电路(4)AT89S5140个引脚,4KBYTESFLASH片内程序存储器,128BYTES的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。52PROTUE
13、S设计21直流稳压电源用780578127912芯片设计5V12V12V直流稳压电源(1)仿真图图2116(2)仿真结果22方波发生电路利用LM324设计频率可调、占空比可调的方波发生方波。方波信号是指电路系统中信号的质量,如果在要求的时间内,信号能不失真地从源端传送到接收端,我们就称该信号是方波信号。它在科学研究、工程教育及生产实践中的使用非常普遍。通常作为标准信号,应用于电子电路的性能试验或参数测量,研究它具有十分重要的意义。方波产生电路,即将运算放大器LM324的反相输入端接地,同相输入端接正弦波产生电路的输出端构成过零比较器,(1)仿真图RC振荡电路比较电路方波产生7图221(2)仿真
14、结果图222823单片机最小系统原理图图231一个典型的单片机最小系统一般由时钟电路、复位电路、键盘电路、显示电路等部分组成,有时也外扩有片外RAM和ROM以及外部扩展接口等电路。图为单片机最小系统结构框图。外部RAM显示51单片机键盘系统时钟复位电路93单片机实验板31要求(1)显示实验本实验要求实现的功能是按下键几则显示几。按下第一个键显示1,按下第二个键显示2,按下第三个键显示3,按下第四个键显示4(2)加减实验本实验要求实现的功能是按一个键显示加一,按另一个键显示减一。设计步骤基本思路是,利用定时器1,每定时1秒则进入中断一次,从最地位开始加一,加一完后并判断是否加到10,若加到10,
15、则将此位清零后,其更高的一位加一,一次类推。由于定时器初值的TH1和TL1的最大值均为255,即最大定时值达不到1秒,所以中断程序内采用计数10次的方法,在定时100毫秒,并且计数满10次的情况下进行一次加一运算。主程序中则是对加一后的数值进行逐位显示。由于采用动态显示,在显示完一位后,需要进行一定的延时,由于视觉暂留作用,就可看见显示的数。设置好初始的位码,查表后送入对应段码,进行一位显示,然后每显示完毕位码右移一位,继续查表送段码,就是这样依次不断循环,最终可以观察到动态显示的不断加一的4位数码管动态显示过程。(1)计数实验编写十进制累加显示程序。(2)串口通信图31110串口按位(BIT
16、)发送和接收字节。尽管比按字节(BYTE)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。它用一个起始位表示字符的开始,用停止位表示字符的结束。其每帧的格式如下在一帧格式中,先是一个起始位0,然后是8个数据位,规定低位在前,高位在后,接下来是奇偶校验位(可以省略),最后是停止位1。用这种格式表示字符,则字符可以一个接一个地传送。在异步通讯中,CPU与外设之间必须有两项规定,即字符格式和波特率。字符格式的规定是双方能够在对同一种0和1的串理解成同一种意义。原则上字符格式可以由通讯的双方自由制定,但从通用、方便的角度出发,一般还是使用一些标准
17、为好,如采用ASCII标准。波特率即数据传送的速率,其定义是每秒钟传送的二进制数的位数。例如,数据传送的速率是120字符/S,而每个字符如上述规定包含10数位,则传送波特率为1200波特。(3)原理图114电子时钟41实验要求系统无键按下的时候,显示当前时间,有键按下时,改变显示内容,并且显示新设定的时间。例如系统上电显示当前时间,F键按下,停止DS12887工作;E键按下,开启DS12887;A键按下,设定小时;B键按下,设置分钟;C键按下,设置秒;09十个数字键设定数值。42实验步骤包括两大部分键盘显示、时钟显示。(1)键盘显示查找实验板上各个芯片地址;查8279所接16个键盘码;8279
18、初始化,送显示;8279地址77FFH(命令地址)和77FEH(数据地址);读键盘,送显示。(2)时钟显示DS12887初始化;12887地址6700H;将DS12887中的时、分、秒送到8279显示缓冲区并显示出来。最终结果利用实验板上的16个键盘来控制时钟,A、B、C键分别是时、分、秒键,F键为回车键。按A键显示小时,然后按09数字键来调整时间,同理,按B键显示分钟,然后按09数字键来调整分钟,按C键显示秒,然后按09数字键来调整秒。按F键后计算机将修改的时间、分、秒按各个功能键的不同分别传给DS12887中相应功能单元,最后显示器显示正常的时、分、秒。利用汇编语言或C语言编写程序并调试。
19、单片机晶振电路单片机复位电路时钟芯片DS1302蜂鸣器8位LED显示数码管显示驱动芯片按键电路AT89C51单片机12(3)大致想法43试验程序INCLUDEINCLUDEDEFINECOMXBYTE0X7001DEFINEDATXBYTE0X7000DEFINETM_SECONDXBYTE0X6000/秒DEFINEAM_SECONDXBYTE0X6001/秒闹DEFINETM_MINUTEXBYTE0X6002/分DEFINEAM_MINUTEXBYTE0X6003/分闹DEFINETM_HOURXBYTE0X6004/时DEFINEAM_HOURXBYTE0X6005/时闹DEFINET
20、M_WEEKXBYTE0X6006/周DEFINETM_DAYXBYTE0X6007/日(2位数)DEFINETM_MONTHXBYTE0X6008/月(2位数)DEFINETM_YEARXBYTE0X6009/年(4位)DEFINEREG_AXBYTE0X600A/寄存器ADEFINEREG_BXBYTE0X600B延时程序设置系统时间设置数码管显示读取系统时间启动时钟8279初始化清除屏幕取键函数返回键值设置显示初始值控制年月日切换控制时间切换13DEFINEREG_CXBYTE0X600CDEFINEREG_DXBYTE0X600DDEFINERAM_114XBYTE0X600EDEFI
21、NECOMXBYTE0X7001DEFINEDATXBYTE0X7000/键盘显示8279的数据地址和命令地址DEFINECOUNT8/缓存空间大小UNSIGNEDCHARIDATABUFLEDCOUNT/数据输入缓存UNSIGNEDCHARDEKYUNSIGNEDCHARKEYINDEFINEUCHARUNSIGNEDCHARUNSIGNEDCHARIDATATIME_BUF80,1,2,3,4,5,6,7UNSIGNEDCHARCODETABLE0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0X77,0X7C,0X39,0X5E,0X7
22、9,0X00,0X71VOIDSENDDATEVOIDVOIDSENDTIMEVOIDVOIDSETTIMEVOIDVOIDSETDSYVOIDVOIDSETDSTVOIDVOIDREADTIMEVOIDVOIDDELAYVOIDVOIDINIT_8279VOID/延时程序/VOIDDELAYVOIDUNSIGNEDCHARI,JFORI0I4DATTABLEKCOM10X80KBUFLED0K0X0FDATTABLEKCOM20X80KBUFLED1K0XF0KK4DATTABLEKCOM30X80KBUFLED1K0X0FDATTABLEKCOM40X80KBUFLED2K0XF0KK4D
23、ATTABLEKCOM50X80KBUFLED2K0X0FDATTABLEKCOM60X8016KBUFLED3K0XF0KK4DATTABLEKCOM70X80KBUFLED3K0X0FDATTABLEKVOIDTIMEVOIDBUFLED2TIME_BUF0BUFLED1TIME_BUF1BUFLED0TIME_BUF2BUFLED30XF0|TIME_BUF3/VOIDSETDSTVOIDUNSIGNEDCHARKDOIFKKEYIN320IIKRETURNI/返回键值/VOIDMAINVOIDUNSIGNEDCHARKUNSIGNEDINTIFORI0I20000IEX10COM0XD
24、1COM0X00COM0X38START12887/设置显示初始值TIME_BUF00X29/SECTIME_BUF10X08/MINTIME_BUF20X14/HOURTIME_BUF30X04/WEEKTIME_BUF40X13/DAYTIME_BUF50X05/MONTHTIME_BUF60X14/YEARTIME_BUF70X20/YEAR/SETTIMESTART12887FORIFDEKY0SENDTIMEDIS_LEDELSEKKEYIN21IFK0X0BWHILE1SENDDATEDIS_LEDKKEYINIFK0X0EBREAKIFK0X0ABREAK/B控制年月日切换ELS
25、EIFK0X0ESENDTIMEDIS_LED/E控制时间切换ELSEIFK0X0DSENDDATEDIS_LEDSETDSYSTART12887ELSEIFK0X0CSENDTIMEDIS_LEDSETDST225结论通过这门课程我学会了几个软件的使用方法。比如PROTEL软件、KEILC软件、LOPE仿真、PROTUES软件的使用、LP5124实时在线仿真器的使用、单片机实验板的硬件结构和主要元件的功能、用途和物理地址等等。虽然刚开始的时候找不到头绪,不知道应该怎么做,但小组是由两个人组成的,和同学交流后就知道画原理图,进行封装等步骤。在实际的操作中虽会遇到些小问题,但这并不影响我们学习的
26、热情,而且老师也会慢慢的引导我们,我也在一点点的进步。在试验中,PROTUES这个软件主要是用来画原理图。在直流稳压电源、方波发生电路和单片机最小系统中主要用的就是这个软件。只要原理图画的正确一般都能得到实验结果。KEILC软件使用的比较少,通常会与LOPE这个软件一起使用。在实验的过程中我们还会编写程序,主要运用的是以前的知识,由于很久没有编写程序,因此会遇到一些麻烦,我们通常会翻阅资料和上网查阅解决这一问题。对于电子时钟实验,由于基础知识薄弱,程序编写的不成功,有很多的疑惑,摸不到头脑,但幸好其他同学做出来了,所以借鉴了同学的实验,通过不断的请教同学,很多程序才得以理解。经过这一学期的学习
27、,收货最大的就是学习了几个软件,也知道自己的程序设计薄弱,以后需要加强在这方面的学习。该实验是小组合作完成的,这促进了团队的合作意思,也加强了同学的友情,所以感谢同学,给我帮助;感谢老师,给我指导。236元件清单参考文献实验题目项目类型元器件直流稳压PROTUES仿真2W02G、7812、7912、DISC100N50V、HITEEMP47U25V、TRAN2P3S、VSINE方波发生器PROTUES仿真HITEEMP10U50V、LM324、POZTHG、RES最小系统PROTUES仿真73HC373、AT89S51、BUTTON、CAP、CRPSTAL、RES、RESPACK8按键功能LO
28、PE仿真KEILC编程7SEGMPX4CC、AT89C51、BUTTON、CAP、CRYSTAL、RES、PNP串口通信PROTUES仿真KEILC编程、LP5124仿真AT89C51、超级终端时钟设计硬件电路、编程AT89C51、DS12C887、时钟芯片、数码管、键盘等241单片机C语言轻松入门周坚编北京航空航天大学出版社。2单片机人机接口实例公茂法编著北京航空航天大学出版社。3李广,弟朱月,秀王秀山单片机基础M北京航空航天出版社。4谢维成杨加国单片机原理与应用及C51程序设计M清华大学出版社。5单片微型计算机原理及接口技术陈光东等编华中科技大学出版社6单片机实用系统设计技术房小翠编国防工
29、业出版社7单片机原理及应用张毅刚主编。高等教育出版社8电子技术基础(模拟部分)康华光主编高等教育出版社9美WAYNEWOLF著孙玉芳等译嵌入式计算系统设计原理北京机械工业出版社,200210数字电子技术基础周常森范爱平主编山东科技出版社2002年11模拟电子技术基础童诗白主编高等教育出版社12HTTP/BAIKEHAOSOUCOM/DOC/13757981454291HTML13HTTP/WWWDOCINCOM/P325195289HTML14电子技术基础(数字部分)康华光主编高等教育出版社25附录一电子时钟、键盘电路图26OUTA027OUTB031OUTA126OUTB130OUTA225
30、OUTB229OUTA324OUTB328DB012BD23DB113DB214SL032DB315SL133DB416SL234DB517SL335DB618DB719RL038RL139IRQ4RL21RL32CS22RL45RD10RL56WR11RL67A021RL78CLK3SHIFT36RESET9CNTL/S37U68279CS14ALEA0SL0SL1SL2RL0RL12KR3VCCP07P06P05P04P03P02P01P00P32SL3A1B2C3OE2A4OE2B5OE16Y77GND8Y69Y510Y411Y312Y213Y114Y015VCC16U9SN74AHCT
31、138NA1B2C3OE2A4OE2B5OE16Y77GND8Y69Y510Y411Y312Y213Y114Y015VCC16U8SN74AHCT138NSL0SL1SL2SL0SL1SL2SL3SL3S0SWPBS1SWPBS2SWPBS3SWPBS4SWPBS5SWPBS6SWPBS7SWPBS8SWPBS9SWPBS10SWPBS11SWPBS12SWPBS13SWPBS14SWPBS15SWPBVCCVCC10KR410KR510KR610KR710KR810KR910KR1010KR11VCC10KR1210KR1312U10ASN74LS07NA1F2G3E4D5A6C8DP7B9
32、A10DS8DPYREDCAA1F2G3E4D5A6C8DP7B9A10DS1DPYREDCAA1F2G3E4D5A6C8DP7B9A10DS3DPYREDCAA1F2G3E4D5A6C8DP7B9A10DS5DPYREDCAA1F2G3E4D5A6C8DP7B9A10DS4DPYREDCAA1F2G3E4D5A6C8DP7B9A10DS2DPYREDCAA1F2G3E4D5A6C8DP7B9A10DS7DPYREDCAA1F2G3E4D5A6C8DP7B9A10DS6DPYREDCA34U10BSN74LS07N12U11ASN74LS07N56U10CSN74LS07N98U10DSN74
33、LS07N1312U10FSN74LS07N1110U10ESN74LS07N34U11BSN74LS07NACEGBDFDPABCDEFGDPABCDEFGDPABCDEFGDPABCDEFGDPABCDEFGDPABCDEFGDPABCDEFGDPABCDEFGDPOUTB0OUTB1OUTB2OUTB3OUTA0OUTA1OUTA2OUTA3OUTA0OUTA1OUTA2OUTA3OUTB0OUTB1OUTB2OUTB3L1L2L3L4L5L6L7L8L1L2L3L4L5L6L7L8LED1LED2LED3LED4LED5LED6LED7LED8LED1LED2LED3LED4LED5LED6LED7LED8P36P3720UFC9CAP12U12ASN74F04N34U12BSN74F04N56U12CSN74F04N89U12DSN74F04N1011U12ESN74F04N1213U12FSN74F04N12U13ASN74F04N34U13BSN74F04N27