




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 AT89C52单片机的基本功能及应用1.1 AT89C52芯片介绍AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合。功能特性概述:AT89C52提供以下标准功能:8k字节Flash闪速存储器,256字节内部RAM,32个IO口线,3个16位
2、定时计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时计数器,串行通信口及中断系统继续工作。掉电式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。 (1)STC89C52芯片引脚分布及说明:STC89S52引脚分布如图1所示:图1 STC89C52引脚分布(2) AT89C52各引脚功能简介:P0口:P0口是一组8位漏极开路型双向IO口,也即地址数据总线复用口。作为输口用时,每位能吸收电流的方式驱动8个TTL逻辑门
3、电路,对端口P0写“l”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节。而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向IO口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C5l不同之处是,P1.0和P1.1还可分别作为定时计数器2的外部
4、计数输入(P1.0T2)和输入(P1.1T2EX),参见表1。Flash编程和程序校验期间,Pl接收低8位地址。P2口:P2是一个带有内部上拉电阻的8位双向IO口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“l”,通过内部的上拉电阻把端口拉到高平此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的内容。Flash编程或校验
5、时,P2亦接收高位地址和一些控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向IO口。P3口输出缓冲级可驱动(吸或输出电流)4个TTL逻辑门电路。对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I0口线外,更重要的用途是它的第二功能,如下表所示:表1 AT89C52引脚特性引脚号功能特性P1.0T2(定时/计数器2外部计数脉冲输入),时钟输出P1.1T21.X(定时/技术2 擒获/重装载触发和方向控制)表2 AT89C52端口引脚第二功能端口引脚第二功能端口引脚第二功能P3.0RXD(串行的入口)P
6、3.4T0(定时/计数器0外部输入)P3.1TXD(串行的出口)P3.5T1(定时/计数器1外部输入)P3.2INT0(外部中断0)P3.6WR(外部数据存储器写选通)P3.3INT1(外部中断1)P3.7RD(外部数据存储器读选通)此外,P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALEPROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的l6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注
7、意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EAVPP:外部访问允许。欲使CPU
8、仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。1.3 单片机的最小系统在智能化仪器仪表中,控制核心均为微处理器,而单片机以高性能、高速度、体积小、价格低廉、稳定可靠而得到广泛应用,是设计智能化仪器仪表的首选微控制器,单片机结合简
9、单的接口电路即可构成单片机最小系统,它是智能化仪器仪表的基础,也是测控、监控的重要组成部分。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL1分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容
10、值约为22F,在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好保证震荡器稳定和可靠的工作。该复位电路由一个10UF电容一个200欧电阻和10K电阻共同组成。图2 STC89C52的最小化配置2 数字电容测量仪系统工作原理2.1 整体方案设计系统框图见图3:S T C 8 9 C 5 2复位电路LCD1602被测电容555按键测量晶振电路图3 系统框图 图中给出了整个系统设计的系统框图,系统主要由四个主要部分组成,单片机和晶振电路设计,555芯片电路设计,LCD1602显示电路,复位电路设计。2.2 系统按键电路键闭合时,单片机的端口为低电平;键打开时,单片
11、机的端口将变成高电平。由于手的抖动、外部干扰等原因,键产生抖动,为了清除键盘抖动带来的影响,目前可以通过硬件电路去除抖动,也可以通过软件去抖动。一般来说,采用软件解决是目前最普遍采用的办法。去抖动的软件解决方法是:当发现键值为低时,延时10ms左右进行再次判定,如果两次判定结果一样,则说明该键处于闭合状态,如果两次判定结果不一致,则说明是键的抖动。电路图见图4:图4 系统按键电路2.3 系统复位电路在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。无论用户使用哪种类型的单片机
12、,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。手动按钮复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。图5 系统复位电路2.4 555芯片电路本次设计中应用的电路是直接反馈型无稳类电路。电路如图6所
13、示:图 6 555芯片电路 在555芯片输出方波后,由于硬件的原因,输出的方波会有很多毛刺,所以为了去除这些毛刺本设计中使用了一个两输入与门(74HC08),让信号通过74HC08后会使输出的波形毛刺减少很多,使单片机的测量结果变得精确。 555时基芯片的输出频率跟所使用的电阻R和电容C的关系是:又因为,所以即:如果单片机采用12M的晶振,计数器T0的值增加1,时间就增加1S,我们采用中断的方式来启动和停止计数器T0,中断的触发方式为脉冲下降沿触发,第一次中断到来启动T0,计数器的值为,第二次中断到来停止T0,计数器器的值为,则测量方波的周期为如何开始时刻计数器的值,则。则: 单片机的计数器的
14、值N=0-65535,为了测量的精度,N的取值一般在1005000,当电阻R越大,电容C的值就越小。我们取不同的电阻值,就得到不同的电容测量的量程。第一档: 150 uf第二档: 0.15 uf第三档: 0.010.5 uf第四档: 0.0010.05 uf为了编写程序的方便,我们只计算后面的单位可以根据使用的量程自行添加。测量范围的大小0.001uF655.35uF。2.5 系统显示电路LCD1602是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和
15、行间距的作用,正因为如此,所以它不能显示图形。其引脚分布如图7所示:图 7 系统显示电路3 程序运行结果图 9 仿真结果图1图 9 仿真结果图24 运行结果分析 通过上面两个数值的测量,可以得出此数字电容测试仪的设计是正确的,可以比较准确的测量出一个待测电容的电容值,并且能够将误差控制在很小的范围内。只要接入被测电容,打开开关以后,就能直接在屏幕上显示出电容的大小,方便在以后的实验中对电容的使用。经过调试,发现当被测电容容量在1F到50F之间时,测量值比较精确,而当被测电容容量在0.01F到1F之间时,测量值误差较大,并且显示方面也出现了一点问题。但被测电容要求在0.01F到100F之间,为此
16、,在原电路基础上我们进行了改进,由于Tx=1.1RCx,当Cx在0.01F到1F之间时,只要将R扩大100倍,那么Tx将与Cx在1F到100F时一样,即Tx在两种情况下大小相等,于是只要增加一个小量程档,就能有效地解决这个问题。总结设计中我们投入了最大的热情和精力,从设计电路图,选择元器件,使用Proteus仿真电路,其过程中出现了不少的问题,我们没有气馁,没有退缩,积极向老师请教,并且一遍又一遍的重复实践,直到我们期望的结果实现。事实也证明我们的努力没有白费,认真严谨的实习态度给我们带来了成功的喜悦!通过多次的调试,此次设计的数字式电容测量仪圆满完成。该测量仪达到了基本的技术指标,能够较精确
17、的测量0.001F至50F范围内的电容。但是由于量程较小,在实际生活中存在使用的局限性。不过同样可以在原电路上增强其指标,比如改变单电路中积分常数中的电阻值可以改变其量程。通过这次电子系统设计,我们掌握了设计一个数字电路的基本方法和基本步骤,实际解决了设计中出现的问题,增强了寻找问题,解决问题的能力。参考文献1 张毅刚.单片机原理及应用M.北京:高等教育出版社,20052 刘光斌,刘冬,姚志成.单片机系统实用抗干扰技术M.北京人民邮电出版社,20043 杨小川.protel DXP 设计指导教程M.北京:清华大学出版社,20044 李金平,沈明山,姜余祥.电子系统设计M.北京:电子工业出版社,
18、20075 王毓银.数字电路逻辑设计M.北京:高等教育出版社,19996 康华光.电子技术基础M.北京:高等教育出版社,20007 万文略.单片机原理及应用M.重庆大学出版社,20048 江世明.基于Proteus的单片机用用技术M.北京:电子工业出版社,20099 边春元.C51单片机典型模块设计与应用M.机械工业出版社育出版社,200810 李海清,黄志遥.电容传感器新型微弱电容测量电路J.北京:传感技术学报,200211 付晓光.单片机原理与使用技术M.北京:清华大学出版社,2007.12 李桂安.电子技术实验及课程设计M.南京:东南大学出版社,200813 夏继强.单片机实验与实践教程
19、M.北京:北京航空航天大学出版社,200114 肖洪兵.跟我学用单片机M.北京:北京航空航天大学出版社,200215 申忠如,郭福田,丁晖.现代测试技术与系统设计M.西安:西安交通大学出版社,200616 郝波.数字电子技术M.西安:西安电子科技大学出版社,200717 赵文博.新型常用集成电路速查手册M.北京:人民邮政出版社,200618 薛文,华慧明.新编实用电子技术快速入门M.福州:福建科学技术出版社,200319 罗民昌.集成电路系统M.北京:中国铁道出版社,199820 丁英丽.交流型微小电容测量电路的设计J.北京:电工技术杂志,2003附录 程序清单 #include #inclu
20、de /库函数#define DATA P0sbit RW=P26; /1602写数据sbit RS=P25; /1602写地址sbit EN=P27; /1602工作使能sbit b_test=P37; /开始测量电容的按键输入sbit _reset=P36; /555时基芯片工作控制信号unsigned int T_flag,N,C,i,Dis1,Dis0;unsigned int b6=0X13,0X0D,0X00,0X00,0X25,0X16; /显示C=00UF/*延时1MS*/void Delay1ms(unsigned int mm)unsigned int i; for(mm;
21、mm0;mm-) for(i=100;i0;i-);/*检查忙否*/void Checkstates() unsigned char dat; RS=0; RW=1; doEN=1;/下降沿 _nop_();/保持一定间隔_nop_(); dat=DATA; _nop_();_nop_(); EN=0; while(dat&0x80)=1);/*LCD写命令函数*/void wcomd(unsigned char cmd) Checkstates(); RS=0; RW=0; DATA=cmd; EN=1; _nop_(); _nop_(); _nop_(); _nop_(); EN=0;/*
22、LCD写数据函数*/void wdata(unsigned char dat) Checkstates(); RS=1; RW=0; DATA=dat; EN=1; _nop_(); _nop_(); _nop_(); _nop_(); EN=0;/*初始化*/void LCDINIT() Delay1ms(15); wcomd(0x38);/功能设置 Delay1ms(5); wcomd(0x38);/功能设置 Delay1ms(5); wcomd(0x01);/清屏 Delay1ms(5); wcomd(0x08);/关显示 Delay1ms(5); wcomd(0x0c);/开显示,不开光标/*显示函数*/void Display(void) /显示函数unsigned char i,j; unsigned char a12=0X4D,0X45,0X41,0X53,0X55,0X52,0X45,0X4D,0X45,0X4E,0X54,0X53;/显示measurements LCDINIT(); for(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 办事员要考试题目及答案
- 醉酒驾驶事故案例分析试题及答案
- 2025年大型商业综合体招商运营风险评估与社会稳定影响分析报告
- 押题宝典高校教师资格证之《高等教育心理学》考试题库带答案详解(培优a卷)
- 押题宝典高校教师资格证之《高等教育法规》模考模拟试题及参考答案详解(能力提升)
- 2025年环保设备市场环保设备检测服务竞争态势报告
- 股票购买合同
- 河北省任丘市中考数学真题分类(勾股定理)汇编达标测试试题(含答案及解析)
- 基础强化华东师大版7年级下册期末试题及参考答案详解【典型题】
- 2025版绿色环保产业园区规划与建设投标协议书
- 幼儿教育幼儿园安全知识教育试题
- AI在护理查房中的应用
- 哮喘患儿自我管理指导
- 2022学年上海复旦附中高一(上)期末信息技术试题及答案
- 证券行业智能化投资组合管理方案
- 数学思维与问题解决能力-深度研究
- 银行员工消保知识培训
- 地理与劳动教育
- 第5课 甲午中日战争与列强瓜分中国狂潮 公开课一等奖创新教学设计
- 初中数学新人教版七年级上册第二章《有理数的运算》教案(2024秋)
- 人教版(2025新版)七年级下册数学第七章 相交线与平行线 单元测试卷(含答案)
评论
0/150
提交评论