全球旧事资料 分类
1413
CLK2GATE2
OUT2
181617
U5
12345678
1B2B3B4B5B6B7B8B
COM1C2C3C4C5C6C7C8C
101817161514131211
ULN2803
3
f主程序流程
开始
修改8、F号中断矢量,指向IRO、IR7中断处理程序
写入8259的OCW1开放IRO、IR7中断
初始化8253,CHO采取方式2,,CH2采取方式3,都采用先写低8位,后写高8位,二进制计数
写入8253通道0和2初值为609和50
关电机,PA004
f将压缩码BCD码的里程数SOEED转换成非压缩BCD码,存显示缓冲区
调用显示子程序
打开键盘端口
N有键按下吗?Y延时,去抖动
行扫描法识别按键,AH存扫描码
是加速键吗?
NY
AH的最高位置1,D71
是启停键
是“”键5
是“”键
fN启动吗?
N加速吗?
N加速吗?吗?
里程0启动
Y
设为停止占空比1
Y
占空比10
占空比1
Y
占空比10
循环
IRO中断处理流程图IR7中断处理程序流程图
保存现场,AX入栈
保存现场,AX入栈
N是启动状态吗?
Y
高电平时间10?
N
Y
重装高电平时间,PA00
开中断,允许IRO调速中断取出当前压缩BCD码的里程数
里程数的低字节1,十进制调数高字节0进位,十进制调数
保存结果到里程数SPEED中6
fPWM定时时间10?
N
Y
重装PWM定时时间,PA01
恢复现场,中断结束中断返回
恢复现场,中断结束
中断返回
显示子程序流程图保存现场,寄存器入栈
BX指向显示码表,SI指向缓冲区取出一个字节显示数据,转换为显示码
显示第2位数吗
据吗数据吗?
显示小数点,显示码OR80H4位显示码显示完
N
关显示,恢复现7场返回
fY
N
Y(二)、源程序设计与硬件介绍中断程序
里程计数中断程序每当霍尔传感器输出一个低电平信号就使中断一
次,当里程计数器对里程脉冲计满1000次时,进入里程计数中断服务程序中,里程变量加一。主函数中总金额也相应地变化。中途等待中断程序
在中途等待中断程序中,每1ms产生一次中断,将当前里程值送入某个缓存变量,每5分钟将缓存变量中的值和当前里程值比较,当汽车停止,霍尔传感器5分钟没有输出信号,当前里程值和缓存变量内的
8
f值相同,则进入等待计时,每5分钟记一次价格。显示程序
显示程序利用定时器每1ms产生一次中断,相应变量置位,点亮一个数码管,显示一位数据,利用主函数内的循环,实现动态扫描显示,同时根据数码管余辉和人眼暂留现象,即可实现显示。
键盘程序键盘采用查询的方式,放在主程序中,当没有按键按下的时候,循环主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。218086最小系统模块1、8086CPU构成的系统r
好听全球资料 返回顶部