《单片机原理及系统设计实用教程》课件51单片机(编程设计)6-0_第1页
《单片机原理及系统设计实用教程》课件51单片机(编程设计)6-0_第2页
《单片机原理及系统设计实用教程》课件51单片机(编程设计)6-0_第3页
《单片机原理及系统设计实用教程》课件51单片机(编程设计)6-0_第4页
《单片机原理及系统设计实用教程》课件51单片机(编程设计)6-0_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理及应用6程序设计及应用实例单片机编程步骤建立数学模型绘制流程图分配地址和寄存器编写程序实例2003年全国大学生电子设计竞赛试题液体点滴速度监控装置设计并制作一个液体点滴速度监测与控制装置,示意图如右图所示。h1h2电动机滑轮点滴移动支架储液瓶受液瓶滴斗滴速夹

1、基本要求(1)在滴斗处检测点滴速度,并制作一个数显装置,能动态显示点滴速度(滴/分)。(2)通过改变h2控制点滴速度,如右图所示;也可以通过控制输液软管夹头的松紧等其它方式来控制点滴速度。点滴速度可用键盘设定并显示,设定范围为20~150(滴/分),控制误差范围为设定值10%1滴。(3)调整时间≤3分钟(从改变设定值起到点滴速度基本稳定,能人工读出数据为止)。(4)当h1降到警戒值(2~3cm)时,能发出报警信号。说明1、控制电机类型不限,其安装位置及安装方式自定。2、储液瓶用医用250毫升注射液玻璃瓶(瓶中为无色透明液体)。3、受液瓶用1.25升的饮料瓶。4、点滴器采用针柄颜色为深蓝色的医用一次性输液器(滴管滴出20点蒸馏水相当于1ml±0.1ml)。5、赛区测试时,仅提供医用移动式点滴支架,其高度约1.8m,也可自带支架;测试所需其它设备自备。6、滴速夹在测试开始后不允许调节。2、发挥部分设计并制作一个由主站控制16个从站的有线监控系统。16个从站中,只有一个从站是按基本要求制作的一套点滴速度监控装置,其它从站为模拟从站(仅要求制作一个模拟从站)。(1)主站功能:a.具有定点和巡回检测两种方式。b.可显示从站传输过来的从站号和点滴速度。c.在巡回检测时,主站能任意设定要查询的从站数量、从站号和各从站的点滴速度。d.收到从站发来的报警信号后,能声光报警并显示相应的从站号;可用手动方式解除报警状态。(2)从站功能:a.能输出从站号、点滴速度和报警信号;从站号和点滴速度可以任意设定。b.接收主站设定的点滴速度信息并显示。c.对异常情况进行报警。(3)主站和从站间的通信方式不限,通信协议自定,但应尽量减少信号传输线的数量。(4)其它。设计过程建立数学模型点滴速度=f(h2)H1<(2~3cm),报警难点:f(h2)未知???绘制流程图设置点滴速度测量点滴速度比较点滴速度报警并结束控制调整H2比较H1任务划分(1)

步进电机正反转控制步进电机正反转控制ABC为电机的3个绕组1单3拍控制方式ABCA….(正转),ACBA….(反转),2六拍控制方式AABBBCCCAA….(正转),,AACCCBBBAA….(反转),步进电机正反转控制确定正转还是反转将对应的表放入DPTR查表LOOP:JNBP1.6,POSJNBP1.7,NEGAJMPLOOPPOS:MOVDPTR,#TABLE1LCALLTABSCHAJMPLOOPNEG:MOVDPTR,#TABLE2LCALLTABSCHAJMPLOOPTABSCH:MOVR7,#06HLOOP2:MOVXA,@DPTRMOVP1,AINCDPTRLCALLDELAYDJNZR7,LOOP2RETTABLE1:0F1H,0F3H,0F2H,0F1H,0F3H,0F2HTABLE2:0F1H,0F2H,0F3H,0F1H,0F2H,0F3H模型(2)

直流马达的转速控制设计举例(2)

直流马达的转速控制设计举例(2)

直流马达的转速控制直流马达的转速控制

MOVP1,#FFHCONT:SETBP3.4MOVR3,P1LOOP:LCALLDELAYDJNZR3,LOOPCLRP3.4MOVA,P1CPLAINCAXCHA,R3LOOP1:LCALLDELAYDJNZR3,LOOP1AJMP模型3(频率测量---点滴测速)采集点滴信息计时计数换算流速2常见程序结构参数传递例2.1:在MAA单元有两个十六进制数,将它们分别转换成ASCII码,存入ASC及ASC+1单元。解:因为要进行两次转换,所以可用子程序来完成,参数传递用堆栈来完成。STAT:PUSHMAA ;将16进制参数压入堆栈

ACALLCNV ;调用转换子程序

POPASC ;返回参数送ASC单元

MOVA,MAA ;MAA单元内容送ASWAPA ;高、低4位交换

PUSHACC ;将第二个16进制数压入堆栈

ACALLCNV ;再次调用子程序

POPASC+1 ;存第二个ASCII码WAIT:SJMPWAIP ;暂停CNV子程序CNV:DECSP ;修改SP到参数位置

DECSPPOPACC ;弹出参数到AANLA,#0FH ;屏蔽高四位

CJNEA,#0AH,NEXT ;16进制数转为ASCII码

AJMPL1NEXT:ADDA,#37HSJMPL2L1:ADDA,#30HL2:PUSHACC ;参数压入堆栈

INCSP ;修改SP到返回地址

INCSPRET参数传递用地址指针

MOVA,#MAAACALLCNVCNV:MOVR0,AMOVA,@R0……程序结构顺序结构程序设计例2.2:将内部RAM51H、52H两个单元中的无符号数相加,和存入R0(高位)及R1(低位)。解:两个单元单字节数相加,和可能超过一个字节,要按双字节来处理。MOVA,51H ;取51H单元值给AADDA,52H ;把(51H)+(52H)的值给A,影响CyMOVR1,A ;暂存于R1中CLRA ;A清零ADDCA,#00H ;Cy送入高位MOVR0,A ;高位存入R0分支程序设计例2.3:设变量X存于内部RAM40H单元,函数值Y存于41H单元,试根据下式对Y赋值。

MOVA,40H ;取数

JZZERO ;(A)为0,则转ZEROJBACC.7,STORE ;(A)为负数,转STOREMOVA,#02H ;(A)为正数,则赋值2SJMPSTOREZERO:MOVA,#0STORE:MOV21H,A

计数器控制循环例2.4:从32H单元开始存放一数据块,其长度存放在25H单元,编写一个数据块求和程序,要求将和存入26H单元,设和不超过255.

CLRAMOVR2,25H ;取字节数

MOVR1,#32H ;取地址LOOP:ADDA,@R1 ;求和

INCR1 ;地址加1DJNZR2,LOOP ;控制循环是否结束

MOV26H,A ;存入结果条件控制的循环

例2.5:设字符串放在内部RAM30H开始的单元中,以“$”作结束标志,现要求计算该字符串长度,并把计算结果放在25H单元中。

CLRAMOVR0,#30H ;取数LOOP:CJNE@R0,#24H,NEXT;与”$”(ASCII值为16进制24)

温馨提示

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

评论

0/150

提交评论