智能仪器报告.docx
- 文档编号:26387768
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:28
- 大小:683.10KB
智能仪器报告.docx
《智能仪器报告.docx》由会员分享,可在线阅读,更多相关《智能仪器报告.docx(28页珍藏版)》请在冰豆网上搜索。
智能仪器报告
哈尔滨理工大学
课程实践
题目:
智能仪器设计
姓名:
班级:
学号:
指导教师
成绩:
2016年6月16日
目录
目录I
第一章绪论1
1.1实验目的1
1.2实验内容1
1.3实验用设备1
1.4实验要求1
1.5实验波形1
第二章总体方案设计2
2.1工作原理2
2.3波形发生2
2.4显示部分3
2.5按键部分3
第三章硬件设计3
3.1硬件原理3
3.2DAC接口电路设计3
3.3数码管显示及键盘接口电路4
3.4中央处理部分5
3.4.1CPU5
3.4.2复位电路7
3.4.3系统时钟8
3.5PCB9
3.5.1DAC1210PCB板9
第四章软件设计10
4.1系统流程图10
4.2软件程序10
第五章设计总结11
参考文献11
附录12
第一章绪论
1.1实验目的
1、根据给定D/A转换器设计其与51单片机的接口电路,画出原理图及线路板图,掌握智能仪器模拟量输出通道的设计方法。
2、通过一个相对完整的程序编程,将单片机知识和智能仪器的设计融会贯通,同时掌握对智能仪器的软硬件构成及“硬件软化”方法。
1.2实验内容
设计数字式波形发生器,画出硬件电路原理图;编写程序生成各种波形,而且频率可调;确定所生成的波形频率范围;用键盘控制生成的波形及频率;数码管显示输出波形的类型及频率。
1.3实验用设备
HC6800实验板,示波器,计算机,电源
1.4实验要求
1.绘制DAC1210接口电路原理图及线路板图。
2.焊接D/A接口电路板。
3.编写程序完成以下任务
1)键盘识别。
2)动态LED显示。
3)使用按键通过D/A输出要求的波形并显示频率。
1.5实验波形
下半波整流正弦波方波
第二章总体方案设计
2.1工作原理
根据题目的要求,制定了整体方案:
以STC89C51单片机为控制核心,DAC1210和LF356等组成DAC接口电路,其中DAC的四个控制位分别接在单片机的P1^4,P1^5,P1^6,P1^7,数据线接在单片机的P0口。
利用单片机程序控制的方法不断地给DAC输入不同的数字量,可以在DAC输出端得到连续变化的波形(分别为三角波和下半波整流正弦波),再由按键控制产生波形的种类及频率,在数码管上实时的显示波形的频率和种类,其中数码管位选端接在p2^4,p2^3,p2^2。
波形在示波器上产生。
2.2系统组成
图2-2原理图
2.3波形发生
采用单片机STC89C51和数模转换芯片DAC1210实现波形的产生。
通过STC89C51执行下斜锯齿波、上半波整流正弦波程序,向D/A转换器的输入端发送数据,从而在D/A转换电路输出端得到相应的电压波形。
在STC89C51的P2^5,P2^6,P2^7口接独立按键,通过软件编程来选择波形、频率,每种波形对应一个按键,频率增加、减少对应一个按键。
2.4显示部分
8段LED共阴极数码管,138译码器进行位选,P0口输出段选信号。
2.5按键部分
采用独立按键,它相比较矩阵键盘,按键的数目比少,结构简单,方便操作,执行效率高。
第三章硬件设计
3.1硬件原理
波形的产生是通过STC89C51单片机执行某一波形发生程序,通过这个51单片机将数字信号传入D/A转换器中,D/A转换器将数字信号转换成模拟电流信号,经过LF356芯片转换成电压信号,即产生想要输出的波形。
3.2DAC接口电路设计
图3-2DAC接口电路
DAC1210是一种双缓冲的12位DAC芯片,它包含2个输入锁存器(高8位和低四位)、一个12位的DAC寄存器和一个12位的D/A转换器。
片选信号
与写入信号
同时有效时将数字量送入输入锁存器,字节控制端BYTE1/
为高电平时,8位数字量同时送入输入锁存器,而此端为低电平时,只将低4位数字量送入低四位锁存器。
传输控制信号
与
同时有效时,12位输入锁存器信号同时送进DAC寄存器。
由于本设计单片机为8位单片机,所以不需两次传送。
3.3数码管显示及键盘接口电路
图3-3-1共阴极数码管接线图
图3-3-2六路独立按键
本设计选择了8位共阴极数码管,它的8个发光二极管的阴极(二极管正端)连接在一起,通常公共阴极接低电平,其它管脚接驱动电路输出端。
当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。
此时,要求段驱动电路能吸收额定的位置导通电流,还需根据外接电源及额定位置导通电流来确定相应的限流电阻。
显示电路用于显示信号的波形种类和信号的频率,并且使系统能根据按键实时显示相关信息。
该系统中添加74LHC573锁存器,用于驱动数码显示管,使其更易于控制,增加显示的准确性。
使用74LS138译码器,利用P0口控制数码管的位选。
由LED数码管显示器和独立按键组成。
当某一按键按下一次时,扫描程序扫描到之后,通过P0口将信号发送到LED。
扫描及显示利用程序实现,不断扫描独立按键,当某一按键按下时,随即执行程序段,完成相应的功能。
74LS573芯片
原理:
本次设计我们采用动态扫描的方法显示,74LS573的八个锁存器都是透明的D型锁存器,当使能(G)为高输出将随数据(D)输入而变。
当使能为低时,输出将锁存在已建立的数据电上.输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。
这种电路可以驱动大电容或低阻抗负载,可直接与系统总线接口并驱动总线,而不需要外接口。
特别适用于缓冲寄存器,I/O通道,双向总线驱动器和工作寄存器。
表3-174LS573芯片的真值表
输出enable
LatchENABLE启动
D
输出O
L
H
H
H
L
H
L
L
L
L
X
QO
H
X
X
Z
图3-3-374LS573芯片
3.4中央处理部分
3.4.1CPU
1、CPU结构
CPU是单片机的核心部件。
它由运算器和控制器等部件组成。
(1)运算器
运算器以完成二进制的算术/逻辑运算部件ALU为核心。
它可以对半字节(4)、单字节等数据进行操作。
例如,能完成加、减、乘、除、加1、减1、BCD码十进制调整、比较等算术运算,完成与、或、异或、求反、循环等逻操作,操作结果的状态信息送至状态寄存器。
运算器还包含有一个布尔处理器,用以处理位操作。
它以进位标志位C为累加器,可执行置位、复位、取反、位判断转移,可在进位标志位与其他可位寻址的位之间进行位数据传诵等操作,还可以完成进位标志位与其他可位寻址的位之间进行逻辑与、或操作。
(2)程序计数器PC
PC是一个16位的计数器,用于存放一条要执行的指令地址,寻址范围为64kB,PC有自动加1功能,即完成了一条指令的执行后,其内容自动加1。
(3)指令寄存器
指令寄存器用于存放指令代码。
CPU执行指令时,由程序存储器中读取的指令代码送如指令寄存器,经指令译码器译码后由定时有控制电路发出相应的控制信号,完成指令功能。
2、存储器和特殊功能寄存器
(1)存储器(Memory)是计算机系统中的记忆设备,用来存放程序和数据。
计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。
它根据控制器指定的位置存入和取出信息。
(2)特殊功能寄存器
特殊功能寄存器(SFR)的地址范围为80H~FFH。
在MCS-51中,除程序计数器PC和四个工作寄存器区外,其余21个特殊功能寄存器都在这SFR块中。
其中5个是双字节寄存器,它们共占用了26个字节。
各特殊功能寄存器的符号和地址见附表2。
其中带*号的可位寻址。
特殊功能寄存器反映了8051的状态,实际上是8051的状态字及控制字寄存器。
用于CPUPSW便是典型一例。
这些特殊功能寄存器大体上分为两类,一类与芯片的引脚有关,另一类作片内功能的控制用。
与芯片引脚有关的特殊功能寄存器是P0~P3,它们实际上是4个八位锁存器(每个I/O口一个),每个锁存器附加有相应的输出驱动器和输入缓冲器就构成了一个并行口。
MCS-51共有P0~P3四个这样的并行口,可提供32根I/O线,每根线都是双向的,并且大都有第二功能。
其余用于芯片控制的寄存器中,累加器A、标志寄存器PSW、数据指针DPTR等的功能前已提及。
3、P0-P3口结构
P0口功能:
P0口具有两种功能:
第一,P0口可以作为通用I/O接口使用,P0.7—P0.0用于传送CPU的输入/输出数据。
输出数据时可以得到锁存,不需外接专用锁存器,输入数据可以得到缓冲。
第二,P0.7—P0.0在CPU访问片外存储器时用于传送片外存储器de低8位地址,然后传送CPU对片外存储器的读写
P1口功能:
P1口的功能和P0口的第一功能相同,仅用于传递I/O输入/输出数据。
P2口的功能:
2口的第一功能和上述两组引脚的第一功能相同,即它可以作为通用I/O使用。
它的第二功能和P0口引脚的第二功能相配合,作为地址总线用于输出片外存储器的高8位地址。
P3口功能:
P3口有两个功能:
第一功能与其余三个端口的第一功能相同;第二功能作控制用,每个引脚都不同。
P3.0—RXD串行数据接收口
P3.1—TXD串行数据发送口
P3.2—INT0外中断0输入
P3.3—INT1外中断1输入
P3.4—T0计数器0计数输入
P3.5—T1计数器1计数输入
P3.6—WR外部RAM写选通信号
P3.7—RD外部RAM读选通信号
图3-4-189C51芯片及部分电路
3.4.2复位电路
复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态开始运行。
图3-4-2复位电路
单片机的复位电路在刚接通电时,刚开始电容是没有电的,电容内的电阻很低,通电后,5V的电通过电阻给电容进行充电,电容两端的电会由0V慢慢的升到4V左右(此时间很短一般小于0.3秒),RC构成的微分电路在上电瞬间产生一个微分脉冲,其宽度大于两个机器周期,90C51复位。
因此,复位脚的电由低电位升到高电位,引起了内部电路的复位工作,RST端电压慢慢下降,降到一定电压值以后,即为低电平,单片机开始正常工作(即上电复位,也叫初始化复位);当按下复位键时,电容两端放电,电容又回到0V了,于是又进行了一次复位工作(即手动复位)。
3.4.3系统时钟
单片机的时钟信号用来提供单片机内各种微操作的时间基准
图3-4-3系统时钟电路
单片机的时钟信号通常用两种电路形式得到:
内部振荡和外部振荡方式。
在引脚XTAL1和XTAL2外接晶体振荡器或陶瓷谐振荡器,构成了内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自积振荡,并产生振荡时钟脉冲。
晶振通常选用6MHZ、12MHZ、或24MHZ。
单片机的时序单位
振荡周期:
晶振的振荡周期,又称时钟周期,为最小的时序单位。
状态周期:
振荡频率经单片机内的二分频器分频后提供给片内CPU的时钟周期。
因此一个状态周期包含2个振荡周期。
机器周期:
1个机器周期由6个状态周期12个振荡周期组成,是计算机执行一种基本操作的时间单位。
指令周期:
执行一条指令所需的时间。
一个指令周期由1-4个机器周期组成,依据指令不同而不同。
3.5PCB
3.5.1DAC1210PCB板
图3-5PCB
图3-5PROTUES仿真图
图3-6PROTUES方波仿真图
图3-6PROTUES下半波整流正弦波图
图3-6PROTUES方波图
第四章软件设计
4.1系统流程图
图4-1软件流程图
4.2软件程序
按键1表示选择方波;按键2表示选择下半波整流正弦波;按键
3表示选择频率变化。
程序见附录。
4.3答辩问题
A.为什么要用动态LED显示,动态和静态LED显示各有什么优缺点?
答:
(1)静态显示方式:
静态显示方式是指当显示器显示某一字符时,发光二极管的位选始终被选中。
在这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制。
由于单片机本身提供的I/O口有限,实际使用中,通常通过扩展I/O口的形式解决输出口数量不足的问题。
静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。
其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。
随着显示器位数的增加,需要的I/O口线也将增加。
(2)动态显示方式:
动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。
对于每一位显示器来说,每隔一段时间点亮一次。
显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。
通过调整电流和时间参数,可以既保证亮度,又保证显示。
若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。
B.动态显示的亮度如何控制?
答:
频率适当下,用脉宽控制
C.如何消除动态LED显示中“暗亮”问题?
答:
降低扫描速度
D.识别按键时为什么要去抖?
答:
去抖动的原因:
普通按键一般采用的是机械弹性开关,由于机械触点的弹性作用,在按键被按下和松开的瞬间均会伴随一连串的抖动(微观上讲),一个电压信号通过触点的闭合、断开时,导致信号出现抖动(抖动时间一般5ms~10ms,这个参数很重要),为了确保CPU对一次按键动作只确认一次按键,必须消除抖动的影响,进行去抖处理
E.按键时LED显示器有何变化,为什么?
答:
数码显示会发生变化,因为存在键抖动。
F.如示波器显示波形不理想,如何处理?
答:
调整同步旋钮。
重新调整程序的波形发生程序和延时程序。
或者需要加抗干扰电路。
第5章心得体会
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
在实训过程中遇到相当多的难题。
一开始大家都是一头雾水,不知道从哪里下手,而且知识严重匮乏,大家只好分工合作,纷纷查找各种资料,并且成立了一个讨论小组,共同来研究这次的课设。
经过两周的努力和合作终于把这次的课设完成了。
可谓苦尽甘来。
通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们坚持不懈和合作精神,让我们不断超越自己。
课堂上没有见过真正的单片机,只是从理论上去理解,枯燥乏味,这次的实训,让我大开眼界,提高了单片机知识的理解和运用水平,从选题到定稿,从理论到实践,在整整两星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。
我认为这个收获应该说是相当大的。
一开始我们从参考书上找来了课题,但是毕竟是参考书,做到后来发现很多程序都是不完整的,这让我们伤透了脑筋。
看着别的小组都弄得有模有样了,可是我们连一个课题都还没有定好。
好不容易又找到了课题,可是结果还是很不尽人意。
程序接线什么的都弄好了,调试也没有问题,可是就是无法达到预期想要的结果。
参考书毕竟只是一个参考,设计这种东西最后还是要靠自己动脑筋。
然后我们大家一起齐心协力,从平时做的实验﹑老师上课的举例﹑书本上的知识以及老师的辅导和其他同学的帮助下终于完成了。
另外在课程设计的过程中,当我们碰到不明白的问题时,指导老师总是耐心的讲解,给我们的设计以极大的帮助,使我们获益匪浅。
因此非常感谢老师的教导。
通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。
我觉得作为一名工程专业的学生,这次课程设计是很有意义的。
更重要的是如何把自己平时所学的东西应用到实际中。
虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。
最后再次感谢老师和同学们的帮助。
附录
参考文献
主要参考文献:
[1]张鑫.单片机原理及应用[M].北京:
电子工业出版社,2005.8.
[2]梅丽凤,王艳秋,王毓铎.单片机原理及其接口技术[M].北京:
清华大学出版社,2006.8.
[3]张毅刚,彭喜源,谭晓昀,曲春波.MCS-51单片机应用设计[M].哈尔滨:
哈尔滨工业大学出版社,1997.
[4]张洪润,易涛.单片机应用技术教程[M].北京:
清华大学出版社,2006.10.
[5]丁向荣,谢俊,王彩申.单片机C语言编程与实践[M].北京:
电子工业出版社,2009.8.
程序
#include
//开发板中已经将P2口与138译码器的输入连接好了
sbitLS138A=P2^2;//定义138译码器的输入A脚由P2.2来控制
sbitLS138B=P2^3;//定义138译码器的输入B脚由P2.3来控制
sbitLS138C=P2^4;//定义138译码器的输入C脚由P2.4来控制
sbitBYTE=P2^0;//定义DAC的
sbitXFER=P2^1;//定义138译码器的输入B脚由P2.3来控制
sbitCS=P2^5;//定义138译码器的输入C脚由P2.4来控制
sbitWR_1_2=P2^6;//定义138译码器的输入C脚由P2.4来控制
#defineu_charunsignedchar
#defineu_intunsignedint
#defineu_longunsignedlong
#defineKeyPortP3//键盘
#defineDA_PortP1//DA转换口
u_intsqu_flag=0;
voidDelay(u_chari);//延时函数延时时间为i*5*2us
//此表为LED的字模,共阴数码管0-9-******************************************
//************************0123456789***
u_charcodeDisp_Tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//***
//***********************************************************************************
u_charLED_OUT[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//要显示的数组
voidDePlay();//数码管显示函数
//判断键盘是否按下了******************************
voidkeydown(void);//***
//键盘的值得确定的函数//***
u_charkeyscan(void);//***
//************************************************
u_charBoxingFlage;//波形的标记用来决定输出什么波形
u_intValueFlage;//波形幅值
//正弦波
u_intcodeDA_Sin[]={2048,2098,2148,2198,2248,2298,2348,2398,2447,2496,2545,2594,2642,2690,2737,2784,
2831,2877,2923,2968,3013,3057,3100,3143,3185,3226,3267,3307,3346,3385,3423,3459,
3495,3530,3565,3598,3630,3662,3692,3722,3750,3777,3804,3829,3853,3876,3898,3919,
3939,3958,3975,3992,4007,4021,4034,4045,4056,4065,4073,4080,4085,4089,4093,4094,
4095,4094,4093,4089,4085,4080,4073,4065,4056,4045,4034,4021,4007,3992,3975,3958,
3939,3919,3898,3876,3853,3829,3804,3777,3750,3722,3692,3662,3630,3598,3565,3530,
3495,3459,3423,3385,3346,3307,3267,3226,3185,3143,3100,3057,3013,2968,2923,2877,
2831,2784,2737,2690,2642,2594,2545,2496,2447,2398,2348,2298,2248,2198,2148,2098,
2048,1997,1947,1897,1847,1797,1747,1697,1648,1599,1550,1501,1453,1405,1358,1311,
1264,1218,1172,1127,1082,1038,995,952,910,869,828,788,749,710,672,636,
600,565,530,497,465,433,403,373,345,318,291,266,242,219,197,176,
156,137,120,103,88,74,61,50,39,30,22,15,10,6,2,1,
0,1,2,6,10,15,22,30,39,50,61,74,88,103,120,137,
156,176,197,219,242,266,291,318,345,373,403,433,465,497,530,565,
600,636,672,710,749,788,828,8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 仪器 报告