欢迎来到天天文库
浏览记录
ID:57064036
大小:258.00 KB
页数:25页
时间:2020-07-30
《单片机的异步串行通信技术课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第八章应用举例一、数据采集系统二、步进电机控制计算机数据采集过程示意已知某温度传感器的温度与输出电压及八位A/D转换器输出的特性曲线T=0℃,U=0,D7—D0=00H;T=10℃,U=0.1V,D7—D0=1AH;T=99℃,U=5V,D7—D0=FFH。可建立温度转换表如表所示,该转换表由256个存储单元组成,每个单元中存放与单元地址相对应的温度值(BCD码)。主程序在运行过程中,定时器T0每隔20ms向CPU发出中断请求,CPU在响应T0中断请求过程中每秒调用中断服务子程序(即六位LED动态扫
2、描显示程序)约50次,显示被测温度。ORG0000HAJMPMAIN;转主程序。ORG000BHLJMPDISP;转LED显示中断子程序。MAIN:MOVSP,#30H;堆栈设置。MOVTMOD,#01H;T0初始化,方式1,TR0驱动。MOVTH0,#0D8H;计数初值设置(延时20MS)。MOVTL0,#0F0HSETBEA;开中断。SETBET0;允许T0中断。MOVDPTR,#0300H;指向8155命令寄存器。MOVA,#00000101B;8155初始化,口A,口C为MOVX@DPTR,
3、A;基本输出,禁止中断。LCALLDELAY1;延时1S。SETBTR0AGAIN:MOVDPTR,#2000H;指向A/D转换器。MOVX@DPTR,A;启动A/D转换。SETBP1.0;P1.0为输入方式MOVA,P1HERE:JNBACC.0,HERE;等待A/D转换结束。MOVDPTR,#2000HMOVXA,@DPTR;取A/D转换数据。MOVR0,A;保存。MOVDPTR,#TABLE1;指向温度转换表首址。MOVCA,@A+DPTR;取对应温度值(BCD码)。MOVR1,A;暂存。AN
4、LA,#0FH;屏蔽高四位。MOV79H,A;个位显示字符送79H单元。MOVA,R1;取温度值。ANLA,#0F0H;屏蔽低四位。SWAPAMOV7AH,A;十位显示字符送7AH单元。MOVA,#10H;关闭其余高4位LED显示。MOV7BH,AMOV7CH,AMOV7DH,AMOV7EH,ALCALLDELAY2;延时2S。LJMPAGAIN;继续检测。LED显示中断服务子程序如下:ORG00A0HDISP:CLREA;关中断。CLRTR0;暂时停止T0工作。PUSHACC;现场保护。PUSH0
5、1H;存R1内容。PUSHDPLPUSHDPHMOVR1,#79H;指向显缓区首址。MOVR2,#01H;从右面第一位开始显示。MOVA,R2LD0:MOVDPTR,#0303H;指向位控口。MOVX@DPTR,A;位控码送位控口。MOVA,@R1;取显示字符。MOVDPTR,#TABLE2;指向字符代码表首址。MOVCA,@A+DPTR;取字符相应编码。MOVDPTR,#0301H;指向段控口。MOVX@DPTR,A;段控码送段控口。ACALLDELAY3;延时1ms。INCR1;指向下一显示单元
6、。MOVA,R2;取当前位控码。JBACC.5,LD1;是否扫描到最左面一位?RLA;否,左移一位。MOVR2,A;继续扫描显示。AJMPLD0LD1:POPDPH;恢复现场。POPDPLPOP01HPOPACCMOVTH0,#0D8H;重新设置初值。MOVTL0,#0F0HSETBEA;开中断。SETBTR0;重新启动T0。RETI;中断返回。说明:1.在实际应用可根据需要用滤波法获得A/D转换数据(如多次读取A/D转换数据取其平均值)。2.程序中没有用到的高四位LED,在具体应用中可根据需要显示
7、其它字符,或增加显示位数。3.DELAY1,DELAY2,DELAY3分别为延时1s,2s,1ms子程序。4.考虑74LS244的反相因素,TABLE2可采用共阳LED数字形代码表步进电机控制系统设计三相步进电机工作原理可知,步进电机通常有3种通电工作方式:假设按以上顺序通电,步进电机正转,则按相反方向通电,步进电机反转。用单片机的P1.0,P1.1,P1.2分别控制步进电机的A,B,C相绕组。由控制方式找出控制模型软件设计由步进电机工作原理可知,步进电机控制程序的设计主要包括:1判断旋转方向;2顺
8、序送出控制脉冲;3脉冲是否送完;4恒速还是变速;5.变速时要判断是升速还是降速等。转向标志存放在程序状态寄存器用户标志位F1(D5H)中,当F1为“0”时,步进机正转,反之步进机反转。步进机要走的步数放在R4中,以三相六拍工作方式为例,正转控制字及单元分配表见表反转控制字及单元单元分配见表步进电机的工作频率(转速)由送至步进机三相绕组的脉冲频率决定。在此设计脉冲序列产生由定时器T0中断来产生,故调整定时器T0的定时时间即可调节步进机的转速。主程序:ORG0000HMO
此文档下载收益归作者所有