微波炉控制器的选型及其实例分析
时间:09-18
来源:互联网
点击:
- 程序编写和程序调试
软件简单规划后,就需要具体的编写,将任务分解后,每部分已经比较简单了,调试时可以考虑各子程序单独调试,人为模拟输入各种情况下的数据及状态,检查输出是否正确。再将相关联的一起调试。除非很有把握,不要将程序全编写完了再调试,那样就不知道到底哪里有问题。
程序简单题纲如下:
;定义常量,某些固定的值,多次用到或经常修改的常量,单独定义后调用。
buz_l0 equ 50d ;50*4=200ms设置所有默认蜂鸣器鸣叫声音长度。
sw_t0 equ 70d ;有效按键响应时间,按键去抖动时间
。。。。。。
;定义i/o,将各输入/输出单独按功能或原理图网络标号定义,当原理图修改时方便软件修改
buz_p equ pa.3
grill_p equ pc.0
micro_p equ pc.1
......
;定义变量,
run_state equ [40h] ;或则用自动变量定义
......
;程序开始
org 0h
jmp start_l
org 04h ;外部中断向量
jmp int_set ;跳转过零中断处理程序
org 08h ;定时中断向量,中断周期为250us
mov temp_a,a ;保存
mov a,status
mov temp_s,a
inc t_int0 ;每次中断0.25us
mov a,temp_s
mov status,a
mov a,temp_a
reti
;中断处理程序,注意先保存用到的acc和标志寄存器status,返回前恢复
int_set:
......;中断处理程序,设置风扇输出
reti
;主程序开始
start_l:
;初始化ram、i/o、timer、中断等,一般先将通用ram全清零
;注意继电器等关键变量的初始化,否则上电时继电器可能会跳一下。
;初始化某些特殊变量
;主循环程序部分
main:
call sw_in_set ;注意按键设置会将显示关闭,则显示输出程序在后
call dsp
_out_set ;显示扫描程序
call sw_out_set ;按键功能及状态设置
call ad_tem_set ;a/d转换及温度计算
call dsp_state_set ;显示状态计算
main_delay_2ms:
mov a,t_int0 ;0.25*8=2 等待2ms时间到
sub a,8
snz c
jmp main_delay_2ms
call sw_in_set ;注意按键设置会将显示关闭,则显示输出程序在后
call dsp_out_set ;调用显示扫描程序
call heat_out _set ;调用加热状态及功率设置
call buz_set ;调用蜂鸣器设置子程序
call time_set
main_delay_4ms:
mov a,t_int0 ;0.25ms*16=4ms 等待4ms时间到
sub a,16
snz c
jmp main_delay_2ms
clr t_int0
jmp main
;各子程序分列后面
sw_in_set: ;按键检测、编码开关检测、门状态检测
......
ret
dsp_out_set: ;显示扫描程序
......
ret
sw_out_set: ;按键功能及状态设置
......
ret
ad_tem_set: ;a/d转换及温度计算
......
ret
dsp_state_set: ;显示状态计算
......
ret
heat_out _set: ;调用加热状态及功率设置
......
ret
buz_set: ;蜂鸣器设置子程序
......
ret
time_set: ;时间及定时处理程序
......
ret
;程序中会用到很多表,为调用方便,则将其放到最后页面
org 0f00h
dsp_code_l0:
dc 10011111b;0
......
end ;程序结束
- 程序编写和程序调试
单片机 半导体 电压 比较器 继电器 电路 电流 变压器 可控硅 电阻 相关文章:
- OLED显示模块与C8051F单片机的接口设计(08-14)
- 液晶显示模块DMF-50081在单片机系统中的应用(08-27)
- 大屏幕液晶显示在力矩限制器中的应用(09-03)
- 智能吸尘器的开发与设计 (07-17)
- 图形点阵式液晶显示模块与51单片机的接口设计(08-20)
- 基于AD7892SQ和CPLD的数据采集系统的设计(11-10)