毕业论文计算机专业——单片机在生产中的应用论文设计内容摘要:

,数据存储器 6116 硬件上有 RD 和 WR 信号选通,软件上有 MOVX类指令访问;而程序存储器 2732 硬件上有 PESN 信号选通,软件上有 MOVC 类指令访问,因而不会发生冲突。 模数信号转换 ADC0809 芯片 ADC0809 是 8 位逐次逼近型 A/D 转换器,带 8 个模拟量输入通道,有通道地址译码锁存器,输出带三态数据锁存器。 启动信号为脉冲启动方式,其内部设有时钟电路,故 CLK 时钟需外部输入, fclk 允许范围为 500kHZ~1MHZ,典型值为 640kHZ,煤通道的转换大约 100~ 时钟频率设置为 6MHZ,经 ALE 引脚 1/6分频后为 1MHZ,再由 74LS74 触发器 1/2 分频后为 500kHZ,可以送入 CLK 引脚供 ADC0809 使用。 当 80C31 的 =0 和 WR =0 时, 80C31 可使 ALE 和 START 变为高电平而启动 ADC0809 工作。 在 =0和 RD =0时, 80C31 可以接收 A/D 转换后的数字 量。 其地址为 3000H, ADC0809 执行以下程序可以启动 ADC0809 工作。 MOV DPTR , 3000H MOVX @DPTR, A 若 80C31 改为执行: MOV DPTR , 3000H MOVX A , @DPTR 则可以从 ADC0809 输入 A/D 转换后的数字量。 其他电路 ( 1)报警电路 报警电路主要有声光报警装置,超越上限时采用红灯和警报声音报警,超越下限时采用红灯报警,正常时显示绿灯,其输出引脚分别为 、 、。 20 ( 2) 复 位电路 复位电路采用人工控制策略,当人工按下复位开关,使晶体三极管导通,在 RESET 端持续给出 2 个机器周期 (24 个震荡周期 )的高电平,系统完成复位操作。 ( 3 )时钟电路 在 XTAL1 和 XTAL2 引脚外接定时器件,内部时钟电路就会产生自激震荡。 定时元件采用石英晶体和电容组成的并联谐振电路,电容大小可以起频率微调的作用。 温度控制电路 80C31 对温度的控制是通过可控硅调功器电路实现的,如图( 7)所示。 双向可控硅和加热丝串接在交流 220V、 50Hz 市电路回路。 在给定周期 T 内,80C31 只要给改变可控硅的接通 时间便可以改变加热丝的功率,以达到调节温度的目的。 图( 8)给出了可控硅在给定周期 T 内具有不同接通时间的情况。 显然,可控硅在给定周期 T 的 100%时间内接通时的功率最大。 可控硅接通时间是通过可控硅控制板上触发脉冲加以控制的,该触发脉冲有 80C31 在 引脚上产生的高电平控制,受过零同步脉冲同步后经光耦管和驱动器输出送到可控硅的控制板上。 图( 7) 过零触 发电路 21 图( 8)可控硅调功器输出功率与通断时间的关系 过零同步脉冲是一种 50Hz 交流电压过零时刻的脉冲,可使可控硅在交流电压正弦波过零时触发导通。 过零同步触发电路产生,更为详细的电原理路见附图。 在图( 5)中, LM311 是低功耗、低失调型电压比较器,具有全温度范围内的失调电压漂移低,输入差动电压范围等于电源电压,能与 TTL、 DTL、ECL、 MOS 等逻辑系统兼容等特点。 在图( 5)电路中 LM311 用于把 50Hz 交流电压变成方波。 方波的正边沿和负边沿分别作为两个 可重复触发集成 单稳态触发器 MC14528 的输入触发信号,单稳态触发器 MC14528 输出的两个窄脉冲经二极管或门混合后就可得到对应于交流 200V 市电的过零同步脉冲,此脉冲一方面作为可控硅的触发同步脉冲加到温度控制电路,另一方面还作为计数脉冲加到 80C31 的 T0 和 T1 端。 % uU t 25% 50% 100% t t t u u u 22 系统闭环控制方框图 第三章.温度控制的算法和程序 温度控制的算法 通常,电阻炉温控制采用偏差控制法。 偏差控制的原理是先求出实测炉温对所需炉温的偏差值,然后对偏差值处理而 获得控制信号去调节电阻的加热功率,以实现对炉温的控制。 23 在工业,偏差控制又称“ PID 控制”,这是工业控制中应用最广泛的一种控制形式,一般都能收到令人满意的效果。 控制论告诉我们, PID 控制的理想微分方程为: )([)( tektu p +dt tdeTtdteTi dt )()()(10 ] (31) 式中: )()()( tytrte  称为偏差值,可作为温度调节调节器的输入信号,其中 )(tr 为给定值, )(ty 为被测变量值; pK 为比例系数; Ti 为积分时间常数;Td 为微分时间常数; )(tu 为调节器的输出控制信号。 因计算机只能处理数字信号,故上述数学方程必须加以变换。 若设温度采样周期为 T,第 n 次采样得到的输入偏差为 en ,调节输出为 un , 则有: Teedttde nn 1)(  (微分用差分代替 ) Tedtte nok kt  0 )( (积分用求和代替 ) 这样,式( 31)便可改写为: ]1[ 10 T eeTTeTeku nndnk kinpn    写成递推形式为: )]2([)]1()2([211121101211nnndninnpnnnnkkinnnndninnpneeeTTeTTeekuTeeTTeTeeeetTeTTeeku 改写成: )]}2()1(2)([)()1()({)1(  nEnEnEKnEKnEnEknuu DIpn DIP PPPnu  )1( 温度控制程序 24 温度控制程序的设计应考虑以下问题:①键盘扫描、键码识别 和温度显示;②炉温采样,数字滤波;③数字处理时把所有数按定点小数补码形式转换,然后把 8 位温度采样值, umax和 umin都变成 16 位参加运算,运算结果取 8 位有效值;④越限报警和处理;⑤ PID 计算,温度标度转换。 通常,符合上述功能的温度控制程序由主程序和 T0 中断服务程序两部分组成。 主程序: 程序清单为: ORG 0100H AJMP MAIN 0030H MAIN: DISM0 DATA 7AH DISM1 DATA 7BH DISM2 DATA 7CH DISM3 DATA 7DH MOV SP, 50H ; 50H 送 SP MOV 31H, URH MOV 32H, URL ; UR 赋值给定值电压 MOV 33H, KPH MOV 34H, KPL ; KP赋值 MOV 35H, K(I)H MOV 36H, K(I)L ; K(I)赋值 MOV 37H, K(D)H MOV 38H, K(D)L ; K(D)赋值 CLR 5EH ;清本次越限标志 CLR 5FH ;清上次越限标志 MOV 42H, umax ;最大值 25 MOV 43H, umin ;最小值 MOV 45H, PID ; PID 最大值 CLR A ;累加器 A清零 MOV 2FH, A ; MOV 30H, A ; MOV 3BH, A ; MOV 3CH, A ; MOV 3DH, A ; MOV 3EH, A ; MOV 44H, A ;清暂存单元 MOV DISM0, A ; MOV DISM1, A ; MOV DISM2, A ; MOV DISM3, A ;清显示缓冲区 MOV TMOD, 56H ; T0计数方式 2, T1计数 ;方式 1 MOV TH0, 06H ; MOV TL0, 06H ;计 250 个过零同步触发 ;脉冲 CLR PT0 ;令 T0 为低中断优先级 SETB TR0 ; 启动 T0工作 SETB ET0 ;允许 T0 中断 SETB EA ;开 CPU 中断 LOOP: ACALL DISPLY ;调用显示器子程序 26 ACALL SCAN ;调用扫描程序 AJMP LOOP ;等待中断 图 (9) 主程序流程图 T0 中断服务程序 CT0 TO 中断服务程序是温度控制系统的主体程序,用于启动 A/D 转换、读入采取数据、数字滤波、越限温度报警 和越限处理、 PID 计算和输出可控硅的同步触发脉冲等。 引脚上输出的同步脉冲宽度由 T1 计数器的溢出中断控制, 8031 利用等待 T1 溢出中断空隙时间(形成 输出脉冲顶宽)完成本次采样值转换成显示值而放入显示缓冲区和调用温度显示程序。 8031 从 T1 中断服务程序返回后便可以恢复和返回主程序,以等待下次 T0 中断。 程序流程图如下图所示 设定堆栈指针 清标志和暂存单元 清显示缓冲区 T0 初始化 开 CPU中断 扫描键盘 温度显示 Ui(k)=Umax? 采样炉温 数字滤波 本次越限标志送 5FH 27 N N N N Y Y Y Y N N Y N N 28 T0 中断服务程序程序清单为: ORG 000BH AJMP CT0 CT0: PUSH ACC ; PUSH DPL ; PUSH DPH ;保护现场 SETB D5H ;置标志位 ACALL SAMP ;调用采样子程序 ACALL FILTER ;调用数字滤波程序。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。