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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机接口技术实验指导书6个实验.docx

1、单片机接口技术实验指导书6个实验单片机接口技术实验指导书襄樊学院物理与电子信息技术系 实验要求1.进入实验室前完成的部分1)认真阅读实验指导书,弄懂实验原理和实验内容。2)编写实验所要用到的程序,将其放在U盘上。3)写出预习报告。2. 进入实验室后完成的部分1)建立工程,加入已准备好的程序文件。2)对程序进行调试,修改错误,获得要求的结果。3)保存调试后的程序。3.实验结束后的部分对实验结果进行分析、总结,写出实验报告。实验报告内容及格式1.实验目的2.实验设备3.实验原理及环境4.实验内容只做文字叙述,程序部分放在程序清单中。流程图也可不画。5.程序清单本实验使用的完整程序。如果使用了本实验

2、或前面实验中完全相同的子程序,可不列写,只做注明即可。6.实验步骤7.实验总结主要包括对实验结果、调试过程、错误及产生的原因的分析,以及本次实验的重要收获等。此项为实验成绩评定的重要依据。实验1 Keil C51的使用(汇编语言) 实验目的:初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。实验原理及环境:在计算机上已安装Keil C51软件。这个软件既可以与硬件(ZY15MCU12BD型综合单片机实验箱)连接,

3、在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。 实验内容:1.掌握软件的开发过程:1)建立一个工程项目选择芯片确定选项。2)加入C 源文件或汇编源文件。3)用项目管理器生成各种应用文件。4)检查并修改源文件中的错误。5)编译连接通过后进行软件模拟仿真。6)编译连接通过后进行硬件仿真。2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。3.在2的基础上,实现同时在P1.0和P1.1上各输出一个频率同为1Hz但电平状态相反的方波。预习要求:1.熟悉使用Keil

4、C51的步骤。2.理解实验内容2中程序的工作原理。3.编写实验内容3所需要的程序。实验步骤:以下假定你在E:TEST 文件夹下学习、运行Keil1.建立一个工程项目选择芯片确定选项如图1-1所示: ProjectNew Project输入工程名test保存工程文件(鼠标点击保存按钮)图1-1 创建工程名弹出下一界面。如图1-2所示:选CPU厂家(Atmel)选CPU型号(89C51),选好后确定图1-2 选厂家,选CPU 型号接着选晶振频率及生成HEX 文件等。如图1-3所示: ProjectOptions for Target Target 1 在Target中更改CPU 晶振频率为12MH

5、z在Output中选择生成HEX 格式其它采用缺省设置选好后确定。图1-3 选晶振频率及生成HEX 文件等窗口2.建立汇编源文件如图1-4所示: FileNew,弹出源文件编辑窗口。输入以下源文件: ORG 0000HAGAIN: CPL P1.0MOV R0,#10 ;延时0.5秒LOOP1: MOV R1,#100LOOP2: MOV R2,#250DJNZ R2,$DJNZ R1,LOOP2DJNZ R0,LOOP1SJMP AGAINEND图1-4 进入编辑源文件窗口源程序编写完后, FileSave As 将文件以test.asm保存在E:test 目录下,获得汇编语言源程序。3.用

6、项目管理器生成(编译)各种应用文件点击Target 1 前之+ 号出现Source Group1点击它并按鼠标右键会生弹出下拉菜单见图1-5 编译文件文件窗口选择Add Files to Group Source Group 1 点击add向项目中添加Test.asm 源文件点击close关闭Add Files to Group Source Group 1窗口在Source Group 1 前会出现一个+号点击之弹出test. asm 文件名点击该文件名主窗口中会出现该程序图1-5 进入编译文件文件窗口编译:ProjectBuild target 就会生成一系列到文件如OBJ 文件LST 文

7、件HEX文件等。4.检查并修改源文件中的错误如果在源文件中存在错误在Output 窗口中会出现错误提示信息,你可以在源程序中进行修改,然后存盘后重新Build 观察错误提示信息。5.编译连接通过后进行软件模拟仿真DebugStart/Stop Debug Session进入软件模拟的仿真窗口,可使用单步、设断点来进行调试和除错。6.编译连接通过后进行硬件仿真实验箱的仿真串口必须与PC 机串口连接,通电,拨位开关K10必须拨在B端,连接P10和L0,连接P11和L1,设置硬件实时仿真调试选项:ProjectOptions for Target TargetlDebug.硬件实时仿真调试选项窗口,

8、见图1-5 选硬件仿真选项,按确定按钮确定。图1-5 硬件实时仿真调试选项窗口进入硬件实时调试窗口后,可打开各种观察窗口,进行单步断点运行到光标连续执行等操作,无误后可连续运行观察LED发光管的显示效果。注意退出时须按单片机的复位按键SS10,在进行硬件连接前最好也先按单片机的复位按键SS10。7.修改以上程序,实现同时在P1.0和P1.1上各输出一个频率为1Hz但电平状态相反的方波。重要提示:1.指令中的“,:;”是西文字符,切不可使用中文符号;数字“0”与字符“o”不可混淆。2.以上菜单操作都可以点击工具栏中的相应图标快速实现。3.退出硬件连接可以按SS10,在进行硬件连接前最好也按一次S

9、S10。4.生成源文件的方法:从键盘上输入源文件;用其他编辑软件(包括Microsoft Word)编辑源文件,然后复制到Keil C51 文件窗口中,使Word 文档变为TXT 文档,这种方法最好,可方便输入中文注释;也可装入在其它编辑软件中编辑的源文件如: *.asm/*.a51/*.c. 等。实验2 十六进制与十进制的转换 实验目的:实践汇编语言顺序结构的编程方法,掌握十六进制数转换成十进制数的编程实现,掌握单步运行程序的基本技巧。实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。实验原理及环境:将十六进制数转换成十进制数

10、有多种方法,比较典型的是用待转换数除以权值的方法,即依次除以100、10,则各次的商和最后的余数就是所需要的十进制数。实验内容:将放在片内RAM30H中的2位十六进制数转换成3位十进制数,按照从高位到低位的顺序分别放入31H33H中(即非压缩的BCD码)。在本实验中,要求使用单步方式运行,以便观察各单元的变化过程。预习要求:理解实验原理,熟悉实验环境。编写实现本实验要求的程序,并生成*.asm文件,将这个文件放在U盘上备用。实验步骤:1.建立一个工程,将在预习中做好的*.asm文件加入。2.调出存储器编辑窗口,将30H单元修改成某一值。3.在希望停下来的指令上设断点,然后运行,在断点处停下来后

11、,再单步运行,可以看到各单元的变化情况。运行完最后一条指令后,在31H33H中应获得30H中十六进制数对应的十进制数。ORG 0000H MOV A,30H MOV B,#100 DIV AB MOV 31H,A MOV A,B MOV B,#10 DIV AB MOV 32H,A MOV 33H,BEND重要提示:1.指令中的“,:;”是西文字符,切不可使用中文符号;数字“0”与字符“o”不可混淆。2.本实验可以不用硬件连接,以软件仿真的方法即可进行。3.程序的起始地址必须为0000H(以后各实验均同)。4.对程序修改后必须退出连接,进行编译后再重新进行连接才能生效(以后各实验均同)。5.调

12、出存储器编辑窗口方法是:操作ViewMemory Window,或点工具栏中的相应图标。6.存储器编辑窗口可以编辑3个空间,可以用Adress调出。在Adress中键入d:xxH或0Xxx将从地址xxH开始显示片内RAM的低128字节和特殊功能寄存器SFR;在Adress中键入i: xxH或0Xxx将从地址xxH开始显示片内RAM;在Adress中键入c: xxxxH或0Xxxxx将从地址xxxxH开始显示程序存储器;在Adress中键入x: xxxxH或0Xxxxx将从地址xxxxH开始显示片外RAM。7.将鼠标指针放在存储器编辑窗口中的某个数据上点击右键,在弹出的窗口中点Modify Me

13、mory at可以修改其值。如果要修改连续多个单元,可以在数据之间用“,”隔开。8.设断点可以用Debug中的Insert/Remove Breakpoint或点击工具栏中的相应图标快速实现。运行可用Go。6.单步运行可以用Debug中的Step(纯单步)、Step Over(将子程序调用作为一条指令运行)或点击工具栏中的相应图标快速实现。10.在运行过程中如果希望中止当前运行,从头开始,可以点击工具栏中的RST图标实现。实验3 8段LED显示器动态显示实验目的:掌握8段LED显示器的使用及显示程序的设计方法。实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安

14、装Keil C51的计算机一台。实验原理及环境:1. 实验箱上有6位8段LED显示器,采用动态方式驱动。即使一位LED显示器显示内容一段时间,然后下一位LED显示器显示内容一段时间,周而复始。只要刷新频率不小于50Hz,就可以获得清晰稳定的显示效果。2.MCS-51CPU通过一片8255对8段LED显示器进行段驱动和位驱动,8255的A口、B口、C口、控制口的地址分别为片外RAM的4000H、4001H、4002H、4003H。3.LED显示器的各段由8255的B口驱动,低电平对应段发光,高电平对应段熄灭。各段的驱动位如图5-1,各显示字的字形代码如下所示:显示字 字形代码 显示字 字形代码

15、显示字 字形代码 0 C0H 0. 40H - BFH 1 F9H 1. 79H 灭 FFH 2 A4H 2. 24H 3 B0H 3. 30H 4 99H 4. 19H 5 92H 5. 12H 6 82H 6. 02H 7 F8H 7. 78H 8 80H 8. 00H 9 90H 9. 80H A 88H A. 08H B 83H B. 03H图5-1 8段LED各段控制位 C C6H C. 46H D A1H D. 21H E 86H E. 06H F 8EH F. 0EH 4. LED显示器的各位由8255的A口驱动,低电平对应位发光,高电平对应位熄灭。 LED显示器 对应位口位 左

16、起第一位 D0 左起第二位 D1 左起第三位 D2 左起第四位 D3 左起第五位 D4 左起第六位 D5实验内容: 1.编写一个6位LED显示器驱动子程序(在主程序中已对接口芯片8255做好必要的初始化)。字形表按0F、0.F.、-、灭的顺序排列。该子程序的要求如下: 入口:待显示数(00H1FH)放在20H25H( 分别对应显示器的左起第1第6位)中。 出口:每位LED显示0.5mS后返回。占用:R0、R1、R2、A、PSW、DPTR。 显示子程序的流程图如图5-2和图5-3:Y图5-2 显示子程序流程图图5-3 显示子程序的详细流程图 2.子程序自身无法运行,为了运行这个子程序,另编写一个

17、主程序。这个主程序的功能是首先对8255进行初始化,然后就反复调用显示子程序,显示20H25H中的待显示内容。 首先在20H起始的6个字节中置入00H0FH,然后连续运行此程序,应显示0F;在20H起始的6个字节中置入10H1FH,然后连续运行此程序,应显示0.F.;若置入20H、21H,则显示-、灭。图5-4 显示主程序流程图 3.按以下框图编写一段程序,运行后会在显示器上应出现连续向左移动的0F。图5-5 实验内容3流程图预习要求:理解实验原理,熟悉实验环境。编写实现本实验要求的程序,并生成*.asm文件,将这个文件放在U盘上备用。实验步骤:1.将P0.0P0.7与JD0JD7连接起来。开

18、关KC倒向上方。2.建立一个工程,将在预习中做好的实验内容1和2的程序拷贝到一个*.asm文件加入。3.编译后与单片机硬件连接,运行。4.在20H起始的6个字节中置入00H0FH中的任意6个值,然后连续运行此程序,应显示0F中的6个数字;在20H起始的6个字节中置入10H1FH中的任意6个值,然后连续运行此程序,应显示0.F. 中的6个数字。5.如果运行结果不正常,可以用设断点、单步运行的方法查找错误所在,修改后重新编译、与单片机硬件连接,运行。直至获得正确的结果。6.建立一个工程,将在预习中做好的实验内容1和3的程序拷贝到一个*.asm文件加入。7.编译后与单片机硬件连接,运行。8.观察LE

19、D显示器,应从右向左依次出现0、1、2、3重要提示:1.指令中的“,:;”是西文字符,切不可使用中文符号;数字“0”与字符“o”不可混淆。2.软件延时可以用循环程序实现,单片机的时钟为12MHz,每条指令的执行时间可以从教材的附表中查出。3.程序的起始地址必须为0000H(以后各实验均同)。4.退出硬件连接可以按SS10,在进行硬件连接前最好也按一次SS10。5.对程序修改后必须退出硬件连接,进行编译后再重新进行硬件连接才能生效。6.调用显示子程序330次可以用双重循环实现。且使用的计数单元与显示子程序中用到的不能冲突。7. 开关KC倒向上方。实验4 矩阵键盘的使用实验目的:掌握矩阵键盘的使用

20、及键盘扫描程序的设计方法。实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。实验原理及环境:实验箱上有一个16键的矩阵键盘,分为4行4列。4行分别连接到一片8255(与8段LED显示器的段驱动和位驱动共用)的PC0PC3,4列分别连接到8255的PC4PC7。8255的A口、B口、C口、控制口的地址分别为片外RAM的4000H、4001H、4002H、4003H。第4列(PC7)第3列(PC6)第2列(PC5)第1列(PC4)行输入PC300H01H02H03H第4行PC204H05H06H07H第3行PC108H09H0AH0

21、BH第2行PC00CH0DH0EH0FH第1行00H01H02H03H列 驱 动图6-1 键盘布置及键值选择列驱动码使某一列为低电平而其它列为高电平,再读取行输入,若该列有键按下则相应的位便是低电平。每个键均安排一个键值,如图6-1所示。实验内容: 1.编写一个键盘扫描子程序(在主程序中已对接口芯片8255做好必要的初始化)。这个程序对键盘作一次扫描,若无键按下,返回时累加器A中为FFH,若有键按下,返回时A中为该键键值,键盘扫描子程序流程图如图6-2所示。图6-2 键盘扫描子程序流程图 其中,查键值子程序可以自行编写,也可以使用下面这个查键值子程序,这个子程序的参数如下: 入口:行列关键值码

22、放在累加器A中,高4位是列驱动码(被扫描列的对应位为0,其余位均为1),低4位是行状态(按下键的对应位为0,其余位均为1)。 出口:键码放在A中带出。 占用:R1、A、PSW、DPTR。 程序清单如下: ;查键值子程序,起始地址为KEY20 KEY20: PUSH ACC ;暂存关键值 MOV R1,#00H ;查键值自变量清0 KEY21: JNB ACC.4,KEY22 ;计算列数 RR A INC R1 SJMP KEY21KEY22: MOV A,R1 ;按每列4个键计算 MOV B,#4 MUL AB MOV R1,A POP ACC ;恢复关键值KEY23: JNB ACC.0,K

23、EY24 ;计算行数 RR A INC R1 SJMP KEY23KEY24: MOV DPTR,#KEYTAB;读取键值 MOV A,R1 MOVC A,A+DPTR RETKEYTAB: DB 0FH,0BH,07H,03H DB 0EH,0AH,06H,02H DB 0DH,09H,05H,01H DB 0CH,08H,04H,00H 2.键盘扫描子程序自身无法运行,为了运行这个子程序,另编写以下程序: ORG 0000H MOV SP,#6FH MOV R0,#5 ;延时0.5秒LOOP1: MOV R1,#200LOOP2: MOV R2,#250 DJNZ R2,$ DJNZ R1

24、,LOOP2 DJNZ R0,LOOP1 MOV DPTR,#(ADD_8255+3) ;8255初始化MOV A,#10000001B ; A口、B口方式0输出,C口高4位输出,低4位输入 MOVX DPTR,ALOOP3: LCALL DISP ;调用显示子程序DIS,设显示子程序入口为DISP LCALL KEY ;调用键盘扫描子程序,设键盘扫描子程序入口为KEY CJNE A,#0FFH,LOOP4 ;如果有键按下转 SJMP LOOP3LOOP4: MOV 20H,21H MOV 21H,22H MOV 22H,23H MOV 23H,24H MOV 24H,25H MOV 25H,

25、A SJMP LOOP3其中显示子程序使用实验3中的显示子程序。程序运行后,每按一键便从显示器的右端移入一个对应的数。预习要求:理解实验原理,熟悉实验环境。编写实现本实验要求的程序,并生成*.asm文件,将这个文件放在U盘上备用。实验步骤:1.将P0.0P0.7与JD0JD7连接起来。开关KC倒向上方。2.建立一个工程,将在预习中做好的实验内容1和2的程序以及实验5中的显示子程序拷贝到一个的*.asm文件加入。3.编译后与单片机硬件连接,运行。4.按下键盘上的各键,相应的数字会出现在LED显示器上。重要提示:1.指令中的“,:;”是西文字符,切不可使用中文符号;数字“0”与字符“o”不可混淆。

26、2.软件延时可以用循环程序实现,单片机的时钟为12MHz,每条指令的执行时间可以从教材的附表中查出。注意使用的计数单元不要与程序中其他处所使用的单元发生冲突。3.程序的起始地址必须为0000H(以后各实验均同)。4.退出硬件连接可以按SS10,在进行硬件连接前最好也按一次SS10。5.对程序修改后必须退出硬件连接,进行编译后再重新进行硬件连接才能生效。6.若有键按下,则读回的行状态中对应的位是0,否则对应的位就会是1。7.判断列驱动码是否超出,可以用检测0位的方法实现。8.在调用查键值子程序时,要保证累加器A的高4位是本次扫描的列驱动码,低4位是本次扫描读入的行状态。9“读行状态 直到键松开”

27、,是反复读入行状态,直到读入的各位状态都为“1”。注意只有低4位是有效的,要将无用且不定的高4位滤掉。10. 开关KC倒向上方。实验5 A/D转换实验目的:掌握用ADC0809实现A/D的方法。实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。实验原理及环境:电位器W1将+5V电压分压后送入ADC0809的输入IN4IN7,调节电位器W1可以获得0+5V的电压输入。ADC0809的接口参数如下: 输入电压范围 0+5V 启动IN0IN7 A/D转换 写任意数到8000H8007H 取转换结果 读8000H8007H EOC通过一

28、个反相器输出实验内容:设计一个程序,将IN4输入的0+5V模拟电压转换成数字量,再将这个2位十六进制转换成3位十进制数,放在LED显示器的第四六位显示。其中显示子程序可以用实验3中的子程序。判断转换是否结束可以将ADC0809的EOC(经反相器)引入到P1.0,然后查询P1.0的状态。图7-1 实验7程序流程图预习要求:理解实验原理,熟悉实验环境。编写实现本实验要求的程序,并生成*.asm文件,将这个文件放在U盘上备用。实验步骤:1.将P0.0P0.7与JD0JD7连接起来。开关KC倒向上方。2.将P0.0P0.7与U9D0U9D7连接起来。3.将P1.0与EOC连接起来。4.建立一个工程,将

29、在预习中做好的实验程序*.asm文件加入。5.编译后与单片机硬件连接,运行。6.旋转电位器W1,LED显示器上的数字应在000000000255之间变化(因受电位器的调节范围限制,有可能小于这个范围)。重要提示:1.指令中的“,:;”是西文字符,切不可使用中文符号;数字“0”与字符“o”不可混淆。2.EOC是经过一个反相器后输出的,所以要注意转换完成后检测到的是低电平。3.调用显示子程序32次可以用循环实现,使用的计数单元与显示子程序中用到的不能冲突。4. 开关KC倒向上方。实验6 D/A转换 实验目的:掌握用DAC0832实现D/A转换的方法。实验设备:ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。实验原理及环境: DAC0832的连接使用单缓冲方式,D/A转换口地址为6000H。当输入数字量为0255时,输出电压0+5V。可以用这个电压驱动一个微型直流电动机,使它的转速在最慢到最快之间变化。 实验内容: 设计一个程序,在主程序中向P1.0输出频率为1Hz的方波,同时使用定时器1定时中断,在中断服务程序中用D/A转换器输出周期为20秒的三角波。 用一个工作寄存器存放电压值,使用定时器定时中断,每中断一次将电压值送D/A转换器并加1,直到最大值后再改为减1。周而复始,这样就可以输出三角波。这个三

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

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