文档介绍:数字化产品设计报告专业:嵌入式系统哈尔滨工业大学华德应用技术学院2009年7月1日姓名:班级:学号:课题编号:C004课题名称:啤酒装箱生产线系统基本功能:由单脉冲代表生产线啤酒统计数,按一下单脉冲有一瓶酒过去,24瓶为一箱,显示在数码管上。扩展功能:能够实现清零重新计数和存储及显示存储数据成绩:评审老师:需求分析:(应用:工业生产线成品计数器是一种自动记录生产过程中随机产量,并通过计算机进行显示、累计、储存的装置。。目的:设计此程序主要是为了控制产品装箱生产线,实现自动化的产品装箱计数。从而让生产者对产品生产情况有了具体的了解,与传统的生产计数方式相比,能够让生产者更合理的调度人力物力资源,节省劳动力,能够在最短的时间内而获得更多经济效益。立题意义:为了能让学生更深入了解MSC-51单片机各个芯片应用,在理论知识的基础上加强动手能力,创新思维,-51电动机脉冲信号8279键盘输入LED显示硬件所需器件:51单片机、0832数模转换器、LED数码管、直流电动机键盘及8279键盘/显示接口芯片。各芯片的简要介绍如下:8XC51系列单片机是MCD-51中的一个子系列,是一组高性能兼容性单片机。其中,x的规定为程序存储器的配置:0表示无片内ROM,3表示片内为掩膜ROM,7表示片内为EPROM/OTPROM,9表示片内为FlashROM。DAC0832芯片是美国Nationalsemiconductor公司生产的具有2个数据寄存器的8位分辨率的D/A转换芯片。此芯片与处理器完全兼容,它由8位输入锁存器、8位DAC电路及转换控制电路构成,通过两个输入寄存器构成两级数据输入锁存。Intel8279芯片是一种通用可编程键盘/显示接口芯片,它具有同时完成键盘输入和显示控制两种功能。)软件设计方案开始初始化堆栈区初始化82792按键01数据出栈读取调用8279显示子程序数据进栈存储计数器清零计数调用8279显示子程序YNYNNYNY算法分析:初始化堆栈区域:、0B0。后来的的数据进栈存储、数据出栈读取可通过R0寄存器间接寻址进行地址操作存储。初始化8279:送控制字00H(左边输入八位字符显示,外部译码键扫描方式,双键互锁)给8279的Z8279状态/命令口置控制方式。再将清屏控制字0C1H送入Z8279让LED数码管清屏。判断是否有键值输入:把状态口地址送入特殊功能寄存器DPTR中让其与0F进行ANL运算屏蔽D4-D7个状态,JZ判断是否有键入如果没有继续判断,如果有把控制字40H送入状态命令口并把键值数据通过DPTR送入累加器A中后进行判断。当判断键值是0键:通过DAC0832的数据口8000H送入数据,通过数模转换控制电压启动电动机送出脉冲,用于存储数据瓶数、箱数、百箱数的R1、R2、R3清零,初始化计数器T1清零开始对脉冲计数。计数值送R1当等于24是R2自增1,R1清零计数器清零重新计数,当R2自增到到99时R2清零R3自增1,计数值通过做除法设偏移量调用显示子程序,显示子程序是通过显示起始地址加偏移量设置显示位置的,数据显示通过查表的方法,表的起始地址加偏移量是要显示的数据。当判断键值是1时:把当前的人R1,R2,R3分别通过R0进行寄存器间接寻址存储在newp、newx、newb中,newp、newx、:数据显示出栈后进先出方式把地址减一通过R0寄存器间接寻址把数据送入累加器A,是通过做除法设显示偏移量调用显示子程序,显示子程序是通过显示起始地址加偏移量设置显示位置的,数据显示通过查表的方法,表的起始地址加偏移量是要显示的数据。:,后改用串口线试验箱能够正常使用。,后改用送数据给0832数模转换器控制电动机电压从而电动机产生的电动机脉冲信号。。软件测试:最开始实现的功能只有简单的脉冲计数显示,在程序设计的过程中,在显示的过程中起初只能显示一位计数非常不理想,后来通过研究电子钟的程序理解了设置偏移量设定显示位置显示数据是通过查表地方法实现的。计数值做除法商和余数分别是两个位置,通过设置偏移量分别设置显示位置,调用子程序。后来又加入了键盘控制,清零计数,清屏,是通过查询按键及键值的方法解决的。课设要求中是单脉冲输入信号,自己改了一通过0832控制电压控制直流电动机输出脉冲信号。加入拓展功能存储并显示是遇到了很大的困难,起初是想用Flas