当前位置:文档之家› 恒张力控制系统

恒张力控制系统

第一章设计说明课题简介设计一个恒张力收盘控制系统,就是要控制卷取物体时保持物体相互拉长或者绷紧的力。

张力应用于最广泛的造纸、纤维、塑料薄膜、电线、印刷品、磁带等轻工业中,带材或线材的收放卷张力对产品的质量起着至关重要的作用。

在收卷和放卷的过程中,为保证生产的质量及效率,保持恒定的张力是很重要的。

本系统采用人及交互式的控制方法,由使用者输入设定张力值,通过磁粉制动器、传感器、转换芯片与单片机组成一个闭环系统,使张力恒定在设定值,达到恒张力控制的效果。

设计目的通过本次课题设计,应用《单片机原理及应用》等所学相关知识及查阅资料,完成恒张力收盘控制系统的设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。

通过本次设计的训练,可以使我在基本思路和基本方法上对基于MCS-51单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。

设计任务在本次课程设计中,主要完成如下方面的设计任务:1、设计单片机系统原理图(A0,PROTEL/CAD或手画);2、编写系统程序(主程序+子程序);3、写设计说明书;(设计说明,程序流程图,程序);4、答辩(十九周周四下午两点);设计方法由按键驱动单片机中断,进入按键及显示程序,通过使用者输入数据并通知在LED上显示,输入数据储存在相关区域内备之后使用,返回到主程序后单片机接受由力传感器产生的经AD转换芯片转换后的数字力信号,通过与之前设定值的比较计算,得出控制信号,经DA 转换芯片变为模拟电压信号输入磁粉制动器控制端。

若没有键盘中断,则如此往复运行信号检测、运算、输出程序达到动态平衡。

第二章硬件设计及芯片介绍硬件系统是指构成微机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。

单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。

本设计选用以A T89S51单片机为主控单元。

单片机的选择A T89S51是美国A TMEL公司声场的低功耗,高新能CM058位单片机,片内含4k bytes的可系统编程Flash只读程序存储器,器件采用A TMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。

它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,A TMEL公司的功能强大,价位低A T89S51单片机可以提供欧许多高性价比的应用场合,可灵活应用于各种控制领域。

图3所示为采用双列直插式封装的A T89S51芯片管脚图。

图3A/D转换芯片的选择ADC0809是美国生产的CN10S工艺的8通道,八位逐次逼近式的A/D转换器,分辨率为8位,满足系统要求。

管脚功能说明如下:IN0~IN7:8路模拟信号入口D0~D7:八位转换后的数据输出口START:A/D转换启动信号ALE:地址锁存信号EOC:转换结束信号OE:输出运行控制端CLK:时钟信号VREF+:A/D转换器的正参数电压VREF-: A/D转换器的负参数电压VCC:电源ADDA、ADDB、ADDC:模拟信号接通的多路开关选择码D/A转换芯片的选择DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A 异步输入、同步转换等)。

所以这个芯片的应用很广泛,关于DAC0832应用的一些重要资料见下图:DI0~DI7:数据输入线,TLL电平。

ILE:数据锁存允许控制信号输入线,高电平有效。

CS:片选信号输入线,低电平有效。

WR1:为输入寄存器的写选通信号。

XFER:数据传送控制信号输入线,低电平有效。

WR2:为DAC寄存器写选通输入线。

Iout1:电流输出线。

当输入全为1时Iout1最大。

Iout2: 电流输出线。

其值与Iout1之和为一常数。

Rfb:反馈信号输入线,芯片内部有反馈电阻.Vcc:电源输入线(+5v~+15v)V ref:基准电压输入线(-10v~+10v)AGND:模拟地,摸拟信号和基准电源的参考地.DGND:数字地,两种地线在基准电源处共地比较好.DAC0832输出的是电流,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。

外部储存器的选择选用2864A外部存储器,采用E2PROOM的突出优点是能够在线擦出,还有掉电不丢失等优点。

锁存器74LS164是高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL) 器件的引脚兼容。

74HC164、74HCT164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。

数据通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。

两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。

时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(DSA和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。

主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。

第三章程序框图主外部中断键盘LE D 程序AD转化流程图数据处理流程图第四章程序ORG 0000HLJMP MAINORG 0013HLJMP INT1ORG 0003HLJMP INT0MAIN:主程序开始MOV IE,#85H;打开中断总开关和两个外部中断MOV IP,#01H;设中断0为高优先级,1为低优先级LCALL ADCHANGE;调用AD转换子程序LCALL DA TA TREA T;调用数据处理子程序LCALL DACHANGE;调用DA转换子程序CPL P1.5SIMP MAININT0:外中断0SETB PCON.1RETI************************************************************ADCHANGE:SETB DACSCLK EQU P1.1DA TA EQU Q1.2ADCS EQU Q1.3ORG 0100HADMAIN:ADLOOP1:CJNE P1.1,#1H,ADLOOP1;查看是否转换完,若没有,则等待MOV SP,#60HMOV A,#0FFHCLR CLKCLR ADCSSETB P1.4SETB P1.5SETB DA TA1MOV R5,#8ADCONVTER:PUSH ACCCLR ACCCLR ADCSADLOOP:MOV C,DA TA;读取前8位数据到A中RLC ASETB CLKNOPCLR CLKDJNZ R5,ADLOOP;读后两位存放在B中MOV C,DA TAMOV B.1,CSETB CLKNOPCLR CLKMOV C,DA TAMOV B.0,CSETB CLKNOPCLR CLK;数据处理RL ARL AMOV C,ACC.1MOV B.3,CMOV C,B.1MOV ACC.1,CMOV C,ACC.0MOV B.2,CMOV C,B.0MOV ACC.0,C;把低八位数据放到2FH单元MOV 2FH,A;把高八位数据放到2EH单元MOV A,BRR ARR AANL A,#03HMOV 2EH,APOP PSWPOP ACCRET****************************************************** INT1:PUCH ACCPUSH PSWCLR EAPUSH PSWPUSH ACCSETB EAMOV DPTR,#7FFFH;置8279命令/状态口地址MOV A,#0D1H ;置清显示命令MOVX @DPTR,A;送清显示命令WEIT:MOVX A,@DPTR ;读状态JB ACC.7,WEIT ;等待清显示RAM结束MOV A,#34H ;置分频系数,晶振频率12MHZMOVX @DPTR,A;送分频系数MOV A,#40H ;置键盘/显示命令MOVX @DPTR,A;MOV IE,#84H ;允许8279中断键盘中断子程序如下:KEY:PUSH PSWPUSH DPLPUSH DPHPUSH ACCPUSH BSETB PSW.3MOV DPTR,#7FFFH ;置状态口地址MOVX A,@DPTR ;读FIFO状态ANL A,#0FH ;JZ PKYR ;MOV A,#40H ;置读FIFO命令MOVX @DPTR,A;MOV DPTR,#7FFEH ;置数据口地址MOVX A,@DPTR ;读数据MOV R3,#6MOV R0,#30HLJMP KEY1 ;转键值处理程序PKYR:POP BPOP ACCPOP DPHPOP DPLPOP PSWLCALL DISKEY1:CJNE A,#0C0H,KEY2MOV @R0,#1INC R0DJNZ R3,KEY1SJMP PKYRKEY2:CJNE A,#0C8H,KEY3MOV @R0,#2INC R0DJNZ R3,KEY1SJMP PKYRKEY3:CJNE A,#0D0H,KEY4MOV @R0,#3INC R0DJNZ R3,KEY1SJMP PKYRKEY4:CJNE A,#0D8H,KEY5MOV @R0,#4INC R0DJNZ R3,KEY1SJMP PKYRKEY5:CJNE A,#0C1H,KEY6MOV @R0,#5INC R0DJNZ R3,KEY1SJMP PKYRKEY6:CJNE A,#0C9H,KEY7MOV @R0,#6INC R0DJNZ R3,KEY1SJMP PKYRKEY7:CJNE A,#0D1H,KEY8MOV @R0,#7INC R0DJNZ R3,KEY1SJMP PKYRKEY8:CJNE A,#0D9H,KEY9MOV @R0,#8INC R0DJNZ R3,KEY1SJMP PKYRKEY9:CJNE A,#0C0H,KEY0MOV @R0,#9INC R0DJNZ R3,KEY1SJMP PKYRKEY0:MOV @R0,#0INC R0DJNZ R3,KEY1SJMP PKYR显示子程序如下:DIS:MOV DPTR,#7FFFH ;置8279命令/状态口地址MOV R0,#30H ;字段码首地址MOV R7,#06H ;8位显示MOV A,#90H ;置显示命令字MOVX @DPTR,A;MOV DPTR,#7FFEH ;置数据口地址LP:MOV A,@R0 ;取显示数据ADD A,#0BH ;加偏移量MOVC A,@+PC ;查表,取得数据的段码MOVX @DPTR,A;送段码显示INC R0 ;调整数据指针DJNZ R7,LPCLR EAPOP ACCPOP PSW ;出栈SETB EARETISEG:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;用共阴极LED****************************************************************DA TA TREA T:PUSH ACCPUSH PSWMOV R3,#4MOV R4,#2MOV A,31HRL ARL ARL ARL AMOV 31H,ADA TALOOP1:MOV A,31HRLC AMOV A,30HRLC ADJNZ R3,DA TALOOP1;将键盘输入数据放入30H中MOV B,#4HMOV A,2EHDIV ABANL A,#03HMOV 2EH,AMOV 2FHDIV ABANL A,#0FDHMOV 2FH,ADA TALOOP2:MOV A,2EHRRC AMOV 2EH,AMOV A,2FHRRC AMOV 2FH,ADJNZ R4,LOOP2;将AD装换输入的十位数转换为八位并且存放到2FH单元中CLR CMOV R5,CMOV A,30HSUBB A,2FH;将键盘输入值减去AD输入值MUL ABCJNE R5,#0,JIANADDC A,@R1MOV @R1,ASJMP DA TALOOP3JIAN:XCH A,@R1SUBB A,@R1MOV @R1,ADA TALOOP3:POP PSWPOP ACCRET*********************************************设转换之前把高8位放在R1中,把低4位放在R0的高四位中,其中底2位填充位为任意位,需要在运行此程序前处理好数据DACHANGE:SETB ADCSP1.4 EQU DACSP1.1 EQU CLKP1.2 EQU DINCLR CLKCLR DACS;此芯片必须在SCLK为低的情况下把片选拉低SETB P1.3SETB P1.5MOV R3,#8MOV A,R1ADLOOP1:RLC AMOV DIN,CSETB CLKNOPCLR CLKDJNZ R3,ADLOOP1MOV R3,#4MOV A,R0ADLOOP2:RLC AMOV DIN,CSETB CLKNOPCLR CLKDJNZ R3,ADLOOP2RET。

相关主题