基于89c52的免烧砖配料(压力传感器)控制系统设计毕业设计说明书(编辑修改稿)内容摘要:

由于真个系统程序较长,为了简便起见采用模块化编程方法,将 12864 液晶显示程序,按键扫描程序,延时程序, HX711 操作程序, EEPROM 读写操作程序,主程序单独罗列成模块,以便相互调用,使程序更加清晰明朗。 系统主流程图如图 41 所示: Y“ 设 置 ” 键 按 下 ?初 始 化“ 确 定 ” 键 按 下 ?数 字 键 按 下 ?确 定 键 处 理按 键 扫 描N数 字 键 处 理开 始按 键 扫 描NNYYY 图 41 系统主流程图 15 如系统主流程图所示,初始化主要是对 12864 液晶的显示初始化即显示的初始界面,对 EEPROM 对系统上电后默认配方的设定,继电器的初始化。 初始化完成后开始检测按键值 ,先检测设置键是否被按下,若是,开始检测是否 数字键被按下,若被按下则进行数字键处理,再检测确定键是否按下,若是进行确定键处理。 系统 确定 键流程图如图 42 所示: 确 定 键 处 理送 物 料重 量 达 到 设 定 值。 停 送 物 料物 料 全 部 送 完。 YNYYN开 始返 回 图 42 系统 确定 键流程图 确定 键处理流程图,当检测到开始键按下时单片机控制继电器闭 合,从而启动电机开始送物料,称重传感器将实时重量数据传给单片机,单片机将传感器数据实时与配方进行比较看是否达到设定值若达到即可控制继电器断开停止送料,同时检测是否物料全部送完若没送完则继续送物料,若送完即返回主程序继续执 16 行。 按键的扫描 按键 扫描流程图 如图 43 所示: 开 始是 否 有 按 键 按 下按 键 消 抖是 否 有 按 键 按 下检 测 按 键编 号返 回NNYY 图 43 按键 扫描流程图 按键扫描:通过程序将 , , CSDA, INT1 置位为 0111,然后检测LCDEN, RS, WR, RD 电平高低得知 S1,S2,S3,S4 哪个 按键被按下,然后再将,CSDA,INT1 置位为 1011,检测第二横排是否有按键按下,这样循环依次检测完四排按键是否被按下,如果有键被按下 则进行消抖,消抖后在检测按键是否按下如果按下 再 检测是哪个按键被按下, 按照程序设定的键值进行操作。 EEPROM的操作 SDA 引脚默认为高电平(通过外部电子器件实现)只有在 SCL 为低电平时才允许改变 SDA, SCL为高电平时改变数据引脚 SDA将被视为开始或终止信号。 17 AT24C02A 读写开始 /停止时序图如图 44 所示: 图 44 AT24C02A 读 写开始 /终止时序图 在开始对 AT24C02A 进行操作时必须先发送一个开始信号,即当 SCL 保持高电平期间 SDA 从高电平转换为低电平。 停止信号:当 SCL 保持高电平期间SDA 从低电平转换为高电平。 停止信号将 EEPROM 保持在待命状态。 AT24C02A 应答信号时序图如图 45 所示: 图 45 AT24C02A 应答信号时序图 当对 EEPROM 进行数据输入完成后由 EEPROM 发送一个应答信号(第 9个时钟周期内 SDA 至低电平),单片机通过应答用来判断写操作是否成功。 AT24C02A 按写一个字节操作时序图如图 46 所示: 18 图 46 AT24C02A 按字写操作时序图 对 EEPROM 进行写操作时按时序图要求依次发送开始信号, 8 位器件地址(由高到低)且选择写操作,应答信号, 8 位字节地址(由高到低), 8 位数据(由高到低),应答信号,停止信号。 应答信号由 EEPROM 发送,单片机通过应答用来判断写操作是否成功。 AT24C02A 按随机读操作时序图如图 47 所示: 图 47 AT24C02A 按随机读操作时序图 对 EEPROM 进行特定地址读操作时依次发送开始信号, 8 位地址(由高到低)且选择写操作,应答信号,字节地址, 应答信号,开始信号, 8 位地址(由高到低)且选择读操作,读数据,非应答信号( 1),停止信号 [1]。 A/D转换的处理 HX711BF 增益选择时序图如图 48 所示: 19 图 48 HX711BF 增益选择时序图 增益的选择: HX711 芯片通过软件来实现对内部放大电路增益的选择,每传输一个数据芯片就要求单片机选择处理下一个传感器数据选择的增益。 即在每次发送完 24 位数据后若单片机再发送一个时钟脉冲信号即选择 128 倍增益,若再发送 2 个时钟脉冲即选择 32 倍增益,若发送 3 个时钟脉冲即选择 64 位增益。 数据的处 理:传感器的数据经过放大处理 A/D 转换后最大值是 2362232,程序中通过 HX711_Buffer=HX711_Read()。 获得当前采样的 AD 值存放在变量HX711_Buffer 中,因为 24bit 数据在 8 位单片机 89C52 中存放较为不便,在后续的数据处理中将它除以 100,转化为单片机方便处理的数据再结合传感器的特性性能和系统对精度的要求进行操作。 由 A/D 值反算重力值:设重力值为 a(kg),测量出的的 AD 值为 b,此时传感器输出的数据为 a(kg)*(kg)=(mv); 经 128 倍增益后为128*(mv)=(mv) ; 转换为 24bit 数字信号为(mv)*2^24/=10737a; 因此 b=10737a/100=107a; 得出 a=b/107( kg)由此得出计算公式实际重量 =AD 转换值 /107(kg)。 其中 107 这个数据是理想状态下计算出来的,实际情况还要对传感器进行校准,根据实际情况改变 107 这个数据以达到精确测量的目的。 显示电路 12864 原理接线图如图 49 所示: 20 GND1+5V2V COM3RS(CS)4R/W(SID)5E(SCLK)6D07D18D29D310D411D512D613D714PSB15NC16RST17V OUT18BLA20BLA+1912864D0D1D2D3D4D5D6D7P10P13P14P15W12K 图 49 12864 接线图 12864 初始化 流程图 如图 410 所示: 功 能 设 定开 始清 屏开 显 示初 始 化 结 束进 入 模 式 设置 图 410 12864 初始化流程图 12864 液晶的初始化要先进行液晶的功能设定然后延时后开显示再延时然后再清除屏幕内容,最后进行模式设定。 12864 软件设计中重要通过 89C52 单片机程序控制 12864 的数据传输端口及 21 其控制端口。 本次设计中 12864 选择 8 位并行数据传输模式(将 PSB 并串行接口选择置 1, RS 为并行数据 /指令选择信号,高电平时接受指令,低电平时接收数据。 R/W 为并行的读写选择信号,高电平时为读,低电平时为写。 D0~ D7 接单片机的 P0 口,通过程序控制单片机相应的 I/O 即可实现对 12864 液晶的 控制。 12864 时序图如图 411 所示: 图 411 12864 时序图 12864 时序图分析,单片机对 12864 进行写命令操作时,先将 RS 置 0,选择命令;接着将 R/W 置 0,选择写方向;完成后即表示可以向 12864 液晶进行写命令操作。 延时后将使能信号 E 置 1,使能 12864;紧接着通过 D0~ D7 向液晶输送命令。 命令在 RS,R/W 为低电平期间有效。 若要写数据则将 RS 置高电平;其他步骤与写命令一致。 即在对 12864 进 行操作时先要选择命令数据选项,再选择读写选择项,然后才可以向 12864 进行具体的操作。 22 总 结 在 4 个多月的毕业设计中前期多看一些相关的论文,书籍,对自己的设计有一个大体的了解,难易程度上有一个整体的把握。 整体设计方案的规划时元器件的选型很重要,确定正确的合适的元器件对整个设计过程有很大的帮助,可以免去后来的麻烦,用什么样的传感器,传感器是否符合设计要求,传感器的输出数据是否要经过放大处理,要选用多大增益的放大器,传感器的数据要进行怎样的处理,是选用 A/D 转换还是 V/F 转换。 应该说传感 器的选择是确定其它元器件选择的基础,元器件选择也要考虑自己的专长,比如 A/D 和 V/F 转换,我选择的是 A/D 转换,因为 V/F 转换并没有接触过,而且还要转换后加光电耦合器,设计较为复杂,而 A/D 转换就很熟悉,选择高位数的 A/D 转换既能保证转换精度由非常方便。 最后确定的是 HX711BF24 位 A/D 转换芯片,集成了放大转换,设计更加方便。 显示器件原来选的是数码管,但后来更改为 12864,因为 12864在显示上比数码管更加的清楚明白,还可以显示汉字,优势巨大,且在程序上个人感觉 12864 要比数码管来的清楚明白,更适合模块化编程,用到的器件相对于数码管也要少(至少不用段选,位选两个锁存器和限流电阻了)。 设计中 遇到的最大的困难还是硬件上的焊接,这是我当时所万万想不到的,由于焊接设备的性能问题和焊锡的品质问题以及本人经验不足导致焊接接触不良,系统时灵时不灵,当时由于不知道原因纠结了好长时间(以为是器件焊烧了,程序出错了),不得不从新开始焊接,导致后来的设计时间明显紧张。 总之,整个毕业设计过程中,让我真正的有所进步,对专业知识的认识上有了一个飞跃,其中有苦恼有喜悦,真不错。 23 致 谢 本次的配料控制系统整体设计过程中得到了老师和同学们的大力帮助,没有他们我的毕业设计也不会这么快完成。 从前期的选题 xx 老 师及时帮助我们规划了整个毕业设计时间中各个阶段工作的重点到中期元器件的选型,设计的整体规划, PCB 的修改,以及设计过程中遇到的各种问题都给与了极大的耐心与支持,不管 xx 老师工作有多忙每周都会抽出时间来了解我们的工作进度,对我们遇到的困难进行答疑解惑,印象最深的还是老师因为白天工作忙早上七点半在 上与我们交流毕业设计中的问题,及时帮我们指出设计中的错误,到后来毕业设计说明书的规范,说明书的一些技巧,小到一个贴图的位置,大小等不妥之处也会很细心的进行指导。 而且,在设计的过程中 x 同学、 x 同学也对我的软件设计以 及在硬件选型优化上提出了宝贵的意见和建议, 再次特谢。 同时在设计配料控制系统中也参考了很多专业的参考书籍,引用了数位学者的著作文献,给了我很大的帮助,也让我少走了很多弯路,向他们表示感谢。 此次设计中若有因本人的粗心而造成的阅读上困难和不便请多多包涵。 24 参考文献 [1]邱关源,罗先觉 .电路 [M].北京:高等教育出版社, [2]阎石 .数字电子技术基础 [M].北京:高等教育出版社, [3]马镜澄 .低压电器 [M].北京:机械工业出版社, 1993 [4]强锡福 .传感 器 [M].北京:机械工业出版社, 1989 [5]王兆安,刘进军 .电力电子技术 [M].北京:机械工业出版社 , [6]黄坚 .自动控制原理 [M].北京:高等教育出版社, 20xx [7]谭浩强 . C 语言程序设计 [M].北京: 清华大学出版社 , [8]汤蕴璆 . 电机学 [M].北京: 机械工业出版社 , [9]王静 . Altium Designer Winter 09 电路设计案例教程 [M].北京: 中国水利水电出版社 , [10]夏路易 ,石宗义 .电路原理图与电路板设计教程 [M].北京: 北京希望电子出版社 , [11]David Culler, Deborab Esrtin, Mani Sivastava. “Overview of Sensor Networks”, IEEE Computer Society, August 20xx [12]HU Ke,GUO Zhuanghui,WANG Lei , Research on Wireless Com。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。