基于单片机自行车测速系统设计(2)(5)

2019-04-14 16:01

基于单片机自行车测速系统设计

和判断出行驶里程数。中断1用于控制定时器T1的启/停,当输入为0时关闭定时器。此控制信号是将轮子圈数的计数经二分频后形成。这样,每次定时器T1的开启时间刚好为转一圈的时间,根据轮子的周长就可以计算出自行车的速度。

第 21 页 共 30 页

基于单片机自行车测速系统设计

其程序流程

开始 如图3.1所示。

初始化 P1.2=1? Y N N P1.3=1? Y N P1.6=1? Y N P1.7=1? Y 出错提示 将车圈周长调入21H 开中断,启动定时器 N P3.0=1? Y 调用里程处理子程序 调用速度处理子程序

第 22 页 共 30 页

基于单片机自行车测速系统设计

图3.1 主程序流程图

系统程序设计如下:

$INCLUDE (REG52.INC)

DISPBUF EQU 59H ;显示缓冲区从5AH开始 SecCoun EQU 58H

SpCoun EQU 56H ;速度计时器单元57H和58H,高位在前(57H单 元中)

Count EQU 55H; 显示时的计数器

SpCalc bit 00h ;要求计算速度的标志,该位为1则主程序进行 速度计算,然后清该位 Hidden EQU 16 ;消隐码

ORG 0000H AJMP START ORG 1BH

JMP TIMER1 ;定时中断1入口

ORG 30H

START: MOV SP,#5FH ;设置堆栈 MOV P1,#0FFH MOV P0,#0FFH

MOV P2,#0FFH ;初始化,所有显示器、LED灭

MOV TMOD,#00010101B ;定时器T1工作于方式1,定时器0工作方式1, 计数器

MOV TH1,#HIGH(65536-3686) MOV TL1,#LOW(65536-3686) SETB TR1

SETB ET1 ;开定时器1中断 SETB EA

LOOP: JNB SpCalc,LOOP ;如果未要求计算,转本身循环 ;标号: MULD 功能:双字节二进制无符号数乘法 ;入口条件:被乘数在R2、R3中,乘数在R6、R7中。 ;出口信息:乘积在R2、R3、R4、R5中。

;影响资源:PSW、A、B、R2~R7 堆栈需求: 2字节 MOV R2,SpCoun MOV R3,SpCoun+1 MOV R6,#0

MOV R7,#5 ;测得的数值是每秒计数值,转为分(每一转测

第 23 页 共 30 页

基于单片机自行车测速系统设计

12次,故乘5而非60) CALL MULD

SEND: MOV SBUF,R2

SLP1: JBC TI,SN1 ;是否送完? AJMP SLP1

SN1: MOV SBUF,R3 SLP2: JBC TI,SN2 AJMP SLP2

SN2: MOV SBUF,R4 SLP3: JBC TI,SN3 AJMP SLP3

SN3: MOV SBUF,R5 SLP4: JBC TI,SN4 AJMP SLP4 SN4:

;标号: HB2 功能:双字节十六进制整数转换成双字节BCD码整数 ;入口条件:待转换的双字节十六进制整数在R6、R7中。 ;出口信息:转换后的三字节BCD码整数在R3、R4、R5中。 ;影响资源:PSW、A、R2~R7 堆栈需求: 2字节 MOV A,R4 MOV R6,A MOV A,R5

MOV R7,A ;将乘得的结果送R6R7准备转换,这里结果不可能超过2 字节

CALL HB2

MOV DISPBUF,R3 ;最高位

MOV A,R4 ;

ANL A,#0F0H ;去掉低4位

SWAP A ;将高4位切换到低4位 MOV DISPBUF+1,A MOV A,R4 ANL A,#0FH

MOV DISPBUF+2,A

MOV A,R5 ANL A,#0F0H SWAP A

MOV DISPBUF+3,A

MOV A,R5 ANL A,#0FH

第 24 页 共 30 页

基于单片机自行车测速系统设计

MOV DISPBUF+4,A

CLR SpCalc ;清计算标志 JMP LOOP

3.3 中断子程序设计

定时中断是为满足定时或计数的需要而设置的。在单片机内部有两个定时/计数器,以对其中的计数结构进行计数的方法,来实现定时或计数功能。当结构发生计数溢出时,即表明定时时间或计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志,作为单片机接受中断请求的标志。这种中断请求是在单片机芯片内部发生的,因此无须在芯片上设置引入端。

开始 关中断 现场保护 开中断 中断处理 关中断 现场恢复 开中断 中断返回 图3.2中断子程序流程图

定时/计数器控制寄存器TCON是8位寄存器,地址为88H,可以位寻址。其高4位用于定时/计数器中断控制,低4位借给外部中断,用做中断标志和触发

第 25 页 共 30 页


基于单片机自行车测速系统设计(2)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:成都市2015届高中毕业班第一次诊断性检测文综 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: