- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
开始
开始
初始化各参数:70H、P2、SP、INTL、COUNT、STL、STH、COUNTTIME、T0、中断参数
入口地址设置:主程序、外部中断、定时计数器T0
电机状态:70H
电机驱动:DRIVE
=1,电机运行中
=0,电机停止
调用十六进制转换BCD码子程序
是否起动:P1.0=0?
是否停止:P1.1=0?
是否加速:P1.2=0?
是否减速:P1.3=0?
设置脉宽初值、电机运行状态标志(置1)
按键防抖
OUTPUT(P2.7)、电机运行状态标志清零
=1,未起动
=1,未停止
=1,未减速
=1,未加速
=0,停止
=0,加速
=0,减速
=0,起动
按键防抖
脉宽临界:低电平是否达到最小值?
电机运行?
电机运行?
否
是
否
脉宽临界:低电平是否达到最小值?
是
脉宽调整:
(PWML)—10
(PWMH)+10
否
是
是
脉宽调整:
(PWML)—10
(PWMH)+10
否
800转完成:STH=8?
是
是,转TINGZHI1
OUTPUT(P2.7)、电机运行状态70H清零
START
DRIVE
MAIN
800转完成:STL放入A中再屏蔽A个位,A=0?
否
否
NEXT1
NEXT1
外部脉冲边沿触发中断服务子程序800转计数器低位STL是否满两1
外部脉冲边沿触发中断服务子程序
800转计数器低位STL是否满两100?
将脉冲计数赋给A
脉冲计数器COUNT、STL计数
是
返回
否
800转计数器高位STH是自加1
STL清零
T0计数溢出转T0中断服务子程序
累加器A进栈、停止T0计数
调用转速显示:外部中断次数(转速)送静态串行显示子程序,并屏蔽低两位LED
初始化转速计数器
重新对时间中断数赋值
1秒计时完成?由T0与COUNTTIME实现
是
否
返回
重新初始化定时器T0,并再次开始定时
弹出累加器A的内容
转换数据(含屏蔽不用LED代码)送入显示存放地址返回除以十,将十位(A)与个位(B)分离
转换数据(含屏蔽不用LED代码)送入显示存放地址
返回
除以十,将十位(A)与个位(B)分离
1位十六进制转换BCD码子程序
从INTL中取出每秒脉冲个数(转速)放入累加器A
取完
段码组数赋计数器R1
重置转换后段码存放地址指针R0
修改两组地址指针
8个待显示内容是否已取完
待显示内容个数赋循环计数器R2
设置待显示内容地址指针(R0)及转换后显示代码存放地址指针(R1)
取出待显示内容段码并送入暂存地址(R1指向地址)
静态串行显示子程序
未取完
每组段码位数赋计数器R1
将1组段码送入累加器A作移位准备
带进位标志C左移位累加器A
每组段码8位移位是否完成
串行移位寄存器移位控制
将移位段码C的内容送入串行移位寄存器
否
否
返回
是
修改段码存放地址指针R0
是
8组段码移位显示是否完成
文档评论(0)