ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:132.87KB ,
资源ID:6874990      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6874990.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(#智能仪器原理应用实验指导书.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

#智能仪器原理应用实验指导书.docx

1、#智能仪器原理应用实验指导书徐州项目学院智能仪器原理及应用实验指导书实验一 A/D转换实验一、实验目的:掌握A/D转换与单片机接口的方法;了解A/D芯片0809转换性能及编程方法。二、实验内容:1、利用综合实验仪上的0809做A/D转换器,综合实验仪上的电位器提供模拟量输入,编制程序,将模拟量转换成数字量,通过8155键显区数码管显示出来。2、编程实现将从0809采集到的数字量转换成实际的模拟电压值,并显示在LED上。使用编写测程序和万用表同时在测量电压范围内采集不低于50个的电压值,用MATLAB作图对测量结果进行分析比较,分析误差产生的原因。如何对程序修改能减小误差?三、实验器材:1、超想

2、-3000TC综合实验仪 1 台 2、KEIL仿真器 1 台 3、连线 若干 根 4、计算机 1 台四、实验原理: A/D转换器的功能主要是将输入的模拟信号转换成数字信号,如电压、电流、温度测量等都属于这种转换。本实验中采用的转换器为ADC0809,它是一个8位逐次逼近型A/D转换器,可以对8个模拟量进行转换,转换时间为100S。其工作过程如下:首先由地址锁存信号ALE的上升沿将引脚ADDA、ADDB和ADDC上的信号锁存到地址寄存器内,用以选择模拟量输入通道;START信号的下降沿启动A/D转换器开始工作;当转换结束时,AD0809使EOC引脚由低电平变成高电平,程序可以通过查询的方式读取转

3、换结果,也可以通过中断方式读取结果。CLOCK为转换时钟输入端,频率为100KHz-1.2MHz,推荐值为640KHz。 五、实验步骤:1、设定仿真模式为程序空间在仿真器上,数据空间在用户板上,即点击设置下的仿真模式,在RAM区选中用户RAM,ROM区选中系统ROM注:本书中的实验除另行说明外,均与此相同)。把AD0809的零通道09IN0孔用连线接至模拟信号发生器的VIN孔,AD0809的片选信号CS09孔接“译码器”YC2 DAT164 equ 0e102h 。 段控制口(接164数据位 IN equ 0e103h 。 键盘读入口 LEDBuf equ 40h 。 显示缓冲 org 000

4、0hmov sp,#60h mov dptr,#0e100h 。8155初始化 mov a,#03h movx dptr,a mov 40h,#00h 。显示缓冲器初始化 mov 41h,#08h mov 42h,#00h mov 43h,#09h mov 44h,#00h mov 45h,#00hLOOP1: MOV R7,#40VI: lcall DISPLAYDJNZ R7,VI mov a,#00h mov dptr,#0a000h 。0809AD的通道开始转换吗? movx dptr,a mov r7,#0fhloop2: djnz r7,loop2movx a,dptr mov r

5、0,#45h 。拆字lcall ptdssjmp loop1ptds: mov r1,a lcall ptds1 mov a,r1 swap aptds1: anl a,#0fh mov r0,a dec r0 retDelay: mov r7, #0 。 延时子程序DelayLoop: djnz r7, DelayLoop djnz r6, DelayLoop retDISPLAY:setb 0d3h mov r0, #LEDBuf mov r1, #6 。 共6个八段管 mov r2, #00100000b 。 从左边开始显示Loop: mov dptr, #OUTBIT mov a, #

6、00h movx dptr, a 。 关所有八段管 mov a, r0 mov dptr,#LEDmap movc a,a+dptr mov B, #8 。 送164DLP: rlc a mov r3, amov acc.0, c anl a,#0fdh mov dptr, #DAT164 movx dptr, amov dptr, #CLK164 orl a,#02h movx dptr, a anl a,#0fDh movx dptr, a mov a, r3djnz B, DLP mov dptr, #OUTBIT mov a, r2 movx dptr, a 。 显示一位八段管 mov

7、 r6, #1 call Delay mov a, r2 。 显示下一位rr a mov r2, a inc r0djnz r1, Loop mov dptr, #OUTBIT mov a, #0 movx dptr, a clr 0d3h 。 关所有八段管 retLEDMAP: 。 八段管显示码 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07hdb 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hEND实验二智能仪器人机接口实验一、实验目的:1、掌握键盘和显示器的接口方法和编程方法。2、掌握键盘扫描和LED八段数码管显示器的工作原

8、理。二、实验要求:首先,在上一个实验的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。然后,实现一个两位十进制整数的运算器,能实现输入两位十进制整数,并进行加减乘除运算,将运算结果在LED上显示。实验程序可分成三个模块。1、键输入模块:扫描键盘、读取一次键盘并将键值存入键值缓冲单元。2、显示模块:将显示单元的内容在显示器上动态显示。3、主程序:调用键输入模块和显示模块。三、实验器材:1、超想-3000TC综合实验仪 1 台 2、KEIL仿真器 1 台 3、计算机 1 台 四、实验电路:这里只是键盘草图,主要说明行、列扫描地址

9、。 列码(0e101H 行码(0e103H五、实验说明:本实验仪提供了一个64的小键盘,向列扫描码地址(0e101H逐列输出低电平,然后从行码地址(0e103H读回,如果有键按下,则相应行的值应为低,如果无键按下,因为上拉的作用,行码为高.这样就可以通过输出的列码和读取的行码来判断按下的是什么键。在判断有键按下后,要有一定的延时,防止键盘抖动。列扫描码还可以分时用作LED的位选通信号。六、实验框图:主程序框图七、实验程序:。键盘扫描实验OUTBIT equ 0e101h 。 位控制口CLK164 equ 0e102h 。 段控制口(接164时钟位DAT164 equ 0e102h 。 段控制口

10、(接164数据位IN equ 0e103h 。 键盘读入口 ORG 0000H LJMP STAR KEY1: MOV 13H,#06H MOV 12H,#20H KEY2: MOV A,12H CPL A MOV R7,A MOV DPTR,#0E101H MOV A,R7 MOVX DPTR,A MOV A,12H CLR C RRC A MOV 12H,A MOV DPTR,#0E103H MOVX A,DPTR MOV R7,A MOV A,R7 CPL A MOV R7,A MOV A,R7 ANL A,#0FH MOV 14H,A DEC 13H MOV R7,13H MOV A,

11、R7 JZ KEYDIS MOV A,14H JZ KEY2 KEYDIS: MOV A,14H JZ TESTKEY5 MOV A,13H ADD A,ACC ADD A,ACC MOV 13H,A MOV A,14H JNB ACC.1,TESTKEY INC 13H SJMP TESTKEY2 。键盘扫描TESTKEY: MOV A,14H JNB ACC.2,TESTKEY1 INC 13H INC 13H SJMP TESTKEY2 TESTKEY1: MOV A,14H JNB ACC.3,TESTKEY2 MOV A,#03H ADD A,13H MOV 13H,A TESTKE

12、Y2: MOV DPTR,#0E101H CLR A MOVX DPTR,A TESTKEY3: MOV R7,#0AH LCALL MLOOP LCALL MLOOP4 MOV A,R7 JNZ TESTKEY3 MOV R7,13H MOV A,R7 MOV DPTR,#0134H MOVC A,A+DPTR MOV R7,A RET TESTKEY4: DB 22H 。TESTKEY5: MOV R7,#0FFH RET GETKEY: MOV 10H,#20H MOV 0EH,#00H GETKEY1: MOV A,0EH CLR C SUBB A,#06H JNC GOON2 MOV

13、 DPTR,#0E101H CLR A MOVX DPTR,A MOV R7,0EH MOV A,#08H ADD A,R7 MOV R0,A MOV A,R0 MOV R7,A MOV 11H,R7 MOV 0FH,#00H GETKEY2: MOV A,0FH CLR C SUBB A,#08H JNC GOON1 MOV A,11H JNB ACC.7,KLOOP MOV DPTR,#0E102H MOV A,#01H MOVX DPTR,A SJMP KLOOP1 KLOOP: MOV DPTR,#0E102H CLR A MOVX DPTR,A KLOOP1: MOV DPTR,#0

14、E102H MOVX A,DPTR MOV R7,A MOV A,R7 ORL A,#02H MOV R7,A MOV A,R7 MOVX DPTR,A MOV DPTR,#0E102H MOVX A,DPTR MOV R7,A MOV A,R7 ANL A,#0FDH MOV R7,A MOV A,R7 MOVX DPTR,A MOV A,11H ADD A,ACC MOV 11H,A INC 0FH SJMP GETKEY2 GOON1: MOV DPTR,#0E101H MOV A,10H MOVX DPTR,A MOV R7,#01H LCALL MLOOP MOV A,10H CLR

15、 C RRC A MOV 10H,A INC 0EH SJMP GETKEY1 GOON2: RET WAIT: MOV DPTR,#0E100H MOV A,#03H MOVX DPTR,A MOV 08H,#0FFH MOV 09H,#0FFH MOV 0AH,#0FFH MOV 0BH,#0FFH MOV 0CH,#00H MOV 0DH,#00H WAIT1: LCALL GETKEY LCALL MLOOP4 MOV A,R7 JZ WAIT1 LCALL KEY1 MOV R6,#00H MOV R6,#00H MOV A,R7 ANL A,#0FH MOV R7,A MOV A,

16、#24H ADD A,R7 MOV DPL,A MOV A,#01H ADDC A,R6 MOV DPH,A CLR A MOVC A,A+DPTR MOV R7,A MOV 0DH,R7 SJMP WAIT1 RET TAB:Q0124: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H 。Q012C: DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H 。Q0134: DB 00H, 01H, 04H, 07H, 0FH, 02H, 05H, 08H 。Q013C: DB 0EH, 03H, 06H, 09H, 0DH, 0

17、CH, 0BH, 0AH 。Q0144: DB 10H, 11H, 12H, 13H, 14H, 15H, 16H 。MLOOP: MOV 15H,R7 MLOOP1: MOV R7,15H DEC 15H MOV A,R7 JZ MLOOP3 MOV 16H,#64H MLOOP2: MOV A,16H JZ MLOOP1 DEC 16H SJMP MLOOP2 SJMP MLOOP1 MLOOP3: RET MLOOP4: MOV DPTR,#0E101H CLR A MOVX DPTR,A MOV DPTR,#0E103H MOVX A,DPTR MOV R7,A MOV A,R7 CP

18、L A MOV R7,A MOV A,R7 ANL A,#0FH MOV R7,A RET STAR: MOV R0,#7FH CLR A STAR1: MOV R0,A DJNZ R0,STAR1 MOV SP,#16H LJMP WAIT END实验三智能仪器的通信接口设计一、实验目的:1)掌握单片机串行口工作方式的程序设计及简单三线式通讯的方法。2)了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。3)学习串行口通讯的中断方式程序的编写方法。二、实验内容: 利用8031单片机串行口,实现实验台和电脑之间的串行通讯。其中实验台作为发送方,电脑为接收方。实验台读入按键值,将键值在LE

19、D上显示。同时每次按键按下时发送方将A/D转换数据通过串口发送给电脑,电脑可通过串口调试助手观察。三、接线图四、实验步骤1、把AD0809的零通道09IN0孔用连线接至模拟信号发生器的VIN孔,AD0809的片选信号CS09孔接“译码器”YC20A000-0AFFFH)孔,“脉冲源”中的0.5MHZ孔连AD0809的CLOCK孔。2、将实验台RX1、TD1孔分别连P3.0、P3.1孔。3、将串口线分别连接实验台串口插槽和实验电脑串口插槽。4、完成实验台串口通信程序,电脑运行串口调试助手观察串口输出数据。五、实验程序:#include#include#define LEDLen 6#define

20、 mode 0x03。#define CAddr XBYTE0xe100/* 控制字地址 */#define OUTBIT XBYTE0xe101/* 位控制口 */#define CLK164 XBYTE0xe102/* 段控制口(接164时钟位 */#define DAT164 XBYTE0xe102 /* 段控制口(接164数据位 */#define IN XBYTE0xe103 /* 键盘读入口 */#define CS0809 XBYTE0xa000unsigned char LEDBufLEDLen。 /* 显示缓冲 */code unsigned char LEDMAP = /*

21、 八段管显示码 */ 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71。void Delay(unsigned char CNT unsigned char i。 while (CNT- !=0 for (i=100。 i !=0。 i-。void DisplayLED( unsigned char i, j。 unsigned char Pos。 unsigned char LED。 Pos = 0x20。 /* 从左边开始显示 */ for (i =

22、0。 i OUTBIT = 0。 /* 关所有八段管 */ LED = LEDBufi。 for (j = 0。 j /* 送164 */ if (LED & 0x80 DAT164 = 1。 else DAT164 = 0。 CLK164 = CLK164|0x02。 CLK164 = CLK164&0xfd。 LED 。 Pos = 1。 /* 显示下一位 */ code unsigned char KeyTable = /* 键码定义 */ 0x00, 0x01, 0x04, 0x07 , 0x0f, 0x02, 0x05, 0x08, 0x0e, 0x03, 0x06, 0x09 ,

23、0x0d, 0x0c, 0x0b, 0x0a , 0x10,0x11,0x12,0x13,0x14, 0x15,0x16,。unsigned char TestKey( OUTBIT = 0。 /* 输出线置为0 */ return (IN & 0x0f。 /* 读入键状态 (高四位不用 */unsigned char GetKey( unsigned char Pos。 unsigned char i。 unsigned char k。 i = 6。 Pos = 0x20。 /* 找出键所在列 */ do OUTBIT = Pos。 Pos = 1。 k = IN & 0x0f。 while

24、 (-i != 0 & (k = 0。 /* 键值 = 列 X 4 + 行 */ if (k != 0 i *= 4。 if (k & 2 i += 1。 else if (k & 4 i += 2。 else if (k & 8 i += 3。 OUTBIT = 0。 do Delay(10。 while (TestKey(。 /* 等键释放 */ return(KeyTablei。 /* 取出键码 */ else return(0xff。unsigned char Read0809( unsigned char i。 CS0809 = 0。 /* 起动 A/D */ for (i=0。 i

25、 。 /* 延时 100us */ return(CS0809。 /* 读入结果 */unsigned char string=AT89S52 Microcomputer0。unsigned char i=0。void main( CAddr = mode。 LEDBuf0 = 0xff。 LEDBuf1 = 0xff。 LEDBuf2 = 0xff。 LEDBuf3 = 0xff。 LEDBuf4 = 0x00。 LEDBuf5 = 0x00。 TMOD=0x21。 TH1=0xFD。 TL1=0xFD。 SCON=0x40。 TR1=1。 TI=0。 RI=0。 TH0=0x3c。 TL0

26、=0xb0。 IE=0x82。 TR0=1。 P1=0x00。 while (1 DisplayLED(。 if (TestKey( LEDBuf5 = LEDMAPGetKey( & 0x0f。 i=0。 SBUF=Read0809(。 LEDBuf4 = LEDMAPRead0809( & 0x0f 。 LEDBuf3 = LEDMAPRead0809(4 & 0x0f 。/* while(stringi!=0 while(TI = 0。 TI=0。 SBUF=0x5A。 i+。 */ timer0( interrupt 1 using 1static unsigned int jitte

27、r=0。 TH0=0x3c。 TL0=0xb0。 P1=0xFF。 jitter+。 if(jitter=20/ while(TI = 0。/ TI=0。/ SBUF=Read0809(。 jitter=0。 void serial( interrupt 4 using 1 unsigned char RX_char。 TI=0。 if(RI RI=0。 RX_char=SBUF。 SBUF=RX_char。 附录 实验报告基本要求与书写格式一、实验名称:说明:本次实验的名称。二、实验目的:说明:本次实验的主要目的,参考每次的实验指导书。三、实验环境:说明:实验用到的硬件软件环境。四、实验内容与步骤:说明:实现实验目的而进行的实验内容,如果有步骤要求则简要列出步骤。五、实验总结:说明:画出硬件连接图和程序流程图。参照本次实验的主程序,重新设计主程序并给出详尽注释。本次实验得到了什么?收获是什

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2