单片机的周期频率
单片机的振荡如下所示:
振荡周期:振荡周期=1/晶振频率
时钟周期:=2*振荡周期
机器周期:=6*时钟周期=12*振荡周期
指令周期:=1条指令完成所需要的机器周期
单片机执行指令的过程是顺序的从ROM(程序存储器)里面取出指令一条条的顺序执行,再通过一些操作控制,来完成各种制定的动作。
它在执行程序的时候,各种动作必须有一定的顺序,简单来说就是控制信号在时间上有一个严格的先后顺序,这种次序就是单片机的时序。
单片机在每访问一次存储器的时间成为一个机器周期,机器周期是一个时间基准,就像我们生活中的秒一样,单片机一个机器周期包括12个振荡周期,振荡周期就是振荡源一个高低电平的转换时间,如果我们用12MHz的晶振,那么振荡周期为(T=1/F),也就1/12微妙,那我们用的是12MHz的晶振,一个机器周期就等于12*1/12=1微妙。
单片机中,有的指令只用一个机器周期就可以处理完,有的指令则需要两到三个机器周期才能处理完,所需机器周期越少,那么执行程序的速度就越快。
除了以上介绍的单片机的结构外,还有一个就是单片机的I/O结构,一般有以下几种:
1.OC开路输出结构:具有输出低电平电流大,高电平电流小的特性
2.带上拉OC输出结构:同上
3.推挽输出结构:具有输出低电平和高电平电流一样大的特性
我们学习单片机首先要有以下仪器及材料:
1.电脑一台,需要带有USB和串口功能,主要用来程序编写,程序编译,下载调试
2.安装编译软件KEIL
3.具备基础电路、模电数电知识
如果先要学习单片机,我首推的是51系类的入门,可以作一些简单的小玩意,像是跑马灯,延时器,感应器,红绿灯切换等等,这些容易培养起兴趣。
什么是什么单片机时钟?怎么设置
什么时钟?
首先我们先讲讲什么是时钟。时钟就是单片机的心脏。每跳动一下。整个单片机的各个电路就同步的动作一下。就好像我们做广播体操的时候 广播上喊的节拍1234 2234 3234。。。。然后我们全部的同学就按照这个节奏进行一个个动作。节拍越快我们动作越快。节拍越慢我们动作的越慢。
内部时钟和外部时钟?
PIC单片机有许多型号可以设置成 用外部时钟(如外部接个4MHZ的石英晶振),也可以设置成用内部RC时钟。而且还有许多型号可以选择多种频率的时钟。
如 PICLF1823 内部时钟最高可以到达32MHZ 最低可以达到 31kHz. 这事实上提供了一条降低功耗的新路子。一般的单片机降低功耗常常用的睡眠,而睡眠期间CPU是什么都不做。如果希望降低功耗,而且CPU也能工作。降低时钟频率无疑是个非常好的选择。
时钟的设置?
时钟设置一般只和两处有关 一个是配置字,一个是振荡器控制寄存器 OSCCON 下面我们以PICLF1823为例子进行讲解。
PICLF1823 配置字设置 中与时钟有关的就是 FOSC<2:0>:振荡器选择位,和PLLEN:PLL使能位 。
OSCCON 是有关内部时钟频率选择,如果只用外部时钟一般不理会。以下是数据手册中OSCCON寄存器的详细介绍。
实例讲解:
使用内部时钟将时钟频率设置成8MHZ
开发环境:MPLAB X IDE
芯片型号:PICLF1823
#include
__CONFIG(FOSC_INTOSC&WDTE_OFF&PWRTE_ON&MCLRE_OFF&CP_ON&CPD_OFF&BOREN_ON&
CLKOUTEN_OFF&IESO_ON&FCMEN_ON);
__CONFIG(PLLEN_OFF&LVP_OFF) ;//将FOSC<2:0>:振荡器选择位设置成 INTOSC,
void init_fosc(void)
{
OSCCON = 0x70;//8MHZ IRCF<3:0>时钟频率选择位设置成8MHZ
}
int main(int argc, char** argv) {
init_fosc();
while(1);
}
PLL是用来做什么的呢?他的作用就是能将8MHZ的时钟频率X4变成32MHZ,记住只有8MHZ可以,其他频率是不行的。
使用内部时钟将时钟频率设置成32MHZ
开发环境:MPLAB X IDE
芯片型号:PICLF1823
#include
__CONFIG(FOSC_INTOSC&WDTE_OFF&PWRTE_ON&MCLRE_OFF&CP_ON&CPD_OFF&BOREN_ON
&CLKOUTEN_OFF&IESO_ON&FCMEN_ON);//这个要放到上一行去
__CONFIG(PLLEN_ON&LVP_OFF) ;//将FOSC<2:0>:振荡器选择位设置成 INTOSC,使能PLLEN
void init_fosc(void)
{
OSCCON = 0xF0;//32MHZ IRCF<3:0>时钟频率选择位设置成8MHZ ,使能4XPLL
}
int main(int argc, char** argv) {
init_fosc();
while(1);
}
相关问答
单片机的频率 是什么意思?单片机的频率指的是单片机内部时钟的频率,也就是单片机能够执行指令的速度。通常情况下,单片机的频率越高,其处理能力就越强。频率的单位是赫兹(Hz),表示每秒...
【 单片机 中的晶振周期、系统 时钟 周期、机器周期各是什么?它...[最佳回答]机器周期=12*晶振周期=12*系统时钟周期
51 单片机 系统 时钟频率 是多少?早期的51单片机多采用12MHz时钟,为了产生整数波特率,启用串口通讯的单片机采用11.0592MHz时钟。最新研制的51单片机的时钟频率最高可达45MHz,这个时钟是由内...
什么是 单片机时钟 控制信号的最基本时间单位?单片机时钟控制信号的最基本时间单位是时钟周期(ClockCycle),也称为机器周期(MachineCycle)或指令周期(InstructionCycle)。时钟周期是单片机时钟振荡...
单片机的 机器周期和 时钟 周期分别肿么算的,还请举例说明下?-...单片机的机器周期=12秒/晶振频率,时钟周期=振荡周期,等于单片机晶振频率的倒数,如常见的外接12M晶振,那它的时钟周期=1/12M。时钟周期以时间动作重复的最小周期...
单片机 中最基本的时间单位是什么?时钟周期是单片机中运行指令的基本单位,它代表了单片机中的时钟信号通过一个完整的周期所用的时间。在单片机中,时钟信...单片机中最基本的时间单位是时钟周...
51 单片机 T0定时器4种方式的定时时长分别是多少 - 181****489...这个取决于系统时钟和定时器位数。例如传统89c51单片机(在不考虑新型单片机有分频设置的情况下),12MHz系统时钟,采用8位定时器,最大定时时间为256us...
当80C51 单片机 晶振 频率 为12MHz时, 时钟 周期.机器周期各是多少?1.时钟周期:即晶振的单位时间发出的脉冲数,12MHZ=12×10的6次方,即每秒发出12000000个脉冲信号,那么发出一个脉冲的时间就是时钟周期,即1/12微秒。2.一个机...1...
假设 单片机 系统的晶振 频率 为12MHz,要求采用定时器时50毫秒,...[最佳回答]1、已知单片机系统机器周期为时钟周期的12倍,故每个机器周期为12/12M=1us2、50ms=50*1000us3、16位定时器的定时时间最长为65536us,定时50us的初值...
8051 单片机 最高 频率 ?工作频率即机器频率即机器周期倒数,传统51单片机的工作频率为时钟频率(晶振频率)的1/12,但增强型单片机的工作频率可达时钟频率的1倍,51单片机晶振频率为11...