登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] 单片机学习

[复制链接]
发表于 2022-1-16 16:39:48 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 单片机
学习安排: 定时器与数码管基础
开始时间: 2022-01-15
结束时间: 2022-01-16
一:定时器
1,时钟周期和机器周期
时钟周期=1/时钟源频率(1HZ=1/S,1MHZ=1*10的6次方每秒)
所以电开版的时钟周期即1/32768000秒,时钟周期是最小的时间单位。
一个机器周期是12个时钟周期。

定时器内部有一个寄存器,我们让它开始计数后,
这个寄存器的值每经过一个机器周期就会自动加 1,
因此,我们可以把机器周期理解为定时器的计数周期。
从某一个初始值开始,经过确定的时间后溢出,这个过程就是定时的含义。

2,定时器的使用
TH0/TL0 用于 T0(定时器0),TH1/TL1 用于 T1(定时器1)。
TL都是低字节,TH都是高字节。
定时器这块需要多看书的定义和写程序来理解,初步学会使用套路,估计用多
就会了
QQ截图20220116160847.png 这里注意清零方式)
使用套路:
QQ截图20220116161947.png
我们的晶振是 32.768M,时钟周期就是 1/32768000,机器周期是 12/32768000,假如要定时 20ms,
就是 0.02 秒,要经过x 个机器周期得到 0.02 秒,我们来算一下 x*12/32768000=0.02,得到 x= 54613。
16 位定时器的溢出值是 65536(因 65535 再加 1 才是溢出),于是我们就可以这样操作,先给 TH0 和 TL0
一个初始值,让它们经过 54613 个机器周期后刚好达到 65536,也就是溢出,溢出后可以通
过检测 TF0 的值得知,就刚好是 0.02 秒。那么初值 y = 65536 - 54613 = 10923,转成 16 进制
就是 0x2AAB,也就是 TH0 = 0x2A,TL0 = 0xAB。 (以后赋初值时应该都是这样算的)



用定时器来使小灯闪烁:
QQ截图20220116162807.png QQ截图20220116163906.png

二:数码管
1,数码管真值表
数码管这块我认为看懂真值表就行了,单个数码管就是八个led小灯
QQ截图20220116163254.png
2,数码管的静态显示
QQ截图20220116163538.png
秒表倒计时我是把那个数组中的数倒着写的。反正数组是按照顺序取值的。


好懒~~不想说~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表