基于ARM的嵌入式牙椅控制系统设计
示灯任务,报警信息任务和冲洗痰盂任务。 然后,用OSTaskCreate( )函数建立7 个任务。最后,在起始任务中将它本身删除掉。 (1) 键盘任务:调用OSSemPend(Sem_Keyboard,0,err)来获得信号量。获得信号量后,任务将调用邮箱发送消息任务OSMboxPost (OS_EVENT*pevent,void*msg)唤醒相应的其它任务。 (2) 茶杯给水任务:向茶杯中加水。该任务通过OSMboxPost(Mbox_Cup,Msg_Cup)被唤醒。 (3) 茶杯给水定时设置任务:设置茶杯给水定时时间。该任务通过OSMboxPost(Mbox_CupSetting,Msg_CupSetting)被唤醒。 (4) 报警信息任务:牙椅运动到达障碍位置报警等的报警信息,并进行相应的处理。该任务调用OSSemPend(Sem_AlARMTask,0,err)获得信号量。 (5) 冲洗痰盂任务:冲洗痰盂。该任务通过OSMboxPost (Mbox_Ty,Msg_Ty 被唤醒。 (6) LED 灯指示任务:通过动态扫描方式点亮相应的键盘指示灯来指示当前的系统工作状态。该任务通过OSMboxPost (Mbox_LED,Msg_LED)被唤醒。 (7) 无影灯任务:开关及连续调节无影灯亮度。 该任务通过OSMboxPost(Mbox_Move,Msg_Move)被唤醒。 在系统中,设置任务1 的优先级最高,依次为任务2、任务3 至任务6,程序流程如图3所示。 在上述任务中,CPU 主要是接受键盘的输入以唤醒其它相应任务,另外还有相应的记录位置的任务和与上位机通信的任务,这里不再做详细介绍。 3 控制系统调试结果 长时间口腔诊疗应用调试运行,本牙椅控制系统能够及时响应输入并按要求运动,返回的记忆位置误差控制在1mm 内,茶杯水位误差不超过2mm,运行结果表明,控制系统与上位机的通信及两CPU 之间通信实时性、可靠性均满足设计要求,且整个系统运行平稳可靠,便于调试和维护,提高了牙椅自动化水平和档次。 4 结语 本文采用嵌入式处理器和实时多任务操作系统增强了系统的功能,提高了系统的可靠性、实时性并使系统具有良好的可扩展性,便于后续扩展图像采集和人机界面功能,为进一步开发高端产品奠定基础。
S3C44B0X Atmega16 嵌入式处理器 牙椅控制系统 相关文章:
- U-Boot的编译与移植到QT-S3C44B0X开发板上(03-08)
- ARM S3C44B0X 之 看门狗定时器(11-20)
- S3C44B0X烧写flash 的经验(11-11)
- Flash与S3C44B0X连接时地址线为什么要偏移一位(11-11)
- uClinux在S3C44B0X上的移植(11-10)
- μC/OS-Ⅱ在ARM单片机S3C44B0x上的移植(10-31)