接上篇:pic单片机采用定时器中断的闪灯实验报告:http://www.51hei.com/mcu/3996.html
1. 实验目的
学习如何使用查找表
2.
任务要求
实现数字译码和动态显示
实现显示的滚动效果
用数码管呈现实验三中的外中断
实现数码管数字显示
制作开机画面
3.
实验器材
单片机PIC16F886一片、LED灯一只、任选、下载器(及相关的线)一个
4.
实验方案
图1硬件设计图
图2数字译码动态显示
流程图
图3走马灯流程图
5.
实验现象分析
先看到
SEEd四个字母然后是0-9循环滚动,每次显示4个数字或字符。电平变化中断触发后重新从0-9循环显示。
程序中用查询表的办法,循环选择数码管,循环选择要显示的数字和字符,利用视觉暂留以展现四个字符同时存在的错觉。利用TMR0定时选择改变显示的四个字符,由此做成字符滚动的效果。而电平变化中断的作用则是重新选择字符,使数码管重新从0123开始显示。开机显示其实只是在最开始时选择了显示的字符,由于这部分字符不在TMR0的循环里,所以只出现一次。
整个实验过程中有几次硬件出现问题导致数码管只显示一个0,应该是接触不良,不知道触碰到哪里就又好了,这样的事情发生了好几次。其他的单步调试解决了,基本上没什么问题。
备注:开机的SEEd显示是许双杰的观点,我们不知道开机显示什么就也做了这个SEEd。
附:
#INCLUDEp16f886.inc
__config_CFIG1,_IOSCIO&_WDT_OFF
COXT_SAVINGUDATA_S
W_TMPRES1
S_TMPRES1
OFFSETRES1
COFFSETRES1
NUMRES1
CNUMRES1
PARES1
CNTRES1
LP0RES1
LP1RES1
ISBLACKRES1
RESETCODE0x0