


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机应用实例报告零.序这个学期一开始便接触了 单片微型计算机原理与接口技术 ,听说是微 型计算机控制技术实用教程 的基础,对于工科的我来说学以致用无非是一切的 一切,虽然还是个该领域的菜鸟, 但是单片机之于自动化的意义不言而喻, 对于 这篇论文,以下开始展开,不足之处谅解。一. 概述单片机是一种集成在电路芯片, 是采用超大规模集成电路技术把具有数据处 理能力的中央处理器CPU随机存储器RAM只读存储器ROM多种I/O 口和中断 系统、定时器 /计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟 多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算 机系统。关于80C
2、51:该系列单片机是采用高性能的静态 80C51设计 由先进CMOS工 艺制造并带有非易失性 Flash 程序存储器 全部支持 12 时钟和 6 时钟操作 P89C51X2和 P89C52X2/54X2/58X2 分别包含 128 字节和 256 字节 RAMB2 条 I/O 口线3个16位定时/计数器6输入4优先级嵌套中断结构1个串行I/O 口 可用于多机通信I/O 扩展或全双工UART以及片振荡器和时钟电路。此外,由于 器件采用了静态设计,可提供很宽的操作频率围,频率可降至 0 。可实现两个 由软件选择的节电模式,空闲模式和掉电模式,空闲模式冻结CPU但RAM定时器, 串口和中断系统仍然工
3、作掉电模式保存 RAM的容 但是冻结振荡器 导致所有其 它的片功能停止工作。由于设计是静态的时钟可停止而不会丢失用户数据 运行 可从时钟停止处恢复的。二. 应用领域目前单片机渗透到我们生活的各个领域, 几乎很难找到哪个领域没有单片机 的踪迹。导弹的导航装置, 飞机上各种仪表的控制, 计算机的网络通讯与数据传 输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用 豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩 具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智 能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用
4、 与智能化控制的科学家、工程师。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备 的智能化管理及过程控制等领域,大致可分如下几个畴:1. 在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等 优点,广泛应用于仪器仪表中, 结合不同类型的传感器, 可实现诸如电压、 功率、 频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理 量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起 采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分 析仪)。2. 在工业控制中的应用用单片机可以构成形式多样的
5、控制系统、 数据采集系统。 例如工厂流水线的 智能化管理, 电梯智能化控制、 各种报警系统, 与计算机联网构成二级控制系统3. 在家用电器中的应用可以这样说, 现在的家用电器基本上都采用了单片机控制, 从电饭褒、洗衣 机、电冰箱、空调机、 彩电、其他音响视频器材、 再到电子秤量设备, 五花八门, 无所不在。4. 在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口, 可以很方便地与计算机进行数据通信, 为 在计算机网络和通信设备间的应用提供了极好的物质条件, 现在的通信设备基本 上都实现了单片机智能控制,从手机,机、小型程控交换机、楼宇自动通信呼叫 系统、列车无线通信、再到日常工作中随
6、处可见的移动,集群移动通信,无线电 对讲机等。5. 单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛, 例如医用呼吸机, 各种分析仪, 监 护仪,超声诊断设备及病床呼叫系统等等。6. 在各种大型电器中的模块化应用某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其部结构。如音乐集成单片机,看似简单的功能,微 缩在纯电子芯片中 (有别于磁带机的原理) ,就需要复杂的类似于计算机的原理。 如:音乐信号以数字的形式存于存储器中(类似于 ROM ),由微控制器读出,转 化为模拟音乐电信号(类似于声卡) 。在大型电路中,这种模块化应用极缩小了体积,简
7、化了电路,降低了损坏、 错误率,也方便于更换。7. 单片机在汽车设备领域中的应用单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统,制动 系统等等。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分 广泛的用途。三. 运用实例实例1.6位数显频率计数器实验任务利用AT89S5仲片机的TO、T1的定时计数器功能,来完成对输入的信号进 行频率计数,计数的频率结果通过 8位动态数码管显示出来。要求能够对 0-250KHZ的信号频率进行准确计数,计数误差不超过土 1HZ2.2T"5电710TT
8、13lA川LJ怔17gAP1 0PO O/ADOPl 1POPI 2PC 2/AD2F1 3PB 3JAD3PL4P0.4/JL1MPI £P0.6/AEW7PQ 丁堆口TALEPSEKF3 C1JRXDF2 7/* I :iP 冷 1JTXDF2?3 2/tNTbF2 5/A L 3P3JMNT1P2.4/A12pi耳/r 口P3.3JTIP2 2/A10P3 6JWRP2 U A9P3.7JRDf'J 皿 7:gXo04710寻EJT,C312 SB11ClITS7iw7CJ匚丸11liib9n87C2电路原理图区域中的区域中的图 3. 系统板上硬件连线(1) .把“单片
9、机系统”区域中的 P0.0 P0.7与“动态数码显示”ABCDEFGH口用8芯排线连接。(2) .把“单片机系统”区域中的 P2.0 P2.7与“动态数码显示”S1S2S3S4S5S6S7S端口用 8 芯排线连接。(3) .把“单片机系统”区域中的P3.4 (TO)端子用导线连接到“频率产生 器”区域中的 WAV端子上。4. 程序设计容(1) .定时/计数器TO和T1的工作方式设置,由图可知,TO是工作在计数状态下,对输入的频率信号进行计数,但对工作在计数状态下的TO,最大计数值为fOSC/24,由于fOSO 12MHz因此:TO的最大计数频率为 250KHz对于频率的概念就是在一秒只数脉冲的
10、个数,即为频率值。所以T1工作在定时状态下,每定时1秒中到,就停止TO的计数,而 从 TO 的计数单元中读取计数的数值,然后进行数据处理。送到数码管 显示出来。(2) . T1工作在定时状态下,最大定时时间为65ms达不到1秒的定时,所以采用定时50ms共定时20次,即可完成1秒的定时功能。5. C 语言源程序#include <AT89X52.H>unsigned char code dispbit=Oxfe,Oxfd,Oxfb,Oxf7,Oxef,Oxdf,Oxbf,Ox7f;unsigned char code dispcode=Ox3f,OxO6,Ox5b,Ox4f,Ox6
11、6, Ox6d,Ox7d,OxO7,Ox7f,Ox6f,OxOO,Ox4O;unsigned char dispbuf8=O,O,O,O,O,O,1O,1O;unsigned char temp8;unsigned char dispcount;unsigned char TOcount;unsigned char timecount;bit flag;unsigned long x;void main(void)unsigned char i;TMOD=Ox15;THO=O;TLO=O;TH1=(65536-4OOO)/256;TL1=(65536-4OOO)%256;TR1=1;TRO=1
12、;ETO=1;ET1=1;EA=1;while(1)if(flag=1)flag=0;x=T0count*65536+TH0*256+TL0;for(i=0;i<8;i+)tempi=0;i=0;while(x/10)tempi=x%10;x=x/10;i+;tempi=x;for(i=0;i<6;i+)dispbufi=tempi;timecount=0;T0count=0;TH0=0;TL0=0;TR0=1;void t0(void) interrupt 1 using 0T0count+;void t1(void) interrupt 3 using 0TH1=(65536-
13、4000)/256;TL1=(65536-4000)%256;timecount+;if(timecount=250)TR0=0;timecount=0;flag=1;PO=dispcodedispbufdispco un t;P2=dispbitdispco un t; dispco un t+; if(dispco un t=8) dispco un t=0;实例2.数字电压表1 实验任务利用单片机AT89S51与ADC080敦计一个数字电压表,能够测量 0 5V之间 的直流电压值,四位数码显示,但要求使用的元器件数目最少。2. 电路原理图R1 4霑VCCQiQGHD卜tN3IN:叫IMj
14、卅3欣AwSTEQdALtFillQE厂T FJ J.mr+GHDVEEF,DID22Q矿 IHOD7DS 曲 lfi 5*tJ.D3PI 07Pi 4 ra j p; «13Uon1b匚口引6 8ISiX 92 m ;4 a需QwcZQ50 ilCD:230G 13*虹1F3ED 'LEr 討 ti;1717pipi i.空pP3 4H0PJJM1 RE沁PSJ.-FXP01MD1 时 2'AD 2 P03/AD3 PC斗鼻3 PDr'ADS PQ S 山口f*LKPSEWP2 7M15P2 6>A 14 P2.JXA 13 2 PJ.>A It
15、 P2.2X&10Fl/ASJ F2.O/ZB a3P33DI37D236D335IM女DS常D632Ei?30ALE曲2S27肪S43J5322S2DOh I Ck12M Qi 丁斑图 3 系统板上硬件连线a) 把“单片机系统”区域中的 P1.0P1.7 与“动态数码显示”区域中的ABCDEFG端口用8芯排线连接。b) 把“单片机系统”区域中的 P2.0P2.7 与“动态数码显示”区域中的S1S2S3S4S5S6S7S端口用8芯排线连接。c) 把“单片机系统”区域中的 用导线相连接。d) 把“单片机系统”区域中的 用导线相连接。e) 把“单片机系统”区域中的 用导线相连接。f) 把“
16、单片机系统”区域中的 用导线相连接。P3.0 与“模数转换模块”区域中的P3.1 与“模数转换模块”区域中的P3.2 与“模数转换模块”区域中的P3.3 与“模数转换模块”区域中的ST端子 0E端子 EOC端 子CLK端 子g) 把“模数转换模块”区域中的 A2A1A(端子用导线连接到“电源模块”区 域中的GND端子上。h) 把“模数转换模块”区域中的 IN( 端子用导线连接到“三路可调电压模 块”区域中的VR1端子上。i) 把“单片机系统”区域中的 P(.( P(.7 用 8芯排线连接到“模数转换模 块”区域中的 D0D1D2D3D4D5D6端子上。4 程序设计容i.由于ADC0809S进行
17、A/D转换时需要有CLK信号,而此时的ADC0809 的CLK是接在AT89S51单片机的P3.3端口上,也就是要求从 P3.3 输出CLK信号供ADC0809使用。因此产生CLK信号的方法就得用软 件来产生了。ii.由于ADC0809的参考电压VREM VCC所以转换之后的数据要经过 数据处理,在数码管上显示出电压值。实际显示的电压值 (D/256*VREF)5 C 语言源程序#include <AT89X52.H> unsigned char code dispbitcode=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsigned ch
18、ar code dispcode=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00;unsigned char dispbuf8=10,10,10,10,0,0,0,0;unsigned char dispcount;unsigned char getdata;unsigned int temp;unsigned char i;sbit ST=P3A0;sbit 0E=P3A1;sbit EOC=P3A2;sbit CLK=P3A3;void main(void)ST=0;0E=0;ET0=1;ET1=1;EA=1;TM0D=0x1
19、2;TH0=216;TL0=216;TH1=(65536-4000)/256;TL1=(65536-4000)%256;TR1=1;TR0=1;ST=1;ST=0;while(1)if(E0C=1)0E=1;getdata=P0;0E=0;temp=getdata*235; temp=temp/128;i=5;dispbuf0=10;dispbuf1=10;dispbuf2=10;dispbuf3=10;dispbuf4=10;dispbuf5=0;dispbuf6=0;dispbuf7=0;while(temp/10)dispbufi=temp%10;temp=temp/10;i+;disp
20、bufi=temp;ST=1;ST=0;void t0(void) interrupt 1 using 0CLK=CLK;void t1(void) interrupt 3 using 0TH1=(65536-4000)/256;TL1=(65536-4000)%256;P1=dispcodedispbufdispcount;P2=dispbitcodedispcount; if(dispcount=7)P1=P1 | 0x80;dispcount+;if(dispcount=8)dispcount=0;实例三 . 报警器1 实验任务用AT89S5仲片机产生“嘀、嘀、”报警声从P1.0端口输出
21、,产生频率为1KHz 根据上面图可知:1KHZ方波从P1.0输出0.2秒,接着0.2秒从P1.0输出电平 信号,如此循环下去,就形成我们所需的报警声了。2.电路原理图3. 系统板硬件连线(1.把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区 域中的SPK IN端口上,(2.在“音频放大模块”区域中的 SPK OUT端口上接上一个8欧或者是16欧 的喇叭;4. 程序设计方法(1生活中我们常常到各种各样的报警声,例如“嘀、嘀、”就是常见 的一种声音报警声,但对于这种报警声,嘀 0.2秒钟,然后断0.2秒钟,如此循 环下去,假设嘀声的频率为1KHz则报警声时序图如下图所示:上述波形
22、信号如何用单片机来产生呢?(2.由于要产生上面的信号,我们把上面的信号分成两部分,一部分为1KHZ方波,占用时间为0.2秒;另一部分为电平,也是占用0.2秒;因此,我 们利用单片机的定时/计数器T0作为定时,可以定时0.2秒;同时,也要 用单片机产生1KHZ的方波,对于1KHZ的方波信号周期为1ms高电平占 用0.5ms,低电平占用0.5ms,因此也采用定时器T0来完成0.5ms的定时; 最后,可以选定定时/计数器T0的定时时间为0.5ms,而要定时0.2秒则 是0.5ms的400倍,也就是说以0.5ms定时400次就达到0.2秒的定时时 间了。5. 程序框图中断服务程序框图FLAG= 0FLAG-1Pl 0取反中新返回图 6.汇编源程序T02SA EQU 30HT02SB EQU 31HFLAG BIT 00HORG 00HLJMP STARTORG 0BHLJMP INT_T0START: MOV T02SA,#00HMOV T02SB,#00HCLR FLAGMOV TMOD,#01HMOV TH0,#(65536-500) / 256MOV TL0,#(65536-500) MOD 256SETB TR0SETB ET0SETB EASJMP $INT_T0:MOV TH0,#(65536-500) / 256MOV TL0,#(655
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新消防员测试题及答案
- 网络游戏服务器机房精密空调租赁及安全保障服务协议
- 美团酒店商家会员积分兑换及积分商城合作协议
- 工业原料期货市场风险对冲策略实施补充协议
- 绿色环保产业园区土地开发与地籍测绘综合合同
- 拼多多平台店铺流量扶持与用户增长服务合同
- 脑机接口技术工程师聘用与技术支持服务合同
- 重点学区房学位使用权购置合同年限保障协议
- 医疗器械进出口代理及全球物流解决方案协议
- 新能源企业员工股权激励与职业发展规划协议
- 《航空专业英语》课件维修专业基础英语R1
- 【课件】第17课实验与多元——20世纪以来的西方美术课件高中美术人教版(2019)美术鉴赏
- 张沟煤矿打钻着火事故概述
- 孔子练精神聪明不忘开心方_医心方卷二十六引_金匮录_方剂加减变化汇总
- 欧宾电梯货梯电气原理图
- 政务服务顾客意见簿(竖)[2]
- Module-9-Unit-1-could-I-ask-if-youve-metioned-this-to-her
- 常见皮肤病鉴别诊断图谱
- NJB-2综合监测仪说明书
- 26个英文字母发音-音标-自然拼读
- 残魄点穴术(秘
评论
0/150
提交评论