
计算机控制技术课设报告.doc
12页计算机控制技术课程设计报告设计题目: 智能婴儿床 班 级: 自动化 082 班 姓 名: 时 间: 2010 年 6 月 25 日 .一、系统概述 1 智能婴儿床设计背景随着智能家居的逐步实现,一种新型的婴儿床也开始越来越多地受到人们的青睐婴儿常半夜啼哭,父母们往往为了照顾婴儿而疲惫不堪.而且传统的婴儿床的设计简单,功能比较单一,不能很好的帮助父母照顾自己的小孩近年来,国内外有很多研究者开始研究开发新型婴儿床,这可以为父母们省去不少麻烦为此,我二人想出此设计方案,作为贴心妈妈的好帮手,关心宝宝的成长此作品亦可以用于托儿所中,帮助阿姨们更好的照看宝宝,对宝宝有益,也减轻一些照看者的负担2 智能婴儿床的功能概述系统设计并建立一个由微机控制的智能婴儿床控制系统,完成以下基本控制功能①.家长控制婴儿床的摆动(电机正反转控制) ②.婴儿啼哭,温度检测比较③.声音报警功能④.报警灯闪烁⑤.婴儿啼哭,婴儿床的摆动(电机正反转控制) 设计相应的 A/D、键盘、显示接口和传感器电路,可以进行温度检测、显示、报警以及启动婴儿床摆动,其中控制输入部分采用模拟量或开关量进行控制。
3 系统简单示意图(见图 1)二、系统硬件设计 经过认真的调试与各部分功能的检测,实验室设备不能够完成我们的设计要求,于是我们做出了一些变动下面先对我们实际完成的工作进行介绍,后面会附上我们预期的设计模型1、硬件连接图(见图 2)2、各部分接线说明 此设计中我们的接线大致分为两大部分,一部分是输入部分,另一部分是输出部分我们用接口芯片 8255 控制输入输出,其中 PA、PB 口为输出口,PA口八位接 LED 单元,用流水灯显示代替电机的转动,PB0 口连接驱动及温度检测单元,PB1—PB7 流水灯显示报警PC0 为家长输入开关,PC1 为模拟婴儿哭声的开关三、系统软件设计 1 控制任务(1)家长控制开关 K0 闭合时,电机转动 (2)婴儿啼哭模拟开关 K1 闭合K0 无动作时,开始检测温度温度大于设定的门槛温度时,流水灯报警显示,否则电机转动,婴儿床摆动 (3)家长控制开关 K0、婴儿啼哭模拟开关 K1 均闭合时,电机转动,检测温度值并进行相应控制2.原理分析在此设计中我们将一个完整的婴儿床程序进行了表述,正常情况下家长可以控制婴儿床摆动,当孩子啼哭后可以进行温度检测,从而判断孩子是因为尿床还是其他原因(尿床时采样温度大于门槛温度) 。
若是因为尿床,则报警显示灯进行流水显示,以提醒家长,若是其他原因则表示电机应该转动,来带动婴儿床摇摆家长控制开关 K0 和婴儿啼哭模拟开关 K1 互不影响,两者的通断可导致 4 种情况,不同情况之间可以自由切换3.软件流程图 (见图 3)四、期望设计方案1、功能概述与实际实现的功能相比较,预期的报警设置更加人性化除了有流水灯显示外,还有声音提醒功能此外,由于驱动电路的限制,步进电机在实际系统中没能正常转动,我们暂时用了 LED 灯代替经过检验,有驱动电路时步进电机完全可以正常运行2、预期硬件连接图(见图 4)3、软件说明与实际的软件程序相比较,预期的程序增加了声音子程序和步进电机子程序的调用五、结束语 通过一天半的课程设计实习,我们收获颇丰这次的课题是我们自己设计的,我们信心满满,充满兴趣在接近半天的时间里,我们一直在做软硬件的检测工作,包括声音、流水灯、步进电机正反转的检测在把各种软件程序、硬件结合起来后,我们进行各种接口扩展,尤其是驱动电路的扩展我们发现电机和声音单元无法同时工作最后我们又想各种办法代替历时一天半,我们终于完成了设计任务,兴奋感不言而喻通过此次设计实习,增强了我们的动手、编程以及团队合作能力,这将成为我们一次宝贵的经历与财富。
总体来说本次设计还算成功只是需要进一步完善最后谢谢老师能给我们一个这么好的实际动手的机会!参考文献:[1]杨鹏,计算机控制系统,机械工业出版社[2]杨素行,微型计算机系统原理及应用,清华大学出版社[3]TD-PID+实验系统用户手册附录IOY0 EQU 0d200H ;片选 IOY0 对应的端口始地址IOY1 EQU 0d240H ;片选 IOY1 对应的端口始地址MY8255_A EQU IOY0+00H*4 ;8255 的 A 口地址MY8255_B EQU IOY0+01H*4 ;8255 的 B 口地址MY8255_C EQU IOY0+02H*4 ;8255 的 C 口地址MY8255_MODE EQU IOY0+03H*4 ;8255 的控制寄存器地址PC8254_COUNT0EQU 40H ;PC 机内 8254 定时器 0 端口地址PC8254_MODE EQU 43H ;PC 机内 8254 控制端口地址AD0809 EQU IOY1+00H*4 ;AD0809 端口地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSdata SEGMENT djkz DB ?ADZ DB ? POUT DB 0TIME DB 1MES0 DB 'TIME=$'MES1 DB ' TEMPREATURE=$'LA DB 1 ;定义数据变量LB DB 2LDJ DB ?TEMTABLE DB 14H, 14H, 14H, 14H, 14H, 14H, 14H, 14H, 14H, 14HDB 15H, 16H, 17H, 18H, 19H, 1AH, 1BH, 1CH, 1DH, 1EHDB 1EH, 1FH, 20H, 21H, 23H, 24H, 25H, 26H, 27H, 28HDB 29H, 2AH, 2BH, 2CH, 2DH, 2EH, 2FH, 31H, 32H, 32HDB 33H, 34H, 35H, 36H, 37H, 38H, 39H, 3AH, 3BH, 3CHDB 3DH, 3EH, 3FH, 40H, 42H, 43H, 44H, 45H, 46H, 47HDB 48H, 49H, 4AH, 4BH, 4CH, 4DH, 4EH, 4FH, 50H, 4FHDB 50H, 51H, 52H, 53H, 54H, 55H, 56H, 57H, 58H, 59HDB 5AH, 5BH, 5CH, 5DH, 5EH, 5FH, 60H, 61H, 62H, 63HDB 64H, 64H, 65H, 65H, 66H, 66H, 67H, 68H, 69H, 6AHDB 6BH, 6CH, 6DH, 6EH, 6EH, 6FH, 6FH, 70H, 71H, 72HDB 73H, 74H, 75H, 76H, 77H, 78H, 79H, 7AH, 7BH, 7CHDB 7DH, 7EH, 7FH, 80H, 81H, 82H, 83H, 84H, 84H, 85HDB 86H, 87H, 88H, 89H, 8AH, 8BH, 8CH, 8EH, 8FH, 90HDB 91H, 92H, 93H, 94H, 95H, 96H, 97H, 98H, 99H, 9AHDB 9BH, 9BH, 9CH, 9CH, 9DH, 9DH, 9EH, 9EH, 9FH, 9FHDB 0A0H,0A1H,0A2H,0A3H,0A4H,0A5H,0A6H,0A7H,0A8H,0A9HDB 0AAH,0ABH,0ACH,0ADH,0AEH,0AFH,0B0H,0B0H,0B1H,0B2HDB 0B3H,0B4H,0B4H,0B5H,0B6H,0B7H,0B8H,0B9H,0BAH,0BBHDB 0BDH,0BEH,0BEH,0C1H,0C2H,0C3H,0C4H,0C5H,0C6H,0C8H DB 0CAH,0CCH,0CEH,0CFH,0D0H,0D1H,0D2H,0D4H,0D5H,0D6HDB 0D7H,0D8H,0D9H,0DAH,0DBH,0DCH,0DDH,0DEH,0E3H,0E6HDB 0E9H,0ECH,0F0H,0F2H,0F6H,0FAH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH TTABLE DB 01H,03H,02H,06H,04H,0CH,08H,09H,08h,0ch,04h,06h,02h,03h,01hDATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AX,OFFSET TTABLEMOV LDJ,AXMOV DX,MY8255_MODE ;初始化 8255 工作方式MOV AL,81H ;工作方式 0,A 口输出,B 口输出OUT DX,ALA: MOV AL,10MOV AH,0BH ;判断是否有按键按下INT 21HCMP AL,0JZ A1 ;无按键则跳回继续循环,有则退出MOV AX,4C00HINT 21HA1: MOV DJKZ,0MOV DX,MY8255_CLOOP1: IN AL,DXAND AL,01HJZ LOOP2;父母开关关INC DJKZ;开CALL DIANJILOOP2: IN AL,DXAND AL,02HJZ A;没哭 MO DX,MY8255_b ;初始化 8255 工作方式MOV AL,0H ;工作方式 0,A 口输出,B 口输出OUT DX,ALMOV DX,PC8254_MODE ;初始化 PC 机定时器 0,定 10msMOV AL,36HOUT DX,ALMOV DX,PC8254_COUNT0MOV AL,69HOUT DX,AL MOV AL,2DHOUT DX,ALMOV AX,DATAMOV DS,AXPPP: CALL PICKAD ;A/D 采样, 结果放在 ADZ 中MOV AX,DATAMOV DS,AXLEA DX,MES0 ;DISPLAY TIME=**MOV AH,9 INT 21H MOV AL, TIME ;DISPLAY TIMECALL HEX_BCD ;CONVERT TO BCDCALL DSP_AL ;DISPLAY TIMELEA DX,MES1 ;DISPLAY TEMPREATURE=MOV AH,9 INT 21H MOV AL,ADZ ;CONVERT TO TEMPREATUREMOV BL,100MUL BLMOV BL,255DIV BLPUSH AXCALL HEX_BCD ;CONVERT TO BCDCALL DSP_AL ;DISPLAY TMPPOP AXCALL CRLF ;回车、换行INC TIMECMP AL,10;设置门槛温度值JA LOOP15CMP DJKZ,1JZ A8CALL DIANJIJMP A LOOP15:CALL LIUSHUIDENGJMP A。












