单片机编程的设计ppt课件.ppt
29页单片机原理及应用6程序设计及应用实例1单片机编程步骤n建立数学模型n绘制流程图n分配地址和寄存器n编写程序2实例n2003年全国大学生电子年全国大学生电子设计竞赛试题设计竞赛试题 n液体点滴速度监控装置液体点滴速度监控装置 n设计并制作一个液体点设计并制作一个液体点滴速度监测与控制装置,滴速度监测与控制装置,示意图如右图所示示意图如右图所示h1h2电动机滑轮点滴移动支架储液瓶受液瓶滴斗滴速夹3n 1、基本要求、基本要求n(1)在滴斗处检测点滴速度,并制作一个数显装置,能动态显示点滴速度(滴/分)n(2)通过改变h2控制点滴速度,如右图所示;也可以通过控制输液软管夹头的松紧等其它方式来控制点滴速度点滴速度可用键盘设定并显示,设定范围为20~150(滴/分),控制误差范围为设定值10%1滴n(3)调整时间≤3分钟(从改变设定值起到点滴速度基本稳定,能人工读出数据为止)n(4)当h1降到警戒值(2~3cm)时,能发出报警信号4n说明n1、控制电机类型不限,其安装位置及安装方式自定n2、储液瓶用医用250毫升注射液玻璃瓶(瓶中为无色透明液体)n3、受液瓶用1.25升的饮料瓶n4、点滴器采用针柄颜色为深蓝色的医用一次性输液器(滴管滴出20点蒸馏水相当于1ml±0.1ml)。
n5、赛区测试时,仅提供医用移动式点滴支架,其高度约1.8m,也可自带支架;测试所需其它设备自备n6、滴速夹在测试开始后不允许调节5n2、发挥部分、发挥部分n设计并制作一个由主站控制16个从站的有线监控系统16个从站中,只有一个从站是按基本要求制作n的一套点滴速度监控装置,其它从站为模拟从站 (仅要求制作一个模拟从站)n(1)主站功能: na.具有定点和巡回检测两种方式nb.可显示从站传输过来的从站号和点滴速度nc.在巡回检测时,主站能任意设定要查询的从站数量、从站号和各从站的点滴速度 nd.收到从站发来的报警信号后,能声光报警并显示相应的从站号;可用手动方式解除报警状态6n(2)从站功能:na.能输出从站号、点滴速度和报警信号;从站号和点滴速度可以任意设定nb.接收主站设定的点滴速度信息并显示nc.对异常情况进行报警n(3)主站和从站间的通信方式不限,通信协议自定,但应尽量减少信号传输线的数量n(4)其它7设计过程n建立数学模型n点滴速度=f(h2)nH1<(2~3cm),报警n难点:nf(h2)未知???89绘制流程图设置点滴速度测量点滴速度比较点滴速度报警并结束控制调整H2比较H110任务划分(1)步进电机正反转控制11步进电机正反转控制nA B C 为电机的3个绕组n1 单3拍控制方式 A B C A ….(正转), A C B A ….(反转),n2 六拍控制方式 A AB B BC C CA A ….(正转),, A AC C CB B BA A ….(反转),12步进电机正反转控制n确定正转还是反转n将对应的表放入DPTRn查表nLOOP:JNB P1.6,POSn JNB P1.7,NEGn AJMP LOOPnPOS: MOV DPTR,#TABLE1n LCALL TABSCHn AJMP LOOPnNEG: MOV DPTR,#TABLE2n LCALL TABSCHn AJMP LOOPnTABSCH:nMOV R7,#06HnLOOP2:nMOVX A,@DPTRnMOV P1,AnINC DPTRnLCALL DELAYnDJNZ R7,LOOP2nRETnTABLE1: 0F1H,0F3H,0F2H, 0F1H,0F3H,0F2HnTABLE2: 0F1H,0F2H,0F3H, 0F1H,0F2H,0F3H13模型(2)直流马达的转速控制14设计举例(2)直流马达的转速控制15设计举例(2)直流马达的转速控制16直流马达的转速控制n MOV P1,#FFHnCONT: SETB P3.4n MOV R3,P1nLOOP: LCALL DELAYn DJNZ R3,LOOPn CLR P3.4n MOV A,P1n CPL An INC A n XCH A,R3nLOOP1: LCALL DELAYn DJNZ R3,LOOP1 n AJMP17模型3(频率测量---点滴测速)n采集点滴信息n计时n计数n换算流速182 常见程序结构n参数传递n例2.1:在MAA单元有两个十六进制数,将它们分别转换成ASCII码,存入ASC及ASC+1单元。
n解:因为要进行两次转换,所以可用子程序来完成,参数传递用堆栈来完成nSTAT: PUSH MAA ;将16进制参数压入堆栈n ACALL CNV;调用转换子程序n POP ASC;返回参数送ASC单元n MOV A,MAA ;MAA单元内容送An SWAP A;高、低4位交换n PUSH ACC;将第二个16进制数压入堆栈n ACALL CNV;再次调用子程序n POP ASC+1 ;存第二个ASCII码 WAIT: SJMP WAIP;暂停19CNV子程序n CNV: n DEC SP ;修改SP到参数位置n DEC SPn POP ACC;弹出参数到An ANL A,#0FH;屏蔽高四位n CJNE A,#0AH,NEXT;16进制数转为ASCII码n AJMP L1n NEXT: n ADD A,#37Hn SJMP L2nL1: ADD A,#30HnL2: PUSH ACC;参数压入堆栈n INC SP;修改SP到返回地址n INC SPn RET20参数传递用地址指针nMOV A,#MAAnACALL CNVnCNV:nMOV R0, AnMOV A,@R0n……21程序结构n顺序结构程序设计 n例2.2:将内部RAM 51H、52H两个单元中的无符号数相加,和存入R0(高位)及R1(低位)。
n解:两个单元单字节数相加,和可能超过一个字节,要按双字节来处理22nMOV A,51H;取51H单元值给AnADD A,52H;把(51H)+(52H)的值给A,影响CynMOV R1,A;暂存于R1中nCLR A;A清零nADDC A,#00H;Cy送入高位nMOV R0,A;高位存入R023分支程序设计 n例2.3:设变量X存于内部RAM 40H单元,函数值Y存于41H单元,试根据下式对Y赋值24n MOV A,40H;取数n JZ ZERO;(A)为0,则转ZEROn JB ACC.7,STORE; (A)为负数,转STOREn MOV A,#02H;(A)为正数,则赋值2n SJMP STOREn ZERO: MOV A,#0n STORE: MOV 21H,A25 n计数器控制循环计数器控制循环n例例2.4:从:从32H单元开始存单元开始存放一数据块,其长度存放放一数据块,其长度存放在在25H单元,编写一个数单元,编写一个数据块求和程序,要求将和据块求和程序,要求将和存入存入26H单元,设和不超单元,设和不超过过255.26n CLR A n MOV R2,25H;取字节数 n MOV R1,#32H ;取地址nLOOP: ADD A,@R1 ;求和n INC R1 ;地址加1nDJNZ R2,LOOP ;控制循环是否结束n MOV 26H,A ;存入结果27条件控制的循环条件控制的循环n例2.5:设字符串放在内部RAM 30H开始的单元中,以“$”作结束标志,现要求计算该字符串长度,并把计算结果放在25H单元中。
28 n CLR A n MOV R0,#30H ;取数nLOOP: n CJNE @R0,#24H,NEXT;与”$”(ASCII值为16进制24)比较n SJMP COMP ;找到“$“结束nNEXT: n INC A ;不为“$“,则计数器加1n INC R0 ;修改地址指针n SJMP LOOP nCOMP: n MOV 25H,A ;存结果29。

卡西欧5800p使用说明书资料.ppt
锂金属电池界面稳定化-全面剖析.docx
SG3525斩控式单相交流调压电路设计要点.doc
话剧《枕头人》剧本.docx
重视家风建设全面从严治党治家应成为领导干部必修课PPT模板.pptx
黄渤海区拖网渔具综合调查分析.docx
2024年一级造价工程师考试《建设工程技术与计量(交通运输工程)-公路篇》真题及答案.docx
【课件】Unit+3+Reading+and+Thinking公开课课件人教版(2019)必修第一册.pptx
嵌入式软件开发流程566841551.doc
生命密码PPT课件.ppt
爱与责任-师德之魂.ppt
制冷空调装置自动控制技术讲义.ppt


