图03.06外围小灯电路
6.整体电路protuus仿真图
图03.07整体电路protuus仿真图
11
四、软件设计
系统程序包括:主函数程序、显示函数程序、中断函数程序、开关函数程序、系统初始化函数程序,通道设置函数程序。
主程序结构:
1.系统主函数程序
主程序程序中调用了两个子函数程序,分别是中断初始化函数程序及显示函数程序。
开始 系统初始化函数 显示函数 图04.01系统主函数程序图
2.初始化函数程序
开始 设定定时器状态 开中断 对定时器赋初值 结束 图04.02初始化函数程序图
12
初始化函数程序包括对定时器/计数器的工作方式设定、初值设定。
3、显示函数程序
开始 数码显示 判断通道标识a为1还是2 通道2数据 通道1数据 结束
图04.03显示函数程序图
显示函数程序通过识别两个通道的刷新标志位flag_1和flag_2来实现双通道显示转换。
13
4.开关函数程序
开始开始 2判断通道标志位a为几?1Flag_2=1是判断P10是否为低电平?判断P10是否为低电平?是Flag_1=1否是Flag_2=0判断P11是否为低电平?否判断P11是否为低电平?是Flag_1=0否通道2数据清零是判断P12是否为低电平?否判断P12是否为低电平?是通道1数据清零否否结束 结束
图04.04 开关函数程序图
开关函数程序主要通过P1.0、P1.1、P1.2三个引脚来操作秒表的开始、停止、清零。
14
5.中断函数程序
开始 开始判断P13是否为低电平?是通道标志位a=1否判断P14是否为低电平?是通道标志位a=2否开关程序开关程序通道刷新标识位flag1为几?10通道刷新标识位flag1为几?01通道刷新标识位flag2为几?1通道1和通道2都计时0通道1和通道2都停止计时通道1和通道2都停止计时通道2计时通道1停止计时数字显示结束结束
图04.05中断函数程
中断函数程序通过P1.3和P1.4控制用户选择的通道数,然后根据开关函数来分别对两个通道的刷新标志位flag_1和flag_2赋值,进而实现通道的互相切换。
15