端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流P2端口(P2.0~P2.7,21~28引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX @DPTR”指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVX @R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。
P3端口(P3.0~P3.7,10~17引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。P3口除作为一般I/O口外,还有其他一些复用功能。
硬件电路主要由复位电路、振荡电路、数码管显示电路、矩阵键盘电路和串口电路等组成。各单元模块电路如下:
复位电路
单片机的置位和复位都是为了把电路初始化到一个确定的状态一般来说单片机复位电路作用是把一个例如状态机初始化到空状态而在单片机内部复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。 单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数。 复位电路由按键复位和上电复位两部分组成。
上电复位
STC89系列单片及为高电平复位通常在复位引脚RST上连接一个电容到VCC再连接一个电阻到GND由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位随后回归到低电平进入正常工作状态这个电阻和电容的典型值为10K和10uF。
6
按键复位
按键复位就是在复位电容上并联一个开关当开关按下时电容被放电、RST也被
拉到高电平而且由于电容的充电会保持一段时间的高电平来使单片机复位.
2.2振荡电路
单片机系统里都有晶振在单片机系统里晶振作用非常大全称叫晶体振荡器他结合单片机内部电路产生单片机所需的时钟频率单片机晶振提供的时钟频率越高那么单片机运行速度就越快单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。
在通常工作条件下普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率称为压控振荡器VCO。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作以提供稳定精确的单频振荡。
单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振而通过电子调整频率的方法保持同步。
晶振通常与锁相环电路配合使用以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号可以用与同一个晶振相连的不同锁相环来提供。 STC89C51使用11.0592MHz的晶体振荡器作为振荡源由于单片机内部带有振荡电路所以外部只要连接一个晶振和两个电容即可电容容量一般在15pF至50pF之间。其电路原理图如3.2所示。 C130pFC230pFX1CRYSTALU119 图3.2 震荡电路 7 XTAL118XTAL29RSTP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXD393837363534333221222324252627281011293031PSENALEEA12P1.0/T2P1.1/T2EX
2.3 单片机最小系统单片机
最小系统包括晶振时钟电路和复位电路。原理图如图 3-1 所示。
C1X130pFCRYSTAL+5VC230pF+5VRP112345678910KU119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728101112131415161718XTAL2C3910uFR510k293031RSTPSENALEEA12345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52 图3.3 单片机最小系统
图3-3 单片机最小系统 在单片机引脚 XTAL1 和 XTAL2 外接晶体整荡器或陶瓷振荡器,就构成了内部震荡方式,由于单片机内部有一个高增益反向放大器,当外接晶振后,就构成了自激振荡器,并产生振荡时钟脉冲,晶振通常选择 6MHz、12MHz 或 24MHz。与晶振连接的电容起稳定振荡频率、快速起振的作用。电容值一般为 5~30pf。
复位操作完成单片机片内电路初始化,复位结束后,单片机从一种确定状态开始运行。当单片机复位引脚 RST 出现 5ms 以上高电平时,单片机就完成复位操作。复位操作通常有两种形式:上电复位和开关复位。常用上电开关复位电路如上图所示,上电后,由于电容 C1 充电,时 RST 持续一段时间高电平。当单片机已在运行中时,按下复位键也能使 RST 持续一段时间高电平,从而实现开关复位操作。通常 C110~30ufR110kΩ。
2.4 显示电路
本次需要采用 6 个数码管,若单独采用数码管连线时比较麻烦,故设计采用 6 位一体的共阴极数码管,若使 6 个数码管显示正常时间,必须采用采用数码管的动态扫描方式,即每一时刻只有一个数码管点亮,采用软件延时和人眼的视觉暂留效果, 使人眼看到的数码管是同时点亮的。因此需要用 6 个端口控制数码管的位选,即决定哪个数码管点亮。每个数码管的8 个数据口控制数码管的段选,即决定数码管显示什么字符。考虑到数码管采用动态扫描方式,即循环扫描数码管的 6 位,并将显示字符送入段选位,我们采用P0口控制数码管的 8 个段选位,并采用 74HC04 实现数码管驱动及数据锁存功能。
8
2.5矩阵键盘电路
其工作原理是从0列开始顺序行扫描即该行输出为0。每扫描一行读入列线数据从0开始列检查找该行输出为0的列若无则顺序扫描下一行并检查其各列若找到某列线为0则该列与检查行交叉的按键为被按下的键。从0行0列开始顺序将按键编号就可以按扫描的值得到按键的值。本设计使用的是4个独立按键其功能设置为时间的显示、时间的设置、温度的显示和数字频率的显示。其电路原理图如图3.4所示。
此外还要消除按键在闭合或断开时的抖动。消除抖动的方法可采用消抖电路RS触发器闩锁电路硬件消除抖动也克采用延时方式软件消除抖动延时后再重读以跳过抖动期。在矩阵键盘中通常采用软件消除抖动。
本设计中主要使用了独立键盘故电路图中简要的画出了44的矩阵键盘和4个独立按键。
P24P25P26P27P20P21P22P23 图3.4 矩阵键盘
2.6 温度采集电路
由于采用温度采集芯片 DS18B20,温度采集电路比较简单。数字温度计的温度采集组要是由 DS18B20 进行,它可以采用两种供电,一种是采用电源供电方式,此时 DS18B20 的 1 脚接地,2 脚作为信号线,3 脚接电源。
另一种是寄生电源供电方式,为保证在有效的 DS18B20时钟周期内提供足够的电流,可用一个电阻来完成对总线的上拉。本次采用的是寄生电源供电方式。DS18B20 的 2 脚接单片机的P3.2 口。单片机从 DS18B20 的 DQ 引脚读取温度值之后,经过一定的处理显示在液晶屏上。
9
2.7串口通信电路
串口通信的概念非常简单串口按位bit发送和接收字节。尽管比按字节byte的并行通信慢但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时规定设备线总常不得超过20米并且任意两个设备间的长度不得超过2米而对于串口而言长度可达1200米。
典型地串口用于ASCII码字符的传输。通信使用3根线完成1地线2发送3接收。由于串口通信是异步的端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
MAX232是电平转换芯片。1970年美国电气学会规定“RS232”串口通信协议。规定逻辑“1”-5— -15V逻辑“0”5— 15V 。噪声容限为2V。要实现利用串口与单片机进行通信就要进行电平转换把标准转化成单片机可以识别的。MAX220–MAX249都是电平转换芯片在单片机最小系统中使用MAX232。其电路原理图如图3.6所示。
C41C1+1112109T1INR1OUTT2INR2OUT0.1nF3C1-T1OUTR1INT2OUTR2INVS+VS-C2+4C2-14137826U216273849P1DCDDSRRXDRTSTXDCTSDTRRIC6MAX2320.1nFC70.1nF+5VERRORCOMPIMC50.1nF5 图3.6 串口通信电路
3 软件设计
3.1 软件介绍
3.1.1设计软件Protel
PROTEL是Altium公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国内的普及率也最高,有些高校的电子专业还专门开设
10
万用表单片机生产实习报告
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)