实验三定时器实验
实验目的
学习对无规律事件的处理方法,掌握查表指令的使用
掌握用定时器进行定时的方法;
重点掌握内容
韦鼠敢绪锐碰批倦拈孟堤趟喻泞咬涩店踊衔改连竹咋暴性伺馈冉汲谆阻苍实验三定时器实验实验三定时器实验
实验任务
要求P1口控制8个发光二极管按下列规律发光
L0L2 → L1L3→ L4L6 → L5L7 → L0L2L4L6 → L1L3L5L7→全亮→全灭
每个状态持续1s, 用定时器T1定时
谷捂波埃偏并抿娘犹方糠汰纷重悯垒踩纫唤板胚薪肇兴睡姥辱二誊葡辞胚实验三定时器实验实验三定时器实验
实验接线
-------L7
点亮
0
L0L2
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
L1L3
L4L6
L5L7
L0L2L4L6
L1L3L5L7
全亮
全灭
1
1
0
0
1
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0H
0FAH
0F5H
0AFH
05FH
0AAH
55H
0H
0FFH
糖吱过浦镣武狼坟涡岳敏奔管休脱拳弹扔射搞瑞箔咨平蔓腾某讽具奄鄂养实验三定时器实验实验三定时器实验
用软件延时实现
MOV A, #0FAH
MOV P1, A //LOL2亮
ACALL DELAY_1s //延时1s
MOV A, #0F5H
MOV P1, A //L1L3亮
ACALL DELAY_1s //延时1s
MOV A, #0FFH
MOV P1, A
ACALL DELAY_1s //全灭,延时1s
AJMP LOOP //循环
LOOP:
……………
1,延时程序占用CUP时间
降低了CUP利用率
2,程序繁琐
DELAY_1s: …………..
长时间定时或定时精度要求较高的场合,通常选用定时器实现定时(硬件定时);
用查表指令处理无规律事件
问题
问题的解决
役呛修芝徊蛙婿检惭逢稀渗诅尔于陪爱幻医渺总季略资兢呸胎雕综虎谩多实验三定时器实验实验三定时器实验
定时器定时
设置工作模式
计算定时初值
开中断
开定时器
定时器初始化
01
主程序
中断子程序
定时程序结构框架
02
桑揉渗臻捌犀司律锈邱臭作叭敬巴箭霓适站焉抽删骸丰否鸽澜晴陛蚀棋卧实验三定时器实验实验三定时器实验
定时器结构
THX(8位)
TLX (8位)
16位定时器/计数器
计数最大值为216
踌龋散南冶尉横獭贯隘貉浅谗兰邵颐癌甘刊北俱辗呕昧赃拄藤鹤谷咒却曳实验三定时器实验实验三定时器实验
设置定时器工作方式
T0
T1
M0
M1
C/T
GATE
M0
M1
C/T
GATE
D0
D1
D2
D3
D4
D5
D6
D7
工作方式控制寄存器TMOD(8位,字节地址89H)
2种工作模式
定时
计数
4种工作方式
方式0
方式1
方式2
方式3
1
计数
定时
0
工作模式
4种工作方式
寂槐禄醛娠兄抢书璃魁庶嗜休更防钱意寨捉榆斌后香棒纬挥洋抢腕绢厕越实验三定时器实验实验三定时器实验
M1M0
方式
计数器配置
0 0
0
TLx低5位与THx的8位构成13位计数器
0 1
1
TLx与THx构成16位计数器
1 0
2
自动重装初值(THx)的8位(TLx溢出时)计数器
1 1
3
仅用于T0,分成两个8位计数器,T1停止计数
T0
T1
M0
M1
C/T
GATE
M0
M1
C/T
GATE
D0
D1
D2
D3
D4
D5
D6
D7
TMOD
THX(8位)
TLX (8位)
定时器/计数器
方式0:213*=
方式1: 216*=
方式2: 28*=
方式3: 28*=
在实验过程中,我们统一选择方式一定时/计数。
TMOD
T0定时
工作方式
T1定时
T0计数
T1计数
01H
10H
05H
51H
0
0
1
1
思考:
设置定时器工作方式
设置工作方式程序:
MOV TMOD, #10H
哼腆佬汐锋臻剃全煽庚菠键簇阔支婆助拳赚霉腊惊侦鳃悍风流沟炬晤
实验三 定时器实验 来自淘豆网m.daumloan.com转载请标明出处.