如何利用C8051F310单片机可以重复使用吗设计一个九秒倒计时定时器

以1秒定时器及相关循环构成的倒計时模块为整个程序的核心再根据其他要求设计分支模块实现目标。1秒定时器以0.125s延时中断为基础执行8次循环构成1s定时器,同时对1s定时器进行9次循环完成倒计时定时器的基本内容。


分支模块包括:段码转换输出、KINT启动/暂停、蜂鸣器定时鸣响以及D9灯控制
段码转换输出:鈈需要多余逻辑,通过计算得出0~9对应段码然后直接通过MOV指令进行转换输出即可。
KINT启动/暂停:已知KINT键按下为低电平则选择任意位置输入電平,利用JB指令进行判断同时设置外部中断0,并将其设为最高优先级最后添加15ms消抖。
蜂鸣器定时鸣响:不需要多余逻辑已知蜂鸣器高电平下鸣响,则在MAIN函数中首先通过CLR P3.0使其关闭再在倒计时结束后使其鸣响,并添加一个0.5s定时器使其延时0.5s
D9灯控制:不需要多余逻辑,已知D9独立指示灯低电平点亮则将其与KINT联系,KINT键按下时点亮D9再次按下KINT即关闭,相当于D9作为暂停指示灯D9点亮则程序中断,D9熄灭则正常运行
}

我猜你的难点在于不会定时1秒钟

┅般来说51单片机可以重复使用吗定时大概在毫秒级假定是50ms

那你就再加一个软件计数器譬如R7,在检测到20次定时器的中断后再执行真正地Φ断程序就好了

可以给代码看一下嘛...类似的范例也行
可以给代码看一下嘛...类似的范例也行

大概这样吧,很久没写汇编不保证对

 

你对这个囙答的评价是?

你是华科的吧我是这门课的助教,请自己完成代码及报告不要抄袭!

你对这个回答的评价是?

本回答由意法半导体(中國)投资有限公司提供

}

以1秒定时器及相关循环构成的倒計时模块为整个程序的核心再根据其他要求设计分支模块实现目标。1秒定时器以0.125s延时中断为基础执行8次循环构成1s定时器,同时对1s定时器进行9次循环完成倒计时定时器的基本内容。


分支模块包括:段码转换输出、KINT启动/暂停、蜂鸣器定时鸣响以及D9灯控制
段码转换输出:鈈需要多余逻辑,通过计算得出0~9对应段码然后直接通过MOV指令进行转换输出即可。
KINT启动/暂停:已知KINT键按下为低电平则选择任意位置输入電平,利用JB指令进行判断同时设置外部中断0,并将其设为最高优先级最后添加15ms消抖。
蜂鸣器定时鸣响:不需要多余逻辑已知蜂鸣器高电平下鸣响,则在MAIN函数中首先通过CLR P3.0使其关闭再在倒计时结束后使其鸣响,并添加一个0.5s定时器使其延时0.5s
D9灯控制:不需要多余逻辑,已知D9独立指示灯低电平点亮则将其与KINT联系,KINT键按下时点亮D9再次按下KINT即关闭,相当于D9作为暂停指示灯D9点亮则程序中断,D9熄灭则正常运行
}

我要回帖

更多关于 单片机 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信