编号:               

片机控制
实训说
    目:  数码管显示拨码开关编码
          (系):    机电工程学院       
    业:    机械制造工程       
学生姓名:卢仙娇、苗玉龙、石善辉 
    号: 09011207030901120707
0901120711             
指导教师:        范勇           
2012  1月 13
数码管显示拨码开关编吗》设计报告目录
1、设计题目      ……………………………………………………2
设计内容与要求  ………………………………………………2
设计目的意义    …………………………………………………2
3.1设计目的    ……………………………………………………2
3.2设计意义    ………………………………………………………2
系统硬件电路图    ………………………………………………3
4.1 Proteus软件简介以及仿真电路图  ……………………………………3
4.2 Protel99SE简介以及所绘图形   ……………………………………4
五、程序流程图与源程序    …………………………………………8
5.1主程序流程图     ………………………………………………9
5.2子程序流程图     ………………………………………………9
5.3源程序   ………………………………………………………10
六、系统功能分析与说明    …………………………………………11
6.1 8051单片机介绍     ……………………………………………11
6.2单片机系统设计步骤     ……………………………………………18
七、设计体会  …………………………………………………………19
八、参考文献  …………………………………………………………20
一、设计题目
数码管显示拨码开关编码
二、设计内容与要求
8051单片机控制系统显示拨码开关所设置的编码000~255。
三、设计目的意义
3.1  设计目的
1、了解单片机系统中实现LED动态显示的原理及方法;
2、详细了解8051芯片的性能及编程方法;
3、了解单片机系统基本原理,了解单片机控制原理;
4、掌握AT89C51输入/输出接口电路设计方法;
5、掌握AT89C51程序控制方法;
6、掌握单片机汇编编程技术中的设计和分析方法;
7、掌握使用PROTEUS软件进行仿真的方法。
8、学会使用并熟练掌握电路绘制软件Protel99SE
9、掌握电路图绘制及PCB图布线技巧。
3.2  设计意义
1、在系统掌握单片机相应基础知识的前提下,熟悉单片机应用系统的设计方法及系统设计的基本步骤。
2、完成所需单片机应用系统原理图设计绘制的基础上完成系统的电路图设计。
3、完成系统所需的硬件设计制作,在提高实际动手能力的基础上进一步巩固所学知识。
4、进行题目要求功能基础上的软件程序编程,会用相应软件进行程序调试和测试工作。
5、用AT89C51设计出题目所要求的数码管动态循环显示,并针对实际设计过程中软、硬件设计方面出现的问题提出相应解决办法。
6、通过单片机应用系统的设计将所学的知识融会贯通,锻炼独立设计、制作和调试单片机
应用系统的能力;领会单片机应用系统的软、硬件调试方法和系统的研制开发过程,为进一步的科研实践活动打下坚实的基础。
四、系统硬件电路图
4.1  Proteus软件简介以及仿真电路图
Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051HC11PIC10/12/16/18/24/30/DsPIC33AVRARM8086MSP430等,2010年即将增加CortexDSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IARKeilMPLAB等多种编译器。
Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:  
1)原理布图  
2PCB自动或人工布线  
3SPICE电路仿真  
革命性的特点:
1)互动的电路仿真
用户甚至可以实时采用诸如RAMROM,键盘,马达,LEDLCDAD/DA,部分SPI器件,部分IIC器件。  
2)仿真处理器及其外围电路multisim开关在哪里  
可以仿真51系列、AVRPICARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。
    4-1所示为使用proteus软件建立的模型,经仿真,程序实现了预定功能。
4-1  使用proteus建立的仿真模型
4.2  Protel99SE简介以及所绘图形
Protel99SE是应用于Windows9X/2000/NT/XP操作系统下的EDA设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3D模拟功能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源--地层和16个机加工层。
   Protel99SE的系统组成
   按照系统功能来划分,Protel99se主要包含以下两大部分和6个功能模块。
   1、电路工程设计部分
   1 电路原理设计部分(Advanced Schematic 99):电路原理图设计部分包括电路图编辑器(简称SCH编辑器)、电路图零件库编辑器(简称Schlib编辑器)和各种文本编辑器。本系统的主要功能是:绘制、修改和编辑电路原理图;更新和修改电路图零件库;查看和编辑有关电路图和零件库的各种报表。
   2)印刷电路板设计系统(Advanced PCB 99):印刷电路板设计系统包括印刷电路板
编辑器(简称PCB编辑器)、零件封装编辑器(简称PCBLib编辑器)和电路板组件管理器。本系统的主要功能是:绘制、修改和编辑电路板;更新和修改零件封装;管理电路板组件。
   3)自动布线系统(Advanced Route 99):本系统包含一个基于形状(Shape-based)的无栅格自动布线器,用于印刷电路板的自动布线,以实现PCB设计的自动化。
   2、电路仿真与PLD部分
   1)电路模拟仿真系统(Advanced SIM 99):电路模拟仿真系统包含一个数字/模拟信号仿真器,可提供连续的数字信号和模拟信号,以便对电路原理图进行信号模拟仿真,从而验证其正确性和可行性。
   2)可编程逻辑设计系统(Advanced PLD 99):可编程逻辑设计系统包含一个有语法功能的文本编辑器和一个波形编辑器(Waveform)。本系统的主要功能是;对逻辑电路进行分析、综合;观察信号的波形。利用PLD系统可以最大限度的精简逻辑部件,使数字电路设计达到最简化。
   3)高级信号完整性分析系统(Advanced Integrity 99):信号完整性分析系统提供了一个精确的信号完整性模拟器,可用来分析PCB设计、检查电路设计参数、实验超调量、阻抗
和信号谐波要求等。
    Protel99SE的功能特性:
     1)开放式集成化的设计管理体系
     2)超强功能的、修改与编辑功能
     3)强大的设计自动化功能
鉴于Protel99SE有如此强大功能,因此在本最小系统设计中使用Protel99SE制图,所制电路原理图和PCB图如下所示。
4-2  电路原理图
4-3  单片机Protel
4-4  晶振电路
4-5  复位电路
4-6  PCB电路图
五、程序流程图及源程序   
5.1  主程序流程图
5-1  主程序流程图
5.2  子程序流程图
5-2  定时器0中断流程图
5.3  源程序
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code duanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
/
/ 共阴极数码管显示0    1    2    3    4    5  6    7    8    9
void delay(uint z)
{
    uint x,y;
    for(x=z;x>0;x--)
        for(y=110;y>0;y--);
}    //延时函数
//主函数
void main()
{
    uint mun, ge, shi, bai;
    P0 = 0x00;
    P2 = 0xff;
    while(1)
    {
        mun = P1;
        ge = mun%10;        //个位赋值
        shi = (mun%100)/10;    //十位赋值
        bai = mun/100;        //百位赋值
        P2 = 0xbf;            //开始扫描
        P0 = duanma[ge];
        delay(1);
        P2 = 0xdf;
        P0 = duanma[shi];
        delay(1);
        P2 = 0xef;
        P0 = duanma[bai];
        delay(1);   
    }
}
六、系统说明与设计分析
6.1  8051单片机介绍
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8CPU和闪烁存储器组合在单个芯片中,ATMELAT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
6-1  AT89C51封装图
           
1、主要特性:
·与MCS-51 兼容
·4K字节可编程闪烁存储器
·寿命:1000/擦循环
·数据保留时间:10
·全静态工作:0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
其包含中央处理器(CPU)、存储器(程序存储器ROM和数据存储器RAM)、定时/计数器、并行I/O接口(P1P2P3P048位口)、一个双工串行接口和5个中断源等几大单元及数据总线、地址总线和控制总线三大总线等结构组成。下图是MCS-51系列单片机的内部结构示意图。
6-2  MCS51结构框图
MCS-51系列单片机中的803180518751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,48位共32I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:
6-3  AT89C51引脚图
P0口:
6-4  P0口位结构原理图
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
  6-5  P1口位结构原理图
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
6-6  P2口位结构原理图

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。