机械电子工程专业机电一体化方向专业设计指导书_第1页
机械电子工程专业机电一体化方向专业设计指导书_第2页
机械电子工程专业机电一体化方向专业设计指导书_第3页
免费预览已结束,剩余53页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、机电一体化方向专业设计指导书天津理工大学机械工程学院机电工程系2013-6-24目录一、实践目的 - 3 -二、实践目标 - 3 -三、实践学时 - 3 -四、实践地点 - 3 -五、实践要求 - 3 -六、组织形式 - 4 -七、实践内容 - 4 -八、进度安排 - 4 -九、考核依据 - 4 -十、实验设备 - 4 -十一、注意事项 - 5 -附录一:焊接工具清单 - 5 -附件二:单片智能机寻迹机器人材料清单 - 6 -附录三:万用表的使用 - 7 -附件四:电烙铁的使用方法 - 8 -附件五:智能寻迹机器人介绍 - 8 -附件六:程序状态指示灯演示验证程序 - 10 -附件七:流水灯演

2、示验证程序 - 12 -附件八:数码管演示验证程序 - 15 -附件九:数码管及跑马灯演示验证程序 - 17 -附件十:按键中断查询演示验证程序 - 20 -附件十一:话筒声音识别演示验证程序 - 23 -附件十二:光敏电阻与蜂鸣器演示验证程序 - 25 -附件十三:红外反射与直流电机驱动演示验证程序 - 27 -附件十四:串口通信程序演示验证程序 - 32 -实验十五:综合功能演示验证程序 - 34 -、实践目的在学习了电路、模拟电子技术、数字电子技术、微机原理及接口技术、 测试技术与信号分析 等专业先修课程的基础上, 进一步培养学生机电综合应用技能, 为后续的毕业设计打好基础。、实践目标培

3、养学生综合应用所学知识来构建微机应用系统和实际动手能力,强化学生实践能力,激发学生专业课的学习热情。三、实践学时3个集中教学周+3个分散教学周四、实践地点地点:星期上午 8:00 12:00下午 2:00 4:00-一-二三四五*实验室只对机电综合实践阶段开放,综合性设计性实验采取分散式进行。五、实践要求(1) 完成专业设计说明书1份(不少于 5000 字);(2)组装并焊接一个完整的智能寻迹机器人套件;(3)与该系统配套并编译通过的软件系统;(4)至少完成该系统的相关功能其中之一的:A. 智能寻迹功能(可走黑线或白线)B. 实现智能防撞功能C. 实现遥控机器人基本动作功能D. 实现声控机器人

4、基本动作功能六、组织形式每两个人一组七、实践内容(1)组装智能寻迹机器人机械结构部分(2)完成单片机 AT89S51/AT89S52系统硬件焊接与调试;(3) 完成软件编写与调试(实现至少一种功能);(4)完成专业设计说明书(5) 参加专业设计答辩(每组10分钟陈述,回答问题 5分钟)八、进度安排周次工作内容第1周组装机器人并熟悉控制过程,集中安排第2周焊接机器人并根据附录程序进行测试,集中安排第3周实现基本功能设计,集中安排第4周综合设计和调试阶段,分散安排,每周安排一次答疑第5周综合设计和调试阶段,分散安排,每周安排一次答疑第6周撰写设计说明书并准备答辩,答辩时间另定九、考核依据(1 )专

5、业设计说明书完整性、正确性(10%);(2)机械结构部分美观性、合理性(20%)(3 )硬件系统,焊接完整、调试通过(20%);(4 )软件系统,编译通过、达到功能要求(20% );(5)答辩及回答问题(20%)(6) 其它拓展创新功能实现(10%)十、实验设备(1 )智能寻迹机器人电路部分一套(2 )红外遥控器一套(3)智能寻迹机器人实验指导书一本(4)COM串口通信线一条(5 )智能寻迹机器人机械部分一套(6)焊接工具一套(两个组共用一套,清单见附件一)(7)万用表及示波器。卜一、注意事项(1)上电前测试电路板(万用表测量电路电源两端,检查是否短路);(2) 由于系统采用 USB 口供电,

6、注意USB 口使用安全,即USB 口要有足够的驱动力(经 测试,一般的台式机后面板输出USB 口能达到要求);(3 )认真阅读电烙铁 万用表等工具的使用注意事项 ;(4)在手册中未明确规定的事项,应及时请示指导老师,否则造成仪器损坏要照价赔偿,而因 操不当引起的事故后果自负。附录一:焊接工具清单序号名称1工具箱2挂带电笔3塑柄小一字改锥4塑柄小十字改锥5镊子6美工刀76#尖嘴钳86#偏口钳9烙铁架103#字电工改锥113#电十字工改锥12万用表(华谊830)13电烙铁附件二:单片智能机寻迹机器人材料清单位号名称备注位号名称备注M1电机1接线座SIU1LED数码管M2电机2接线座IR1红外接收头

7、X1前端探测板接线座RX110K排阻DC电源接线座Z111.0592 晶振R115KIC1AT89S51R2220IC2MAX232CPER3150KIC3L9110集成电路R41MIC4L9110集成电路R547KC110 卩 F/16VR64.7KC2104R7560C3104R8560C4104R9560C510 卩 F/16VR10560C610 卩 F/16VR11560C730PFR12560C830PFR13560C9104R14220C1010 卩 F/16VR1510KC1110 卩 F/16VR16560C1210 卩 F/16VR1710KC1310 卩 F/16VR18

8、560D1D8红色发光二极管R19560D9绿色发光二极管R20560S1按键开关R21560S2按键开关R21560S3开关R22560COM19针串行端口R23560D1D2LED红色发光二极管前板用R2410KV1红外发射头前板用R25560V2红外接收头前板用RL1光敏电阻V3红外发射头前板用SB1蜂鸣器V4红外接收头前板用B1话筒V5红外接收头前板用R1220前板用V6红外发射头前板用R2220前板用R3560前板用R415K前板用R515K前板用R6220前板用R7560前板用R815K前板用COM数据线一条M50462红外遥控发射器r -个V1V28550V38050附录三:万用

9、表的使用(1) 测量电阻:先将表笔搭在一起短路,如果指针偏离零点,随即调整“Q”调零旋钮,使指针恰好指到 0。然后将两根表笔分别接触被测电阻(或电路)两端,读出指针在欧姆刻度线(第一条线)上的读数,再乘以该挡标的数字就是所测电阻的阻值。例如用RX 100挡测量电阻,指针指在80,则所测得的电阻值为80 X 100=8K。由于” Q”刻度线左部读数较密,难于看准,所以测量时应选择适当的欧姆挡。使指针在刻度线的中部或右部(即指针指示在量程的1/32/3处),这样读数比较清楚准确。每次换挡,都应重新将两根表笔短接, 重新调整指针到零位,才能测准。(2) 测量直流电压:首先估计一下被测电压的大小,然后

10、将转换开关拨至适当的V量程,将红表笔接被测电压“ +”端,黑表笔接被测量电压”-”端。然后根据该挡量程数字与标直 流符号“DC-”刻度线(第二条线)上的指针所指数字,来读出被测电压的大小。如用V30伏 挡测量,可以直接读 0V300V的指示数值。如用V30伏挡测量,只须将刻度线上 300这 个数字去掉一个“ 0”,看成是30,再依次200、100等数字看成是 20、10既可直接读出 指针指示数值。例如用 V6伏挡测量直流电压,指针指在15,则所测得电压为1.5伏。(3) 测量直流电流:先估计一下被测电流的大小, 然后将转换开关拨至合适的 mA量程.再把万用表串接在电路中,同时观察标有直流符号“

11、DC”的刻度线如电流量程选在3mA,看成3,又依次把 200、1003mA挡测量直流电流,指针在挡,这时,应把表面刻度线上300的数字,去掉两个“ 0”看成是2、1,这样就可以读出被测电流数值。例如用直流100,则电流为 1mA。(4) 测量交流电压:测交流电压的方法与测量直流电压相似, 所不同的是因交流电没有正、 负之分,所以测量交流时,表笔也就不需分正、负。 读数方法与上述的测量直流电压的读法 一样,只是数字应看标有交流符号” AC ”的刻度线上的指针位置。万用表使用的注意事项:(1)在使用万用表之前,应先进行“机械调零”,即在没有被测电量时,使万用表指针 指在零电压或零电流的位置上。(2

12、) 在使用万用表过程中,不能用手去接触表笔的金属部分,这样一方面可以保证测量的 准确,另一方面也可以保证人身安全。(3) 在测量某一电量时,不能在测量的同时换档,尤其是在测量高电压或大电流时,更应 注意。否则,会使万用表毁坏。如需换挡,应先断开表笔,换挡后再去测量。(4)万用表在使用时,必须水平放置,以免造成误差。同时,还要注意到避免外界磁场对 万用表的影响。(5)万用表使用完毕,应将转换开关置于交流电压的最大挡。如果长期不使用,还应将万 用表内部的电池取出来,以免电池腐蚀表内其它器件。附件四:电烙铁的使用方法1、预热:烙铁头成 45 度角,顶住焊盘和元件脚。预先给元件脚和焊盘加热。烙铁头的尖

13、 部不可顶住 PCB 板无铜皮位置,这样可能将板烧成一条痕迹,烙铁头最好顺线路方向,烙 铁头不可塞住过孔,预热时间为12秒。2、上锡:将锡线从元件脚和烙铁接触面处引入;锡线熔化时,掌握熔化速度;当锡散满整 个焊盘时, 拿开锡线;锡线不可直接靠在烙铁头上,以防止助焊剂烧黑;整个上锡时间大概 为 1 2 秒。3、拿开烙铁:当焊锡有轻微烟雾冒出时候,即可顺着元件脚方向移开烙铁,焊点凝固。电烙铁使用的注意事项:1 、电烙铁使用前应检查使用电压是否与电烙铁标称电压相符。2、电烙铁应该接地。3、电烙铁通电后不能任意敲击、拆卸及安装其电热部分零件。4、电烙铁应保持干燥,不宜在过分潮湿或淋雨环境使用。5、拆烙

14、铁头时,要关掉电源。6、关电源后,利用余热在烙铁头上上一层锡,以保护烙铁头。7、 当烙铁头上有黑色氧化层时候,可用砂布擦去, 然后通电, 并立即上锡。附件五:智能寻迹机器人介绍单片机益智系列智能寻迹机器人是由益芯科技有限公司为科教方便而研发设计。根据现代学校对嵌入式系统开发的需求。 依据提高学生实际动手操作能力和思考能力, 以加强 学生对现实生活中嵌入式系统的应用为参照。 智能寻迹机器人全新的设计模式, 良好的电路 设计,一体化的机电组合,智趣的系统开发,更是成为加强学生学习兴趣的总动源。智能寻迹机器人采用现在较为流行的 8 位单片机作为系统大脑。以 8051 系列家族中的 AT89S51/A

15、T89S52 为主芯片。 40 脚的 DIP 封装使它拥有 32 个完全 IO(GPIO 通用输入输出 ) 端口, 通过对这些端口加以信号输入电路, 控制电路, 执行电路共同完成寻迹机器人。P0.0,P0.1, P0.2, P0.3 分别通过 LG9110 电机驱动来驱动电机 1 和电机 2。由电机的正转与反转 来完成机器人的前进,后退,左转,右转,遇障碍物绕行,避悬崖等基本动作。在机器人前 进时如果前方有障碍物, 由红外发射管发射的红外信号被反射给红外接收管, 红外接管将此 信号经过 P3.7 传送入 AT89S52 中,主芯片通过内部的代码进行机器人的绕障碍物操作,同 时主芯片将 P3.7

16、 的信号状态通过 P2.5 的 LED 指示灯显示出来。机器人行走时会通过 P3.5与P3.6的红外接收探头来进行检测。当走到悬崖处时,P3.5或P3.6将收到一个电平信号,此电平信号将通过相应端口传送入主芯片中,主芯片通过内部代码完成机器人的避悬崖操 作。同时P3.5与P3.6的信号状态将通过 P2.6/P2.7显示出来。在机器人的左转,右转,后退 的过程,可以通过观看以P2.0/P0.7为指示灯的运行状态。P0.4为机器人的声控检测端口,在运行为前进状态时,可以能过声控(如拍手声)来控制它的运行与停止。P0.6为机器人的声 音输出端。在机器人遇到障碍物时。进行绕障碍物与避悬崖时可以通过此端

17、口控制蜂鸣器发 出报警声。当为白天或黑夜时可以通过P0.5端口中的光敏电阻来进行判断,以方便完成机器人夜间自动照明等功能。两个按键以查询/中断两种不同的方式来展现按键操作。你可以按下S1键来进行机器的停止。再按下S2键来进行机器人的运行。这个按键的信息分别被P3.2,P3.4接收到。IR1为红外遥控接收器,这就为机器人进行远程遥控创造了可能。这个 红外遥控接收头接收到红外信号时将信号经过P3.3送入到主芯片,主芯片对其进行解密后以不同的方式对机器人进行控制。同时将用户的按键信息通过P2端口上LED数码管显示出来。P3.0、P3.1中COM端口的加入,让你完全可以用电脑对其进行控制。你可以通过对

18、串 口发送数据,数据会被显示到LED数码管中,并让机器人执行相应的功能。电脑的串口软件要求波特率为9600。8位数据位,这时你就可以快乐的用电脑来对它进行你的完全控制了。EXKJ-ZN02功能的组合多样,使得学生可以充分发挥自主能力,制作出不同的机器人。 它为学校进行机器人竞赛和毕业项目设计建立了实物平台,是学校教师授课变得更轻松有 趣。同时也能改变学生学习模式和激发学习兴趣。更是作为验证学生学习效果的有力工具。 良好的电路板设计,让学生制作变得方便容易,其大大提高了学生的制作成功率。提高了学生对电子电路的兴趣,更是教学过程中不可或缺的教具。附件六:程序状态指示灯演示验证程序实验简介:本程序重

19、点演示了一个最简程序的基本结构,它从顺序、判断、循环的形式表现程序的基本结构,此程序通过闪灯不断的闪动,及闪灯闪动的快慢来表示程序不 不同工作状态。它也是常数字设备中进行状态表示的方法之一一(例:网卡)。实验原理图:C730tfHHC8 30R151OK119-18_9XTAL1 XTALZRSIEAVPPP理 alePTRRjPii/TtOP3 2flNTDP3 37Fm PH JOPISjTI p工迴?P17WVSSvcc - paoAM-PO 1/Di PO 2jW2 FQ3AD3 PQ 4AD4 - POi 6ADS - Ft!啊D6 - PO 7AD7 -P1.O/T2-F1J EX

20、-PI.2CI- Pi 3CEXO PI 4CEX1 P1.5CEX2- P1 6CEX3 P1 7CEX4 -P2DABP?.2A10-P2.3*k11 P2.4 Al 2 P2.5A13-P2L6 A14-P2.7JM5脚脚腸血胁0就豔0臨OTD2DJXD5D6D7DaAT8 aSS1/ATB9S52.AlH9C5 1;A lU 3052三、实现代码:包含头文件/宏定义显示端口号#i nclude #define LED P1void Delay(unsigned int DelayTime)while(DelayTime-);void main()unsigned int CountDa

21、ta=0;+while(1)if(CountData30)Delay(60000);else if(CountData60)之间Delay(30000);数else if(CountData90)之间Delay(10000);数else if(CountData120)之间CountData=0;CountData=CountData+1;LED=LED;/定义可变延时函数/延时函数进入倒计时/程序主函数码/ 定义一个整形变量 ,用于闪动次数/主程序循环体开始/判断闪动次数是否位于 0-30 之间/用 60000 作为基数开始延时函数/ 判断闪动次数是否位于 30-60/ 用 30000 作为

22、基数开始延时函/ 判断闪动次数是否位于 60-90/ 用 10000 作为基数开始延时函/ 判断闪动次数是否位于 90-120 /仅进行一次操作即可退出 . /闪动次数基数 +/将显示端口进行取反操作四、运行效果:再等待时间,闪灯的程序运行效果为:开机后程序以慢速闪动,一段时间后速度开始加快, 速度达到最快,之后一段时间后,闪动将回到开始状态。附件七:流水灯演示验证程序实验简介:本程序全面的表现了子程序的用法,它从对几个子程序的操作,显示不同的流灯技术,流水灯的不同需要不同的表现的形式,而这里主要介绍了移位操作和内部数据存储及读入操作。延时函数采用可重入标志,可进行函数的递归调用。实验原理图:

23、R1510KXTAL1XTAL2RST EAPFALf TT0&fjowkDPl 1/TiDP3 2TTTDPaijWYiPJ4/T0 pj 5/ripitHTjvccPOOiMX) P01AD1 Pa2A02 P&3AD3P04A04PO5 浪 D5 P0EMD6PQ7JW)7Pta/T2 P1 12X Pl.2 ECI P1.3CEX0 P14JCEX1 P1.5EX2 P1CJCEX3 P1 7CEX*P20#B 阴 P2jfi10 P23A11 Pi4AH P2 5A13 P2 6A14 P2 7A15nL90BOBT1vss/包含头文件/定义显示端口号/定义由两边到中间显示/定义由中

24、间到两边显示/定义可重入的延时函数/定义延时时间基数/程序开始延时开始/ 定义从左边到右边显示/定义显示次数变量/定义初步显示数据/通过循环进行数据显示/ 延时 ,用在每次移动数据/由右边向左边移动数据/空返回语句 , 表明此子程/ 定义从右边到左边显示/定义显示次数变量/定义初步显示数据/通过循环进行数据显示/ 延时 ,用在每次移动数据三、 实现代码:#include #define Led P1unsigned int code BToM=0x7E,0x3C,0x18,0x00; 数据unsigned int code MToB=0xE7,0xC3,0x81,0x00; 数据void De

25、lay() reentrant unsigned int DelayTime=10000;while(DelayTime-);void LeftToRight() 函数unsigned char TempCount=0;Led=0xFE;for(TempCount=0;TempCount8;TempCount+)Delay();开始处Led=Led1;return;序的结束 .void RightToLeft() 函数 unsigned char TempCount=0;Led=0x7F;for(TempCount=0;TempCount1;return;的结束 .void BothToMid

26、()子程序 unsigned char TempCount=0;Led=0xFF;for(TempCount=0;TempCount5;TempCount+) 运行Delay();Led=BToMTempCount;return;结束 .void MidToBoth()序unsigned char TempCount=0;Led=0xFF;for(TempCount=0;TempCountP 尸 j zfJroP3 3TO1 PH/TO P35.T1P3/7E6P1.3CEX0 PHiCEXl PI 5CEX2 PI &JCEX3 Fl 7CEX4VSSP22A1D-PJ3A11 P24A12

27、- PZ5A13P2A14 P2 7A15rjvRbR7R13一2r厂厂厂厂一红羞旳器2627暫-1 1 1 丈 E-ii? i !三、 实现代码:#include typedef unsigned int uint;型关键字typedef unsigned char uchar;型关键字uchar code LedShowData=0x9F,0x25,0x0D,0x99,0x49, 显示字符0x41,0x1F,0x01,0x19,0x03; /1,2,3,4,5,6,7,8,9,0 void Delay()uint TempTime=20000;变量while(TempTime-);延时vo

28、id main()main()uchar CountData=0;while(1)环开始P2=LedShowDataCountData;示数据CountData+;加)if(CountData=10)计数范围CountData=0;Delay();用四、 运行效果:0./包含头文件/重命名整数类/重命名字符类 / 定 义 固 定 存 储/定义延时函数/定义延时时间/ 通 过 循 环 进 行/ 主 程 序 开 始/定义计数变量/ 主 程 序 无 限 循/P2 端口读入显/ 计数变量 +( 加/判断是否超出/重新置零/延时函数被调程序运行效果为 :程序下载后 ,数码管将从 1-9 依次显示 ,最后

29、将显示数字附件九:数码管及跑马灯演示验证程序实验简介:本程序主要是将数码管及跑马灯放在一起显示,它主要说明了,如何将在单系中运行多个看似并行运行的子系统 本程序在此将跑马灯子程序放入到一个头文件 中,对于一个大的工程这样将有益于程序文件的管理。实验原理图:RlDiaK-1G8311a18r10VCC h)CTAL1P0.0AD0 -P0.1AD1XTA12P0 2AD2RSTP0 3AD3 PO.4D4 - PO5WD5 P0i6 D6 -P1.0/T2 -P1.1/T3EXALE PROGPt5C 27o O脇脸金脸离應Di D2 03 W D5 06一0&RBR13R11 rTTR9SMI

30、壬DP9iWfi三、实现代码:#include 定义头文件unsigned char code LedShowData=0x9F,0x25,0x0D,0x99,0x49,管显示字符/包含端口/定义数码0x41,0x1F,0x01,0x19,0x03;1,2,3,4,5,6,7,8,9,0#define Led P1端口un sig ned char Coun tData=0;管计数器unsigned int code BToM=0x7E,0x3C,0x18,0x00;间显示数据/定义显示/定义数码II定义由两边到中un sig ned int code MToB=0xE7,0xC3,0x81,

31、0x00;II定义由中间到两边显示数据void Delay() reentrant 函数 unsigned int DelayTime=10000; 变量while(DelayTime-); 时P2=LedShowDataCountData;据到 P2 端口CountData+;数器 +(加 1)if(CountData=10) 计数值CountData=0;#include 头文件void main()while(1) LeftToRight(); 显示RightToLeft(); 显示BothToMid(); 进行显示MidToBoth(); 进行显示/void LeftToRight()

32、 函数unsigned char TempCount=0;Led=0xFE;/定义可重入延时/定义延时时间/通过循环进行延/置数码管显示数/数码管地址计/判断计数器累/计数器清零/包含显示方式/主程序入口/无穷循环开始 ./ 从 左 到 右 进 行/ 从 右 到 左 进 行/由两边到中间/由中间到两边跑马灯 .h/ 定义从左边到右边显示/定义显示次数变量/定义初步显示数据for(TempCount=0;TempCount8;TempCount+)/通过循环进行数据显示/ 延时 ,用在每次移动数据/由右边向左边移动数据/空返回语句 ,表明此子程/ 定义从右边到左边显示/定义显示次数变量/定义初步

33、显示数据 /通过循环进行数据显示/延时 ,用在每次移动数据/由左边向右移动数据/ 空返语句 ,表明此子程序/定义由两边到中间显示/定义临时次数变量/ 通过循环依次进行次数/延时 ,在每次运行前 ./ 读入当次显示数据 ./ 空返回 ,表明此子程序的/定义由中间到两边子程Delay();开始处Led=Led1;return;序的结束 .void RightToLeft() 函数 unsigned char TempCount=0;Led=0x7F;for(TempCount=0;TempCount1;return;的结束 .void BothToMid() 子程序 unsigned char T

34、empCount=0;Led=0xFF; for(TempCount=0;TempCount5;TempCount+) 运行Delay();Led=BToMTempCount;return;结束.void MidToBoth()序unsigned char TempCount=0;/定义临时次数变量Led=0xFF;for(TempCount=0;TempCount(TAL1POOjADOP0 1XTAL2P0.2AO2RST EA.WPPO3.AD3 P0 4.ACM P0.5AD5 P0 6 AD6P07AD7PL0T2PSENP1 1/T2EXALEFROGP1.2ECIPlOJRxDR

35、1 3Q EXDP1.4XEX1P1.tjJCEX2PH/TjcDP16CEX3P3 2JhrroP1.7/CEX4P3 31K1P3 4/TOP2.0(AflP15/T1P2.1/A9旳鬲和P2 210P2.3JA11VSSP2 科 12PZ5ABP2715AT a 96 tl Areg SSZAT 船 CL 1/A T39C 5 znsm_TTET10OP q1c1IkA .*m dM 16_ Bti 包含S51地址头/重定义无符号/重定义无符号II定义S1变量三、实现代码:#i nclude 文件typedef un sig ned char uchar;字符型typedef un si

36、g ned int uint; 整型sbit S仁 P3A2;sbit S2=P3A4;II定义S2变量II定义全局计数II定义固定存储uchar DataCo un t=0;器uchar code LedShowData=0x9F,0x25,0x0D,0x99,0x49,显示字符0x41,0x仆,0x01,0x19,0x03;1,2,3,4,5,6,7,8,9,0void KeyDelay() 子程序 uint KeyTime=20000; 变量while(KeyTime-);II定义键盘防抖II定义防抖时间II防抖延时开始return;void S1_Break() interrupt 0

37、 外部中断 0while(0=S1);值DataCount-;if(DataCount9)DataCount=9;return;void main()ET0=1;电平触发 )EX0=1;EA=1;while(1)if(0=S2)KeyDelay();DataCount+; if(DataCount9)DataCount=0;P2=LedShowDataDataCount;/ 定 义 S1(INT0)/判断 S1 按键键/计数器数值减 1/判断计数器是否到最小值/ 显示数字 0/主程序开始/ 设定外部中断触发方式 (1-低/ 开启外部中断 0/开记总中断/ 程序主循环/通过查询判断键值/键盘防抖

38、动开延时子程序开始/ 计数器加 1/判断当前计数器/ 将计数器置 0/通过端口显示计数器数值四、运行效果:程序运行效果:开机后数码管显示数字1,当按S1不放时,数码管数字不变, 松开S1按键,数码减1;按S2键不放时,数码管数字会自动加 1。并且数字遵守从 0-9循环操作。附件十一:话筒声音识别演示验证程序实验简介:本程序主要通过话筒对声音信号进行识别,由于本电路有效的去除杂波,所以 仅能对响度较大的声音进行识别 (例:拍手声)。像正常的说话声对本电路虑除,不 会产生信息的输入。话筒识别的加入,为我们建立了声控平台。实验原理图:10 IFR1510KC7XpFHHcasopFvccPaOADO

39、t XTAL1PQl1jAD1i XTAL2PQ 2/AD2 Pt) 3扯MP0L5jD5P0l6jVD6PH7ZAO7 RST* EA/VPPP1.Q2;PSENP1.1/T2EXALEPROGP12CCIP1.3CEX0Pd i.CFXI P3.O.4?xDP1.5JCEX2P3.1)TxDP1.6JCEX3 P3.2TRVaP1.7.CEX4P3.37HT1P3.4/T0P2.0jA8+ P3.5/T1P2.1A9P3.6WRP2.2AMO P3.7TOP2 3.W11P25A13vssPZ7.A15ATS 51,Areg S52; AT89C5 VA7B9CS2机4專_11_2_?_4

40、洛 f K U cc.t-cdH 1 F.119硒-nunuR547KD2MR14H&.1KI F k 0690R7560三、实现代码:#i nclude sbit LeftLed=P2A0;sbit RightLed=P0A7;sbit B仁 P0A4;包含51单片机相关头文件定义前方左侧指示灯端口定义前方右侧指示灯端口定义话筒输入端口void Delay() unsigned int DelayTime=1000;while(DelayTime-); return; void main()LeftLed=0;RightLed=0;while(1)if(0=B1) while(0=B1);D

41、elay();LeftLed=!LeftLed;RightLed=!RightLed;/定义去除杂音延时子程序/定义去除杂音变量/延时循环开始/主程序入口/前方左侧指示灯亮/前方右侧批示灯亮/程序主循环/判断是否有声音输入/等待声音信号结束/去除多余杂音/前方左侧指示灯取反/前方右侧指示灯取反四、 运行效果:程序运行效果:本程序开机后,前方两侧的指示灯点亮,拍一下手后,前方指示灯关闭。再一次进行拍手,指示灯又一次被点亮。附件十二:光敏电阻与蜂鸣器演示验证程序实验简介:本程序讲述了光敏电阻的使用方法。当处于光暗时,光敏电阻导通,将信号传 入到单片机,单片机将控制蜂鸣器按一定的频率响亮,并且前方的

42、指示灯也开始闪 闪亮。通过对光敏电阻信号的接收, 从而实现了夜间自动照明的功能。实验原理图:IC10730 jfTlC630pFR151KVCCXTAL1XTAL2C610ilbRST rA/p PSENALE PRQGP30?RxD P3 1/TxD P3 2JRTOP3.4/TOP35.T1 門颐k P3 7TOvssPO.O/ADO .101 P0 2JAD2 P0 3JAD3 P0 4/AD4 PO 5/AD5 P0.6/AD6 P0.7/AD7PV0/T2P1.1/T2EXP1.2CCIP1.3JCEX0 P14CEX1 P15CEX2 P1 6JCEX3 P1.7XCEX4P2 O

43、AflP21阳P2 210P23JA11P2 4A12P25JA13P2 6JA14P2715II40RL1n;7oBT102三、实现代码:#i nclude sbit RL1=P0A5;sbit SB1=P0A6;sbit LeftLed=P2A0;sbit RightLed=P0A7;void Delay()包含51单片机相关的头文件/定义光敏电阻接收端口/定义蜂鸣器响铃端口/定义前方左侧指示灯端口/定义前方右侧指示灯端口/定义蜂鸣器频率响亮子程序unsigned int DelayTime=20000;定义频率定时变量while(DelayTime-);频率定时循环开时return;void mai n()II主程序入口while(1)if(1=RL1)无光 1)Delay();SB1=!SB1;LeftLed=!LeftLed;RightLed=!RightLed;/程序主循环/ 判断光敏的现在状态 (有光 0/延时子程序开时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论