首页 单片机数码管仿真设计

单片机数码管仿真设计

举报
开通vip

单片机数码管仿真设计单片机数码管仿真设计 单片机课程设计 1元器件介绍 1.1 AT89C51 AT89C51是51系列单片机的一个型号,它是ATMEL公司生产的。 AT89C51是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标 准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用...

单片机数码管仿真设计
单片机数码管仿真设计 单片机课程设计 1元器件介绍 1.1 AT89C51 AT89C51是51系列单片机的一个型号,它是ATMEL公司生产的。 AT89C51是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标 准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。 AT89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C51可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。 兼容MCS51指令系统 ? 8k可反复擦写(>1000次)Flash ROM ? 32个双向I/O口 ? 256x8bit内部RAM ? 3个16位可编程定时/计数器中断 ? 时钟频率0-24MHz ? 2个串行中断 ? 可编程UART串行通道 ? 2个外部中断源 ? 共6个中断源 ? 2个读写中断口线 ? 3级加密位 ? 低功耗空闲和掉电模式 ? 软件设置睡眠和唤醒功能 AT89C51P为40 脚双列直插封装的8 位通用微处理器,采用工‎‎业 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路‎‎。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检‎‎测及会聚调整状态进入的控制功能。 1 单片机课程设计 1.2七段显示数码管 7段数码管又分共阴和共阳两种显示方式。如果把7段数码管的每一段都等效成发光二极管的正负两个极,那共阴就是把abcdefg这7个发光二极管的负极 连接在一起并接地;它们的7个正极接到7段译码驱动电路74LS48的相对应的驱动端上(也是abcdefg)~此时若显示数字1,那么译码驱动电路输出段bc为高电平,其他段扫描输出端为低电平,以此类推。如果7段数码管是共阳显示电路,那就需要选用74LS47译码驱动集成电路。共阳就是把abcdefg的7个发光二极管的正极连接在一起并接到5V电源上,其余的7个负极接到74LS47相应的abcdefg输出端上。无论共阴共阳7段显示电路,都需要加限流电阻,否则通电后就把7段译码管烧坏了~限流电阻的选取是:5V电源电压减去发光二极管的工作电压除上10ma到15ma得数即为限流电阻的值。发光二极管的工作电压一般 在1.8V--2.2V,为计算方便,通常选2V即可~发光二极管的工作电流选取在 10-20ma,电流选小了,7段数码管不太亮,选大了工作时间长了发光管易烧坏~ 对于大功率7段数码管可根据实际情况来选取限流电阻及电阻的瓦数~ 图1.2-1七段数码管引脚图 数码管使用条件: a、段及小数点上加限流电阻 b、使用电压:段:根据‎‎发光颜色决定; 小数点:根据发光颜色决定 c、使用电流:静态:总电流 80mA(每段 10mA);动态:平均电流 2 单片机课程设计 4-5mA 峰值电流 100mA 上面这个只是七段数码管引脚图,其中共阳极数码管引脚图和共阴极‎‎的是一样的,4位数码管引脚图请在本站搜索我也提供了数码管使用‎‎注意事项说明: 1、数码管 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 面不要用手触摸,不要用手去弄引角‎‎; 2、焊接温度:,,,度;焊接时间:,, 3、表面有保护膜的产品,可以在使用前撕下来。 2 KEIL C51软件简介 2.1 KEIL C51概述 KEIL C51标准C编译器为8051微控制器的软件开发提供了C语言环境,但是界面是英文的好多初学者看很多教程都是一头雾水,本站特地制作了一个相对简单的教程。他能能嵌入汇‎‎编语言保留了汇编代码高效,快速的特点。KEIL C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品,其效率已经达到了相‎‎当搞的程度。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。 Keil C51 软件是众多单片机应用‎‎开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。 2.2 Keil C51‎‎软件的使用方法: 进入 Keil C51 后,屏幕如下图所示。几秒钟后出现编辑界 启动Keil C51时的屏幕 3 单片机课程设计 进入Keil C51后的编辑界面 简单程序的调试 学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引‎‎导大家学习Keil C51软件的基本使用方法和基本的调试技巧。 1、建立一个新工程 单击Project菜单,在弹出的下拉菜单中选中New Project选项 2、然后选择你要保存的路径,输入工程文件的名字,比如保存到C51目录里,工程文件的名字为C51 如下图所示,然后点击保存. 3、这时会弹出一个对话‎‎框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51几乎支持所有的51核的单片机,我这里还是以大家用的比较多的Atmel 的89C51来说明,如下图所示,选择89C51之后,右边栏是对这个单片机的基本的说明,然后点击确定. 4、完成上一步骤后,屏幕如‎‎下图所示 到现在为止,我们还没有编写一句程序,下面开始‎‎编写我们的第一个 4 单片机课程设计 程序。 5、在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项 新建文件后屏幕如下图所示 此时光标在编辑窗口里闪烁,‎‎这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中‎‎选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩‎‎展名。注意,如果用,语言编写程序,则扩展名为(.c);如果用汇编语言编写程序,则扩展名必须为(.asm)。然后,单击“保存” 按钮。 6、回到编辑界面后,单击“Target‎‎ 1”前面的“,”号,然后在“Source Group 1”‎‎上单击右键,弹出如下菜单 然后单击“Add File to Group ‎‎‘Source Group 1’” 屏幕如下图所示 选中Test.c,然后单击“Add ”屏幕好下图所示 5 单片机课程设计 注意到“Source Group 1”文件夹中多了一个子项“Text1.c”了吗,子项的多少与所增加的源程序的多少相同 7)现在,请输入如下的C语言源程序: #include /‎‎/包含文件 #include void main(void) ‎‎ //主函数 { SCON=0x52; TMOD=0x20; TH1=0xf3; TR1=1; //此行及以上3行为PRINTF函数所必须 printf(“Hello I am KEIL. \n”); //打印程序执行的信息 printf(“I will be‎‎ your friend.\n”); while(1); } 在输入上述程序时,读者已经看到了事先保存待编辑的文件的好处了吧,即Keil c51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编‎‎程效率。程序输入完毕后,如下图所示 8、在上图中,单击“Project”菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷键F7),编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快‎‎捷键Ctrl+F5),屏幕如下所示: 9、调试程序:在上图中,单击“De‎‎bug”菜单,在下拉菜单中单击 6 单片机课程设计 “Go”选项,(或者使用快捷键F5),然后再单击“Debug”菜单,在‎‎下拉菜单中单击“Stop Running”选项(或者使用快捷键Esc);再单击“View”菜单,再在下拉菜单中单击“Serial Windows #1”选项,就‎‎可以看到程序运行后的结果,其结果如下图所示 至此,我们在Keil C51上做了一个完整工程的全过程。但这只是纯软 件的开发过程,如何使用程序下载器看一看程序运行的结果呢, 10、单击“Project”菜单,再在下拉菜单中单击 “ ” 在下图中,单击“Output”中单击“Create HEX File” 选项,使程序编译后产生HEX代码,供下载器软件使‎‎用。把程序下载到AT89S51单片机中。 3 C语言编程 3.1 C语言简介 C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具‎‎有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。它可以作‎‎为工作系统设计语言,编写系统应用程序,也‎‎可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画。具体应用比如单片机以及嵌入式系统开发。 3.2特点 1( C是高级语言。它把高级语言的基本结构和语句与低级语‎‎言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而 7 单片机课程设计 这三者是计算机最基本的工作单元。 2(C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信‎‎息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种‎‎循环、条件语句控制程序流向,从而使程序完全结构化。 3(C语言功能齐全。具有各种各样的数据类型,并‎‎引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。 4( C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。 C语言对编写需要硬件进行操作的场合,明显优于其它高级语‎‎言,有一些大型应用软件也是用C语言编写的。 3.3仿真概述 Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件‎‎。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:?实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。?支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。?提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。?具有强大的‎‎原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。本章介绍Proteus ISIS软件的工作环境和一些基本操作。 3.3.1 进入Proteus ISIS 双击桌面上的ISIS 6 Professional图标或者单击屏幕左下方的“开始”?‎‎“程序”?“Proteus 6 Professional” ?“ISIS 6 Professional”,出现如图1-1所示屏幕,表明进入Proteus ISIS集成环境。 8 单片机课程设计 图5.2-1 启动时的屏幕 3.3.2工作界面 Proteus ISIS的工作界面是一种标准的Windows界面,如图5.3-1所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。 图5.3-1 Proteus ISIS的工作界面 3.3.4四大功能模块 1.智能原理图设计(ISIS) 丰富的器件库:超过27000种元器件,可方便地创建新元件;智能的器件搜索:通过模糊搜索可以快速定位所需要的器件;智能化的连线‎‎功能:自动连线功能使连接导线简单快捷,大‎‎大缩短绘图时间;支持总线结构:使用总线器件和总线布线使电路设计简明清晰;可输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。 2.完善的电路仿真功能(Prospice) ProSPICE混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真;超过27000个仿真器件:可以通过内部原型或使用厂家‎‎的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,‎‎还可导入第三方发布的仿真器件; 多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频‎‎FM、数字时钟和码流,还支持文件形式的信号输入; 丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信‎‎号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等; 生动的仿真显示:用色点显示引脚‎‎的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(‎‎如电机、显示器件、 9 单片机课程设计 按钮)的使用可以使仿真更加直观、生动; 高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真‎‎、傅立叶频谱分析等,还可以进行一致性分析。 3.独特的单片机协同仿真功能(VSM) 支持主流的CPU类型:如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU类型随着版本升级还在继续增加,如即将支持CORTEX、DSP处理器;支持通用外设模型:如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信; 实时仿真:支持UART/USART/EUSARTs仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真。 ※ 编译及调试:支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方集‎‎成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试。 4.实用的PCB设计平台 原理图到PCB的快速通道: 原理图设计完成后,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计; ※ 先进的自动布局/布线功能:支持器件的自动/人工布局;支持无网格自动布线或人工布线;支持引脚交换/门交换功能使PCB设计更为合理; 完整的PCB设计功能:最多可设计16个铜箔层,2个丝印层,4个机械层(含板边),灵活的布线策略供用户设置,自动设计规则检查,3D 可视化预览; ※ 多种输出格式的支持:可以输出多种格式文件,包括Gerber文件的导入或导出,便利与其它PCB设计工具的互转(如protel)和PCB板的设计和加工。 Protues提供了丰富的资源 (1)Protues可提供的仿真元器件资源:仿真数字和模拟、交流和‎‎直流等数千种元器件,有30多个元件库。 (2)Protues可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式‎‎发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。‎‎ (3)除了现实存在的仪器外,Protues还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。 10 单片机课程设计 (4)Protues可提供的调试手段 Protues提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。 4 我的设计 我组的单片机设计题目是单片机驱动一个七段数码管循环显示0-9,使 用keil C51编程,protues仿真成功。 4.1 protues画出仿真图 打开protues软件画出仿真图 如图4.1-1 图4.1-1 protues仿真图 4.2 使用KEIL C51编程 打开keil C51软件,在其中编写P0口输出七段数码管显示0-9代码。 源程序如下: #include // 第一行是一个"文件包含"处理。所谓"文件包含"是指一个文件将另外一个文件的内容全部包‎‎含进来 void delay(void) //延时1秒子程序 { unsigned char i,j,k; //定义3个无符号字符型数据。 for(i=100;i>0;i--) //作循环延时 for(j=20;j>0;j--) for(k=248;k>0;k--); } unsigned in‎‎t a=0; //定义一个无符号整形a=0 unsigned char leddata[]={ 0x3‎‎F, //"0" 0x06, //"1" 0x5B, //"2" 0x4F, //"3" 0x66, //"4" 0x6D, //"5" 0x7D, //"6" 11 单片机课程设计 0x07, //"7" 0x7F, //"8" 0x6F, //"9" 0x0‎‎0, //熄灭 }; main() //每一个C语言程序有且只有一个主函数 { while(1) //循环条件永远为真,以下程序一直执行下去 { P0=leddata[a]; // I/O口P0输出数码管代码,数码管被点亮 delay();// 延时 a++; //数组项加一 if(a>9) //显示到第9返回第0项 a=0; } } 4.3将程序植入仿真软件的单片机中 KEIL C51编写程序之后生成一个.HEX格式文件,将这个文件导入单片机中,就可以仿真了。 仿真结果如图4.3-1: 12 单片机课程设计 总 结 经过一周的紧张奋战,我的课程设计终于完成了。通过这次课程设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。 脚踏实地,认真严谨,实事求是的学习态度,不怕困难、坚持不懈、吃苦耐劳的精神是我在这次设计中最大的收益。我想这是一次意志的磨练,是对我实际 能力的一次提升,也会对我未来的学习和工作有很大的帮助。 不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如‎‎何入手。最后终于做完了有种如释重负的感觉。此外,还得出一个结论:知识必须通过应用才能实现其价值~有些东西以为学会了,但真正到用的时候才发现是‎‎两回事,所以我认为只有到真正会用的时候才是真的学会了。 13 单片机课程设计 致 谢 在本次的单片机课程设计过程中,老师严谨的治学态度、丰富渊博的知识、敏锐的学术思维、精益求精的工作态度以及诲人不倦的师者风范是我学习的楷模。尤其是老师的高深精湛的造诣与严谨求实的治学精神,将永远激励着我。在此,谨向课程设计指导老师致以衷心的感谢和最崇高的敬意~ 感谢宋永超、朱媛琪、张春玲、邵明双、吕英同学的帮助,如果没有他们的帮助,我是不会在短短的一周时间内完成课程设计任务的,是我们大家一起努力,才成功的完成课程设计任务。同时还要感谢及时给予我们所需资料和提供参考意见的同学,没有他们的帮助,我们的设计任务不会按时保质的完成。 14 单片机课程设计 参考文献 [1] 张靖武,周灵彬.《单片机系统的PROTEUS设计与仿真》,电子工业出版社。 [2] 吴金戌,沈庆阳,郭庭吉.《8051单片机实践与应用》,清华大学出版社。 [3] 李群芳,肖看.《单片机原理接口及应用》,清华大学出版社。 [4] 张毅刚,彭喜元.《新编MCS-51单片机应用设计》,哈尔滨工业大学出版社。 [5] 吴金戌,沈庆阳,郭庭吉.《8051单片机实践与应用》,清华大学出版社。 15 单片机课程设计 16
本文档为【单片机数码管仿真设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_014457
暂无简介~
格式:doc
大小:93KB
软件:Word
页数:21
分类:企业经营
上传时间:2017-11-27
浏览量:23