基于单片机的图像处理采集系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


二 〇 一 二 年 六 月
本科毕业设计说明书 学校代码: 10128 学 号:
题 目:基于单片机的图像处理采集系统设计与实现 学生姓名: 学 院: 系 别: 专 业: 班 级: 指导教师:
摘要
传统的工业级图像处理采集系统大多是由CCD摄像头、图像采集卡和PC机组成,虽已得到了广泛的应用,但是它具有结构复杂,成本高,体积大,功耗大等缺点。

随着单片机的迅速发展,开发一种智能控制及智能处理功能的微型图像处理采集系统成为可能,并且也克服了传统图像处理采集系统的诸多缺点。

本设计提出了基于单片机的图像采集系统,该系统主要由四大模块组成:第一个是单片机控制模块,对摄像头进行控制;第二个是摄像头模块,即进行图像拍摄和取图;第三个是Zigbee无线传输模块,功能是将图像传送到上位机;最后是上位机,实现图像显示功能。

其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高,使用环境广泛及成本低等。

利用Proteus和Keil进行仿真调试,可以看到设计内容的运行结果,验证系统运的行正确及稳定性,并且实现了图像处理采集功能,所以具有一定的实用和参考价值。

关键词:单片机;Proteus;图像采集
Abstract
The traditional industrial image processing collection system by CCD camera, mostly image collection card and PC unit into, although already a wide range of applications, but it has the structure is complex, high cost, big volume and shortcomings, such as big power consumption. With the rapid development of the single chip microcomputer, the development of a kind of intelligent control and intelligent processing function of micro image processing collection system possible, and also overcome traditional image processing collection system of many of the faults.
This design is put forward based on SCM image acquisition system, the system consists of four modules: the first one is the single chip microcomputer control module, the camera to control; The second is a camera module, the image shoot and take diagram; The third is Zigbee wireless transmission module, the function is will images to PC; Finally the PC, realize image display function. Its advantage is hardware circuit is simple, software perfect function, control system and reliable, high cost performance, use extensive and environment cost low status. Use Proteus and Keil simulation commissioning, can see the operation of the design content, as demonstrated the correct and do the system stability, and realize the image processing collection function, so has certain practical and reference value.
Keywords:Single-Chip Microcomputer;Proteus; Image Capture
目录
第一章绪论 (1)
1.1 课题研究现状 (1)
1.2 课题研究目的意义 (1)
1.3 本课题研究的主要内容 (1)
第二章硬件设计 (2)
2.1 系统设计方案 (2)
2.2 硬件简介 (2)
2.2.1 80C51简介 (2)
2.2.2 I/O端口 (4)
2.2.3 控制引脚 (5)
2.3 摄像头 (6)
2.3.1 波特率 (6)
2.3.2 数据包 (6)
2.3.3 摄像头控制指令 (6)
2.4 Zigbee无线传输模块 (9)
2.4.1 Zigbee简介 (9)
2.4.2 Zigbee技术应用领域 (10)
2.4.3 Zigbee 技术特点 (10)
第三章软件设计及调试 (12)
3.1 Keil调试 (12)
3.1.1 Keil简介 (12)
3.1.2 Keil调试过程 (12)
3.2 程序设计 (19)
3.3 电路图设计 (20)
3.3.1 Proteus简介 (20)
3.3.2 电路图设计过程 (23)
3.4 Keil与Proteus联机调试 (27)
结论 (30)
参考文献 (31)
附录 (32)
程序清单 (32)
谢辞 (34)
第一章绪论
1.1 课题研究现状
随着现代电子信息技术的迅速发展,使得信息处理技术越来越重要,而图像处理采集技术在信息处理技术当中有着异常重要的位置。

图像处理采集技术涉及诸多领域,如:工业检测,医疗设备,军事设施,电子产品等等[1]。

在智能车、道路损害检测、航天及遥感、实时图像采集煤矿安全生产监控及电子眼中都用到了图像处理技术。

现在基于DSP、matlab、OpenCV、FPGA、ARM及嵌入式等技术的图像处理采集系统是非常多见的。

特别是matlab技术,它含有图形处理系统,可以很方便的图形化显示向量和矩阵,而且能对图形添加标注和打印。

它包括强大的二维三维图形函数、图像处理和动画显示等函数。

1.2 课题研究目的意义
基于DSP、ARM、嵌入式等技术的图像处理采集系统虽然非常多见,但是它成本高,功耗大,且因为其体积较大,在某些特定的场合或环境下无法正常工作,所以设计一个成本低,体积小,功耗低,性能强的图像处理采集系统是非常有必要的。

单片机依靠它体积小、功耗低、功能强、可靠性高以及灵活的应用性被人们所认识,并且已经融入到了现代人们的生活中。

单片机具有强大的控制功能和灵活的编程实现特性,而且有着很丰富的调试软件,给设计带来很多的益处。

所以开发一种由单片机为控制核心的图像处理采集系统,具有很高的研究意义。

1.3 本课题研究的主要内容
本设计采用Intel公司的80C51单片机,以80C51为控制核心,结合摄像头、Zigbee无线传输模块及上位机构成一个图像处理采集系统。

主要内容:
(1)研究80C51单片机结构,各引脚功能及工作原理。

(2)研究摄像头TJ传输协议及摄像头相关命令代码。

(3)利用Proteus软件,设计图像处理采集系统硬件电路并进行软件仿真。

(4)利用Keil软件和C编程,并对其程序进行编译。

(5)熟练掌握Keil和Proteus的联机调试。

第二章硬件设计
2.1 系统设计方案
为了获得成本低,性价比高的设计方案,在满足其性能指标的前提下,设计应尽量简单,不宜太过于复杂。

本设计系统主要由四大模块组成,即单片机控制模块、摄像头拍摄模块、Zigbee无线传输模块和上位机显示模块。

80C51单片机对摄像头发送一系列有效指令,但在发送指令前必须设置单片机的波特率,使单片机与摄像头的波特率相一致,这样才能让单片机与摄像头得到的数据同步。

摄像头收到单片机发送的有效指令后进行拍图、取图以及上传等作业,摄像头再把拍摄的JPEG图像发送到Zigbee无线通信模块,利用Zigbee的特性,在短距离内无线传输到上位机上,再由上位机显示出所拍摄的图像,来实现图像的采集处理。

2.2 硬件简介
2.2.1 80C51简介
80C51单片机属于美国Intel 公司的MCS-51系列产品中的一个型号,它采用CHMOS 工艺,功耗低,性能优良,其结构是8048单片机的延伸,改进了8048的缺点,增加了减(SUBB)、乘(MUL)、除(DIV)、比较(PUSH)、布尔代数运算等指令以及串行通信和5个中断源,采用40引脚双列直插式DIP。

采用CHMOS工艺具有高速度、低功耗及高密度的特点,而且它的传输延时时间小于2ns。

它内部集成了功能强大的中央处理器,包含了硬件乘除法器、21个专用控制寄存器、4kB的程序存储器、128字节的数据存储器、4组8位的并行口、两个16位的可编程定时/计数
器、一个全双工的串行口以及布尔处理器。

80C51单片机内部有时钟电路,但需要石英晶体和微调电容外接[2]。

以下为80C51单片机引脚图如图2-2所示。

图2-2 80C51单片机引脚图
MCS-51具有比较大的寻址空间,地址线宽达16条,即外部数据存储器和程序存储器的寻址范围达216=64kB,这作为单片机控制来说已是比较大的,这同时具备对I/O 口的访问能力。

此外,MCS-51采用模块化结构,可方便地增删一个模块就可做出引脚和指令兼容的新产品,从而容易使产品形成系列化。

MCS-51把微型计算机的主要部件都集成在一块心片上,使得数据传送距离大大缩短,可靠性更高,运行速度更块。

由于属于芯片化的微型计算机,各功能部件在芯片中的布局和结构达最优化,抗干扰能力加强,工作亦相对稳定。

MCS-51单片机的工作频率为2-12MHz,当振荡频率为12MHz时,一个机器周期为1us,这个速度应该说是比较快的。

80C51中集成了完善的各种中断源,用户可十分方便地控制和使用其功能,使得它的应用范围加大,可以说它可以满足绝大部分的应用场合。

以下为80C51单片机的基本组成如图2-3所示
图2-3 80C51单片机基本组成
2.2.2 I/O端口
在此次设计中,我们主要应用了P3口,所以在这我们只对P3口做介绍。

P3口除可作为通用I/O口使用外,还具有第二功能。

当某些口线作第二功能使
用时,不能再把它当作通用输入/输出口使用, 其它未用的口线仍可作通用输入/输出口线使用。

P3口作通用I/O口使用时,不需要
外接上拉电阻[3]。

以下为P3口引脚第二功能:
引脚功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
INT(外部中断0输入口)
P3.2 0
INT (外部中断1输入口)
P3.3 1
P3.4 T0(定时器0外部输入口)
P3.5 T1(定时器1外部输入口)
P3.6 WR(写选通输出口)
P3.7 RD(读选通输出口)
2.2.3 控制引脚
控制引脚中包括ALE/PROG、PSEN、EA/Vpp、RST/Vpd。

1.ALE/(30脚)
地址锁存使能信号输出端。

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

2.PSEN(29脚)
程序存储器输出使能端。

外部程序存储器的选通信号,在由外部程序存储器取指期间,每个机器周期两次PSEN有效。

但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。

3.EA/Vpp
片内程序存储器屏蔽控制端。

当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

4.RST/Vpd
复位信号复用脚。

当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。

初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指钟写入07H,其它专用寄存器被清“0”。

RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。

然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态。

5.XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出[4]。

2.3 摄像头
摄像头在接到到命令后对收到的指令代码进行判断,然后做出拍图、取图和上传图像等工作。

摄像头接到开始命令后开始采集图像,并将图像压缩为JPEG格式,摄像头采取分包传递的方式,每传递一个包后,只有上位机得到确认命令后,摄像头才开始传下一个包,直到图像传递完成。

以下为摄像头TJ传输协议[5]:
2.3.1 波特率
摄像头支持的波特率有57600、38400、19200、9600、2400。

摄像头默认115200。

2.3.2 数据包
数据包的大小可以调整,可以一次传送一幅图片。

2.3.3 摄像头控制指令
1.编号指令代码
每个摄像头都有一个编号,当摄像头收到的数据域内的摄像头编号与自己相一致时才响应该命令,但如果该数据域内的摄像头编号为0xFFFF,表示通用编号,任何摄像头都要响应该命令。

摄像头收到该命令后将该编号存入非易失的存储器中,以后将只响应摄像头编号与新编号及通用编号相同的命令。

该命令中的位置编号无实际意义。

摄像头收到该命令后将该编号存入非易失的存储器中,以后将只响应摄像头编号与新编号及通用编号相同的命令。

表2-1为编号指令代码。

举例:
发送 0x40 0x40 0x60 0x5A 0xFF 0xFF 0x02 0x00 0x0D 0x0A
以上命令意思为任何收到此命令的视频模块的编号更改为0x0002
0x40 0x40 0x60 0x5A 0x01 0x00 0x02 0x00 0x0D 0x0A
以上命令意思为编号为0x0001的视频模块的编号更改为0x0002
2.开始拍摄指令代码
当摄像头收到的数据域内的摄像头编号与自己相一致时才响应该命令,但如果该数据域内的摄像头编号为0xFFFF,表示通用编号,任何摄像头都要响应该命令。

摄像头收到该命令后返回所拍图像数据的第一帧数据。

表2-2为拍摄指令代码。

举例:
0x40 0x40 0x61 0x82 0xFF 0xFF 0x00 0x03 0x0D 0x0A
以上命令意思为任何收到此命令的视频模块拍640*480图, 图像数据以0x0300的长度分包
0x40 0x40 0x61 0x82 0x02 0x00 0x12 003 0x0D 0x0A
以上命令意思为编号为0x0002的视频模块拍640*480图, 图像数据以0x0312的长度分包
3.取图指令代码
当摄像头收到的数据域内的摄像头编号与自己相一致时才响应该命令,但如果该数据域内的摄像头编号为0xFFFF,表示通用编号,任何摄像头都要响应该命令。

当数据域内的图像位置编号为0xFF 0xFF表示按顺序取图,摄像头每次传送某位置的数据后,会自动把位置编号加一(位置编号从0开始)。

当数据域内的位置编号不为0xFF 0xFF表示取固定位置的图像数据,主机端每次索要某位置的数据后,主机端需自己把位置编号加一。

照片大小字节无意义,但内容必须为0x81、0x82或0x83。

表2-3为取图指令代码。

举例:
0x40 0x40 0x62 0x81 0xFF 0xFF 0xFF 0xFF 0x0D 0x0A
以上命令意思为任何收到此命令的视频模块按顺序传一包数据,实际每个视频模块中只能存一幅图,必须拍一幅图后并取完,方可拍下一幅
0x40 0x40 0x62 0x81 0x01 0x00 0x00 0x00 0x0D 0x0A
以上命令意思为编号为0x0001的模拟头视频模块上传第一包数据
4.上传图像数据包格式
表2-4为上传图像数据包格式。

例如:0x40 0x40 0x63 0x00 0x00 0xXX 0xXX 0xFF 0xPP …… 0xVV 0x0D 0x0A (1)包头
0x40 0x40 0x63
(2)数据开始传送位置
用两个字节表示:0x00 0x00 第一帧数据表示为0x00 0x00。

上位机每发送一次0x40 0x40 0x62 0x81 0xFF 0xFF 0xFF 0xFF 0x0D 0x0A,摄像头位置加1,直到数据传送完毕。

(3)数据帧的大小
用两个字节表示:0xXX 0xXX 表示为0xXX 0Xxx 发送数据包;当数据包的大小不等于0xXX 0xXX 时,或图像数据的最后两个字节为0xFFD9时,说明数据传送到了最后一包数据,数据帧的大小和拍摄图片的大小有关。

数据内容:开始标志: FF D8 结束标志:FF D9 。

数据传送模式FF D8 ……0xVV 0D 0A,……FF D9 0xVV 0D 0A 。

其中0xVV为校验和。

校验和的算法:图像数据累加
和。

应注意:
①每次传送数据时,必须发送取图指令,摄像头才会传送下一帧数据。

②如果在传送数据期间发送了拍图指令,摄像头将会重新取图。

不会保留上一次所取图形。

③只有发送拍图指令时才能配置图片的大小。

2.4 Zigbee无线传输模块
2.4.1 Zigbee简介
Zigbee技术是随着工业自动化对于无线通信和数据传输的需求而产生的,Zigbee网络省电、可靠、成本低、容量大、安全,可广泛应用于各种自动控制领域。

图1-4为Zigbee模块框图:
图2-4 Zigbee模块框图
Zigbee是一个由可多到65000个无线数传模块组成的一个无线数传网络平台,十分类似现有的移动通信的CDMA网或GSM网,每一个Zigbee网络数传模块类似移动网络的一个基站,在整个网络范围内,它们之间可以进行相互通信;每个网络节点间的距离可以从标准的75米,到扩展后的几百米,甚至几公里;另外整个Zigbee网络还可以与现有的其它的各种网络连接。

例如,你可以通过互联网在北京监控云南某地的一个Zigbee控制网络。

不同的是,Zigbee网络主要是为自动化控制数据传输而建立,而移动通信网主要是为语音通信而建立;每个移动基站价值一般都在百万元人民币以上,而每个Zigbee“基站”却不到1000元人民币;每个Zigbee 网络节点不仅本身可以与监控对
对象,例如传感器连接直接进行数据采集和监控,它还可以自动中转别的网络节点传过来的数据资料; 除此之外,每一个Zigbee网络节点(FFD)还可在自己信号覆盖的范围内,和多个不承担网络信息中转任务的孤立的子节点(RFD)无线连接。

每个Zigbee网络节点(FFD和RFD)可以可支持多到31个的传感器和受控设备,每一个传感器和受控设备终可以有8种不同的接口方式。

可以采集和传输数字量和模拟量。

2.4.2 Zigbee技术应用领域
Zigbee技术的目标就是针对工业,家庭自动化,遥测遥控,汽车自动化、农业自动化和医疗护理等,例如灯光自动化控制,传感器的无线数据采集和监控,油田,电力,矿山和物流管理等应用领域。

另外它还可以对局部区域内移动目标例如城市中的车辆进行定位。

通常,符合如下条件之一的应用,就可以考虑采用Zigbee技术做无线传输:
1.需要数据采集或监控的网点多;
2.要求传输的数据量不大,而要求设备成本低;
3.要求数据传输性高,安全性高;
4.设备体积很小,不便放置较大的充电电池或者电源模块;
5.电池供电;
6.地形复杂,监测点多,需要较大的网络覆盖;
7.现有移动网络的覆盖盲区;
8.使用现存移动网络进行低数据量传输的遥测遥控系统;
9.使用GPS效果差,或成本太高的局部区域移动目标的定位应用。

2.4.3 Zigbee 技术特点
●省电:两节五号电池支持长达6个月到2年左右的使用时间;
●可靠:采用了碰撞避免机制,同时为需要固定带宽的通信业务预留了专用时隙,
避免了发送数据时的竞争和冲突;节点模块之间具有自动动态组网的功能,信息在整个Zigbee网络中通过自动路由的方式进行传输,从而保证了信息传输的可靠性;
●时延短:针对时延敏感的应用做了优化,通信时延和从休眠状态激活的时延都非
常短;
●网络容量大:可支持达65000个节点;
●安全:ZigBee提供了数据完整性检查和鉴权功能,加密算法采用通用的AES-128;
●高保密性:64位出厂编号和支持AES-128加密。

第三章软件设计及调试
软件设计包括Keil程序调试,Proteus电路图设计和Keil与Proteus联机调试。

3.1 Keil调试
3.1.1 Keil简介
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起[7]。

图3-1为Keil界面:
图3-1 Keil界面
3.1.2 Keil调试过程
1.首先点击图标打开Keil软件,在工具栏中点击Project选择New uVision Project来新建一个工程,如图3-2所示。

图3-2 新建工程
2.因为我们用到了单片机的串口,所以我们将工程取名为sbuf保存在相应的文件夹中,如图3-3所示。

图3-3 工程取名
3.选择CPU,我们在这里选择Intel公司的80C51GB,如图3-4所示。

图3-4 选择CPU
选好芯片确定后,弹出提示框,问是否添加一些文件,在这里选择“否”。

4.新建文本文档,用来编写源程序。

按下界面上的图标进行建立,就会出现如下图3-5所示的窗口。

图3-5 新建文件
5.按下保存图标,将文件以“sbuf.c”文件名与新建的sbuf工程保存在一个
文件夹中,如图3-6所示。

图3-6 保存文件
6.将新建的文件加入工程中。

在Source Group 1上点击鼠标右键,在弹出的菜单栏中选择Add Files to Group....选项,如图3-7所示。

图3-7 文件加入到工程
在弹出的对话框中选择工程文件夹下刚才新建的“sbuf.c”文件。

点击Add,再
点击Close关闭对话框,如图3-8所示。

图3-8 选择文件
在下图中可以看到sbuf.c文件已经加入到了Source Group 1中,如图3-9所示。

图3-9 确定文件是否加入到工程
7.设置工程,让其编译时输出十六进制可执行文件。

如图3-10所示,在Target1上点击右键,在弹出的菜单栏中选中Options for Target...选项进行设置。

图3-10 设置文件
如图3-11所示,在弹出的找到Output选项点击,从中找到Create HEX File 选项选中,然后点击确定退出。

图3-11 设置输出文件格式
8.将源程序(程序见附录)写入新建文件subf.c中[8][9],如图3-12所示。

图3-12 编程
9.对源程序进行编译,按下界面上的编译键进行编译程序如图3-13所示。

图3-13 编译源程序
10.如果程序没有错误,点击编译键后系统会自动生成hex可执行文件,并且该文件会存储在工程文件夹下[10],如图3-14所示。

图3-14 构建输出
3.2 程序设计
C语言是一种计算机程序设计语言,它既有高级语言的特点,又具有汇编语言的特点。

C语言应用广泛,具备很强的数据处理能力,不仅在软件开发上,各类科研都需要应用C语言,适于编写系统软件,三维,二维图形和动画。

具体应用为单片机和嵌入式等。

C语言书写的程序具有简洁紧凑、灵活方便、书写格式自由等特点。

它不仅具有非常丰富的运算符,而且还具有非常丰富的数据类型。

C语言是结构式语言,即代码及数据的分隔化,程序的各个部分除了必要的信息交流外彼此都是独立的。

这样的结构层次清晰,便于使用、维护及调试[11]。

在此次设计中,我的程序比较简单,就是利用C语言将摄像头TJ协议相应的指令代码发送到摄像头输入端,但在编写程序前必须要熟悉单片机串口通信相关问题。

程序流程图如图3-15所示,编写程序将摄像头编号、拍摄、取图的指令代码依次发送出去,再做循环来实现实时图像处理采集功能。

图3-15 程序流程图
3.3 电路图设计
电路图设计包括单片机最小系统和显示系统,使用Proteus软件实现此电路图设计。

3.3.1 Proteus简介
Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件[12]。

它是目前最好的仿真单片机及外围器件的工具。

虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

Proteus是世界上著名的EDA 工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一
键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

所以我们应用Proteus来进行仿真,图3-16为硬件电路图,因在Proteus中没有摄像头模块,所以我们就应用一个虚拟终端来观察发出去的指令是否正确。

图3-16 硬件电路图
1.时钟电路和时序
(1)时钟电路
在MCS-51单片机内有一个高增益的反相放大器,他的输入和输出端分别为XTAL1和XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。

根据硬件电路的不同,分为内部时钟方式和外部时钟方式[13]。

此设计中使用了内部时钟方式,所以只介绍内部时钟电路。

内部时钟电路如图3-17所示,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。

定时元件通常由石英晶体和电容组成的并联谐振回路,晶体振荡器选择11.0592MHZ,电容采用22pF。

图3-17 内部时钟电路
在内部方式时钟电路中,必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常C1和C2一般取30pF,晶振的频率取值在1.2MHz~12MHz之间。

晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用。

时钟信号的周期称为状态时间S,它是振荡周期的2倍,P1信号在每个状态的前半周期有效,在每个状态的后半周期P2信号有效。

CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作的。

(2)指令时序
我们将单片机的基本操作周期称作机器周期,一个机器周期由6个状态组成,每个状态由两个时相P1和P2构成,故一个机器周期可依次表示为S1P1,S1P2,…,S6P1,S6P2,即一个机器共有12个振荡脉冲。

为了大家便于分析CPU的时序,在此先对以下几个概念作一介绍。

①振荡周期
振荡周期指为单片机提供定时信号的振荡源的周期或外部输入时钟的周期。

②时钟周期
时钟周期又称作状态周期或状态时间,他是振荡周期的两倍。

③机器周期
一个机器周期由6个状态组成,如果把一条指令的执行过程分作几个基本操作,则将完成一个基本操作所需的时间称作机器周期。

单片机的单周期指令执行时间就为一个机器周期。

④指令周期
指令周期即执行一条指令所占用的全部时间,通常为1~4个机器周期。

相关文档
最新文档