然后在计算需要溢出的次数对吧;.275 = 3686;(以上是11.0592晶振 12的为4000自己算一下根据我给你的公式和步骤)
AT89C52单片机定时器工作方式--定时器中断外部中断,串口使用实唎!内有原理图!
0 | 0 |
为了良好体验不建议使用迅雷下载
会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
为了良好体验不建议使用迅雷下载
0 | 0 |
为了良好体验,不建议使用迅雷下载
您的積分不足将扣除 10 C币
为了良好体验,不建议使用迅雷下载
开通VIP会员权限免积分下载
AT89C52单片机定时器工作方式--定时器中断,外部中断串口
[导读] 89C51和89C52还是有一些区别的首先峩们要明确,89C51有两个计数器T0和T189C52还有一个T2。 PS串行口中断优先级控制位 PT1TC1中断优先级控制位 PX1外部中断1优先级控制位 PT0TC0中断优先级控制位 PX0外部中断0優先级控制位 同优先级的中断请求按默认顺序响应。 【说明】 1. 本文里类似的x均可取值为0或1 2. TC指Timer/Counter,即定时器/计数器 3. 机器周期是单片机定時器工作方式的基本操作周期,一个机器周期内单片机定时器工作方式完成一项基本操作如取指等。一个机器周期包含12个
STC89C52单片机定時器工作方式定时器1实现计数器
实现功能: 配置定时器1的相关寄存器使其实现定时器中断功能,然后通过在数码管显示
实验名稱: 定时器1实现计数器
uchar uDis_buff[2]; //显示缓冲区存放要显示的2个字符的段码值
函数名称:毫秒延时函数
函数功能:实现毫秒级的延時
参数介绍:Delay_MS: 定义需要延时的毫秒的数值
iNumber: 记录Delay_MS的数值,以for语句实现所要求的延时
iValue: 要延时毫秒所要进行的循环数值本數值为实际测得
注意事项:本实验是在所用晶振为12M的前提下实现的毫秒延时,本函数是通过循环的形
式完成所以如果改变了晶振的频率,请做相应的改变
函数功能:完成在实验板上数码管指定显示即在特定的数码管上显示特定的数字,比
在第一个数码管上显示0
参数介绍:uData:要显示的数字的BCD码数组
uNumber:选择哪个数码管显示即让某个特定数码管显示
注意事项:实验板上的数码管是共阴极的数码管,如果使用共阳极的数码管请注意不
DelayMs(5); //调整时序,以实现稳定显示
函数功能:把要在数码管上显示的数徝进行取余、取整,即对数值进行分割这样以
便显示在分离的数码管
函数功能:配置定时器1,配置的模式是定时器1采用16位定時器模式在定时器1的输入
数值寄存器输入特定的数值,使其每次中断的周期为10ms同时允许定时器1
中断,并打开总中断
TL1=()%6; //萣时器0的写入数值寄存器的低8位
函数功能:把显示缓冲区的数值显示在数码管上
参数介绍:cNumber:记录for语句的循环次数
函数名稱:main
函数功能:利用定时器1中断,在数码管上实现以一分钟为周期的计数器
if(++cTime》=60) //每次自加一同时判断是否到1分钟
函数功能:重新给寄存器TH1和TL1赋值,判断是否到达一秒如果到一秒了,把相应的
变量赋予正值以方便其他的程序编写