bokee.net

电子/电气工程师博客

正文 更多文章

基于MCS51单片机计数_转速控制仪的设计

                    基于MCS51单片机计数_转速控制仪的设计

                     徐丽红 王佰营

                wbymcs51.blog.bokee.net

                       硬件部分
 一、总体规划
  A:  单片机硬件总体方案的确定
    1. 应用系统分析
       由于单片机在实际应用中常作为整个系统中的一个控制部件,起着信息检测、数据处
     理、指挥核心的作用。因此它的功能取决于应用部分对它的要求,受整个统的
     制约。
     硬件结构部分的总体考虑:
       1>. 对整个系统即对系统的信息来源、被控对象、工作环境、技术指标等作详尽的分
         析、研究,明确系统对计算机部分的具体功能要求。
       2>. 系统功能确定之后,就确立科学的、既符合系统要求、有切实可行的技术指标
    2.主机的选择
       1>. 主机功能必须满足系统对它的要求,例如:主机的存储器容量、运算速I/O口、
          中断、定时器/数器、指令功能等。
       2>. 应用环境对主机的要求。对环境温度、强电干扰、化学成分等因素应加考虑,以
         保证计算机系统可靠工作。
       3>. 功能/价格比。满足上述条件下选择功能/价格比高的机型,以降低整个系统的成
         本。
       4>. 其他特殊要求。例如:在某些场合,要求主机具有高可靠性,某些场合要求低功
         耗或占空间要小等均须考虑。
     3. 功能模块的划分
       1>. 系统对存贮器的要求,地址线的安排,存贮空间的分配等
       2>. 输入信息的数量(有多少路)、种类(电平、脉冲、数字量、模拟量等)、传输
          速率、频率等有关技术要求。
       3>. 信息处理。主机应对那些信息须作何处理,对处理结果的要求等。
       4>. 输出信息要求。如数据信息是要打印或显示输出,哪些是开关量输出,哪些需模
          拟量输出等。
       以上信息,均需,明确相互之间的关系和要求,特别是公用信号线,必须清楚明确,
       防止最后总体相连时出现差错。
     4. 综合总体考虑
       在上述基础上从计算机系统的总体角度进行综合整理,以实现各个模块连结成一个有
       机的整体。例如,各个模块之间有机的配合和联系;各个输入信息之间、输入与主机
       、输入与输出、输出与主机等之间,以及各个信号与外围设备之间的相互连接和配合
       ;把分散于各个模块完成的功能汇总成系统的要求。最后综合成计算机硬件系统的总
       体设计初步方案。
  B.计算机硬件系统的设计与配置
     1. 主机功能的分配
      不同型号的单片微机的功能不尽相同。在深入、过细的消化、理解的基础上,对单片
      机本身具备的功能进行分配和划定,例如,对存贮器总的要求,地址空间的分配,I/O
      的分配和安排,中断优先级的设定,中断源的安排;各个功能模块之间的信号分配等.
     2. 外部功能部件和外围设备的配置
      根据总体方案要求以及所选主机功能,进行外部功能的扩展和配置,一般应考虑如下
        功能部件的扩展和配置
        1>. 外部存贮器的配置:由于单片机的程序存贮器和数据存贮器截然分开,因此外
           部扩展也需分开考虑
           a>.程序存贮器。由于受集成度的限制,片内只能驻留容量较小的程序存贮器。
             鉴于价格的考虑通常均选用片外培植的主机,因此必须根据总体方案要求估算
             所需程序存贮器容量,选用合适的EPROM(如特殊需要,还可选用E2PROM)    如            果选用内部驻留小容量程序存贮器的主机还需外部扩展一定容量的程序存贮器
             时,其配置和设计方法同上。
            b>. 数据存贮器。一般主机内部驻留一定容量的数据存贮器RAM。因此需根据
             总体要求,对固定的数据单元量及流动的数据量进行估算和分配,决定是否需
             外部扩展数据存贮器?对于MCS-51系列单片机,进行扩展RAM很方便,而且寻
             址空间可达64KB。
        2>.I/O口的分配: 
            a>.输入信号源。一般应用系统的输入信号源较多,且要求、种类各异,有些信
              号还须经转换才能输入主机,因此,同外围连接较复杂应根据外围系统,总
              体要求,合理选择和安排。
            b>.输出信息处理。输入或采集到的信息经主机处理,有哪些信息需输出,送往
              何处及其作用,与何种外围部件相连接等,均应根据总体要求,详细安置,
              妥善处理
     3.外围部件的配置 
  C.单片机硬件系统各功能部件的连接
    根据总体要求,需要外部扩展哪些功能及部件,功能模块已经划定,但主机以及各功能    部件之间的电路连接,总线以及资源的分配与安排,还应作如下考虑:
     1. 地址总线的分配与连接
       选定的单片机均有其设定的地址总线和寻址范围,如MCS-51地址总线为16位,由P0和P2组成寻址范围为64KB。地址线的安排与分配是硬件系统设计中至关重要的问题。它同外部扩展的存贮器容量,存贮器芯片数量,各种借口部件的多少有关。
     2. I/O口的合理分配以及相互之间的连接要注意输入/输出信号之间的要求以及负载能
       力.
     3. 控制信号线的分配与连接单片机设有一组控制信号线,以实现在主机的统一指挥下
       使整个系统连成一个整体。其中有些是公用控制信号线,有些则为专用控制线,相互
       连接时必须注意相互信号要求的匹配。
       a. 中断请求输入端口,
       b. 内部定时器/计数器的选用,
       c. 串行I/O的使用,
 二、设计要求
    1. 测速范围:10rPm~1000rPm
    2. 可设定转速nL,nH;当n≥nH时,继电器吸合;当n≤nL时,继电器释放;继电器的触 头容量不小于5A
    3. 传感器采用霍尔开关式传感器,传感器线可接至10m,有整形,抗干扰措施
    4. 设定的nL,nH值必须保存,每次上电时不须再设置,4位数码显示,可实时显示转速
    5. 用89C2051CPU,键盘用74HC165,显示用74HC164
    注意:传感器供电电压,继电器触头应有吸收
三、硬件电路设计
  一>、根据要求所需电路:
    1. 电源电路(5V、12V)
    2. 显示电路(用74HC164)
    3. 键盘电路(用74HC165)
    4. 整形电路
    5. 继电器驱动电路
    6. 保存值X5045电路
    7. 抗干扰电路
    8. 隔离电路
  二>、电源电路设计:
    1. 变压器的计算过程
      需要5V电源和12V电源则选7805和7812芯片
      根据这个计算变压器次级绕组电压,由于5V电源和12V电源不能共地所以需要绕制两个次级绕组,(如果共地则只需加中心抽头即可)。
      a.电压为12V由于有压差所以用15V电压计算次级电压应为15/1.2=12.5V  由公式
         Ud=1.2E而来为了留有余量选14V为次级电压;
      b.同理可得5V电源的变压器次级绕组电压为7.5V
      c.计算变压器功率:7805输出电流一般为300mA
        P=7.5*0.3=2.25W一般选3W
        7812输出电流选为150mA
        P=14*0.15=2.1W 取2W
        由以上计算可得变压器次级功率为3W和2W
        变压器功率为5W。
     2.每个芯片电源和地之间最好有一个0.01~0.1PF瓷片电容进行滤除尖脉冲并就近放置

 三>、显示电路设计
     1. 根据用户安装条件选择外壳
     2. 根据外壳选择显示面板大小,根据显示面板确定显示器和按钮的大小和布局
     3. 根据所选电路的形式选共阳极LED
     4. 市场购买合适的LED,测量LED各管脚的对应关系,做LED的两种库(sch库和PCB库)

                               图1 LED的sch库

                               图2 LED的PCB库

                               图2 74HC164的资料
     在使用时,将74HC164的A,B并接作为数据的串行输入端disp_out, disp_clk作为时钟端.
    串行输入时,先将数据在AB端准备好,在disp_clk端产生一个上升沿,则一位数据移至最低
    位Qa;再将下一位数据准备好后,在在disp_clk端产生一个上升沿, 则一位数据移至最低
    位Qa,同时原来的Qa移入Qb;以此类推数据依次:
     D0->D1->D2->D3->D4->D5->D6->D7==>Qa->Qb->Qc->Qd->Qe->Qf->Qg->Qh;
    ;-------------------------------------------------------------
    ;sub_program:           disp_byte
    ;input :                a
    ;utility:               a,  r7, dptr
    ;output:                74HC164
    ;-------------------------------------------------------------
    disp_byte:      mov           dptr,           #disp_tab
                    movc          a,              @a+dptr
                    mov           r7,             #08h
    disp_loop1:     rlc           A
                    clr           disp_clk
                    mov           disp_out,       c
                    nop
                    setb          disp_clk
                    djnz          r7,             disp_loop1
                    ret 
   disp_tab:       db  3fh,  06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h, 7fh, 6fh ,00h
   164为一般的TTL器件,其并行输出端(Qa-Qh)带拉电流负载能力很弱(400  uA),带灌电流负载时,每位可允许最大灌电流8mA,所以用其并出端连接数码管的段,并且只可是共阳极的数码管;
 四>、键盘电路设计
    1. 根据要求选择要用6个按键,分别为:设定键、复位键、确定键、移位键(2个)、加
     减键(2个)、待用键
    2. 选择并入串出IC 74HC165作为键盘扩展,其功能如下:
     a. 数据入锁寸,SH/LD    
     b. CPB为0则,CPA CPB为1则QA,QB,QH保持原状,脉冲CPA不起作用
     c. SH/LD=0时,其他输入不起作用,A~H入内存锁定
     d. 当SH/LD=0时,将并行输入端数据直接置入寄存器,与CP无关
     e. CPB=1,禁止CPA输入


                          
                         图4 74HC165资料


 五>、整形电路设计
   1. 最高转速为1000rpm;每转一圈得到两个信号
     f=2*n/60=2*1000/60=33HZ
     设计时按最高频率50HZ设计,那么单稳态的脉冲时间应为:取单稳态脉冲时间为10ms

                         图5 NE555单稳态电路
    R取100K,C1取100nF,脉冲宽度约为10ms

                         图6


 

实基电路主要参数


  
                        表一              
 六>、 电器驱动电路
    直流电磁式继电器,一般用功率接口集成电路或晶体管驱动。
    1. 根据要求选择继电器,其要求是继电器触头容量不小于5A因此选择JQX-13F型继电器,它的触头容量为10A,可以满足要求
    2. 测量该继电器的参数,测得其电阻R=120Ω,工作电压U=12V
    3. 根据参数计算电阻两端所需电流IJR=U/R=0.1A
    4. 计算三极管前电阻其Ib=ITR/β=0.1A/60=1.7mA
    5. 计算电阻Rb=U/Ib=(12-2-0.7)/1.7=5.1K=》2K
    6. 选择CPU的输出电流本设计中选择89C2051输出电流为10mA,并且也满足了发光二极管的工作电流10mA
    7. 确定R 值R=(U-ULED-UPOUT)/I=(5-1.5-0.3)/10=330
    8. 电路如下图:

                          图7
    9. 继电器触头需要有吸收电路,其作用为
      a.抗干扰.
      b.保护触头其电路为触头两边要接一电容C串一电阻R阻值范围为:51Ω~100Ω
       电容范围为:0.1uF~0.01uF
       如果负载越大选择的电阻和电容可以大一些,但有一个原则是:所选则的电阻电容不
       能直接把继电器驱动起来。
 七>、应用程序设计的基本任务
   1. 任务的调查分析和定义
   2. 程序总体设计
     a. 模块化程序设计——中心思想是将一个较复杂、程序量较大而功能较多的程序整体
       ,按其功能划分成若干个相对独立的程序段(称之为程序模块),分别进行独立的设
       计、编程、调试和查错,最终再装配在一起,联结成一个程序整体。
     b. 自顶向下和逐步求精程序设计是在程序设计时,先从系统一级的管理程序(或称主
       程序)开始设计,从属的程序或子程序用一些程序标志来代替。当系统一级的程序编制 好后,再将各标志扩展成程序或子程序,最后完成整个系统的程序设计,过程如下:
     1>. 首先应全面理解所需解决的问题,描述清楚程序总体所应具有的功能其次把总体功能分成若干主要子功能块,并按这些子程序之间的内在逻辑关系,形成一个顺序连接形式的粗略的程序总体工作流程图。例如,把程序分解成输入、计算、打印等子功能块, 并画出其按内在逻辑关系的程序流程粗框图。
     2>. 对粗框图中的某些操作作较复杂的主要子功能块,再将它们分解成若干小子功能块,并根据其内在逻辑关系,分别形成各自局部工作流程图。
     3>. 根据子功能块复杂程度和需要,可再对局部工作流程图中的子功能块分解成更小的子功能块,并将它们逐一构成更细化的程序流程图。 
    c. 数据结构与算法设计
   3. 程序的编制:
     是程序设计最易理解的部分,一个应用程序任务的调查分析定义和程序总体设计两步骤 的严密设计后才进行编程。
     程序编制是根据总体要求,按上述设计的流程顺序,选用合适的指令,一条条编制的, 所编制的程序称为源程序
    编程须注意以下几点:
     a. 不要为追求有效性(执行时间、程序长度等)而过分使用技巧,破坏程序的清晰性;
     b. 不去修补“坏程序”,而重新编写
     c. 避免不必要的分支,循环体尽量避免多出口
     d. 确立好的源程序格式,尽量使程序自顶向下安排,以便于阅读
     e. 采用标号(名字)代替绝对地址数和常数等,应尽量使标号具有直观意义
     f. 正确注释,变量、缓冲区等应事先置初值
   4.源程序的汇编与调试
     a.程序的检查:这是将编制好的程序按所设计的程序结构,对照总体设计要求、流程图,从书面上检查个程序功能块的正确性。采用自顶向下的方法。在逻辑功能检查确信  
     没有问题之后,就可检查下一层功能块了。一般低层功能块较单一,主要检查程序内
      容是否与功能块的功能要求一致。
      数据结构也要检查,各功能块对数据结构的访问方式和手段必须与相应的数据形式相
      符,不能随意超越功能块的访问权限,要防止数据结构的任意更改和破坏。
     b.程序结构的调试                                      

      关键词:单片机 MCS51 计数 计长 频率 转速

分享到:

上一篇:MCS51单片机测频率编程思路

下一篇:给学生一“点”

评论 (1条) 发表评论

发表评论
验证码