基于linux和qt的嵌入式超市数据库管理_第1页
基于linux和qt的嵌入式超市数据库管理_第2页
基于linux和qt的嵌入式超市数据库管理_第3页
基于linux和qt的嵌入式超市数据库管理_第4页
基于linux和qt的嵌入式超市数据库管理_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

基于LINUX和QT的嵌入式超市数据库管理一、设计目的该课程设计是在完成嵌入式系统软件设计理论课程学习之后安排的综合实践训练,在学生掌握嵌入式系统软件开发流程和基本技术的基础上,通过一周的综合实践,提高学生对所学知识的应用能力。二、设计内容设计一个基于LINUX和QT的嵌入式超市数据库管理程序。主要设计内容包括1基于SQLITE的后台数据库设计。主要包括进货表、出货表。2基于QT的前台主界面程序设计。3数据库应用程序设计,主要功能应包括数据库浏览;数据库过滤查询;数据库记录增、删、改。三、总体设计1、8253定时控制步进速度。2、8255输出控制脉冲,再经75452驱动电机。3、系统运行时,首先显示主菜单,选择子菜单(设置参数)或控制工作,或返回DOS。四、软件设计本设计通过软件编程使8253输出定时信号申请中断,CPU发出命令由8255的下C口输出脉宽信号来控制步进电机的走步。电机的转动和停止则是通过8255的A0端子输出高低电平来继续或暂停8253的计数从而控制中断申请来实现的。8253的定时时间决定了电机转动的快慢。相对简单的硬件电路,使软件设计成为本设计课题的中心内容。1、设计思路控制系统分五个功能模块,分别是转速设置、转向设置、固定步数转动、连续转动、退出系统,在前四个功能块中都设置了ESC键来取消或暂停执行当前操作。程序中同时提供五个操作界面,一个主菜单和四个子菜单界面,进行可视控制。(1)转速设置根据赋给计数器的计数初值,我们可以计算出步进电机各相脉宽信号的频率和电机转速,也可以反过来根据对电机转速要求,计算并调整计算初值。这里采用的是8253的0号计数器和方波产生方式,输入时钟为F46875HZ,设计数初值为N,要求转速为025转/秒,对四相步进电机而言即为5步/秒,则有F/N5NF/546875/59375反过来,当计数器初值确定时,决定了电机的转速,如计数初值为0时,有电机转速为1步每秒(本设计中最慢速度);当计数初值为125时,电机转速为375步每秒(本设计中最快速度)。具体设置初值及转速见表2。表2步速转速按键计数初值1005F1468753015F2156255025F3937515075F4312525125F5187575375F6625125625F73753751875F8125(2)转向设置在内存单元中设置一方向标志FLAG1,假设FLAG1为0时为顺时针转向,则当设置FLAG1不为0时即可使电机转逆时针转动。判断操作在中断子程序中进行。(3)连续转动设置在此功能模块中,通过让8255的A0口输出高电平到8253的GATE0使其0号计数器继续工作(平常时A0口为低电平使8253的0号计数器暂停计数),并开放中断进入循环等待中断状态,在等待状态中若有键盘的ESC键按下,则认为暂停要求而关闭中断和暂停8253计数回到主菜单。需要继续原转向原速度运行,再选择此功能模块即可。(4)固定步数转动设置通过键盘输入0到999的十进制值来设定转动步数。判断已转步数即中断次数是这样实现的,设置一内存单元FLAG0,中断时在中断子程序中求反,而在循环等待中断的程序中判断其有无变化,无变化继续循环,有变化则使计数寄存器CX减1后继续循环,当CX0时退出等待中断状态,并关中断和暂停8253计数。在这个等待程序中也判断键盘有无ESC键按下,若有则认为暂停要求而退出。(6)中断子程序在中断子程序中,将值为11001100B的内存单元循环左移或右移一位,通过8255的下C口输出低四位,控制步进电机的相序变化,从而使电机连续转动。左移或右移将使电机顺时针或逆时针转动,它由标志FLAG1来决定。(7)菜单界面设置利用DOS下的BIOS功能调用,设计出简单而易于操作的界面,详细设计特点请参考程序清单。2、程序流程图(1)主程序框图如图2图2主程序框图图3中断服务子程序框图(2)中断服务子程序框图如图3(3)速度设置自程序和方向设置单元程序的流程比较简单,如图4,5。(4)固定步数转动单元子程序框图如图6图6固定步数转动单元子程序框图图7连续转动单元子程序框图图4转速设置子程序框图图5方向设置子程序框图(5)连续转动单元子程序框图如图7(6)8253和8255初始化子程序、菜单显示子程序请参考程序清单。五、心得体会微机原理与应用课程是一门应用性很强的课程,其中包括软硬件的结合,接口技术,中断的处理。由于平时对硬件的接触较少所以学习起来多少有些困难。但课程中融入了实验,并且还有课程设计。对于理论知识的理解就更深刻了。课设的内容是步进电机的控制设计,其中包括转速设置、转向设置、固定步数转动、连续转动、退出系统。中断子程序,菜单界面设置的设计。程序完全是自己设计的,这与平时的实验很不同,对编程的要求很高。而且平时的实验都是给出程序的。这个可给我出了个难题,不过在同伴的努力下我们还是按时完成了任务。最难的就是硬件的调试,程序明明是对的就是执行的时候有些问题,在设置步数时总是不稳定。查了好久都没有找到问题。最后没有办法我们就提交了,可是老师来看实验结果时却执行的很完美。也许真的很走运吧。通过本次课设学到很多课堂上学不到的调试知识,对DEBUG有了一定的了解。通过实践也加深了对理论知识的理解。很感谢学校给我们提供了这么好的学习机会。六、源程序DATASEGMENTIRQEQU0DHIMR1EQU0DFHIMR2EQU20HPA55EQU280HPC55EQU282HCTL55EQU283HP0_53EQU290HCTL53EQU293HINTA0EQU20HINTA1EQU21HMES0DB0DH,0AH,STEPPINGMOTORCONTROLSYSTEM,0DH,0AH,0DH,0AHDBPRESS1TOSPEEDSET,0DH,0AHDBPRESS2TODIRECTIONSET,0DH,0AHDBPRESS3TOTURNREQUIREDSTEPS,0DH,0AHDBPRESS4TOSTARTRUNNING,0DH,0AHDBPRESS5TOEXIT,0DH,0AH,MES1DB0DH,0AH,SPEEDSET,0DH,0AH,0DH,0AHDBPRESSAFOR005R/S,0DH,0AHDBPRESSBFOR015R/S,0DH,0AHDBPRESSCFOR025R/S,0DH,0AHDBPRESSDFOR075R/S,0DH,0AHDBPRESSEFOR125R/S,0DH,0AHDBPRESSFFOR375R/S,0DH,0AHDBPRESSGFOR625R/S,0DH,0AHDBPRESSHFOR1875R/S,0DH,0AHDBPRESSESCTOCANCEL,0DH,0AH,MES2DB0DH,0AH,DIRECTIONSET,0DH,0AH,0DH,0AHDBPRESS1TORIGHT,0DH,0AHDBPRESS0TOLEFT,0DH,0AH,MES3DB0DH,0AH,STEPS1000SET,0DH,0AH,0DH,0AHDBPRESSESCTOCANCEL,0DH,0AHDBPLEASEINPUTSTEPS,MES4DB0DH,0AH,RUNNING,0DH,0AHDBPRESSESCTOSTOP,0DH,0AH,INTSEGDWINTOFFDWINTIMRDBFLAG1DB0FLAG0DB0NUMDB11001100BCNTFFDW0B71BH,3D09H,249FH,0C35H,753H,271H,177H,7DHDATAENDSSTACKSEGMENTPARASTACKSTACKDB256DUPSTACKENDSCODESEGMENTASSUMECSCODE,DSDATA,SSSTACKSTARTMOVAX,DATAMOVDS,AXMOVDX,CTL53MOVAL,00110110BOUTDX,ALMOVDX,P0_53MOVAL,1BHOUTDX,ALMOVAL,0B7HOUTDX,ALMOVDX,CTL55MOVAL,10000000BOUTDX,ALMOVDX,PA55MOVAL,0OUTDX,ALMOVAL,11001100BMOVDX,PC55OUTDX,ALCLIMOVAH,35HMOVAL,IRQINT21HMOVAX,ESMOVINTSEG,AXMOVINTOFF,BXPUSHDSMOVAX,SEGINTPROCMOVDS,AXLEADX,INTPROCMOVAH,25HMOVAL,IRQINT21HMOVDX,INTA1INAL,DXMOVINTIMR,ALANDAL,IMR1OUTDX,ALPOPDSSTIMAINLEADX,MES0MOVAH,09HINT21HLP0MOVAH,8INT21HCMPAL,1JELP1CMPAL,2JELP2CMPAL,3JELP3CMPAL,4JELP4CMPAL,5JEEXITJMPLP0LP1CALLAAJMPMAINLP2CALLBBJMPMAINLP3CALLCCJMPMAINLP4CALLDD1JMPMAINEXITCLIMOVAL,INTIMRMOVDX,INTA1OUTDX,ALMOVDX,INTOFFMOVAX,INTSEGMOVDS,AXMOVAH,25HMOVAL,IRQINT21HSTIMOVAH,4CHINT21HINTPROCPROCPUSHAXPUSHDSPUSHDXPUSHCXSTIMOVAX,DATAMOVDS,AXCMPFLAG1,0JEKKRORNUM,1JMPYYKKROLNUM,1YYMOVAL,NUMANDAL,00001111BMOVDX,PC55OUTDX,ALNOTFLAG0INCFLAG0MOVDX,INTA0MOVAL,20HOUTDX,ALPOPCXPOPDXPOPDSPOPAXIRETINTPROCENDPAAPROCPUSHAXPUSHBXPUSHDXPUSHDIMOVAH,9LEADX,MES1INT21HMOVAH,8INT21HCMPAL,1BHJZKK0SUBAL,AMOVAH,0ADDAX,AXMOVDI,AXMOVBX,OFFSETCNTFFMOVAX,WORDPTRBXDIMOVDX,P0_53OUTDX,ALXCHGAH,ALOUTDX,ALKK0POPDIPOPDXPOPBXPOPAXRETAAENDPBBPROCPUSHAXPUSHDXMOVAH,9LEADX,MES2INT21HMOVAH,8INT21HCMPAL,1BHJZXXSUBAL,0MOVFLAG1,ALXXPOPDXPOPAXRETBBENDPCCPROCPUSHAXPUSHBXPUSHCXPUSHDXMOVAH,9MOVDX,OFFSETMES3INT21HMOVBX,0GETCHARMOVAH,1INT21HSUBAL,30HJLXX0CMPAL,09HJGXX0MOVAH,0XCHGAX,BXMOVCX,0AHMULCXXCHGAX,BXADDBX,AXJMPGETCHARXX0MOVAH,9LEADX,MES4INT21HMOVCX,BXMOVCX,10STIMOVDX,PA55MOVAL,1OUTDX,ALMOVBL,FLAG0XX1CLIMOVAH,6MOVDL,0FFHINT21HCMPAL,1BHJEXX2STIHLTCMPBL,FLAG0JEXX1MOVBL,FLAG0LOOPXX1XX2CLIMOVDX,PA55MOVAL,0OUTDX,ALPOPDXPOPCXPOPBX

温馨提示

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

评论

0/150

提交评论