一、实验目的:
让六个数码管动态显示数字,计算秒数
二、实验分析:
a.因为要显示秒数,所以我们首先应该定义一个数组,用来存放0-9数字在数码管上对应的 十六进制数
b.3/8译码器的使能设置
c.定时器的理解。首先应该知道定时器与TMOD和和TCON有关。对于TMOD值得我们特别注意的是TMOD的Gate位(门控位)和C/T位。Gate=0时,仅由运行控制位TR1/TR0来启动定时器运行。而当Gate=1时,仅由运行控制位TR1/TR0和外中断引脚(INT0和INT1)上的高电平共同来启动定时器运行。C/T=0为定时模式,C/T=1为计数模式。我这次用到的是定时器1的方式一,为了不影响TMOD上的其他位,我这次用了逻辑运算:TMOD=TMOD|0x10;MOD=TMOD&0x0DF。对于定时方式一实际上是有一个16位数(TH和TL组成,各占8位)进行累加。上接着看TCON,我们主要用到的TF(定时溢出标志)和TR(定时器运行控制位)。上面说的16位数溢出时,TF=1。(特别需要注意的是:当执行溢出中断时TF位可由硬件清零,当不执行溢出中断时TF位一定要由软件清零)。而对于TR位,当TR=1时开始计时,TR=0,停止计时。因为方式一最长定时是100多毫秒,所以可以每1ms进行一次中断,中断1000次就是1s。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !