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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(单片机接口技术实验报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机接口技术实验报告.docx

1、单片机接口技术实验报告单片机原理与接口技术实验报告 姓 名: XXX 学 院: 机电工程学院 班 级: 机械XXX班 学 号: XXX 日 期: 2013年11月9日 实验一 定时器实验班级:机械XXX班 学号:XXX 姓名:XXX一、实验目的1.学习89C51内部计数器的使用和编程方法2.进一步掌握中断处理程序的编写方法二、实验说明关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器,定时为一秒钟。CPU运用定时中断方式,实现每一秒钟输出状态发生一次反转,即发光管每隔一秒钟亮一次。定时器有关的寄存器有工作方式寄

2、存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期。因为实验系统的晶振是12MHZ,本程序工作于方式2,即8位自动重装方式定时器, 定时器100uS中断一次, 所以定时常数的设置可按以下方法计算:机器周期=1212MHz=1uS(256-定时常数)1uS=100uS定时常数=156。然后对100uS中断次数计数10000次,就是1秒钟。在本实验的中断处理程序中,因为中断定时常数的设置对

3、中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。三、实验内容及步骤本实验需要用到单片机最小应用系统模块(F1区)和十六位逻辑电平显示模块(I4区)。1.使用单片机最小应用系统模块,用导线将P1.0接到十六位逻辑电平显示的任意一只发光二极管上。2.用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头(USB线)。3.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“TH10_定时器.ASM”源程序,编译无误后。4.全速运行程序,发光二极管隔一秒点亮一次,点亮时间为一秒。5.也可以把源程

4、序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。四、实验流程图五、电路原理图 六、源程序Tick equ 5000 ; 10000 x 100us = 1s T100us equ 20 ; 100us时间常数(6M) C100us equ 5h ; 100us记数单元 LEDBuf BIT 00H LED BIT P1.0 org 0000H ljmp Start org 000BH LJMP T0Int ORG 0100HT0Int: push PSW mov a, C100us+1 jnz Goon dec C100usGoon: dec C100us

5、+1 mov a, C100us orl a, C100us+1 jnz Exit ; 100us 记数器不为0, 返回 mov C100us, #HIGH(TICK);#high(Tick) mov C100us+1, #LOW(TICK);#low(Tick) cpl LEDBuf ; 100us 记数器为0, 重置记数器 ; 取反LEDExit: pop PSW retiStart: mov TMOD, #02h ; 方式2, 定时器 mov TH0, #t100us mov TL0, #t100us mov IE, #10000010b ; EA=1, IT0 = 1 setb TR0

6、 ; 开始定时 clr LEDBuf clr P1.0 mov C100us, #high(Tick) mov C100us+1, #low(Tick)Loop: mov c, LEDBuf mov P1.0, c ljmp Loopend实验二 串行静态显示实验班级:机械XXX班 学号:XXX 姓名:XXX一、实验目的1.掌握数字、字符转换成显示段码的软件译码方法2.静态显示的原理和相关程序的编写二、实验电路显示器由8个共阴极LED数码管组成。输入只有两个信号,它们是串行数据线DIN和移位信号CLK。8个串/并移位寄存器芯片74LS164首尾相连。每片的并行输出作为LED数码管的段码。74L

7、S164的引脚图如图所示;74LS164为8位串入并出移位寄存器,1、2为 串行输入端,QAQH为并行输出端,CLK为移位时钟脉冲,上升沿移入一位;CLR为清零端,低电平时并行输出为零。三、实验内容及步骤单片机的P3.0作数据串行输出,P3.1作移位脉冲输出。本实验需要用到单片机最小应用系统(F1区)和串行静态显示模块(I3区)。 1.使用单片机最小应用系统模块,用导线将连接P3.0(RXD)、P3.1(TXD)连接到串行静态显示模块的DIN、CLK端。2.用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机锁紧插座中,打开模块电源,插上仿真器电源插头(USB线)。3.打开Keil u

8、Vision2仿真软件,首先建立本实验的项目文件,接着添加 “TH31_8位串行静态显示.ASM”源程序,编译无误后,全速运行程序。8LED显示“89C52”。程序停止运行时,显示不变,说明静态显示模块具有数据锁存功能。4.可把源程序编译成可执行文件,烧录到89S51/89S52芯片中。(ISP烧录见附录二)四、电路原理图五、源程序 ; 串行静态显示 DISP1.ASM 8LED ; P3.0-DIN P3.1-CLK DBUF0 EQU 30H TEMP EQU 40H DIN BIT P3.0 CLK BIT P3.1 ORG 0000H LJMP START ORG 0100HSTART

9、: MOV 30H,#10h MOV 31H,#10H MOV 32H,#10h MOV 33H,#8 MOV 34H,#9 MOV 35H,#0cH MOV 36H,#5 MOV 37H,#2 DISP: MOV R0, #DBUF0 MOV R1, #TEMP MOV R2, #8 DP10: MOV DPTR, #SEGTAB MOV A, R0 MOVC A, A+DPTR MOV R1, A INC R0 INC R1 DJNZ R2, DP10 MOV R0, #TEMP MOV R1, #8 DP12: MOV R2, #8 MOV A, R0 DP13: RLC A MOV D

10、IN, C CLR CLK SETB CLK DJNZ R2, DP13 INC R0 DJNZ R1, DP12 OK: SJMP OKSEGTAB: DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH,77H,7CH DB 39H,5EH,7BH,71H,00H,40H END实验三 串行A/D转换实验班级:机械XXX班 学号:XXX 姓名:XXX一、实验目的1. 掌握单片机I/O模拟I2C总线的编程方法2. 掌握16位串行A/D转换芯片ADS1100使用方法二、实验说明ADS1100是美国TI(Texas Instruments Incorpora

11、ted)公司生产的全差分输入、16位分辨率、SOT236封装、有自校准功能的精密A/D转换器,该芯片的内置自校准系统对于用户是透明的。ADS1100使用I2C串行接口以电源电压作用参考电压,片内可编程增益放大器(PGA)可提供最大的为8的增益,因此,即使在高分辨情况下也能采样到小信号,在单次转换模式下,ADS1100在一次转换结束后可自动关闭自身电源,因而可减少系统在空闲周期的电流消耗,由于ADS1100的易用性,故可以大大降低精密测量设备工作的工作量,ADS1100主要应用在空间和功耗方面要求比较严格的高分辨率采样测量电路中,其典型应用包括便携设备、工业过程控制和智能发射机等。ADS1100

12、以其独特的精度特性可广泛应用便携设备、工业过程控制器、智能发射器、消费类产品、工厂自动化设备和温度测量等系统之中。三、实验内容及步骤本实验用到单片机最小系统(F1区)、串行静态数码显示(I3区)、电位器(A2区)和串行A/D转换(H6区)。1. 串行静态数码显示的DIN、CLK分别接单片机最小系统的P1.0、P1.1口;单片机最小系统的P2.0、P2.1分别接串行A/D转换的DATA、CLK, 串行A/D转换的CS-549接地,AIN接电位器(A2区)05V可调输出端。打开单片机最小系统的电源开关,串行A/D转换的JT1H电源短路帽打在VCC处。2.用串行数据通信线连接计算机与仿真器,把仿真器

13、插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3.打开Keil uVision2仿真软件,打开串行AD文件夹下本实验的项目文件“ADS1100.Uv2”。4.编译无误后,全速运行程序,数码管显示电压转化的数字量,调节模拟信号输入端的电位器旋钮。顺时针旋转值增大,AD转换值的范围是03FFH。5.也可以把源程序编译成可执行文件,用ISP烧录器烧录到89S52/89S51芯片中。(ISP烧录器的使用查看附录二)四、电路图五、源程序#include #include #include void Delay(void);void Start(void);void Stop(void);void

14、WriteACK(unsigned char ack);void WaitACK(void);void writebyte(unsigned char wdata);unsigned char Readbyte(void);ads1100(0x8C)void Init_ads1100(unsigned char mdata) Start(); writebyte(0x90); writebyte(mdata); Stop();unsigned int Rd_ads1100(void) unsigned char H_AD; unsigned char L_AD; unsigned int T_

15、AD; Start(); writebyte(0x91); H_AD=Readbyte(); WriteACK(0); L_AD=Readbyte(); WriteACK(1); Stop(); T_AD=(0x00ff&H_AD)8|L_AD; returvoid Delay(void) _nop_(); _nop_(); void Start(void) EA=0; SDA=1; SCL=1; Delay(); SDA=0; Delay(); SCL=0;void Stop(void) SDA=0; SCL=0; Delay(); SCL=1; Delay(); SDA=1; Delay(

16、); EA=1;void WriteACK(unsigned char ack) SDA=ack; Delay(); SCL=1; Delay(); SCL=0;void WaitACK(void) unsigned char errtime=20; SDA=1; Delay(); SCL=1; Delay(); while(SDA) errtime-; if(!errtime) Stop(); SCL=0; Delay();void writebyte(unsigned char wdata) unsigned char i; for(i=0;i8;i+) if(wdata&0x80) SD

17、A=1; else SDA=0; wdata=1; SCL=1; Delay(); SCL=0; WaitACK();unsigned char Readbyte(void) unsigned char i,bytedata; SDA=1; for(i=0;i8;i+) SCL=1; bytedata=1; bytedata|=SDA; SCL=0; Delay(); return(bytedata);实验四 DS18B20温度传感器实验班级:机械XXX班 学号:XXX 姓名:XXX一、实验目的1. 了解温度传感器电路的工作原理2. 了解温度控制的基本原理3. 掌握一线总线接口的使用二、实验说

18、明这是一个综合硬件实验,分两大功能:温度的测量和温度的控制。Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。三、实验内容及步骤本实验需要用到单片机最小应用系统(F1区)、串行静态显示(I3区)和温度传感器模块(C3区)。1.DS18B20的CONTROL接最小应用系统P1.4,OUT接最小应用系统P2.0,最小系统

19、的P1.0,P1.1接串行静态显示的DIN,CLK端。2.用串行数据通信线连接计算机与仿真器,然后将仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加TH44_ DS18B20.ASM源程序,进行编译,直到编译无误。4.编译无误后,全速运行程序。程序正常运行后,按下自锁开关控制SIC。LED数显为 “XX”为十进制温度测量值, “XX”为十进制温度设定值,按下自锁开关“控制”SIC则加热源开始加热,温度也随着变化,当加热到设定的控制温度时如40度时,停止加热。5.也可以把源程序编译成可执行文件,用ISP烧录器

20、烧录到89S52/89S51芯片中。(ISP烧录器的使用查看附录二)四、电路图五、源程序TEMPER_L EQU 29H ; TEMPER_H EQU 28H ; FLAG1 EQU 38H ; A_BIT EQU 20H ; B_BIT EQU 21H ; LEDBuf EQU 30H TEMP EQU 55H DIN BIT P1.0 CLK BIT P1.1 ORG 0000H LJMP START ORG 0100Hstart: SETB P1.4MAIN: LCALL GET_TEMPER ; MOV A,29HMOV C,40H;RRC A MOV C,41H RRC A MOV

21、C,42H RRC A MOV C,43H RRC A MOV 29H,A LCALL DisplayResult LCALL DISPLAYLED; LCALL DELAY1 AJMP MAIN; INIT_1820: SETB P2.0 NOPCLR P2.0; MOV R1,#3TSR1: MOV R0,#107 DJNZ R0,$ DJNZ R1,TSR1 SETB P2.0; NOP NOP NOP MOV R0,#25HTSR2:JNB P2.0,TSR3 ; DJNZ R0,TSR2LJMP TSR4 ; TSR3: SETB FLAG1 ; LJMP TSR5TSR4: CLR

22、 FLAG1 ; LJMP TSR7TSR5: MOV R0,#117TSR6: DJNZ R0,TSR6 ; TSR7: SETB P2.0 RETGET_TEMPER: SETB P2.0 LCALL INIT_1820; JB FLAG1,TSS2 RET ; MOV A,#0CCH ; LCALL WRITE_1820 MOV A,#44H ; LCALL WRITE_1820; LCALL DELAY1 LCALL INIT_1820; MOV A,#0CCH ; LCALL WRITE_1820 MOV A,#0BEH ; LCALL WRITE_1820 LCALL READ_1

23、8200; RET;WRITE_1820: MOV R2,#8; CLR CWR1: CLR P2.0 MOV R3,#6 DJNZ R3,$ RRC A MOV P2.0,C MOV R3,#23 DJNZ R3,$ SETB P2.0 NOP DJNZ R2,WR1 SETB P2.0 RET; READ_18200: MOV R4,#2 ; MOV R1,#29H ; RE00: MOV R2,#8;RE01: CLR C SETB P2.0 NOP NOP CLR P2.0 NOP NOP NOP SETB P2.0 MOV R3,#9RE10: DJNZ R3,RE10 MOV C,

24、P2.0 MOV R3,#23RE20: DJNZ R3,RE20 RRC A DJNZ R2,RE01 MOV R1,A DEC R1 DJNZ R4,RE00 RETDisplayLED: ; mov LEDBUF+5,#10H mov LEDBUF+6,#10H mov LEDBUF+7,#10H MOV R0,#LEDBUF MOV R1,#TEMP MOV R2,#8DP10: MOV DPTR,#LEDMAP MOV A,R0 MOVC A,A+DPTR MOV R1,A INC R0 INC R1 DJNZ R2,DP10 MOV R0,#TEMP MOV R1,#8DP12:

25、MOV R2,#8 MOV A,R0DP13: RLC A MOV DIN,C CLR CLK SETB CLK DJNZ R2,DP13 INC R0 DJNZ R1,DP12 RETLEDMAP: DB 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5 DB 7DH,7,7FH,6FH,77H,7CH ;6,7,8,9,A,B DB 58h,63H,7BH,71H,00H,40H ;C,o,E,F, , - DB 63H,39H,63hDisplayResult:; MOV LEDBuf, #10H ; MOV LEDBuf+3, #14H ; MOV LEDBuf+4

26、, #13H ; Goon: MOV A,29H ; MOV B, #10 DIV ab MOV LEDBuf+1, A ;3 MOV A, B MOV LEDBuf+2, A ;4 MOV A ,LEDBuf+1 CJNE A,#4,$+3 JNC WW SETB P1.4 RETWW: CLR P1.4 ;D1MS: MOV R7,#80 DJNZ R7,$ RET Delay: ; MOV r7, #0DelayLoop: DJNZ r7, DelayLoop DJNZ r6, DelayLoop RETDELAY1:MOV R4,#020HAA1: MOV R5,#080HAA: NO

27、P NOP DJNZ R5,AA DJNZ R4,AA1 RET END实验五 步进电机控制实验班级:机械XXX班 学号:XXX 姓名:XXX一、实验目的1.了解步进电机控制的基本原理2.掌握控制步进电机转动的编程方法3.了解单片机控制外部设备的常用电路二、实验说明1.步进电动机有三线式、五线式、六线式三种,但其控制方式均相同,必须以脉冲电流来驱动。若每旋转一圈以20个励磁信号来计算,则每个励磁信号前进18度,其旋转角度与脉冲数成正比,正、反转可由脉冲顺序来控制。 2.步进电动机的励磁方式可分为全步励磁及半步励磁,其中全步励磁又有1相励磁及2相励磁之分,而半步励磁又称1-2相励磁。图为步进电动

28、机的控制等效电路,适应控制A、B、/A、/B的励磁信号,即可控制步进电动机的转动。每输出一个脉冲信号,步进电动机只走一步。因此,依序不断送出脉冲信号,即可步进电动机连续转动。3.电动机的负载转矩与速度成反比,速度愈快负载转矩愈小,当速度快至其极限时,步进电动机即不再运转。所以在每走一步后,程序必须延时一段时间。三、实验内容及步骤本实验需要用到单片机最小应用系统(F1区)、步进电机模块(M2区)和查询式键盘(B2区)。1.单片机最小应用系统的P1.0、P1.1、P1.2、P1.3口分别接步进电机模块的SA、SB、SC、SD。最小系统的P2.0、P2.1、P2.2分别对应的接查询式键盘的K0、K1、K2键。打开相关模块的电源开关。2.用串行数据通信线连接计算机与仿真器,然后将仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“TH52_步进电机控制程序.asm”源程序,进行编译,直到编译无误。4.进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。5.打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序。按下K0键电机正转,K1反转,K2电机STOP。6.也可以把源程序编译成可执行文件,用ISP烧录器烧录到89S52/89

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1