单片机内外部晶振,到底有什么区别?
如果你对于单片机硬件足够了解的话,一般都知道单片机系统里都会使用到晶振,其发挥的作用非常大。单片机带有内部晶振和外部晶振,那么如何单片机稍微内部晶振与外部晶振有何区别呢?
一、单片机晶振的作用
单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。
单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的石英晶振,而通过电子调整频率的方法保持同步。单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片机接的一切指令的执行都是建立在晶振提供的时钟频率。
二、单片机晶振电路原理
单片机一般采用三端式(考毕兹)交流等效振荡电路;实际的晶振交流等效电路中,其中Cv是用来调节振荡频率,一般用变容二极管加上不同的反偏电压来实现,这也是压控作用的机理;把石英晶体的等效电路代替晶体后。其中Co,C1,L1,RR是晶体的等效电路。单片机工作时,是一条一条地从RoM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。
分析整个振荡槽路可知,利用Cv来改变频率是有限的,决定振荡频率的整个槽路C=Cbe,Cce,Cv三个串联后和Co并联再和C1串联。可以看出:C1越小,Co越大,Cv变化时对整个槽路的作用就越小。因而能“压控”的频率范围也越小。实际上,由于C1很小(1E-15量级),Co不能忽略(1E-12量级)。所以,Cv变大时,降低槽路频率的作用越来越小,Cv变小时,升高槽路频率的作用却越来越大。这一方面引起压控特性的非线性,压控范围越大,非线性就越厉害;另一方面,分给振荡的反馈电压(Cbe上的电压)却越来越小。采用泛音次数越高的晶振,其等效C1就越小;因此频率的变化范围也就越小。
简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。
三、单片机的内部晶振与外部晶振区别
单片机的外部晶振稳定,受温度,湿度等环境因素影响比内部晶振小,精度比较高。而且当设计需要降低功耗时,比如说便携式仪表等,就需要外部晶振,因为内部晶振不能根据需要停止,而外部晶振可以适时停止,从而进入休眠状态,降低功耗。
而单片机的内部晶振一般不够准确,误差比较大。但单片机的内部晶振和外部晶振的作用都是一样的,给系统提供时钟。如果对频率要求不高的话(比如不涉及串口通信和精确定时等的话),用内部晶振就足够了,并且这样成本还低。
基于单片机的十字路口交通信号灯控制系统设计与调试
第一章 控制要求
1.1 控制要求
(1)系统工作受开关控制,起动开关 ON 则系统工作;起动开关 OFF 则系统停止工作。
(2)控制对象有八个:
东西方向红灯两个 , 南北方向红灯两个,
东西方向黄灯两个 , 南北方向黄灯两个,
东西方向绿灯两个 , 南北方向绿灯两个,
东西方向左转弯绿灯两个,南北方向左转弯绿灯两个。
(3)另外东西方向、南北方向各设置显示两位十进制的7段显示器,用来显示倒数计数值。
1)高峰时段按时序图二(见附图)运行, 正常时段按时序图三(见附图)运行,晚上时段按提示警告方式运行,规律为: 东、南、西、北四个黄灯全部闪亮,其余灯全部熄灭。
高峰时段、正常时段及晚上时段的时序分配按时序图一运行(见附图)。
可以只选择高峰时段或正常时段进行设计,但最后评分值最高以良好评议;如果全部功能实现(需要设计一个24小时的时钟作为时段划分的基础),最高评分值以优秀评议。
时序图
第二章 系统方案设计
2.1交通灯运行状态分析
根据控制要求,系统以下图交通的运行状态来设计系统方案。
状态1南北直行;状态2南北左转; 状态3东西直行;状态4东西左转。
共有四种状态,分别设定为S1、S2、S3、S4,交通灯以这四种状态为一个周期。循环执行如图1.5所示:
图2.1 交通灯状态循环图
2.2系统总体方案设计
图2.2系统总体方案图
本系统采用MCS-51系列单片机AT89C51为中心器件来设计交通灯控制器,实现了正常、高峰、晚间时通过单片机的P1口设置红、绿、黄灯亮灭的功能。东西、南北两位7段显示器用来显示倒数计数值。系统分三种工作时段:正常、高峰、晚间,并且通过时间段来控制"正常"、"高峰"、"晚间"相互转化。
正常时段:南北段直行通行(绿灯)、东西段禁止(红灯)40s,同时南北段和东西段方向的数码管分别从40s和70s开始倒计时,至最后5s时南北段绿灯变成黄灯闪烁;此后南北段左转(左转绿灯亮)通行、东西段禁止(红灯)20s,同时南北段和东西段方向的数码管都从20s开始倒计时,至最后5s时南北段左转灯变成黄灯闪烁;再后东西段直行通行(绿灯)、南北段禁止(红灯)40s,同时东西段和南北段方向的数码管分别从40s和70s开始倒计时,至最后5s时东西段绿灯变成黄灯闪烁;最后东西段左转(左转绿灯亮)通行、南北段禁止(红灯)20s,同时东西段和南北段方向的数码管都从20s开始倒计时,至最后5s时东西段左转灯变成黄灯闪烁。
高峰时段:南北段、东西段的通行时间改为45s,左转的时间改为15s,其它与正常时段相同。
晚间时段:禁止左转和直行,东西南北四个方向黄灯闪亮。
第三章 系统电路设计
3.1控制芯片选择
图3.1 AT89C51引脚图
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个可编程定时计数器,2个全双工串行通信口,2个读写口线,器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8051产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,可以按照常规方法对其进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
3.2状态灯选择
该系统设计红、绿、黄状态灯显示的功能,用LED灯来代替实际的交通灯,由于有四种不同的运行状态,一个十字路口需要16个LED灯,倒计时数码管显示选用两位带片选的7段数码管,需要4个。数码管显示简单,程序简单,端口用的少。普通单色发光二极管具有体积小、工作电压低、工作电流小、发光均匀稳定、响应速度快、寿命长等优点,可用各种直流、交流、等电源驱动点亮,它属于电流控制型,使用时需串接合适的限流电阻。
3.3系统硬件原理图设计
图3.2系统原理布置图
第四章 系统软件设计
4.1 程序流程图设计
图4.1主程序流程图
系统通电后,初始化定时器,进行24小时定时,在7:00到8:15或16:30到17:00时,按高峰时段运行。在6:30到7:00或8:15到16;30或18:00到19:00时,按正常时段运行。其余时段,按晚间时段运行。
图4.2 时钟及晚间时段程序流程图
本设计利用单片机的定时器T0中断来设置24小时定时,设置TH1=0x3C,TL1=0xB0.即每0.05秒中断一次。到第20次中断即过了20*0.05秒=1秒时,计60S时,满意1分钟,计满60分钟,满1小时,计满24小时,又重新开始计时。用定时器T1中断来设置数码管倒计时,每满1S时,使时间的计数值减1,便实现了倒计时的功能。
图4.3 高峰时段及正常时段流程图
4.2 系统编程
4.2.1定时器的中断设置
在单片机中,中断技术主要用于实时控制。所谓实时控制,就是要求计算机能及时地响应被控对象提出的分析、计算和控制等请求,使被控对象保持在最佳工作状态,以达到预定的控制效果。由于这些控制参量的请求都是随机发出的,而且要求单片机必须做出快速响应并及时处理,对此,只有靠中断技术才能实现。
本系统中的定时时钟及倒计时的设置和相应中断服务子程序如下:
/*24小时时钟 */
void Timer0Cofig(){
TMOD=0x01; //T0定时器工作方式
TH0=0x3C; //设置初始值,定时50MS
TL0=0xB0;
ET0=1; //定时器开中断
TR0=1; //启动定时器0
EA=1; //CPU开中断总允许
}
void T0int() interrupt 1{
TH0=0x3C; //设置初始值
TL0=0xB0;
second_counter++;
if(second_counter>=20){second++;second_counter=0;}
if(second>=60){minute++;second=0;}
if(minute>=60){hour++;minute=0;}
if(hour>=24){hour=0;}
}
/********倒数显示定时器*********/
void Timer1Cofig()
{
TMOD=0x01; //T1定时器工作方式
TH1=0x3C; //定时器初值50ms中断一次
TL1=0xB0;
ET1=1; //定时器开中断
TR1=1; //启动定时器1
EA=1; //CPU开中断总允许
}
/*定时器中断函数*/
void timer1() interrupt 3{
TH1=0x3C; //重新装入初值
TL1=0xB0;
RGY_second++;
if(RGY_second==20){
RGY_second=0;
Time_EW--;//满1秒,数码管值减1
Time_SN--;
}
}
第五章 系统调试与仿真
5.1 proteus仿真结果
根据系统设计要求,进行keil调试和proteus系统仿真,不断调试程序。发光二极管,数码管都能按要求显示,符合要求。proteus总体仿真图如下。
图5.1 仿真结果
相关问答
c51和stc15区别?C51和STC15是两种不同的单片机芯片,它们的主要区别如下:1.厂家和供应商:C51是由英特尔(Intel)公司推出的一系列单片机,直到现在已经换代多次,现在主要有...
二氧化碳甲烷化,一氧化碳的检测问题-盖德问答-化工人互助问...可以试一下13x的柱子,柱温稍微调高一些,会有一部分叠峰,但是不会被覆盖现在的结果也是有部分重叠,不会覆盖,一氧化碳相对氮气来说很少,所以重叠造...
单相电子式交流有功电能表的工作原理是什么?[回答]电度表接线较复杂,接线前必须分清电度表的电压端子和电流端子,然后按照技术说明书对号接入。对于三项电度表,还必须注意电路的相序。电子式智能电...
在座的好基友有谁能回答一下吗!!直流伺服电机控制方式?直...[回答]、维修成本不同:交流伺服电机维护方便。直流伺服电机容易实现调速,控制精度高,但维护成本高操作麻烦。、控制方式不同:交流伺服电机控制方式有种,幅...
74ls161各管脚功能?74ls161是一个常用的四位二进制可预置的同步加法计数器,74ls161能够在各种的数字电路上灵活运用,并且74ls161还能在单片机系统里实现分频器的一些重要功能74l...
06款丰田花冠6碟CD机如何改AUX输入、谢谢 - YtMrnxcokm 的回...我没有此CD的实物或资料,或者我曾改装过这个CD,但不知道是花冠,因为机器到我手面时已经没有型号标签.所以不知道此CD到是否有提供AUX切换或有直接输...
没有基础可以学PLC吗学会PLC能做什么?[回答]1、继电器掌控基本原理,这是最直观的入门方法,因为PLC源于继电器掌控2、理解PLC的硬件、程序运行方式3、PLC的最基本的编程、编程软件的用于4、小型...
如何制作报警炉具?简单一点的就是购买家用煤气报警器;既然这样问,那应该是想自己动手了,要制作报警炉具,首先需要检测空气中煤气(家用检测物质一般为CO)是否超标,检测到超...
大侠们跪求答案,南昌区块链客房自动售卖机?[回答]市场上的饮料自动售卖机有两种货道形式的。弹簧/履带货道的机器(其实这类机器更适合售卖零食、日用品,售卖饮料容易卡瓶子),这类机器出现的年代比较...
室内空气质量监控系统的原理是怎样的_其他[回答]Grimm室内空气监测系统(粉尘气溶胶光谱仪)配备内置无脉冲取样泵、数据存储器、移动数据存储卡以及大屏幕LCD显示屏,通过微处理器进行控制。仪器可通...