当前位置:文档之家› 单片机IO口及其中断的应用 (工业顺序控制)

单片机IO口及其中断的应用 (工业顺序控制)

单片机IO口及其中断的应用 (工业顺序控制)
单片机IO口及其中断的应用 (工业顺序控制)

实验十四单片机I/O口及其中断的应用(工业顺序控制)

一、实验目的

掌握工业顺序控制程序的简单编程和中断的使用。 

二、实验内容 

8031的P1.0-P1.6控制注塑机的七道工序,现模拟控制七只发光二极管的点亮,高电平有效,

设定每道工序时间转换为延时,P3.4为开工启动开关,低电平启动。P3.3为外故障输入模拟开关,P3.3为0时不断告警,P1.7为报警声音输出。

三、实验说明

实验中用外部中断INT0,编中断服务程序的关键是:

1、保护进入中断时的状态,并在退出中断之前恢复进入的状态。

2、必须在中断程序中设定是否允许中断重入,即设置EX0位。

一般中断程序进入时应保护PSW、ACC以及中断程序使用但非其专用的寄存器,本实验中未涉及。

四、实验原理图

五、实验程序框图(MCUIO2.ASM)

六、实验步骤 

⑴ 按图连接线路:系统扩展区1的P3.4连K0,P3.3连K1,P1.0-P1.6分别连到L0-L6,P1.7连

SIN(电子音响输入端),DL0插座和SPEAKER插座相连,K0开关拨在下面,K1拨在

上面;

⑵ 在闪动"P."状态,按PCDBG键;

⑶ 单击DVCC图标;

⑷ 在系统设置选项中设定仿真模式为内程序、内数据;

⑸ 在主菜单中选择联接;

⑹ 选择实验指南/实验项目选择/单片机I/O口及其中断的应用(工业顺序控制),再选择实

验指南/程序,打开该实验源程序

⑺ 再在主菜单中选择调试,进入实验程序的编译、连接、目标文件的传送(三个步骤一起

完成,也可以逐项进行);目标文件传送完后,在程序窗口内的首条指令前有一个蓝色光标出现;

⑻ 连续运行实验程序(内程序,内数据);。

⑼ K0拨至上面(为高电平),启动开工,各道工序应正常运行。

K1拨至下面(低电平),应有声音报警(人为设置故障);然后K1再拨至上面(高电平),即人为排除故障,程序应从刚才报警的那道工序继续执行。

鍗旷墖链鸿

河北工业大学计算机硬件技术基础(MCS-51)2007年课程设计 报告 一、题目:工业顺序控制 二、问题的提出 1.目的: (1)培养学生综合利用MCS-51单片机的软硬件知识进行程序设计的能 力,解决一些实际问题。 (2)进一步加深对MCS-51单片机内部结构和程序设计方法的理解。 (3)提高学生建立程序文档、归纳总结的书面表达能力。 (4)通过查阅和网上搜索资料,提高学生独立获取知识的能力。 (5)在设计的全过程中,通过理论与实践相结合,培养和提高学生的实 践能力和创新能力。 三、总体设计 1、分析问题的功能 在工业控制中,像冲压、注塑、轻纺、制瓶等生产过程,都是一些继续生产过程,按某种顺序有规律的完成某种预定的动作,对这类继续生产过程称为顺序控制,倒注塑机工艺大致按“合模-注射-延时-开模-产伸-产退”顺序工作。 P1.0~P1.6代表控制注塑机的七道工程,模拟控制七只发光二极管的点亮,低电平有效,设每道工序时间为延时,P3.4为开工启动开关,低电平启动,P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警输出,前六道工序只有一位输出,第七道工序中有三位输出。 2、系统总体结构设计 根据上述问题描述,本设计运用了两个中断,一个外部INT1中断,一个定时 器T/C1中断, 四、详细设计: 1、画出电路图;

2. 流程图

3、设计中的主要困难及解决方案 1)困难1 实现蜂鸣器与故障中断的同步 解决方法:当语句LOOP: JNB P3.3,LOOP 循环执行时,开定时器不断给蜂鸣器高低方波,这样,只要定时器一直开着,蜂鸣器就一直处于鸣响状态,直到外部中断解除。 LOOP: JNB P3.3, LOOP SETB P1.7 CLR ET1 RETI 定时器停止工作,工程回到端点继续执行。 2)困难2 各工序的用时应该不同 我们准备了几个不同的子程序,每个灯亮时就可以调用不同的子程序了,这样等量的时间就不同了。 三、程序清单 ORG 8000H AJMP MAIN ORG 8013H LJMP INT1SV ORG 801BH LJMP T1S MAIN: MOV SP, #5FH SETB EA ;允许CPU中断 SETB EX1 ;允许INT1中断 CLR IT1 ;INT1为电平触发 L0: JNB P3.4, L1 AJMP L0 ;是否开工? L1: ;第一道工序 SETB P1.7 CLR P1.0 ACALL DLAY L3: SETB P1.0 ;第二道工序 CLR P1.1 ACALL DLAYA AJMP L4 L4:SETB P1.1 ;第三道工序 CLR P1.2 ACALL DLAYB AJMP L5 L5: SETB P1.2 ;第四道工序

51单片机IO口使用经验绝对经典

绝对经典 按常规,在51端口(P1、P2、P3)某位用作输入时,必须先向对应的锁存器写入1,使FET截止。一般情况是这样,也有例外。所谓IO口内部与电源相连的上拉电阻而非一常规线性电阻,实质上,该电阻是由两个场效应管并联在一起:一个FET为负载管,其阻值固定;另一个FET 可工作在导通或截止两种状态(姑且叫可变FET)。使其总电阻值变化近似为0或阻值较大(20千欧--40千欧)两种情况。当和端口锁存器相连的FET由导通至截止时,该阻值近似为0,可将引脚快速上拉至高电平;当和锁存器相连的FET由截止至导通时,该电阻呈现较大阻值,限制了和端口锁存器相连的FET的导通电流。 51I/O口作为输入端和外部信号相连有时必须考虑上述特性,本人在设计LTP1245热敏打印头驱动板时,资料上推介热敏头“抬头”和“纸尽”信号由头中内嵌检测电路提供,MCU IO口采集该信号时需加缓冲(如74HC04)。当时本人认为51IO口上拉电阻为一较大阻值的固定电阻,对输入信号无影响,故未加缓冲电路(为降低成本能省则省)。可到调试PCBA时发现,“抬头”、“纸尽”状态变化时,采集信号只在3.90V--5.10V之间变化,应为低电平时无低电平输出。究其原因,打印头的“抬头”、“缺纸”信号输出为一光敏三极管的集电极输出,集电极和电源间原有一个负载电阻,饱和导通设计工作电流仅为450--1100微安,当该集电极直接和MCU IO口某位相连时,IO口上拉电阻和光敏三极管负载电阻并联,当IO口上拉时,上拉电阻极小致使光敏三极管直流负载线斜率陡然增大,工作状态进入放大区而非希望的饱和区。当时在不改硬件的条件下,我几乎无计可施,甚至想到了准备烧断IO口上拉电阻(前两天我曾发帖求救怎么烧断IO 口上拉电阻的方法)后来听网友建议该方法风险较大,所以总想用软件方法解决。 后来我的解决方法是:采样信号前不是先向对应锁存器写1,而是先写入0,再写入1,延时约10毫秒以上,然后再采样(当然此法只适应于采样频率很低的情况)。这样作的目的是:先写入0迫使IO口上拉电阻先为一较大值,此时如果外部光敏三极管本来处于截止状态,当完成上述一系列锁存器的写入过程后光敏管仍为截止态,IO口正确采样到高电平;此时如果外部

工业过程自动化技术专业

工业过程自动化技术专业(中德技术学院)人才培养方案 一、专业代码、名称 560303,工业过程自动化技术(专科) 二、培养目标 本专业培养具有良好的思想道德品质、国际视野和科学人文素养,具备生产过程自动化技术领域所需的职业素养、工程技术基础理论和一定的工程实践能力,能够从事系统分析、系统设计、系统运行等方面工作的应用型人才。 三、培养要求 本专业学生主要学习电路分析、电子技术、控制理论、单片机原理及应用、系统工程、检测技术及仪表、计算机控制技术与应用、工业过程控制及运动控制等方面的基本理论和基本知识,使学生受到较好的工程实践基本训练。 本专业培养的毕业生必须达到如下知识、能力和素质的培养要求: 1.掌握自动化专业必需的数学、自然科学、工程基础和专业相关知识,能够将所学知识用于解决工业生产过程控制系统中的问题。 2.能够针对工业生产过程控制系统及其网络的设计、开发、构建、实现、应用与改进等复杂工程问题给出设计方案;能够设计出满足控制系统特定需求的各个单元和系统,能够在该设计环节中激发创新意识,并综合考虑社会、健康、安全、法律、文化以及环境等因素。 3.能够选择与使用典型的检索工具获取技术资源,能够使用相关的硬软件设计、开发、仿真软件对控制系统及其网络的设计、开发、构建、实现、应用与改进等复杂工程问题进行模拟和预测。 4.了解自动化专业领域和相关行业工程背景和应用现状,能够对其经济效益和社会影响进行合理分析和评价,在设计过程中综合考虑法律、安全、健康以及文化等制约因素,并能理解应承担的责任。 5.能够了解自动化领域相关职业和行业的生产、设计、研究与开发在环境保护和社会可持续性发展等方面的方针、政策,并能够理解和评价自动化工程实践对环境、社会可持续发展的影响。 6.具有人文社会科学素养、社会责任感,能够在自动化工程实践中理解并遵守工程职业道德和规范,履行责任。 7.能够在多学科和交叉学科背景下的自动化工程实践团队中承担个体、团队成员以及负责人的角色。 8.能够与业界同行进行有效沟通和交流,能够根据需要撰写报告和设计文稿,能够在公众场合陈述发言、清晰表达或回应指令。能顺利阅读本专业的外文资料,具有一定的国际视野,能在跨文化背景下进行沟通和交流。 9.具有自主学习和终身学习的意识,有不断学习和适应发展的能力。 四、主干学科 控制科学与工程、电气工程。 五、核心知识领域 控制理论、电路与电子技术、检测技术与仪表、计算机控制技术、工程设计、电力电子、电机拖动及运动控制、过程控制工程。 六、核心课程

《8259中断控制器实验》的实验报告

实验六8259中断控制器实验 6.1 实验目的 (1) 学习中断控制器8259的工作原理。 (2) 掌握可编程控制器8259的应用编程方法。 6.2 实验设备 PC微机一台、TD-PIT+实验系统一套。 6.3 实验内容 1. 单中断应用实验 (1)编写中断处理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次PC机响应中断请求,在显示器上显示一个字符。 (2)编写中断处理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次PC机响应中断请求,在显示器上显示“Hello”,中断5次后退出。 2.扩展多中断源实验 利用实验平台上8259控制器对扩展系统总线上的中断线INTR进行扩展。编写程序对8259控制器的IR0和IR1中断请求进行处理。 6.4 实验原理 1. 8259控制器的介绍 中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需增加其他电路的情况下,通过多片8259A的级连,能构成多达64级的矢量中断系统。它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU传送中断类型号。8259A的内部结构和引脚如图6-1所示。 8259A的命令共有7个,一类是初始化命令字,另一类是操作命令。8259A的编程就是根据应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分别写入初始化命令寄存器组和操作命令寄存器组。ICW1-ICW4各命令字格式如图6-2所示,

单片机io口理解

【转】单片机IO口设置推挽和开漏的区别(转自网易博客冷水泡茶的日志)2010-09-28 13:43 单片机IO口设置推挽和开漏的区别 一般情况下我们在电路设计编程过程中设置单片机,大多是按照固有的模式去做的,做了几年这一行了,也没碰到过什么问题。昨天就遇到了这样一个问题,电路结构如图一,在这种情况下STC单片机与410单片机通讯是没问题的 但是与PC就无法通讯了,STC收不到PC的命令,以前410的位置是用的STC的片子一直没问题,我想也许是驱动能力不够,在410TX端加了上拉,不过没起作用。 用示波器监视串口得到面的波形 这说明sp3232下拉得不够,于是加了下拉,还是没起作用。又把410端口内部的上拉去掉,结果还是一样。 最后请教老师,在410程序里将TX的工作方式由推挽式改为开漏式,一切ok~!

从网上查了推挽和开漏的区别,放在这里免得以后再到处找了,给自己保存了 我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0”时,输出也为“0”)。对于图1,当左端的输入为“0”时,前面的三极管截止(即集电极C跟发射极E之间相当于断开),所以5V电源通过1K电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。 我们将图1简化成图2的样子。图2中的开关受软件控制,“1”时断开,“0”时闭合。很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。而当开关断开时,则输出端悬空了,即高阻态。这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。 再看图三。图三中那个1K的电阻即是上拉电阻。如果开关闭合,则有电流从1K电阻及开关上流过,但由于开关闭其它三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于P0口来说,就是高阻态了。 对于漏极开路(OD)输出,跟集电极开路输出是十分类似的。将上面的三极管换成场效应管即可。这样集电极就变成了漏极,OC就变成了OD,原理分析是一样的。 另一种输出结构是推挽输出。推挽输出的结构就是把上面的上拉电阻也换成一个开关,当要输出高电平时,上面的开关通,下面的开关断;而要输出低电平时,则刚好相反。比起OC或者OD来说,这样的推挽结构高、低电平驱动能力都很强。如果两个输出不同电平的输出口接在一起的话,就会产生很大的电流,有可能将输出口烧坏。而上面说的OC或OD输出则不会有这样的情况,因为上拉电

单片机实验

实验一P1口亮灯实验 实验目的 ⑴学习P1口的使用方法; ⑵学习延时子程序的编写。 实验预备知识 ⑴P1口对准双向口,每一位都可独立地定义为输出线或输入线。 ⑵本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。 实验内容 P1作为输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。 程序流程 实验电路 实验步骤 P1.0~P1.7用插针连至L1~L8,运行程序后,观察发光二极管闪亮移位情况。 思考 改变延时常数,使发光二极管闪亮时间改变。 修改程序,使发光二极管闪亮移位方向改变。

实验二 P3.3口输入,P1口输出 实验目的 掌握P3口P1口简单使用。 实验内容 P3.3口输入一脉冲,P1口按位加一方式点亮发光二极管。程序流程 实验电路

实验步骤 ⑴P3.3用插针连至K1,P1.0~P1.7用插针连至L1~L8。 ⑵编译、装载、连续运行。 ⑶开关K1每拨动一次,L1~L8发光二极管按位加一点亮。 思考 修改程序,使发光二极管左移方式点亮。

实验三工业顺序控制(中断控制) 实验目的 掌握工业顺序控制程序的简单编程:中断的使用。 实验预备知识 在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些继续生产过程,按某种顺序有规律地完成预定的动作,对这类继续生产过程的控制称顺序控制,倒注塑机工艺过程大致按“合模→注射→延时→开模→产伸→产退”顺序动作,用单片机最易实现。 实验内容 MCS-51的P1.0~P1.6控制注塑机的七道工序,现模拟控制七只发光二极管的点亮,低电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,高电平启动。P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。 程序流程

微机接口实验报告-8259中断控制器应用实验

姓名 院专业班 年月日实验内容8259中断控制器实验指导老师 【实验目的】 (1)学习中断控制器8259的工作原理。 (2)掌握可编程控制器8259的应用编程方法。 【试验设备】 PC微机一台、TD-PIT+实验系统一套。 【实验内容】 (1) 编写中断处理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次PC机响应中断请求,在显示器上显示一个字符。 (2) 编写中断处理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次PC机响应中断请求,在显示器上显示“9”,中断显示6次后退出。 【实验原理】 1. 8259控制器的介绍 中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需增加其他电路的情况下,通过多片8259A的级连,能构成多达64级的矢量中断系统。它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU传送中断类型号。8259A的内部结构和引脚如图6-1所示。 8259A的命令共有7个,一类是初始化命令字,另一类是操作命令。8259A的编程就是根据应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1- OCW3分别写入初始化命令寄存器组和操作命令寄存器组。ICW1-ICW4各命令字格式如图6-2所示,OCW1-OCW3各命令字格式如图6-3所示,其中OCW1用于设置中断屏蔽操作字,OCW2用于设置优先级循环方式和中断结束方式的操作命令字,OCW3用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259内部寄存器的读出命令。 图6-1 8259内部结构和引脚图

基于单片机的工业循环水系统电气控制

第1章前言 随着工业的发展,人们越来越重视科学、稳定以及环保的生产生活方式;上述生产方式有赖于生产机器的稳定高效的运行,高效的运行可以利用一定的技术手段对设备进行改造达到目的,相应的,由于高效的生产方式,能量消耗的增加必然造成设备热能的散失加剧,这些热能使得设备的内部部件老化程度加快甚至故障,那么相应的冷却系统也就应运而生了。 水冷以其卓越的散热效果以及其经济性而倍受青睐,但是在水资源日益缺乏的今天,一次性的水冷无论从它的环保性以及其花费来说都不是好的选择,那么,一个经济高效的水循环系统就满足上述要求。 现在的水循环系统已经得到了广泛的运用,从大的如核电站,钢铁机加工企业到小的如电子,IT行业都有涉及,这其中前者占有绝大部分的份额。近些年,国家提出的节能减排的要求更加速了高效环保的水循环冷却系统的发展,这方面的技术也越来越受重视。 在PLC还未出现时候,传统的工业控制用的是继电器控制,这种控制电路有着不可抗拒的不利因素:安装不便,检修不易,不经济,抗干扰能力差;PLC 以其安装方便,经济耐用,可靠性高,抗干扰能力强等优点在近些年发挥了重大的作用,不少厂家纷纷把以前烦琐的线路改造成PLC控制。 所以,PLC及相关系统电路设计及运用对电气方向的大学生来讲是必备的技能,基于PLC的工业水循环电控系统的设计不论从技术的角度还是从发展的潜力都有着相当大的意义。 本篇论文从主电路的设计,控制检测电路的设计,电气设备的选择,PLC 的控制线路以及端口的分配和编程集中反映了工业水循环的电控系统的设计,调试,运用,从理论上描述了PLC控制水循环的运行机制,起到抛砖引玉的作用。

第2章可编程控制器的概述 可编程控制器,简称PC或PLC。它是20世纪70年代以来,在集成电路、计算机技术的基础上发展起来的一种新型工业控制设备。由于它具有功能强、可靠性高、配置灵活、使用方便以及体积小、重量轻等优点,近年来,已被国内外广泛应用于自动化控制的各个领域,并已成为实现工业自动化的支柱产品。为了更好的认识可编程控制器,现在将从以下几个方面加以介绍。 2.1 可编程控制器的由来与定义 2.1.1可编程控制器的由来 20世纪60年代,计算机技术已开始应用于控制领域,但由于计算机技术本身的复杂性,编程难度高,难以适应恶劣的工业环境以及价格昂贵等原因而未能广泛应用于工业控制。1968年美国最大的汽车制造商——通用汽车公司,为适应汽车型号的不断翻新,想寻找一种方法,在汽车设计时以尽可能减少重新设计和更换继电器控制系统,降低成本,缩短时间。设想把计算机的完备功能、灵活性和通用性等优点和继电器控制系统的简单易懂、操作方便、价格便宜等优点结合起来,做成一种能适应工业环境的通用装置。并把计算机的编程方法和输入方法加以简化,用面向控制过程、面向问题的“自然语句”进行编程,使得不熟悉计算机的人也能方便使用。装置的要求充分体现在提出的招标指标中: 1)编程简单,可在现场修改程序; 2)维护方便,最好是插件式; 3)可靠性高于继电器控制柜; 4)体积小于继电器控制柜; 5)可将数据直接送入管理计算机; 6)在成本上可与继电器柜竞争; 7)输入可以是交流115V; 8)在扩展时,原有系统只需作很小变更; 9)输出交流115V以上,2A以上,能直接驱动电磁阀; 10)用户程序存储器容量至少能扩展到4K。 根据招标要求,一年以后,美国数字设备公司率先研制出第一台可编程控

实验六 8259中断控制(1)

实验六8259中断控制(1) 一.实验目的 1. 学习8086/8088 CPU中断系统的知识。 2. 学习8259中断控制器的使用。 二.实验要求 编写程序,使8255的A口控制双色灯。CPU执行主程序时四个绿灯亮。用+pulse作为8259的IR2的输入信号,向CPU请求中断。CPU在中断服务程序中熄灭绿灯,并使红灯亮。中断服务程序结束,又返回主程序,再使绿灯亮。 三.实验电路及连线

1.将8255的PA0~PA3接双色灯的DG1~DG4。 2.将8255的PA4~PA7接双色灯的DR1~DR4。 3.将单脉冲电路的+pulse接8259的IR2。 4.将8255的CS接200~207H。 5.将8259的CS接210~217H。 6.将K15插针连上。 四.编程提示 1. 8255初始化:A口方式0输出。 2. 8259初始化:边沿触发。 3. 设置中断矢量,将中断服务程序入口地址送入中断矢量表的相应单元,在本系统中,80000H~800FFH相当于00000H~000FFH,其中用户可用中断矢量表区域为80014H~800FFH。 4. 主程序控制8255 PA0~PA3输出点亮绿灯。 5. 编制中断服务程序,使PA4~PA7输出点亮红灯,关闭绿灯。 五.实验步骤 1. 编制程序。 2. 在PC机上编辑、汇编及连接。 3. 在实验板上按实验连线要求连接硬件线路(注意先关闭实验板电源)。 4. 连接实验板与PC机的串行通信线,开实验板电源。 5. 将程序从PC机送入实验板。 6. 运行程序,此时双色灯绿灯亮,表明在运行主程序。 7. 按一下+pulse按钮,应当红灯亮绿灯灭,表明在执行中断服务程序;过一会儿红灯熄灭了,绿灯又亮了起来,表明中断服务程序已返回了主程序。 六.实验报告 应包括画电路图、试验程序框图、编程(要有注释)、调试过程及心得体会等。

51单片机IO口使用DE 经验

DANPAINJI 51单片机I/O口使用经验 字体大小: 小中大作者:来源:日期:2006-08-18 点击:364 按常规,在51端口(P1、P2、P3)某位用作输入时,必须先向对应的锁存器写入1,使FET 截止。一般情况是这样,也有例外。所谓IO口内部与电源相连的上拉电阻而非一常规线性电阻,实质上,该电阻是由两个场效应管并联在一起:一个FET为负载管,其阻值固定;另一个FET可工作在导通或截止两种状态(姑且叫可变FET)。使其总电阻值变化近似为0或阻值较大(20千欧--40千欧)两种情况。当和端口锁存器相连的FET由导通至截止时,该阻值近似为0,可将引脚快速上拉至高电平;当和锁存器相连的FET由截止至导通时,该电阻呈现较大阻值,限制了和端口锁存器相连的FET的导通电流。 51I/O口作为输入端和外部信号相连有时必须考虑上述特性,本人在设计LTP1245热敏打印头驱动板时,资料上推介热敏头“抬头”和“纸尽”信号由头中内嵌检测电路提供,MCU IO口采集该信号时需加缓冲(如74HC04)。当时本人认为51IO口上拉电阻为一较大阻值的固定电阻,对输入信号无影响,故未加缓冲电路(为降低成本能省则省)。可到调试PCBA时发现,“抬头”、“纸尽”状态变化时,采集信号只在3.90V--5.10V之间变化,应为低电平时无低电平输出。究其原因,打印头的“抬头”、“缺纸”信号输出为一光敏三极管的集电极输出,集电极和电源间原有一个负载电阻,饱和导通设计工作电流仅为450--1100微安,当该集电极直接和MCU IO口某位相连时,IO口上拉电阻和光敏三极管负载电阻并联,当IO口上拉时,上拉电阻极小致使光敏三极管直流负载线斜率陡然增大,工作状态进入放大区而非希望的饱和区。当时在不改硬件的条件下,我几乎无计可施,甚至想到了准备烧断IO口上拉电阻(前两天我曾发帖求救怎么烧断IO口上拉电阻的方法)后来听网友建议该方法风险较大,所以总想用软件方法解决。 后来我的解决方法是:采样信号前不是先向对应锁存器写1,而是先写入0,再写入1,延时约10毫秒以上,然后再采样(当然此法只适应于采样频率很低的情况)。这样作的目的是:先写入0迫使IO口上拉电阻先为一较大值,此时如果外部光敏三极管本来处于截止状态,当完成上述一系列锁存器的写入过程后光敏管仍为截止态,IO口正确采样到高电平;此时如果外部光敏三极管基极电流足够大有容许三极管饱和导通的条件(即基极吸收到充分光强),虽然采样一开始集电极被人为钳位在低电平,但当下一时隙和IO口相连的锁存器被写入1时,在IO口上拉电阻中的可变FET导通之前,光敏三极管已先进入饱和态而又把引脚钳位在实际输出的低电平,此时MCU IO口的上拉电阻仍为较大阻值,同时和原光敏三极管集电极负载电阻并联(考虑并联后阻值变化,原光敏三极管集电极负载电阻需增大到适当阻值)充当饱和导通后光敏三极管的负载电阻,事实上,IO口上拉电阻中的可变FET未来得及导通又被截止了,由此又保证了信号低电平的正确采样。经过波形测试问题得

8259A中断实验

实验8259单级中断控制器实验 一、实验目的 ⒈掌握8259中断控制器的接口方法。⒉ 掌握8259中断控制器的应用编程。 二、实验内容 利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。 三、实验接线图 图6-6 四、编程指南 ⑴8259芯片介绍 中断控制器8259A是专为控制优先级中断而设计的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。即中断结构可以由用户编程来设定。同时,在不需要增加其它电路的情况下,通过多片8259A的级联,能构成多达64级的矢量中断系统。

⑵本实验中使用3号中断源IR3,“”插孔和IR3相连,中断方式 为边沿触发方式,每拨二次AN开关产生一次中断,满5次中断,显示“8259——good”。如果中断源电平信号不符合规定要求,则自动转到7号中断,显示“Err”。 五、实验程序框图 IR3中断服务程序: IR7中断服务程序: 六、实验步骤 1、按图6-6连好实验线路图。

⑴8259的INT连8088的INTR;⑵8259的INTA连8088的INTA;⑶“” 插孔和8259的3号中断IR3插孔相连,“”端初始为低电平;⑷8259的CS端接FF80H孔。 2、运行实验程序,在系统处于命令提示符“P.”状态下,按SCAL键,输入12D0,按EXEC键,系统显示8259-1。 3、拨动AN开关按钮,按满l0次显示good。 七、实验程序清单 CODE SEGMENT ;H8259.ASM ASSUME CS: CODE INTPORT1 EQU 0FF80H INTPORT2 EQU 0FF81H INTQ3 EQU INTREEUP3 INTQ7 EQU INTREEUP7 PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口 ORG 12D0H START: JMP START0 BUF DB ?,?,?,?,?,? intcnt db ? data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h, 0c6h,0a1h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH START0: CLD ;递加 CALL BUF1 ;写显示缓冲初值 CALL WRINTVER ;写中断向量 MOV AL,13H ;写ICW1 MOV DX,INTPORT1 OUT DX,AL MOV AL,08H ;写ICW2 MOV DX,INTPORT2 OUT DX,AL MOV AL,09H ;写ICW4 OUT DX,AL MOV AL,0F7H ;写OCW1 OUT DX,AL MOV intcnt,01H ;中断计数初值 STI ;开中断 WATING: CALL DISP ;DISP 8259-1

单片机设计 按键顺序控制加减计数(1602 液晶显示) 程序

#include #include #define uchar unsigned char #define uint unsigned int #define LCD_IO P2 sbit KK1 = P3^2; //按键输入; sbit KK2 = P3^3; //按键输入; sbit LCD_RS = P3^5; sbit LCD_RW = P3^6; sbit LCD_EN = P3^7; uchar code LCD_line1[] = " The Counter"; int idata mydata=0; /************************************************************** * 名称: Delay_1ms() * 功能: 延时子程序,延时时间为1ms * x * 输入: x (延时一毫秒的个数) * 输出: 无 ***************************************************************/ void Delay_1ms(uint x) { uchar i, j; for(i = 0; i < x; i++) for(j = 0; j <= 148; j++); } /************************************************************** * 名称: lcd_bz( ) * 功能: 测试忙碌子程序 * 输入: 无 * 输出: result ***************************************************************/ bit lcd_bz() { bit result; LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); _nop_(); _nop_(); result=(bit)(P3&0x80); LCD_EN = 0; return result; }

8259中断实验

XX学院 实验报告 实验名称 姓名 学号 班级 教师 日期

一、实验内容与要求 1.1 实验内容 本次实验分为如下3个子实验: (1)单中断请求实验:利用系统总线上中断请求信号MIR7,设计一个单一中断请求实验; (2)双中断优先级实验:利用系统总线上中断请求信号MIR6和MIR7,设计一个双中断优 先级应用实验,观察8253对中断优先级的控制; (3)级联中断实验:利用系统总线上中断请求信号MIR7和SIR1,设计一个级联中断应用 实验。 1.2 实验要求 本次实验中三个子实验的实验要求如下: (1)单中断请求实验:单脉冲KK1+与主片8259的IR7相连。每按KK1+,进入一次中断, 输出7; (2)双中断优先级实验:单脉冲KK1+连主片8259的IR7,KK2+连其IR6。每当KK1+按 下时显示“7”,每当KK2+按下显示“6”; (3)级联中断实验:单脉冲KK1+连主片8259的IR7,KK2+连从片的IR1。每当KK1+按 下时显示“M7”,每当KK2+按下显示“S1”。 二、实验原理与硬件连线 2.1 实验原理 (1)中断控制器8259简介 在Intel 386EX芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。该中断控制单元就功能而言与工业上标准的82C59A是一致的,操作方法也相同。从片的INT连接到主片的IR2信号上构成两片8259的级联。 在TD-PITE实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供系统串口使用。8259的内部连接及外部管脚引出如图1-1:

单片机课程设计单片机实现的顺序控制

单片机课程设计单片机实现的顺序控制 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

电气及自动化课程设计报告题目:单片机实现的顺序控制 课程:单片机系统设计与Proteus仿真 学生姓名: 学生学号: 年级: 专业: 班级: 指导教师: 2015年9月 目录

一、课程设计性质和目的 单片机课程设计是《单片机原理与应用及C51程序设计》课程结束后的一门综合性实践课。利用所学知识用单片机实现顺序控制。所选题目《单片机实现的顺序控制》紧密结合所学的主要内容,加深巩固所学知识,同时对所学内容进行扩展,有一定的深度和广度。通过电路设计、安装、调试等一系列环节的实施使我对单片机有了更进一步的了解,并且是我有了以下收获。 (1)加强了对单片机和C语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。 (2)用单片机模拟实现具体应用,使个人设计能够真正使用。 (3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。(4)提高了利用已学知识分析和解决问题的能力。 二、软件介绍 1、 Proteus Protues软件是英国Lab Center Electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus是世界上着名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、 PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。 2、 Keil uVision4

实验三-单片机工业顺序控制

实验三单片机工业顺序控制(设计型) 一、实验目的与要求 1.学习和掌握单片机工业顺序控制程序的应用编程; 2.熟悉和掌握单片机中断功能的使用。 二、实验仪器 1、DJ-598KC单片机开发系统 1台 2、仿真器(EASYPROBE) 1只 3、PC 机 1台 三、实验容 (2学时) 在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些连续生产过程,按某种顺序有规律地完成预定的动作,对这类连续生产过程的控制称顺序控制,象注塑机工艺过程大致按“合模→注射→延时→开模→产伸→产退”顺序动作,用单片机最易实现。 设由单片机P1.0~1.6控制注塑机的七道工序,模拟控制七只发光二极管的点亮,低电平有效,设定每道工序时间转换为延时时间,P3.4为开工启动开关,高电平启动。P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警声音输出,设定前6道工序只有一位输出,第七道工序三位有输出。 (1)实验电路及接线图 (2)实验程序框图

四、实验步骤: 按图接好连线。执行程序,把K1接到高电平,观察发光二极管点亮情况,确定工序执行是否正常,然后把K2置为低电平,看是否有声音报警,恢复中断1.报警停,又从刚才报警时一道程序执行下去。可用单步、单步跟踪,非全速断点、全速断点,连续执行功能调试软件,直到符合自己程序设计要求为止。 五、实验参考程序 ①汇编代码程序:(E:\DJ51\598KASM\HW04.ASM) ORG 0000H LJMP PO10 ORG 0013H LJMP PO16 ORG 0190H PO10:MOV P1,#7FH ORL P3,#00H PO11:JNB P3.4,PO11 ;开工吗? ORL IE,#84H ORL IP,#04H MOV PSW,#00H ;初始化 MOV SP,#53H PO12: M OV P1,#7EH ;第一道工序 ACALL PO1B MOV P1,#7DH ;第二道工序 ACALL PO1B MOV P1,#7BH ;第三道工序 ACALL PO1B MOV P1,#77H ;第四道工序 ACALL PO1B MOV P1,#6FH ;第五道工序 ACALL PO1B

单片机IO口结构与工作原理

一、P0端口的结构及工作原理 P0端口8位中的一位结构图见下图: 由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。 下面,先分析组成P0口的各个部分: 先看输入缓冲器:在P0口中,有两个三态的缓冲器,在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),上面一个是读锁存器的缓冲器,下面一个是读引脚的缓冲器,读取P0.X引脚上的数据,要使这个三态缓冲器有效,引脚上的数据才会传输到部数据总线上。 D锁存器:在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。 多路开关:在51单片机中,不需要外扩展存储器时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(部没有ROM)的单片机或者编写的程序超过了单片机部的存储器容量,需要外扩存储器时,P0口就作为‘地址/数据’总线使用。这个多路选择开关就是用于选择是做为普通I/O口使用还是作为‘数据/地址’总线使用的选择开关了。当多路开关与下面接通时,P0口是作为普通的I/O口使用的,当多路开关是与上面接通时,P0口是作为‘地址/数据’总线使用的。 输出驱动部份:P0口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。

P0口作为I/O端口使用时,多路开关的控制信号为0(低电平),V1管截止,多路开关是与锁存器的Q非端相接的(即P0口作为I/O口线使用)。作为地址/数据线使用时,多路开关的控制信号为1,V1管由地址/数据线决定,多路开关与地址/数据线连接。 输出过程: 1、I/O输出工作过程:当写锁存器信号CP有效,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q非端→多路开关→V2管的栅极→V2的漏极到输出端P0.X。这时多路开关的控制信号为低电平0,V1管是截止的,所以作为输出口时,P0是漏极开路输出,类似于OC门,当驱动上接电流负载时,需要外接上拉电阻。 下图就是由部数据总线向P0口输出数据的流程图(红色箭头)。 2、地址输出过程 控制信号为1,地址信号为“0”时,与门输出低电平,V1管截止;反相器输出高电平,V2管导通,输出引脚的地址信号为低电平。

过程控制工程孙洪程答案

过程控制工程孙洪程答案 【篇一:过程控制工程教学大纲】 xt>过程控制工程 (process control engineering) 课程性质:专业主干课适用专业:机电一体化技术 学时分配:课程总学时:60学时其中理论课学时:60学时;实验 课学时:0学时;先行课程情况:先行课:高等数学、单片机原理 与应用、自动控制原理、传感器技术等;教材:孙洪程,李大宇, 翁维勤编著.《过程控制工程》.北京:高等教育出版社, 2013 年12月重印 参考书目:1、邵裕燊.过程控制工程.北京:机械工业出版社 2、何衍庆,俞金寿,蒋慰孙.工业生产过程控制.北京:化学工业 出版社 一、课程的目的与任务 过程控制工程是机电一体化技术专业开设的主干课之一,主要研究 工业生产过程中应用比较成熟的控制系统。 随着现代工业的迅速发展,对工业过程的要求也越来越高,用于工 业过程控制的自动化装置也迅速发展,因此对工业过程控制的要求 也随之提高。作为研究工业过程控制系统组成,基本控制规律,以 及工业过程控制系统的设计,投运的课程-----过程控制工程也越来越 受到重视,并使得该课程成为自动化相关专业的一门重要的专业课程。 本课程的任务是:使学生通过本课程的学习,获得工业过程控制系 统的基本理论、基本知识和基本技能,掌握测量与变送器、执行器、智能控制仪表、以及工业生产过程中的一些具体设备等自动化装置 的原理与使用方法,掌握基本过程控制系统设计的方法与控制器参 数的整定方法,从而为从事与本课程有关的的技术工作打下一定的 基础。 二、课程的基本要求 本课程采用传统的课堂讲授模式,在课堂安排上,做到精讲教学内 容和学生课外自学、阅读相结合,使学生了解重点、认识难点,突 出重点、剖析难点,掌握重点、化解难点,提高学生解决问题能力;引导学生课前预习、课后复习,加深对其基础知识的巩固和对前沿 领域的了解。

实验六 8259中断控制(1)

星期二1-2节序号:1 实验六8259中断控制(1) 12120771 易远明 一、电路图 二、程序框图

三、实验程序及注释 ASSUME CS:CODE INTPORT1 EQU 0060H INTPORT2 EQU 0061H INTQ3 EQU INTREEUP3 INTCNT DB ? ORG 1200H START: CLD MOV DX,0FF2BH MOV AL,80H ;设置8255方式字:A口出 OUT DX,AL CALL WRINTVER ;WRITE INTRRUPT MOV AL,13H ;ICW1=00010011B,边沿触发、单8259、需ICW4 MOV DX,INTPORT1 OUT DX,AL MOV AL,08H MOV DX,INTPORT2 OUT DX,AL MOV AL,09H ;ICW4=00001001B,非特殊全嵌套方式、缓冲/从、正常EOI OUT DX,AL MOV AL,0F7H ;OCW1=11110111B OUT DX,AL MOV INTCNT,01H ;延时 STI WATING: MOV DX,0FF28H ;主程序绿灯亮(低四位为0则绿灯亮,高四位为1故红灯灭)MOV AL,0F0H OUT DX,AL JMP WA TING WRINTVER: MOV AX,0H

MOV ES,AX MOV DI,002CH ;中断向量地址2CH=0BH*4 LEA AX,INTQ3 STOSW ;送偏移地址 MOV AX,0000h STOSW ;送段地址 RET INTREEUP3:CLI ;中断服务子程序开始 MOV DX,0FF28H ;中断服务子程序执行红灯亮 MOV AL,0FH ;低四位为1则绿灯灭,高四位为0故红灯亮 OUT DX,AL CALL DELAY1S MOV AL,20H ;OCW2=001 00 000B非特殊EOI命令,结束命令,用于完全嵌套方式的中断结束 MOV DX,INTPORT1 OUT DX,AL STI ;开系统中断 IRET DELAY1S: MOV CX,0FFFFH MOV BX,5 L:DEC CX JNZ L DEC BX JNZ L RET CODE ENDS END START

单片机课程设计单片机实现的顺序控制

单片机课程设计单片机实 现的顺序控制 This manuscript was revised on November 28, 2020

电气及自动化课程设计报告题目:单片机实现的顺序控制 课程:单片机系统设计与Proteus仿真 学生姓名: 学生学号: 年级: 专业: 班级: 指导教师: 2015年9月 目录

一、课程设计性质和目的 单片机课程设计是《单片机原理与应用及C51程序设计》课程结束后的一门综合性实践课。利用所学知识用单片机实现顺序控制。所选题目《单片机实现的顺序控制》紧密结合所学的主要内容,加深巩固所学知识,同时对所学内容进行扩展,有一定的深度和广度。通过电路设计、安装、调试等一系列环节的实施使我对单片机有了更进一步的了解,并且是我有了以下收获。 (1)加强了对单片机和C语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。 (2)用单片机模拟实现具体应用,使个人设计能够真正使用。 (3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。 (4)提高了利用已学知识分析和解决问题的能力。 二、软件介绍 1、 Proteus Protues软件是英国Lab Center Electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus是世界上着名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的

相关主题
文本预览
相关文档 最新文档