网站大量收购独家精品文档,联系QQ:2885784924

微处理器程序设计——以51单片机为例 课件 项目4 智慧校园一卡通应用及维护 任务4.3.pptx

微处理器程序设计——以51单片机为例 课件 项目4 智慧校园一卡通应用及维护 任务4.3.pptx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

项目四智慧校园一卡通应用及维护

冯蓉珍

《微处理器程序设计》

任务4.3企业案例——手术显微镜焦距及光源系统智能控制任务目标有一种医疗设备叫作手术显微镜,医生通过手术显微镜对病人实施手术。显微镜镜头部件中连接有直流电机,通过直流电机转动调节镜头焦距,以便医生能清晰地看到手术视野。显微镜镜镜头里的照明灯通过光纤聚光后照亮手术视野,医生手术时双手持有手术刀,无法用双手对显微镜镜头进行焦距和光源亮度的调节。通常会给手术显微镜配置一个脚踏控制器,脚踏控制器上有上、下、左、右四个按键,左、右按键控制显微镜直流电机正、反转,上、下按键调节灯光亮、暗。脚踏控制器和显微镜镜身进行串行通信。

通过本任务的设计与制作,培养学生利用串行通信技术解决各个领域中智能设备数据通信的问题,进一步提高学生对智能设备的应用与维护。

知识准备本项目中需要采集和甲机连接的四个按键的状态,并通过串口发送给乙机。乙机接收到数据后,控制和乙机相连的灯光亮度及镜头的聚焦点。

完成本项目需要具备前几个项目涉及的串行通信和通过继电器控制直流电机的知识点。同时,需要利用独立式按键的状态变化来判断按键是否被按下。

任务4.3企业案例——手术显微镜焦距及光源系统智能控制

任务实施医生踩下脚踏控制器上左侧按键,电机反正;踩下右侧按键,电机正转;踩下上面的按键,灯光调亮;踩下下面的按键,灯光调暗。脚踏控制器中有一微处理器,连接上下左右四个按键开关,显微镜镜头里也有一个微处理器与电机和光源相连接。脚踏控制器中的微处理器和显微镜镜头里的微处理器通过串口进行通信。1、硬件电路设计在仿真电路图中,甲机是在脚踏控制器中的微处理器,乙机是显微镜镜头里的微处理器。任务4.3企业案例——手术显微镜焦距及光源系统智能控制

任务实施甲机的P1.0~P1.3连接四个按键。甲机的TXD和乙机的RXD连接,甲机的RXD和乙机的TXD连接。甲机电路图如图 图4-16脚踏控制(甲机)电路图

任务4.3企业案例——手术显微镜焦距及光源系统智能控制

任务实施乙机的串口和甲机连接,P1.0~P1.2连接3个LED灯,模拟显微镜镜头里的光源。电机两极连接P3.6和P3.7。图4-17乙机控制电路图

任务4.3企业案例——手术显微镜焦距及光源系统智能控制

任务实施2、软件编程甲机主函数对串口中断进行初始化设置,定时器1工作方式2,11.0592MHz晶振下,波特率翻倍,波特率设定为9600bps时,定时器1寄存器初始值为0xfa。串口通信方式1,10位数据异步通信,波特率可设置。启动定时器1,允许串行口中断。初始化串口发送的数据为0。TMOD=0X20;//00100000,定时器1工作方式2,TH1=0XFA; //波特率为9600,11.0592MHz晶振,波特率翻倍TL1=0XFA;PCON=0X80;//波特率翻倍SCON=0X50;//01010000 串口工作方式1,10位异步通信,波特率可变,允许串口接收数据TR1=1;//启动定时器1EA=1;//允许总中断ES=1;//允许串行中断send_data=0;//按键值初始化任务4.3企业案例——手术显微镜焦距及光源系统智能控制

任务实施主函数循环执行以下语句。while(1){//1读键盘值readkey();//2发送按键值 if(send_en){ SBUF=send_data; while(!TI);TI=0; send_en=0;//发送完毕后不允许串口发送数据,直到下次有按键按下}任务4.3企业案例——手术显微镜焦距及光源系统智能控制

任务实施首先读取按键状态并获得对应的按键值,然后将按键值通过串口发送给乙机。为了避免重复发送按键值,在读取按键子函数中,有按键按下,给send_data变量赋予不同的键值,同时置为send_en为1,表示允许发送数据。在串口发送完数据后,send_en清0,表示不允许串口发送数据,只有到下一次有按键按下,才允许串口发送。踩下左键不松开时,发送1给乙机,表示电机应该反转;如果左键松开时判断右键是否被踩下,如果踩下了右键,则发送2给乙机,表示电机应该正转;否则表示左右键都没踩下,发送5给乙机,表示电机应该停止。如果踩下上面或下面的按键,踩一下,亮度档位调整一档。左右键是否踩下利用判断是否为低电平来实现,而上下键踩下的判断则是利用电平跳变的方式,即刚才按键松开

您可能关注的文档

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档