潍坊学院本科毕业设计
(4) 编辑和调整。编辑元件的属性。包括元件名、参数、封装图等。调整元件和导线的位置等操作。
本次设计所用的主要元件属性如表2-3:
表2-3 主要元件表
说明 单片机 LCD 电阻 电容 锁存器 NPN三极管 晶体 通用运放 (5)
编号 U1 J2 R C U5 Q 封装 DIP-40 DIP-20 AXIAL0.3 RAD0.1 DIP-20 TO46 元件名称 Atmega16 LCD模块 RES2 CAP 74LS245 2N2222A XTAL LM358 X XTAL-1 U2A,DIP8 U2B 检查原理图。使用电气规则功能(ERC)检查原理图的连接是否合理和正确。给出检查报告,若有错误则要根据错误进行改正。
(6) 生成网络表。所谓网络表就是元件名、封装、参数及元件之间的连接表,通过该表可以确认各个元件和它们之间的关系。
(7) 打印原理图。
接下来是焊接的工作,这部分相对来说并不陌生,在大二时曾进行过电子课程的实习,主要就是完成收音机的焊接。虽然以后接触得比较少,但通过几天的练习,还是基本圆满地完成了任务。焊接通常要求:①焊点接触良好,尤其避免虚焊的产生;②焊点要有足够的机械强度以保证被焊点不致滑落;③焊点表面应美观,有光泽。这块板子面积不算大(约90cm?70cm),元器件引脚多,看起来很密集。从焊下来的结果来看,焊点还可以,也算比较美观,最关键的是没有短路的情况发生。
焊接完成后,整个硬件电路原理、绘制原理路、焊接等工作已全部完成,下面转到软件部分的设计。
17
潍坊学院本科毕业设计
3 软件设计
本章将介绍如何用C语言来编写智能型充电器的程序。C语言是一种编译型的结构
化程序设计语言,具有简单的语法结构和强大的处理功能,具有运行速度快、编译效率高,移植性好和可读性强等多种优点,可以实现对系统便件的直接操作。因此用C语言来编写目标系统软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而开发出大规模、高性能的应用系统。
3.1 系统程序流程图
为了方便程序的设计,使自己在设计过程中做到思路清晰,设计起来游刃有余。这里首先画出了程序流程图,后面根据次流程图具体设计程序,现具体分析如下:
3.1.1 主程序流程图
这次设计课题的主要内容是在充电器的充电过程中,采集参数,进行电压、电流、温度的实时显示。其主流程图设计如图3.1:
18
潍坊学院本科毕业设计
(1)
开 始 N N 采 集 电 池 电 N >0 Y 有 电 池 扫 描 按 键 有键按下? Y 按 键 调 节 采样V、A、T 显示V、A、T 充满? Y 结 束 图3.1 主程序流程图
初 始 化 等 待 无 电 池 3.1.2控制程序流程图
要想在液晶模块上显示一个字符或汉字,首先必须得对控制字进行写指令代码、写显示数据和读显示数据3项操作。完成这3项工作都必须保证控制器处于不忙的情况下,这就必须有一个判忙子程序,其流程如图3.2:
19
潍坊学院本科毕业设计
开 始 读左边控制器的状态字 Y 驱动器忙? N 送 状 态 字 返 回 图3.2 判忙程序流程图
3.1.3显示程序流程图
根据上面采用的方法设置汉字的初始值(lr、X、Y),当显示完第一列的8字节以后,跳到第二列又从上往下显示。由于一个汉字每一列有16字节,则当一页的16列显示完,只相当于显示的汉字的上半部分,则再次跳到下一页的初始位,进行汉字下半部分的显示,值到16列显示完成,才表示一个汉字全部显示结束。
通过上面的介绍,一个汉字的显示流程图编写如图3.3:
20