1、目 录 摘要 . I 1 前言 . 1 2 方案设计 1 2.1 设计任务 . 1 2.2 工程方案 . 1 3 仿真电路设计 2 3.1 仿真电路原理图 2 3.2 仿真单元电路设计 . 3 4 程序设计 3 4.1 程序流程图设计 4 4.2 具体代码实现 5 5 系统仿真 5 5. 1 系统仿真过程 . 5 5. 2 仿真结果分析 . 7 6 PCB板电路的制作 8 7 总结 . 9 参考文献 10 附录(源程序清单) . 11 1 1 前言 首先,单片机向LCD1602输出显示“WELCOME TO USE”的界面, 然后外围电路将被测量值转化为模拟信号并输入到AD转化器中,利用单片机
2、 启动AD转化,并将转化后的模拟信号读入到单片机并保存在寄存器R5中, 单片机将读入的信号处理后转化为能被LCD1602显示的信号输出, LCD1602将测量结果显示。本课题采用四个中断实现人机对话,分别为定时器 0、定时器1、外部中断0、外部中断1。外部中断0实现电压、电流、电阻三 个档位的选择,外部中断1实现测量值档位的选择,定时器0为确认键,当确 认后直接显示测量结果,定时器 1 为复位键。本课题使用8位AD转化器,转 化精度不是很高,课题程序使用了执行效率高的汇编语言,由于汇编语言中并没 有浮点运算语句, 因此需要编子程序实现浮点除法, 本课题采用了八位浮点运算, 因此该万用表精度不高
3、。此设计以单片机为控制核心,实现了硬件电路的设计、 程序设计,并能够在PROTEUS 平台实现仿真。并且能在PROTEL软件中绘 制PCB电路板。 2 方案设计 2.1 设计任务 (1)实现LCD1602的开机显示; (2)设计外围电路,实现模拟信号的转化与数字信号的转化; (3)设计键盘,实现人机对话; (4)编写程序,实现信号处理与显示; (5)结合程序和电路进行调试; (6)在PROTEL软件中绘制相应的PCB电路板。 2.2 工程方案 设计方案根据以下流程来实行:首先分析系统各个模块,并设计系统函数及 子函数的功能。然后用visio画出万用表的程序流程图,再在proteus软件中绘 制
4、电路原理图,接着在 wave 编译系统中,用汇编语言实现程序设计,然后结合 程序和电路进行调试。最后将调试好的电路重新画入protel软件,把protel里 面的电路转化为pcb板电路图。 模块分工:我主要负责外部中断,其中包括外部中断0和外部中断1,外部 2 中断0实现电压、电流、电阻三个档位的选择,外部中断1实现测量值档位的 选择。我的搭档主要负责定时中断,其中包括定时中断0和定时中断1,定时器 0为确认键,当确认后直接显示测量结果,定时器1为复位键。 3 电路设计 3.1 仿真电路原理图 在这个Protues仿真电路图中, 主要涉及了RES, POT-LIN,SW-ROT-3, SW-ROT-5,SW-ROT-3,SW-SPDT-MOM,AT89C51,LM016L,ADC0808, RESPACK-8,BUTTON,OP1P,接下来是这些元件的材料, 大小和作用的介绍。 RES,为碳膜电阻,在电路中 RES 主要有四大块,从 R1R7 大小分别是 1,10,100,1K,10K,100K,1M,10M,其主要作用是用来实现万用表的电阻测量, 不同的大小实现了档位的选择。从