版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 单片机课程设计设计报告设计题目: 数字温度及设计 系 别: 控制工程学院 专 业: 班级学号: 姓 名: 指导教师: 设计时间: 课程设计背景知识1.1. 研究背景及意义直流稳压电源是电子技术常用的设备之一,广泛的应用于教学、科研等领域。传统的多功能直流稳压电源功能简单、难控制、可靠性低、干扰大、精度低且体积大、复杂度高。普通直流稳压电源品种很多, 但均存在以下二个问题: 1) 输出电压是通过粗调(波段开关) 及细调(电位器)来调节。这样, 当输出电压需要精确输出, 或需要在一个小范围内改变时(如1. 05 1. 07V ) ,困难就较大。另外, 随着使用时间的增加, 波段开关及电位器难免接
2、触不良, 对输出会有影响。2) 稳压方式均是采用串联型稳压电路, 对过载进行限流或截流型保护, 电路构成复杂,稳压精度也不高。传统的直流稳压电源通常采用电位器和波段开关来实现电压的调节,并由电压表指示电压值的大小. 因此,电压的调整精度不高,读数欠直观,电位器也易磨损.而基于单片机控制的直流稳压电源能较好地解决以上传统稳压电源的不足。随着科学技术的不断发展,特别是计算机技术的突飞猛进,现代工业应用的工控产品均需要有低纹波、宽调整范围的高压电源,特别是在一些高能物理领域,急需电脑或单片机控制的低纹波、宽调整范围的电源。1.2 国内外研究现状从上世纪九十年代末起,随着对系统更高效率和更低功耗的需求
3、,电信与数据通讯设备的技术更新推动电源行业中直流/直流电源转换器向更高灵活性和智能化方向发展。在80年代的第一代分布式供电系统开始转向到20世纪末更为先进的第四代分布式供电结构以及中间母线结构,直流/直流电源行业正面临着新的挑战,即如何在现有系统加入嵌入式电源智能系统和数字控制。 早在90年代中,半导体生产商们就开发出了数控电源管理技术,而在当时,这种方案的性价比与当时广泛使用的模拟控制方案相比处与劣势,因而无法被广泛采用。 由于板载电源管理的更广泛应用和行业能源节约和运行最优化的关注,电源行业和半导体生产商们便开始共同开发这种名为“数控电源”的新产品。 现今随着直流电源技术的飞跃发展, 整流
4、系统由以前的分立元件和集成电路控制发展为微机控制, 从而使直流电源智能化, 具有遥测、遥信、遥控的三遥功能, 基本实现了直流电源的无人值守,自动运行。2. 数控直流电压源总体方案设计2.1. 功能要求设计一个数控直流电压源,利用键盘来控制,并用数码管显示出来。2.2. 方案论证本设计采用AT89S52为控制单元,与数模转换器DAC0832数据接口相连,并使DAC工作在直通方式下。DAC的8脚接参考电压,参考电压为5V。所以在DAC的输出电压的分辨率为5V/256=0.019V,也就是说DAC输入数据端每增加1,电压增加0.019V。本电路设计三个按键,KEY1、KEY2,KEY1为电压+,KE
5、Y2为电压。主电路的原理是通过AT89S51控制DAC0832的输出电压大小,由按按KEY1,KEY2控制电压的加减,通过8255A与数码管相连,来控制电压显示。2.3. 系统硬件电路设计系统硬件电路图如图 2-1所示:按键电路D/A转换单元单片机AT89S52四位数码管显示 图 2-1 系统硬件电路图 2.4. 芯片选择系统核心单片机部分AT89S52AT89S52单片机是一种低功耗高性能的CMOS8位微控制器,内置8KB可在线编程闪存。该器件采用Atmel公司的高密度非易失性存储技术生产,其指令与工业标准的80C51指令集兼容。片内程序存储器允许重复在线编程,允许程序存储器在系统内通过SP
6、I串行口改写或用同用的非易失性存储器改写。通过把通用的8位CPU与可在线下载的Flash集成在一个芯片上,AT89S52便成为一个高效的微型计算机。它的应用范围广,可用于解决复杂的控制问题,且成本较低。芯片引脚如图2-2所示。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。 数模转换器DAC0832 DAC0832是一个8位乘法型D/A转换芯片,除具有一般的D/A转换特性外,其内部采用双缓冲寄存器,能很方便地用于多个D/A转换器
7、同时工作的场合,且在精度允许的情况下,又可作为12位D/A转换器使用。它可以与12位D/A转换器DAC1230互换,引脚也是兼容的。另外,该器件可以作四象限乘法器使用;虽然是电流开关,也可以利用电压开关方式工作。其主要特性参数如下:分辨率为8位;电流稳定时间1us;可单缓冲、双缓冲或直接数字输入;只需在满量程下调整其线形度;单一电源供电;低功耗,200mV。在采用单级性模拟电压环境下,由于DAC0832是8位的D/A转换器,由转换器原理可得输出电压与输入数字量的关系为: = -B(256), (式2-3)-式中256为一常数B=,(式2-4)并行接口芯片8255A8255是Intel公司生产的
8、可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。 8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。引脚如图8.3.1所示。特点:(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口. (2)具
9、有24个可编程设置的I/O口,即3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4PC7),B组包括B口及C口(低4位,PC0PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定. 74LS24574LS245用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。 74LS3738 D锁存器(3S,锁存允许输入有回环特
10、性) 74LS240LSTTL 型八缓冲器/总线驱动器(三态、反相)特点:* 三态输出驱动总线或缓冲存贮器地址寄存器; * PNP输入减小了直流负载; * 输入端上的滞后电压改善了噪声容限三、硬件电路a)AT89S52单片机最小系统b)数码管显示硬件接线图c) D/A转换模块硬件连接图d) A/D转换模块硬件连接图4.软件设计软件流程说明:本程序设定KEY1为电压+,当按住KEY1键不松开时,输出电压以0.019V连续步进,直至KEY1键松开。当以一定的时间间隔点动KEY1键时,输出电压也为点动步进。KEY2为电压-,与KEY1功能基本相同;同时输出电压的值显示在4个数码管上。通过这种人机交换
11、互设置,可以方便对电压源输出进行控制。源程序的工作过程:系统初始化后,默认输出0V电压,此时,4个数码管显示0.000V;然后扫描KEY1,KEY2键所对应的P1.0,P1.1口,当KEY1或KEY2有键按下时,程序首先应判断是否是有抖动造成的P1.0,P1.1口变成低电平 ,如果是由于抖动造成的(即端口状态保持时间较短),则不做任何操作;如果不是由于抖动造成的端口状态改变,就会执行相应的加减运算,将算好的数据做BCD码分离后输入到各个数码管显示,同时将标志位FLAG置1,使DAC0832工作,将数字量转换为模拟量输出。此后继续扫描P1.0,P1.1端口,依次往复。BCD码分离显示: num1
12、=num*19;aa=num1/1000; bb=(num1-1000*aa)/100; cc=(num1-aa*1000-bb*100)/10;dd=num1%10;此处应注意,由于最高位数码管显示会带小数点,所以共阳极数码管的显示代码应与其他三个的代码不同。 主程序流程图如下图所示: DAC0832输出程序框图 DAC0832输出子程序Flag是否为1将数据送到到DAC0832将flag置零数码管显示数据选择数码管,装入数据 显示输出子程序分离BCD码显示程序框图 键盘输入程序框图是否由抖动造成的状态改变加计数或减计数 键盘输入子程序每0.5s查询一次P1.0,P1.1口的状态P1口状态是
13、否变为低电平?5.调试与测试结果分析(1) 实验系统连线:将P1.0口接拨码开关KEY1,P1.1口接拨码开关KEY2。(2) 程序调试:1 数码管不亮。解决办法:检查源程序中数码管的段选与位选是否有误。2 拨码开关不能控制电压加减。解决办法:检查拨码开关是否事先全部是1,将其中一个拨码开关拨至0位。如果数码管仍然没有变化,则检查拨码开关与AT89S52的P1.0,P1.1口连接是否正确。3 数码管闪烁。解决办法:将显示程序中的延时时间调短一点,由于人眼的视觉保留,则不会出现闪烁现象。(3) 实验结果与分析:硬件连接好后,4位显示数码管显示为0.000,拨动其中一个拨码开关置0,在DAC083
14、2输出端会输出电压,数码管显示输出电压数值。最大显示电压值为:4.845V,比实际输出值略小。6.总结在本次设计的过程中,我发现很多的问题,给我的感觉就是很难,很不顺手,看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我们没有经常动手设计过电路,还有资料的查找也是一大难题,这就要求我们在以后的学习中,应该注意到这一点,更重要的是我们要学会把从书本中学到的知识和实际的电路联系起来,这不论是对我们以后的就业还是学习,都会起很大的促进和帮助,我相信,通过这次的课程设计,在下一阶段的学习中我会更加努力,力争把这门课学好,学精。同时,通过本次课程设计,巩固了我们学习过的专业知识,也使我
15、们把理论与实践从真正意义上相结合了起来;考验了我们借助互联网络搜集、查阅相关文献资料,和组织材料的综合能力;从中可以自我测验,认识到自己哪方面有欠缺、不足,以便于在日后的学习中得以改进、提高;通过使用电路软件也让我们了解到计算机辅助设计的智能化,有利于提高工作效率。六、程序清单与系统原理图a)系统原理图b)程序清单#include#include#define D8255 XBYTE0xFF23 /8255状态/数据口地址#define D8255A XBYTE0xFF20 /8255 PA口地址#define D8255B XBYTE0xFF21 /8255 PB口地址#define D82
16、55C XBYTE0xFF22 /8255 PC口地址#define DA0832 XBYTE0xFF80 /DA0832选通地址#define AD0809 XBYTE0xFF90 /AD0832选通地址#define uchar unsigned char#define uint unsigned int/*函数声明*/void init(void);void display(uchar a,uchar b,uchar c,uchar d);void BCD();void delay(uchar x);/*定义变量*/uchar code table= 0xc0,0xf9,0xa4,0xb
17、0,0x99, 0x92,0x82,0xf8,0x80,0x90, 0x7f; /共阳数码管显示数值uchar temp,flag=0,ge=0,shifen=0,baifen=0,qianfen=0,zhengshu=0,date=0;uint num=0,xiaoshu;double num1;void main() init(); /初始化函数while(1) BCD(); display(ge,shifen,baifen,qianfen); if(flag=1) /如果有键按下,继续执行 DA0832=num; /将改变后的键值num赋给DA地址 date=AD0809; /将AD地址
18、中的数据赋给date flag=0; AD0809=0; void init(void) /初始化子程序 TMOD=0x01;/设置定时器0的工作方式1TH0=(65536-50000)/256;/装初值11.0592M晶振定时50msTL0=(65536-50000)%256;EA=1;/开总中断ET0=1;/开定时器0中断TR0=1; /启动定时器0 D8255=0X89;/设置8255的工作方式 P1=0Xff; /将P1口清零AD0809=0;/启动A/D转换void display(uchar a,uchar b,uchar c,uchar d)/数码管显示函数 D8255A=0xd
19、f; /打开位选,选第一位数码管 D8255B=tablea; /打开段选,显示整数部分 delay(1);/延时 D8255A=0xef;/打开位选,选第一位数码管 D8255B=table10;/打开段选,显示小数点 delay(1);/延时 D8255A=0xf7;/打开位选,选第一位数码管 D8255B=tableb; /打开段选,显示十分位 delay(1);/延时 D8255A=0xfb;/打开位选,选第一位数码管 D8255B=tablec; /打开段选,显示十分位 delay(1);/延时 D8255A=0xfd;/打开位选,选第一位数码管 D8255B=tabled; /打开段选,显示十分位 delay(1);/延时 void BCD() /AD转换后电压值函数 num1=date*(5.00/256); /将二进制数转换为显示的电压值 zhengshu=(unsigned int)num1; /分离整数变量 xiaoshu=(num1-zhengshu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Python图像处理与视觉技术
- 建筑工地消防安全管理与隐患排查整治全流程
- 农业面源污染综合治理:政策、技术与实践案例
- 2025 高中信息技术数据与计算之数据仓库的 ETL 数据转换脚本优化课件
- 世界著名紫砂壶文化达人介绍【课件文档】
- 2026年生物学活性与免疫学特性相似性评价技术要点
- 2026年数据信托创新服务综合体申报
- 2026年迈宝智能科技参与外骨骼国标制定企业技术实力解析
- 2026年闪电防护适航符合性验证试验大纲
- 2026年模型上下文协议统一调度数据访问规范应用
- 权利与义务相统一 课件- 2025-2026学年统编版道德与法治八年级下册
- 2026年温州永嘉县国有企业面向社会公开招聘工作人员12人笔试模拟试题及答案解析
- 2026年江西信息应用职业技术学院单招职业适应性测试题库有答案解析
- 2025年抚州职业技术学院单招职业技能考试试题及答案解析
- 美妆培训行业薪酬制度
- 2026年人工智能考试智能机器人技术应用专项训练含答案
- 市监局规范外卖管理制度
- 2025年度黑龙江人才周佳木斯市急需紧缺专业技术人才引进227人笔试参考试题(中国农业大学专场)附答案解析
- 2026年安徽邮电职业技术学院单招职业技能测试必刷测试卷附答案
- YY/T 0573.2-2025一次性使用无菌注射器第2部分:动力驱动注射泵用注射器
- 2025年湖北三峡职业技术学院单招(计算机)考试参考题库附答案解析
评论
0/150
提交评论