单片机课程设计题目1位LED数码管显示0-9姓名陈益明学号班级09电力指导老师许丽汪厚新目录一:实验目的与任务…………………二:实验要求…………………………三:实验内容…………………………...四:实验器材…………………………五:关于PLC控制LED介绍……….六:原理图绘制说明…………………七:流程图绘制以及说明……………八:电路原理图与仿真………………九:源程序……………………………十:心得体会…………………………十一:参考文献………………………一、实验与任务结合实际情况,编程设计、布线、程序调试、检查与运行,完成一个与接近实际工程项目的课题,以培养学生的实际操作能力,适应生产一线工作的需要。做到能检查出错误,熟练解决问题;对设备进行全面维修。通过实训对PLC的组成、工作原理、现场调试以及基于网络化工作模式的基本配置与应用等有一个一系列的认识和提高。利用51单片机、1个独立按键及1位7段数码管等器件,设计一个单片机输入显示系统,要求每按一下独立按键数码管显示数据加1(数码管初始值设为0,计到9后再加1,则数码管显示0)。本次设计采用12MHz的晶体振荡器为单片机提供振荡周期,外加独立按键,复位电路和显示电路组成。二、实验要求1掌握可编程序控制器技术应用过程中的一些基本技能。2、巩固、加深已学的理论知识。3了解可编程控制器的装备、调试的全过程。4、培养我们综合运用所学的理论知识和基本技能的能力,尤其是培养我们把理论和实际结合起来分析和解决问题的能力。适应世界生产的需要。培养出一批既有理论知识又有动手能力的人才。三、实验内容1、练习设计、连接、调试控制电路;2、学习PLC程序编程;四、元器件清单元件标号元件名称所在库AT89C5151单片机MCS805174HC245数据缓冲器74HC7SEG7段数码管DISPLAYRES电阻DEVICEBUTTON按键ACTIVECAP电容DEVICECRYSTAL晶振DEVICE五、关于PLC控制LED介绍:PLC可编程控制器:它采用一类可编程的存储器,用于其内部存储程序、执行逻辑运算、顺序控制、定时、计数与算数操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。用PLC控制LED直接进行数据显示,可以降低成本,使得数据显示直观。传统数显有两种方法:1、由PLC编制程序进行译码,来控制显示a-g段;2、利用译码组合电路产生a-g各段译码信号实现LED数码管显示。前一种方法逻辑译码关系复杂,后一种方法译码电路冗长,都不利于显示的实现。传统数显逻辑译码关系复杂,而用PLC的位组合元件和译码功能指令方法来实现LED数显.前一种方法将表示十进制数的4位BCD码的位元件成组使用,形成位组合元件数显;后一种方法用7段译码指令把指定元件的低4位对应的十六进制数译码后,驱动数显.这两种方法逻辑简单,易于理解,便于实现。设计任务:LED数码管显示:0到9六、原理图绘制说明本次设计主要用到单片机AT89C51、晶振时序电路。AT89C51是一种带4KB闪烁可编程可擦出只读存储器的低电压、高性能CMOS微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微处理器,为很多嵌入式控制系统提供了一种灵活性高且廉价的方案,AT89C51的管脚分配,如图1:图1AT89C51芯片及管脚图AT89C51单片机主要由4个输入输出端口(P0口、P1口、P2口、P3口)及个控制引脚组成的,本次设计用到P1、P2的部分引脚,及18、19脚外接晶振电容为单片机提供时钟,9管脚为复位引脚,外接复位电路。晶振时序电路:XTAL1和XTAL2分别为片内反相放大器的输入和输出端,当单片机采用外部时钟信号时,前者接地,后者引入外部输入信号,本次设计采用12M的石英晶体振荡器为单片机提供时钟,如图2:图2AT89C51的晶振时序电路图本次设计的原理图是在PROTEUSISIS中绘制的,其工作界面分为原理图编辑窗口(Editingwindow)、预览窗口(Overviewwindow)和工具栏。1、新建*.dsn打开绘图界面后,首先新建一个绘图文件,选择“【文件】——【新建设计】”,并保存成.dsn型文件。2、绘制原理图(1)添加元器件:元件拾取共有两种办法,一种是按类别查找和拾取元件,另一种是直接查找和拾取元件。我采用的是前一种方法,元件通常以其英文名称或器件代号在库中存放。我们在取一个元件时,首先要清楚它属于哪一大类,然后还要知道它归属哪一子类,这样就缩小了查找范围,然后在子类所列出的元件中逐个查找,根据显示的元件符号、参数来判断是否找到了所需要的元件。双击找到的元件名,该元件便拾取到编辑界面中了。右侧列表中自上而下分别为元件图形和元件封装。具体如图3所示:图3分类拾取元件示意图(2)元件的放置在原理图编辑区的蓝色方框内,单击鼠标左键即完成元件的释放。具体如图4所示:图4元件的放置示意图(3)电路连线PROTEUS的连线是非常智能的,它会判断你下一步的操作是否想连线从而自动连线,而不需要选择连线的操作,只需用鼠标左键单击编辑区元件的一个端点拖动到要连接的另外一个元件的端点,先松开左键后再单击鼠标左键,即完成一根连线。如果要删除一根连线,右键双击连线即可。根据设计完成连线后即可得到完整的电路原理图,具体如图5::图5连线后的完整电路原理图七、流程图绘制以及说明主程序设计说明主程序主要分为四部分,包括复位电路部分、独立按键的判别部分、单片机控制主程序部分和译码显示部分,模块流程图如图6所示:结束返回重新检测按键将单片机处理的数据进行显示单片机主控制电路向单片机申请显示0计数加1,向单片机申请显示该数值。Y是否按键?开始N图6主程序流程图八、电路原理图与仿真1、Hex文件的导入过程在仿真前,须先在KEIL4中生成.HEX文件。编译完源程序并且没有错误后,选择“Project-OptionsforTarget‘Target1’-Output”,在“CreateHEXFile”前面的空挑勾,再“确定”,即可生成HEX文件,如图7所示:图7生成HEX文件示意图在进入PROTEUSISIS中,双击AT89C51芯片,出现如图8所示的对话框。在“ProgramFile”一项中查找“seg.hex”文件的路径并加上该文件即可开始仿真,如图8所示:图8keil的seg.hex文件载入单片机的示意图2.在导入hex文件后,便可运行该设计系统,打开仿真开关,显示如图PSENALEEAXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC11nFC21nFB1VCCGNDC31nFR110k23456781RP1RESPACK-7VCCK1R210kVCCK2R310kPSENALEEAXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC11nFC21nFB1VCCGNDC31nFR110k23456781RP1RESPACK-7VCCK1R210kVCCK2R310kPSENALEEAXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC11nFC21nFB1VCCGNDC31nFR110k23456781RP1RESPACK-7VCCK1R210kVCCK2R310kPSENALEEAXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC11nFC21nFB1VCCGNDC31nFR110k23456781RP1RESPACK-7VCCK1R210kVCCK2R310kPSENALEEAXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC11nFC21nFB1VCCGNDC31nFR110k23456781RP1RESPACK-7VCCK1R210kVCCK2R310k九.源程序清单ORG0000HSJMPMAINORG000BHSJMPT0_ISRORG0030HMAIN:CLRAMOVPTRD,#TABLEMOVCA,@A+DPTRMOVP0,AMOVTMOR,#01HMOVTH0,#0D8HMOVTl0,#0EFHSETBET0SETBEASETBTR0PD:CJNER0,#100,$INCDPTRCLRAMOVCA,@A+DPTRCJNEA,#00H,AAAMOVDPTR,#TABLE;如果花样数据完应