




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课 程 设 计 报 告学生姓名:学 号:学 院:自动化工程学院班 级:自动题 目:计算机控制系统基于AT89C51的信号检测装置指导教师: 职称: 2020年6月10日25目 录1 题目背景与意义12 设计题目介绍22.1 设计要求22.2设计意义23 系统总体框架33.1 系统设计思路33.2 系统框架图34 系统硬件设计44.1 单片机选型44.1.1单片机引脚连接54.2 A/D模数转换模块54.2.1 A/D模块引脚连接74.3 D/A数模转换模块74.3.1 D/A模块引脚连接94.4 液晶显示模块94.5按键复位模块104.5.1 复位模块引脚连接104.6 晶振电路设计114.6
2、.1 晶振电路引脚连接114.7 监视模块114.7.1 监视模块引脚连接114.8 键盘电路设计124.8.1 键盘电路引脚连接125 系统软件设计145.1主程序框图145.2串口通信框图145.3数据转换程序框图155.4按键扫描程序框图165.5监视程序框图175.6延时子程序框图185.7 A/D转换框图195.8 D/A转换框图196 结论20附录21参考文献25 1 题目背景与意义在自动控制系统的实际工程中,经常需要检测被测对象的一些物理参数,如温度、流量、压力、速度等,这些参数都是模拟信号的形式。它们要由传感器转换成电压信号,再经A/D转换器变换成计算机能够处理的信号。同样,计
3、算机控制外设,如电动调节阀、模拟调速系统时,就需要将计算机输出的数字信号经过D/A转换器变换成外设能接受的模拟信号。 本次计算机控制系统课程设计的目的就是让同学们在理论学习的基础上,通过完成一个基于51单片机,A/D和D/A多种资源应用并具有综合功能的小系统的设计与编程应用,使我们不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、等方面的知识进一步加深认识,同时在系统设计、软件编程、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。帮助同学们增进对单片机的感性认识,加深对单片机理论方面的理解,从而更好的掌握单片机的内部功能模块的应用以及A/D和D/A功能的实现
4、。2 设计题目介绍2.1 设计要求 设计一个基于单片机的具有A/D和D/A功能的信号测控装置。要求该信号测控装置能够接入典型传感器、变送器信号,同时可输出标准电压/电流信号,并满足抗干扰、通用性、安全性、性价比等原则性要求。标准电压/电流信号定为:05V/420mA (020mA)。2.2设计意义了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。3 系统总体框架3.1 系统设计思路根据题目要求寻找满足设计要求的芯片,定下具体框架,从题目可知其主要由三部分构成。首先是输入通道由A/D转换装置,其次为单片机部分,第三部分是输出通道即D/A转换装置。除
5、主要部分外为了让装置具有更完善的功能,选用键盘显示报警等。3.2 系统框架图系统框架如图1所示。图3-1 系统框架图AT89C51报警模块显示模块A/D转换模块键盘模块D/A转换模块模拟量输出模拟量输入4 系统硬件设计4.1 单片机选型本设计单片机采用AT89C51单片机。AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。它采用的是CHMOS工艺,具有价格便宜、易上手、抗干扰能力强、稳定性好等优点,满足我所设计的系统要求的条件,且Pro
6、teus中还有此单片机模块的仿真,所以此次设计我选用了AT89C51单片机作为处理核心。各引脚介绍:Vss(20脚):接地VCC(40脚): 主电源+5VXTAL1(19脚):接外部晶体的一端。在片内它是振荡电路反相放大器的输入端。对于CHMOS单片机,此引脚作为驱动端。XTAL2(18脚): 接外部晶体的另一端。在片内它是一个振荡电路反相放大器的输出端,振荡电路的频率是晶体振荡频率。对于CHMOS单片机,此引脚应悬浮。RST(9脚): 单片机刚接上电源时,其内部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将使单片机复位(RESET)PSEN(29脚): 外ROM读选通信号A
7、LE/PROG(30脚): 地址锁存允许/片内EPROM编程脉冲EA/VPP(31脚): 当EA端输入高电平时,CPU从片内程序存储器地址0000H单元开始执行程序。当地址超出4KB时,将自动执行片外程序存储器的程序。当EA输入低电平时,CPU仅访问片外程序存储器。输入/输出引脚:(1)P0.0P0.7 (39脚32脚) 作为数据总线(2)P1.0P1.7 (1脚8脚)(3)P2.0P2.7 (26脚21脚)(4)P3.0P3.7 (10脚17脚)具有第二功能,用于特殊信号输入输出和控制
8、信号,属控制总线。4.1.1单片机引脚连接本设计是以单片机为核心,因为P3口有第二功能,因此我首选的是P0口、P1口、P2口进行器件的连接,将P3口用于扩展功能的连接。具体连接方式:1. P0口连接ADC0804的输出端口、显示模块的输入端口和键盘的输出端口;2. P1口我将其设定为输出端口,所以我连接的是监视模块的8个LED灯;3. P3口主要是负责上位机通信以及使能输入等;4. 剩下的时钟借口以及复位端也进行了相应处理。图4-1 单片机引脚连接图4.2 A/D模数转换模块本次系统设计为能够采集传感器、变送器的模拟量信号,因此我选用输出8位的模拟量转数字量芯片ADC0804。ADC0804是
9、属于逐次逼近式A/D转换器,这类型的A/D转换器除了转换速度快、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上。ADC0804芯片的主要电气特性如下:工作电压:+5V,即VCC=+5V;模拟量输入范围:0+5V,即0Vin+5V;分辨率:8位,即转换值介于0255之间;转换时间:100us;转换误差:±1LSB;各引脚功能:Vin(+)、Vin(-):两个模拟信号输入端,可以接收单极性、双极性和差模输入信号。DB0-DB7:具有三态特性数字信号输出端,输出结果为八位二进制结果。CLK IN:时钟信号输入端。CLK R:内部时钟发生器的外接电阻端,与CLK端配合可由芯片
10、自身产生时钟脉冲,其频率计算方式是:fck=1/(1.1RC)。CS:片选信号输入端,低电平有效。WR:写信号输入端,低电平启动AD转换。RD:读信号输入端,低电平输出端有效。INTR:转换完毕中断提供端,AD转换结束后,低电平表示本次转换已完成。A GND:模拟电源地线。D GND:数字电源地线。图4-2 ADC0804的引脚连接图4.2.1 A/D模块引脚连接A/D模块在整个环节中的作用是对输入的模拟量信号进行转换,然后输送给单片机。具体连接方式:1. 输出端DB口连接单片机的P0口;2. 正向输入端Vin+连接输出电流信号的电路;3. VREF/2端连接了一个调理电路,用来设定A/D转换
11、模块的基准电压的大小,从而达到实验目的。图4-3 DAC0804引脚连接图4.3 D/A数模转换模块D/A转换电路采用DAC0832进行数模转换。DAC0832是8位D/A转换器,是20引脚的双列直插式芯片。它采用CMOS工艺制作,具有双缓冲器输入结构。1.0832引脚功能:CS:片选信号,和允许锁存信号ILE组合来决定 是否起作用;ILE:允许锁存信号; WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存; WR2:DAC寄存器选通输入线,负脉冲(脉
12、宽应大于500ns)有效。由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始进行D/A转换;XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效; DI7DI0:8位数据输入端; IOUT1:模拟电流输出端1。当DAC寄存器中全为1时,输出电流最大,当DAC寄存器中全为0时,输出电流为0; IOUT2:模拟电流输出端2。IOUT1+IOUT2=常数;RFB:反馈电阻引出端。DAC0832内部已经有反馈电阻,所以,RFB端可以直接接到外部运算放大器的输出端。相当于
13、将反馈电阻接在运算放大器的输入端和输出端之间; VREF:参考电压输入端。可接电压范围为±10V。外部标准电压通过VREF与T型电阻网络相连; VCC:芯片供电电压端。范围为+5V+15V,最佳工作状态是+15V;A GND:模拟地,即模拟电路接地端; D GND:数字地,即数字电路接地端;2. 0832工作方式DAC0832有如下3种工作方式: 单缓冲方式。单缓冲方式是控制输入寄存器和DAC寄存器同时接收资料,或者只用输入寄存器而把DAC寄存器接成直通方式。此方式适用只有一路模拟量输出或几路模拟量异步输出的情形; 双缓冲方式。双缓冲方式是先使输入寄存器接收资料,再控制输入寄存器的输
14、出资料到DAC寄存器,即分两次锁存输入资料。此方式适用于多个D/A转换同步输出的情节; 直通方式。直通方式是资料不经两级锁存器锁存,即 /CS,/XFER ,/WR1 ,/WR2 均接地,ILE接高电平。此方式适用于连续反馈控制线路和不带微机的控制系统,不过在使用时,必须通过另加I/O接口与CPU连接,以匹配CPU与D/A转换;4.3.1 D/A模块引脚连接在设计中,D/A转换模块主要承担对单片机输出的数字量信号进行处理,然后输出模拟量信号的过程。具体连接方式:1. A/D模块的输入端连接单片机设定的输出端口P2口;2. 输出端连接一个处理电路,使其输出值达到设计要求;3. 五个控制端置为有效
15、,采用直通方式。图4-4 DAC0832引脚连接图4.4 液晶显示模块加入LED显示是为了便于人机互动,方便工作人员及时了解此时工况。本次系统设计采用的是两个晶体管液晶屏作为系统参数显示部分,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。 4.4.1 液晶显示模块引脚连接液晶显示模块的输入侧通过其与译码器的连接,对其进行编码显示输出,译码器的输出侧则连接单片机的P0口,由于单片机输出口没有电阻,所以为了系统的稳定,我在其中加入了排阻。图4-5 液晶显示模块图4.5按键复位模块程序运行出错或操作错误使系统处于死锁状态时,为了摆脱困境,也需按复位键以重新启动。单片机系统中需要一个硬件复位
16、电路,用于用户的手动复位,AT89C51是高电平复位有效。极性电容C3的大小直接影响单片机的复位时间,一般采用1030uF,51单片机最小系统容值越大需要的复位时间越短。4.5.1 复位模块引脚连接复位电路由一个电阻、一个电解电容、一个按钮形成,我将其连接至单片机的RST引脚。图4-6 复位模块引脚连接图4.6 晶振电路设计单片机是一种时序电路,必须供给脉冲信号才能正常工作,所以在XTAL1和XTAL2引脚接入一个振荡电路。振荡电路产生的振荡脉冲并不是直接使用,而是经分频后再为系统所用,振荡脉冲经过二分频后才作为系统的时钟信号。4.6.1 晶振电路引脚连接这里使用振荡频率为12MHz的石英晶体
17、,在连接时,我将振荡器和电容尽量靠近单片机,以避免干扰,保障振荡器稳定。连接的是单片机的XTAL1、XTAL2引脚。晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。起振电容C1、C2一般采用1533pF,并且电容离晶振越近越好,晶振离单片机越近越好。图4-7 晶振电路连接图4.7 监视模块本实验是以AT89C51单片机为中心的设计,依靠单片机带动各器件工作,因此单片机承受压力大,工作任务重,所以对单片机工作情况的监视就显得十分重要,在本设计中,我采用8个发光二极管与单片机连接的方式,通过二极管的亮灭来监视单片机的运行情况。 4.7.1 监视模块引脚连接我将8个LED灯的输入端连接
18、至了单片的P1口。图4-8 监视模块连接图4.8 键盘电路设计加入键盘是为了便于人机互动,方便工作人员即时调整工况。调节系统的允许工作范围。目的是当按下一个键时,数码管上要显示相应的数字。4*4按键接口电路的设计是要读取每一个按键的值,通过按键控制外围电路的工作,设定初始值和设定值。所用键盘是一种常开型按钮开关,常态时,键盘的两个触电处于断开状态;按下时,两个触点闭合。通过按键在常态与被按下时的通断,操作人员就可以通过键盘向单片机输入数据或者控制命令等,从而实现简单的人机通信。 4.8.1 键盘电路引脚连接在这里,我将其引脚连接到了单片机的P0口。图4-9 键盘电路引脚连接图5 系统软件设计5
19、.1 主程序框图开始开中断设置DPTR初始值WR置低电平,启动A/D转换,同时将A中数据送入D/A启动转换等待图5-1 主程序框图5.2 串口通信框图开始设置DPTR初始值图5-2 串口通信框图将ADC Date和DAC Date数值赋给parameter开始5.3 数据转换程序框图Y单片机将转换好的数据载入累加器ACCYN返回T50ms调整延时子程序从P1口输出数字信号D0-D7输出数字信号RD置低电平查询INTR是否为WR置低电平,启动A/D转换设置DPTR初始地址N图5-3 数据转换程序框图5.4 按键扫描程序框图开始开始扫描判断是否按下按键消抖识别键盘按下键值LED记录数值结束图5-4
20、 按键扫描程序框图5.5 监视程序框图开始将A/D转换结果的个、十、百、千位分别放入51H、52H、53H令R1指向52H,R7计数向LED输出一位代码R2 是否为0 NY返回图5-5 监视程序框图5.6 延时子程序框图开始赋值R6赋值R5R5=R5-1返回R5是否为0R6=R6-1NYR6是否为0NY图5-6 延时子程序框图5.7 A/D转换框图开始启动A/D转换A/D数字量信号读取数据信号值赋给ADC Date结束图5-7 A/D转换框图5.8 D/A转换框图开始启动A/D转换信号值赋给ADC DateA/D数字量信号读取数据结束图5-8 D/A转换框图6 结论面对课程设计,觉得自己的专业
21、知识掌握的不够全面,对于各个芯片的了解不够充分,经过这次课程设计之后,使得自己对于所学的知识进行了一次综合性的整理,通过查阅相关资料,不仅学习了更多的知识,也提高了自己的实践能力。通过本次课程设计,我总结了以下几点:(1)在开始课程设计之前,要对所选择的芯片内部结构有一个系统的了解,知道芯片内有哪些资源,各个引脚的功能是什么.(2)在进行课程设计时,不能妄想一次就将整个程序设计好,"反复修改,不断改进"是程序设计的必经之路.(3)在课程设计过程中遇到问题是正常的,我们应该积极寻找解决问题的办法,并分析清楚产生问题的原因,以免下次再碰到同样的问题.(4)认真审题,不能盲目设计
22、,要理解课程设计的方向,做到能把课题完成又能锻炼自己的能力。 (5)课程设计可以分块进行设计,之后再组合到一起完成整个的设计。 (6)自己完成了整个课程设计之后,不仅熟悉了课程设计的过程,更系统的锻炼了自己。附录图 71 电路图#include#include #define uchar unsigned char#define uint unsigned int
23、 /sbit p=P33; /信号输入端口sbit w1=P24; /数码管的四个位sbit w2=P25;sbit w3=P26;sbit w4=P27; unsigned high;unsigned low;void read_count();uchar table=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F
24、,0x6F;void delay(uint ms) /延时函数 uchar x; for(ms;ms>0;ms-) for(x=10;x>0;x-);void display(disnum)/显示函数 w1
25、=0;P0=tabledisnum/1000;delay(10); /第1位 P0=0x00;w1=1;delay(1); w2=0;P0=tabledisnum%1000/100;delay(10);/第2位 P0=0x00;w2=1;delay(1); w3=0;P0=tabledisnum%100/10; d
26、elay(10);/第3位 P0=0x00;w3=1;delay(1); w4=0;P0=tabledisnum%10;delay(10);/第4位 P0=0x00;w4=1;delay(1);void main() /主函数
27、160; TMOD=0x90; TH1=0; TL1=0; TR1=1; while(p=1); TR1=1;
28、160; while(p=0); while(p=1); TR1=0; read_count(); while(1) displ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025新入职工安全培训考试试题附参考答案(轻巧夺冠)
- 2025厂里安全培训考试试题5A
- 2025公司、项目部、各个班组安全培训考试试题(考题)
- 知到智慧树网课:病理生理学(南方医大)章节测试满分答案
- 2025跨境电商购销合同范本
- 2025租房合同标准范本
- 2025移动应用版本软件授权合同样书
- 2025精简版房屋装修合同协议
- 2025购方信贷合同示范文本
- 2025办公室租赁合同范例
- 香港私家车转让协议书模板
- 食品经营安全管理制度目录
- 浙江省石材面板保温装饰板外墙外保温系统应用技术规程
- 汽车租赁合同协议电子版
- 模拟电子技术基础智慧树知到期末考试答案章节答案2024年北京航空航天大学
- 16J916-1住宅排气道一
- (高清版)JTGT 5640-2020 农村公路养护预算编制办法
- T-CCAA 39-2022碳管理体系 要求
- 人教版语文二年级下册第一二单元百词竞赛
- 幼儿园大班健康《我会保护眼睛》说课课件
- 手术质量控制指标
评论
0/150
提交评论