天津科技大学2013届本科生毕业设计
片机完全是一种资源的浪费,因为一个8位的单片机就可以完全满足开发的要求了。而且平时我们对于8位的单片机了解得比较多,上手起来也非常容易,所以在本次设计中8位的单片机是最好的选择。目前流行的8为单片机很多例如AVR单片机,PIC单片机和我们最熟悉的51系列单片机,在这几个品种中,每种单片机也都有各自的优点:
C51单片机是51单片机和C语言程序设计的简称,在大学阶段我们都对51单片机有一定的了解,所以在学习51系列的其它单片机时也会很容易上手因此,此类单片机可以作为首选。
PIC单片机种类很多,他的优点是比其它的单片机(例如51单片机,AVR单片机)都要稳定一些,所以这类单片机一般用在社会上对稳定性的要求比较高的场合。
PLC单片机运行很稳定,但是和他的稳定性相对应的就是它的价格普遍很高,它的核心其实也可以说就是一个51单片机,区别就在于它在51单片机的基础上又加了很多的隔离器,这样在应用过程中就不会有像单片机那样多的干扰,PLC的应用领域一般是在强电设计方面,例如工控行业。
AVR是ATMEL公司的一个系列的产品,其性价比较高,如果我们设计的产品对稳定性没有太大的要求的话,这款单片机算是一个比较不错的选择,它拥有哈佛结构和RISC,具有处理功能强、效率高等特点。
了解了各类单片机的特点与各自具有的优点,结合自己的实际选择一款单片机就变得很容易了。因为在大学阶段,主要学习的单片机就是89C51单片机,而且C语言也是大学中必修的一门课程,这两样东西都是很熟悉的东西,而且C51系列单片机在性能上也完全可以满足开发所需要的要求,所以C51系列单片机是最佳的选择。因此在这次毕业设计中我选择的是STC公司生产的90C51系列的单片机。STC单片机完全兼容51单片机,并有其独到之处,其抗干扰能力极强,保密性也很不错,功耗低,可以进行远程升级,内部还配置有MAX810专用复位电路,价格也较便宜,性价比非常高,最重要的是上手容易,而且拥有不错的性能。
6
天津科技大学2013届本科生毕业设计
第三章 行车记录仪系统的硬件设计
第一节 单片机模块
1.1STC90C516RD+系列单片机简介
STC90C516RD+系列单片机是高速、低功耗的单片机,指令代码对传统的51系列单片机完全的兼容,并且还有可供选择的两种时钟周期(12时钟/机器周期以及6时钟/机器周期),内部配置有专用的复位电路MAX810,时钟频率在12MHz以下时,复位脚可直接接地。
1.增强型6 时钟/机器周期,12时钟/机器周期; 2.工作电压:3.7V-5.5V/2.4V-3.8V;
3.工作频率的范围:0至40MHz,相当于一般的51系列的单片机 0至80MHz的频率范围;
4.用户应用程序空间 4K/6K/7K/8K/10K/12K/13K/16K/32K/40K/48K/56K/ 61K/字节;
5.片上集成 128/256/512字节的RAM;
6.通用I/O口,复位后的P1/P2/P3/P4 口全都是准双向口(相当于一般的51系列单片机的I/O口); 7.内含ISP/IAP; 8.EEPROM; 9.看门狗定时器;
10.内部集成MAX810专用复位电路,外部晶体12M以下时,可以省去外部的复位电路,只要把复位引脚接地即可;
11.共3个16位定时器/计数器,当需要时我们可以把定时器0当成2个8位定时器使用,这样就可以扩展为四个定时器;
12.4路外部中断,分别由下降沿触发和低电平触发;
13.通用异步串行口(UART),还可用定时器软件实现多个UART;[2] 14.工作温度范围:0-75℃/-40-+85℃。 1.2 STC90C51系列单片机的内部结构
STC90C51系列单片机的内部结构框图如下图所示。STC90C51系列单片机中包含很多种模块,像中央处理器模块,程序存储器模块,数据存储器模块,定时/计数器模块,UART串口,I/O接口,EEPROM,看门狗模块等。这个系统几乎包含了数据采集和控制中所需的所有单元模块,可以称得上是一个完整的片上系统。STC90C51系列单片机的内部结构框图如下:
7
天津科技大学2013届本科生毕业设计
图3.1 STC90C51RD+系列内部框图
1.3 STC90C51系列单片机引脚说明
VCC:供电电压。 GND:接地。
P0口:P0口为一个8位双向I/O口。当P0口的管脚输入1时,显示高电平输入。当P0口被定义为数据/地址的低八位时还可以用于外部程序/数据存储器。当我们在用单片机做FIASH编程时会输入源码,进行校验时会输出源码,这时我们就可以从P0口进行输入和输出。如果这样做的话P0口外部必须接上拉电阻。
P1口:P1口也是一个8位双向I/O口。当P1口的被输入1时,该引脚会被置为高电平,此时P1为信息的输入端口,当P1口被置为0,则该引脚被置为低电平时,此时成为信息的输出端口。在FLASH编程和校验时,P1口主要是作为低八位地址的接收端口。
P2口:P2口为8位双向I/O口,当给P2口输入―1‖时,该引脚被置为高电平,此时它作为输入端口。当把P2口做为外部的程序存储器或数据存储器进行存取的接口时,此时P2口输出的为地址的高八位数据。如果对外部的数据存储器进
8
天津科技大学2013届本科生毕业设计
行读写操作时,P2口输出内容为它的特殊功能寄存器中的值。当P2口用在FLASH编程和校验时,他接受到的是数据高八位的地址信号和控制信号。
P3口:P3口也是双向I/O口,当P3口被写入―1‖后,该端口被置为高电平,用于数据的输入。
P3口除了上面提到的功能外,还可以作为STC90C51的一些特殊的功能接口,例如有以下备选功能:
P3.0 (RXD口)和P3.1 (TXD口)相对应,他们可以分别作为串行口的输入和输出(串行输入口);
P3.2 和P3.3相对应,他们可以分别作为/INT0和/INT1,即外部中断0和外部中断1的接口;
P3.4 和P3.5是一组相对应的接口,他们可以分别做为外部T0和T1的输入端口(T指的是定时器);
P3.6 和P3.7相对应,他们分别是外部数据存储器的读写选通接口,其中/WR表示写选通,/RD表示读选通;
P3口的另外一种功能就是可以为闪烁编程和编程校验接收一些控制信号。 RST为单片机的复位输入引脚。
ALE/PROG:当访问外部存储器时,地址锁存对低位的地址字节有效。在用FLASH进行编程的时候,这个引脚为脉冲的输入引脚。
/PSEN:外部程序存储器选通信号。在外部程序存储器取地址的时候,每个机器周期该引脚有效两次。
/EA/VPP:该引脚为低电平时,不管内部是否有程序存储器,都是外部程序存储器(低值范围从0000H到FFFFH)工做。只有当该引脚为高电平时,内部程序存储器才开始工做。
XTAL1和XTAL2可以分别作为反向振荡放大器的输入和输出端,其中前者可以作为内部时钟工作电路的输入端口。
振荡器特性:
我们可以把这两个振荡器配置为片内振荡器。如果我们采用外部时钟源驱动器件的话,我们应该把XTAL2引脚悬空。因为给振荡器内部输入时钟信号时会通过一个二分频的触发器模块,因此这个对外部时钟信号的脉宽没有什么要求,但是需要注意的是,我们必须得保证输入信号的脉冲的高低电平所要求的宽度。 1.4 时钟电路设计
时钟电路就像整个单片机系统的心脏部分,由他来控制整个芯片的工作,CPU就是通过复杂的时序电路完成不同的指令功能。单片机的外部晶振电路如图3.6所示:
9
天津科技大学2013届本科生毕业设计
图3.2 外部晶振连接图
1.5 复位电路设计
复位是将单片机做重新初始化的操作。为了使CPU和系统中其它部件都处于一个确定的初始状态,单片机在启动运行时,都需要先进行复位操作,以便能有一个统一的工作状态,因此复位是一步很重要的操作,但是大多数的单片机不具备自动复位的功能,虽然在本次毕业设计中所用到的单片机在晶振频率为12M以下时可以直接将复位引脚接地进行复位,但是这次用到的单片机晶振的频率为12M,所以不能直接进行复位,所以必须配合相应的外部电路才能实现。单片机的上电自动复位电路如图3.7所示:
图3.3 上电自动复位电路
10