单片机应用实例课件

上传人:我*** 文档编号:145253405 上传时间:2020-09-18 格式:PPT 页数:25 大小:258KB
返回 下载 相关 举报
单片机应用实例课件_第1页
第1页 / 共25页
单片机应用实例课件_第2页
第2页 / 共25页
单片机应用实例课件_第3页
第3页 / 共25页
单片机应用实例课件_第4页
第4页 / 共25页
单片机应用实例课件_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《单片机应用实例课件》由会员分享,可在线阅读,更多相关《单片机应用实例课件(25页珍藏版)》请在金锄头文库上搜索。

1、第八章 应用举例,一、数据采集系统,二、步进电机控制,计算机数据采集过程示意,已知某温度传感器的温度与输出电压 及八位AD转换器输出的特性曲线,T 0 ,U0,D7D000H; T10 ,U0.1V,D7D01AH; T99,U5V,D7D0FFH。,可建立温度转换表如表所示,该转换表由256个存储单元组成,每个单元中存放与单元地址相对应的温度值(BCD码)。,主程序在运行过程中,定时器T0每隔20ms向CPU发出中断请求,CPU在响应T0中断请求过程中每秒调用中断服务子程序(即六位LED动态扫描显示程序)约50次,显示被测温度。,ORG 0000H AJMP MAIN ;转主程序。 ORG

2、000BH LJMP DISP ;转LED显示中断子程序。,MAIN:MOV SP, #30H ;堆栈设置。 MOV TMOD, #01H ;T0初始化,方式1,TR0驱动。 MOV TH0 , #0D8H ;计数初值设置(延时20MS)。 MOV TL0 , #0F0H SETB EA ;开中断。 SETB ET0 ;允许T0中断。 MOV DPTR, #0300H ;指向8155命令寄存器。 MOV A, #00000101B ;8155初始化,口A,口C为 MOVX DPTR,A ;基本输出,禁止中断。 LCALL DELAY1 ;延时1S。 SETB TR0,AGAIN:MOV DPT

3、R, #2000H ;指向AD转换器。 MOVX DPTR,A ;启动AD转换。 SETB P1.0 ;P1.0为输入方式 MOV A, P1 HERE:JNB ACC.0, HERE ;等待AD转换结束。 MOV DPTR, #2000H MOVX A, DPTR ;取AD转换数据。 MOV R0, A ;保存。 MOV DPTR, #TABLE1 ;指向温度转换表首址。 MOVC A, ADPTR ;取对应温度值(BCD码)。 MOV R1, A ;暂存。 ANL A, #0FH ;屏蔽高四位。 MOV 79H, A ;个位显示字符送79H单元。 MOV A, R1 ;取温度值。 ANL

4、A, #0F0H ;屏蔽低四位。 SWAP A MOV 7AH, A ;十位显示字符送7AH单元。 MOV A, #10H ;关闭其余高4位LED显示。 MOV 7BH, A MOV 7CH, A MOV 7DH, A MOV 7EH, A LCALL DELAY2 ;延时2S。 LJMP AGAIN ;继续检测。,LED显示中断服务子程序如下: ORG 00A0H DISP:CLR EA ;关中断。 CLR TR0 ;暂时停止T0工作。 PUSH ACC ;现场保护。 PUSH 01H ;存R1内容。 PUSH DPL PUSH DPH MOV R1, #79H ;指向显缓区首址。 MOV

5、R2, #01H ;从右面第一位开始显示。 MOV A, R2,LD0:MOV DPTR, #0303H ;指向位控口。 MOVX DPTR,A ;位控码送位控口。 MOV A, R1 ;取显示字符。 MOV DPTR, #TABLE2 ;指向字符代码表首址。 MOVC A, ADPTR ;取字符相应编码。 MOV DPTR, #0301H ;指向段控口。 MOVX DPTR,A ;段控码送段控口。 ACALL DELAY3 ;延时1ms。 INC R1 ;指向下一显示单元。 MOV A, R2 ;取当前位控码。 JB ACC.5, LD1 ;是否扫描到最左面一位? RL A ;否,左移一位。

6、 MOV R2, A ;继续扫描显示。 AJMP LD0 LD1:POP DPH ;恢复现场。 POP DPL POP 01H POP ACC MOV TH0, #0D8H ;重新设置初值。 MOV TL0, #0F0H SETB EA ;开中断。 SETB TR0 ;重新启动T0。 RETI ;中断返回。,说明: 1在实际应用可根据需要用滤波法获得AD转换数据(如多次读取AD转换数据取其平均值)。 2程序中没有用到的高四位LED,在具体应用中可根据需要显示其它字符,或增加显示位数。 3DELAY1,DELAY2,DELAY3分别为延时1s,2s,1ms子程序。 4考虑74LS244的反相因素

7、,TABLE2可采用共阳LED数字形代码表,步进电机控制系统设计,三相步进电机工作原理可知,步进电机通常有3种通电工作方式:,假设按以上顺序通电,步进电机正转,则按相反方向通电,步进电机反转。,用单片机的P1.0,P1.1,P1.2分别控制步进电机的A,B,C相绕组。 由控制方式找出控制模型,软件设计,由步进电机工作原理可知,步进电机控制程序的设计主要包括: 1 判断旋转方向; 2 顺序送出控制脉冲; 3 脉冲是否送完; 4 恒速还是变速; 5变速时要判断是升速还是降速等。,转向标志存放在程序状态寄存器用户标志位F1(D5H)中,当F1为“0”时,步进机正转,反之步进机反转。,步进机要走的步数

8、放在R4中,以三相六拍工作方式为例,正转控制字及单元分配表见表,反转控制字及单元单元分配见表,步进电机的工作频率(转速)由送至步进机三相绕组的脉冲频率决定。在此设计脉冲序列产生由定时器T0中断来产生,故调整定时器T0的定时时间即可调节步进机的转速。,主程序: ORG 0000H MOV R4, #N ;设步长计数器。 CLR C ORL C, 0D5H ;转向标志为1则转。 JC ROTE ;C=1,转ROTE。 MOV R0, #20H ;正转模型首址送R0。 AJMP PH ROTE:MOV R0, #27H ;反转模型首址送R0。 PH:MOV TMOD, #01H ;T0定时器工作方式

9、1。 MOV TL0, #XL ;T0赋初值。 MOV TH0, #XH SETB TR0 ;启动T0。 SETB ET0 ;允许T0中断。 SETB EA ;CPU开中断。,LOOP: MOV A, R4 ;等待中断。 JNZ LOOP ;若步长记数器(A)0,继续进给。 CLR EA ;进给完毕,关中断。 SJMP HERE ;结束。,中断服务子程序: PUSHACC ;保护现场。 MOV A, R0 MOVP1, A ;输出控制模型字。 DEC R4 ;步长减1。 INC R0 ;地址增1。 MOV A, #00H ;是结束标志转。 ORL A, R0 JZ TPL TOR:MOV TL0, #XL ;赋初值。 MOVTH0, #XH ;赋初值。 POP ACC ;恢复现场。 RETI ;从中断返回。 TPL:MOV A, R0 ;恢复模型首址。 CLR C SUBBA, #06H MOV R0, A AJMP TOR,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号