http://通过网盘分享的文件:CSDN分享51单片机仿真 链接: https://pan.baidu.com/s/1umc_06dPkZPk0GYQeXUvMw?pwd=HHRR 提取码: HHRR --来自百度网盘超级会员v5的分享
上述是这个系列所有教程的相关案例链接,可以参考使用
免费分享
定时器的原理与应用
定时/计数器 方式寄存器TMOD | | ||||
C/T 定时或计数方式选择位 | C/T=1时:工作于计数方式 C/T=0时:工作于定时方式 | ||||
GATE:门控位,用于控制定时/计数器的启动是否受外部中断请求信号的影响 | |||||
M1、M0为工作方式选择位,用于对T0的四种工作方式,T1的三种工作方式进行选择 | |||||
M1 | M0 | 工作方式 | 方式说明 | ||
0 | 0 | 0 | 13位定时/计数器 | ||
0 | 1 | 1 | 16位定时/计数器 | ||
1 | 0 | 2 | 8位自动重置定时/计数器 | ||
1 | 1 | 3 | 两个8位定时/计数器(T0) |
定时/计数器的控制寄存器 TCON0→2^13-1 | | |
TF0(1) 定时/计数器T0(1)的溢出标志位 | 定时/计数器T计满时,由硬件置位,如中断允许则触发T1中断 进入中断处理后由内部硬件电路自动清除 | |
TR0(1) 定时/计数器T0(1)的启动位 | 可由软件置位或清零 当TR0(1)=1时启动;TR0(1)=0时停止。 | |
ITO(IT1) 外部中断0(或1)触发方式控制位 | IT0(或IT1)被设置为0,电平触发方式 ITO(或IT1)被设置为1,边沿触发方式 | |
IEO(IE1):外部中断0(或1)的中断请求标志位 |
定时/计数器的工作方式
方式0 13位定时/计数器方式 | 计数值为N和初值X关系: X=8192-N/(12/fosc) 上次计数完,计数器值为0,要重复计数需重置初值 | ||
以ms为单位 50ms=50000us TH0 TL0 TH1 TL1 | |||
方式1 16位定时/计数器方式 | 计数值为N和初值X关系:X=65536-N/(12/fosc) 上次计数完,计数器值为0,要重复计数需重置初值。 | ||
方式2 | 8位自动重置定时/计数器 | 上次计数完,计数器自动重置初值。 不需用户重置。 计数值为N和初值X关系: X=256-N (12/fosc) | |
方式3 | 8位定时/计数器 (只有配置T0才能使用) | ||
fosc为晶振频率,51单片机一般为12MHz或者11.0592MIHz | |||
| 中断服务函数 | ||
Interrupt后面加数字
| |||
用数码管表示,要加入显示函数display() 共阴极数码管段码,每个段码代表一个数字 | |||
| |||
Proteus仿真 |
计数器的原理与应用
| Protesu电路仿真---计数器 注意,按键只可以放在P3^4、P3^4 只有这两个口复用为计数器 |
数码管显示函数和上述定时器相同 |