微机原理与接口技术B试验报告_第1页
微机原理与接口技术B试验报告_第2页
微机原理与接口技术B试验报告_第3页
微机原理与接口技术B试验报告_第4页
微机原理与接口技术B试验报告_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.专业整理 .重庆交通大学学生实验报告实验课程名称 微机原理与接口技术 B 开课实验室 机电自动控制实验室 学 院 年级 专业班 学 生 姓 名 学 号 开 课 时 间 2017 至 2018 学年第 1 学期总成绩教师签名蒙志强注:实验成果考核方式采用非实验报告形式的,可自行制定. 学习帮手 .专业整理 .实验二 Protues 软件使用. 实验目的:掌握单片机仿真软件。. 实验器材:PC 机一台. 实验内容 :任务 A:闪烁灯1、任务要求:如图 2.1 所示,在 P1.0 端口上接一个发光二极管 D1,使 D1 在不停地 亮一灭,一亮一灭的时间间隔为 0.2 秒。2、电路原理图:图 2.1

2、 电路原理图任务 B:模拟开关灯1、任务要求:如图 2.2 所示,监视开关 K1(接在 P3.0 端口上),用发光二极管 L1(接 在单片机 P1.0 端口上)显示开关状态,如果开关合上,L1 亮,开关打开, L1 熄灭。2、电路原理图:. 学习帮手 .专业整理 .图 2.2 电路原理图任务 C:多路开关状态指示1、任务要求:如图 2.3 所示,AT89S51单片机的 P1.0 P1.3 接四个发光二极管 L1L4, P1.4 P1.7 接了四个开关 K1K4,编程将开关的状态反映到发光二极管上。 (开关闭合, 对 应的灯亮,开关断开,对应的灯灭) 。2、电路原理图:图 2.3 电路原理图.

3、学习帮手 .专业整理 .四. 实验代码:任务 A:START: CLR P1.0 /p1.0 置零,开关灯亮LCALL DELAY /延时 0.2sSETB P1.0 /p1.0置 1,开关灭LCALL DELAY /延时 0.2sLJMP START /主程序为死循环DELAY: MOV R5,#20/ 延时子程序,延时D1: MOV R6,#20 /赋值 R6为 20D2: MOV R7,#248 /赋值 R7 为 248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RET /子程序返回END / 程序结束ORG 0 / 起始地址为00H0.2 秒任务 B:ORG 00HSTA

4、RT: JB P3.0,LIG / JB指定位 1 转移CLR P1.0 /开关按下,把 p1.0 置零,灯亮SJMP START /LIG: SETB P1.0 /主程序为判断开关状态,点亮灯的死循环开关未按下,把 p1.0 置 1,灯灭SJMP START/ 跳转至主程序END / 程序结束任务 C:ORG 00HSTART: MOV A,P1 /一次把 p1 端口的状态全部读入ANL A,#0F0H /取高四位状态来显示RR A / 右循环RR A. 学习帮手 .专业整理 .RR ARR AORl A,#0F0H /MOV P1,ASJMP START END / 程序结束或命令/ 把

5、A的值赋给 p1 口/ 跳转至主程序五. 实验结果:任务 A 仿真结果实验结果实现了 P1.0 接的发光二极管一亮一灭。. 学习帮手 .任务 B 仿真结果.专业整理 .实验结果实现了 P3.0 接的开关控制 p1.0 接的发光二极管的亮灭。任务 C仿真结果实验结果实现了 p1.0-p1.3 接的开关分别控制 p1.4-p1.7 接的发光二极管的亮灭。六. 实验调试分析这次是第一次微机实验, 对于理论课并没有学得很好的我, 其实是对这次实验是充 满期待的, 希望能在试验中恍然大悟理论课所讲的内容。 这节课主要讲的是编程软件和仿真 软件, 让我初步感受到了单片机的神奇, 可以通过不同的接口和元器件

6、实现多种功能。 虽然 课上没有把软件完全熟练,但课后仔细琢磨了一下,达到了基本可以独立操作的水平。. 学习帮手 .专业整理 .实验三 p1 口亮灯实验一. 实验目的通过实验了解单片机最小系统; 掌握 P1口作为输入输出方式使用时, CPU 对 P1 口的操 作方法。二. 实验器材PC机一台单片机开发板一台三. 实验内容1、任务要求:任务 1:任务 1:在 P1.0 端口上接一个发光二极管 D1任务 2:在 P1.0 端口上接一个发光二极管 D1,使 D1 在不停地一亮一灭, 一亮一灭的时 间间隔为 0.2 秒。任务 3:在 P1.3 端口上接一个发光二极管 D4,使 D4 在不停地一亮一灭,

7、一亮一灭的时 间间隔为 0.1 秒。(自己编写程序)任务 4:监视开关 s1(接在 P3.4 端口上),用发光二极管 D4(接在单片机 P1.3 端口上) 显示开关状态,如果开关合上, D1 亮,开关打开, D1熄灭。任务 5:监视开关 s1、 S2、 S3、 s4(接在 P3.4,P3.5,P3.6,P3.7 端口上),用发光二极 管 D4、D5、 D6、D7(接在单片机 P1.3-P1.6 端口上)显示开关状态, S1-S4 分别控制 D4-D7 的开关(开关闭合,对应的灯亮,开关断开,对应的灯灭) (自己编写程序)2、实验电路图(参考开发板原理图). 学习帮手 .专业整理 .四. 实验代

8、码:任务 1:ORG 0START: CLR P1.0 / 置零LJMP START / 跳转至主程序END / 程序结束 任务 2:ORG 0START: CLR P1.0 / 置零LCALL DELAYSETB P1.0LCALL DELAYLJMP START/ 无条件转移至延时子程序/ 将 p1.0 口置为高电平/ 无条件转移至延时子程序/ 跳转至主程序DELAY: MOV R5,#20 / 延时子程序,延时 0.2 秒D1: MOV R6,#20 / 赋值 R6 为 20D2: MOV R7,#248 / 赋值 R7为 248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1

9、RET/ 子程序返回END/ 程序结束任务 3:ORG 0. 学习帮手 .专业整理 .START: CLR P1.0LCALL DELAYSETB P1.0LCALL DELAYLJMP START DELAY: MOV R5,#20 D1: MOV R6,#10D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND任务 4:ORG 00HSTART: JB P3.4,LIG /JB指定位 1 转移CLR P1.3/开关按下, p1.3 置 0SJMP START/主程序为判断开关状态,点亮灯d 死循环LIG: SETB P1.3/开关未按下,把

10、p1.0 置 1,灯灭SJMP START/ 跳转至主程序END / 程序结束任务 5:ORG 00HSTART1:JB P3.4,LIG1CLR P1.3SJMP START1LIG1:SETB P1.3SJMP START2START2:JB P3.5,LIG2CLR P1.4SJMP START2. 学习帮手 .专业整理 .LIG2:SETB P1.4SJMP START3START3:JB P3.6,LIG3CLR P1.5SJMP START3LIG3:SETB P1.5SJMP START4START4:JB P3.7,LIG4CLR P1.6SJMP START4LIG4:SET

11、B P1.6SJMP START1END五. 实验结果:. 学习帮手 .专业整理 .六. 实验调试分析这是我第一次到土木楼上课, 也是第一次操作单片机。 很多同学很快就完成了试验 任务,可能是对软件的熟悉程度不够,我比别人多用了一些时间,但最终完成了实验要求, 有一点小小的成就感。. 学习帮手 .专业整理 .实验四 数码管显示实验一. 实验目的 1、掌握单片机数码管显示原理。 2、编程实现数码管的动态、静态显示。二. 实验器材PC机一台单片机开发板一套三. 实验内容1、任务要求: 任务一:查看开发板上电路图, 6个数码管同时循环显示 09 数字,时间间隔 0.2 秒。(静态显示) 任务二:编写

12、程序使右边第一个数码管显示 6 (自己编写代码) 任务三:查看开发板电路图,用右边两个数码管显示自己学号最后两位。 (自己编写代 码)2、实验电路图(参考开发板原理图) :四. 实验代码: 任务一: ORG 0START: CLR P2.7CLR P2.6/ 数码管位选(关闭)/ 数码管段选 (关闭)MOV A,#00H /数码管静态显示( 6 个数码都显示一样的数字)LCALL DELAY / 跳转至延时程序. 学习帮手 .专业整理 .MOV P0,A / 将 A的值赋给 p0 口 SETB P2.7 / 开启数码管位选 LCALL DELAY / 调用延时程序 CLR P2.7 / 关闭数

13、码管位选MOV R1,#00H/将 R1 赋值为 0NEXT:MOV A,R1MOV DPTR,#TABLE /把表 d 收地址赋值给 dptr MOVC A,A+DPTR /查表指令MOV P0,A / 把显示的数字给 p0LCALL DELAY / 调用延时程序SETB P2.6/开段选LCALL DELAYCLR P2.6/关段选INC R1/ 数值加一CJNE R1,#10,NEXT / 循环显示 0 至 9LJMP START / 跳转至主程序DELAY:MOV R5,#20D2:MOV R6,#20D1:MOV R7,#248DJNZ R7,$DJNZ R6,D1DJNZ R5,D

14、2 RETTABLE:DB3 FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH/0 ,1,2,3,4,5,6,7,8,9END任务二:START: CLR P2.7CLR P2.6MOV A,#0FEHMOV P0,ASETB P2.7CLR P2.7. 学习帮手 .专业整理 .NEXT: MOV P0,#7DHSETB P2.6END任务三:START: CLR P2.7CLR P2.6MOV A,#0FeHMOV P0,ASETB P2.7CLR P2.7NEXT:MOV P0,#06HSETB P2.6 LCALL DELAYCLR P2.6MOV P0,#0

15、0H LJMP START1START1:CLR P2.6CLR P2.7MOV A,#0FDHMOV P0,ASETB P2.7CLR P2.7MOV R1,#00HNEXT1:MOV P0,#3FHSETB P2.6LCALL DELAYCLR P2.6MOV P0,#00HLJMP STARTDELAY:MOV R5,#1D2:MOV R6,#10D1:MOV R7,#21DJNZ R7,$. 学习帮手 .专业整理 .五. 实验结果:DJNZ R6,D1DJNZ R5,D2RET任务一:任务二:. 学习帮手 .专业整理 .任务三:六. 实验调试分析实验越到后面, 要求就越来越独立了, 程

16、序也越来越难。 尽管我努力想要跟上同学的脚步,任然被别人狠狠地甩在后面,留下很多内容没有完成。回到寝室后,用了很长时间 请教同学,大概还是完成了试验任务。. 学习帮手 .专业整理 .实验五 定时器中断实验一. 实验目的掌握 51 单片机定时器编程方法掌握 51 单片机中断编程方法二. 实验器材PC机一台单片机开发板一套三. 实验内容1、任务要求:任务 1:用单片机的定时 /计数器 T0 产生一秒的定时时间,作为秒计数时间,当一秒产 生时,秒计数加 1,秒计数到 60 时,自动从 0 开始。并用两位数码显示。 ( 中断法 )任务:2 :用定时器 0 的方式 1 实现第一个发光二极管以 200ms

17、间隔闪烁。(查询法、中 断方式两种方式编程)四. 实验代码:INC CONNUM / 计数值加一任务一:DULA EQU P2.6 /p2.6 为数码管段选位WELA EQU P2.7 /p2.7 为数码管段选位CONNUME QU 30H / 定义了一个技术变量MIAO EQU 31H / 数码管要显示的数字SHIWEI EQU 32H/ 定义了一个十位的变量GEWEI EQU 33H / 定义了一个个位的变量ORG 00HLJMP START / 跳转至主程序ORG 0BH/定时器 0 入口地址LJMP INT0X/跳转到中断服务程序START: MOV A,#0 / 将累加器 A 置 0

18、 MOV CONNUM,A / 计时器清零 MOV A,MIAO / 将 miao 的置送入 A LCALL INIT_T0 / 跳转至子程序 INIT_T0NEXT1: LCALL DISPLAY / 跳转到数码管显示程序 SJMP NEXT1 / 循环INIT_T0:. 学习帮手 .专业整理 .MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0H /初始化 TMOD,TH0,TL0SETB EA /开 cpu 中断SETB ET0 /开定时器 0 中断SETB TR0 /定时开始RET / 子程序返回INT0X:MOV A,CONNUM CJNE A,#20,NEX

19、T2 /MOV CONNUM,#0 INC MIAO / MOV A ,MIAO CJNE A,#60,NEXT2MOV MIAO ,00H /NEXT2: RETIRETDELAY: MOV R1,#2 /DELAY3: MOV R2,#248DJNZ R2,$DJNZ R1,DELAY3RET /MOV TH0,#03CHMOV TL0,#0B0H / 重装和 20 比较,不相等跳转到中断服务程序显示 d 数值加一/ 和 60 比较,不相等跳转至中断服务程序 计数到 60,把秒数清零延时子程序延时程序DISPLAY: / 显示百十个位CLR DULA / 清零CLR WELA / 清零MO

20、V A,MIAOMOV B,#10 / 赋值 B 为 10DIV AB /a 保存十位, b 保存个位. 学习帮手 .专业整理 .MOV SHIWEI ,AMOV A,BMOV GEWEI,ASETB WELA / 将 WELA置为高电平MOV A,0XFE / 选择要显示那个数码管MOV P0,ACLR WELA / 位选SETB DULAMOV A,GEWEIMOV DPTR,#TABLE /DPTR 指向 TABLE的首位MOVC A,A+DPTR / 指针后移选择指定对象MOV P0,ACLR DULA / 段选LCALL DELAY / 延时SETB WELAMOV A,0XFDMO

21、V P0,ACLR WELASETB DULAMOV A,SHIWEIMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,ACLR DULALCALL DELAY /RETTABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH/0 ,1,2,3,4,5,6,7,8,9END/程序结束任务二(中断法) :CONNUM EQU 30HORG 00H. 学习帮手 .专业整理 .LJMP START ORG 0BH LJMP INT0X START: MOV A,#0MOV CONNUM,A LCALL INIT_T0 NEXT1: SJMP

22、 NEXT1 INIT_T0:MOV TMOD,#0X01MOV TH0,#(65536-50000) / 256MOV TL0,#(65536-50000) MOD 256 SETB EASETB ET0SETB TR0RET INT0X:MOV TH0,#(65536-50000) / 256MOV TL0,#(65536-50000) MOD 256 INC CONNUMMOV A,CONNUMCJNE A,#4,NEXT2MOV CONNUM,#0 CPL P1.6NEXT2: RETI END 实验任务二(查询法) : CONNUM EQU 40HORG 00H SJMP START

23、ORG 30H START:MOV TMOD,#0X01MOV TH0,#(65536-50000) / 256 MOV TL0,#(65536-50000) / 256. 学习帮手 .专业整理 .CLR ET0SETB TR0MOV A,#0MOV CONNUM,ALOOP:JNB TF0,LOOPMOV TH0,#(65536-50000) / 256MOV TL0,#(65536-50000) / 256CLR TF0INC CONNUMMOV A,CONNUMCJNE A,#4,LOOPMOV CONNUM,#0CPL P1.5SJMP LOOPEND五. 实验结果:任务一:. 学习帮

24、手 .专业整理 .任务二:查询法 中断法六. 实验调试分析这是我理论课最没有学懂的部分,因为上次没完成实验任务,这次还有点小担心。 事实证明我的担心不是多余的,第一个任务就花去大半节课的时间,第二个任务做到一半, 又留给了课后时间,心里的挫败感油然而生。. 学习帮手 .专业整理 .实验六 A/D 、D/A 转换实验一. 实验目的掌握 AD,DA转换原理及编程方法二. 实验器材PC机一台单片机开发板一套三. 实验内容1、任务要求:任务 1:用单片机控制 DAC0832芯片输出电流,让发光二级管D10 由灭均匀变到最亮,再由最亮均匀熄灭。 (直通方式)任务 2:用单片机控制 DAC0832芯片输出

25、电流,控制二极管 D1D8灯亮与熄灭。 (直通 方式)(自己编写程序)任务 3:用单片机控制 ADC0804进行数模转换,当拧动实验板上 A/D 旁边的电位时,在 数码管的前三位以十进制方式显示出 A/D转换后的数字量 (8位 A/D转换后数值在 0255变 化)。2、电路原理图:四. 实验代码:任务 1 :MS EQU 30HCSDA EQU P3.2W EQU P3.6WELA EQU P2.7DULA EQU P2.6 ORG 00H. 学习帮手 .专业整理 .START: CLR WELACLR DULAMOV MS,#0CLR CSDACLR WNEXT: INC MSMOV A,M

26、SMOV P0,ALCALL DELAYCJNE A,#255,NEXT1 SJMP NEXT2NEXT2:DEC MS MOV A,MSMOV P0,A LCALL DELAYCJNE A,#0,NEXT2 SJMP NEXT1DELAY: MOV R6,#20 D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2RETEND任务三:DULAEQU P2.6WELAEQU P2.7CSADEQU P2.4RDADEQU P3.7WRADEQU P3.6CONNUME QU 30HGEWEIEQU 31HSHIWEIEQU 32HBAIWEIEQU 33H. 学习帮手 .专业整

27、理 .START: MOV A,#0MOV CONNUM,ALCALL AD_INITNEXT1: LCALL AD_STARTLCALL DELAYLCALL AD_READLCALL DELAYLCALL DISPLAYSJMP NEXT1AD_INIT: / 初始化 ADCLR CSADRETAD_START: / 启动 ADSETB WRADCLR WRADSETB WRADRETDELAY: MOV R1,#2DELAY3: MOV R2,#248DJNZ R2,$DJNZ R1,DELAY3RETAD_READ: / 读 AD转换结果SETB RDADCLR RDADLCALL D

28、ELAYMOV A,P1MOV CONNUM,ASETB RDADRETDISPLAY: / 显示百十个位. 学习帮手 .专业整理 .CLR DULACLR WELAMOV A,CONNUMMOV B,#100DIV ABMOV BAIWEI ,AMOV A,BMOV B,#10DIV ABMOV SHIWEI,AMOV A,BMOV GEWEI,ASETB WELAMOV A,0XFEMOV P0,ACLR WELASETB DULAMOV A,GEWEIMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,ACLR DULALCALL DELAYSETB WELAMOV A

29、,0XFDMOV P0,ACLR WELASETB DULAMOV A,SHIWEIMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,ACLR DULALCALL DELAY. 学习帮手 .专业整理 .SETB WELAMOV A,0XFBMOV P0,ACLR WELASETB DULAMOV A,BAIWEIMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,ACLR DULALCALL DELAY /RETTABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND五. 实验结果:任务一:实现了 d10 灯,

30、由暗慢慢变亮,再由亮慢慢变暗的过程任务三:. 学习帮手 .专业整理 .轻轻转动实验板上 A/D 旁边的电位时后三位显数板的数值发生变化六. 实验调试分析这节课还没开始, 老师就说这次实验很简单, 我依然没有丝毫的高兴, 因为前两次实验 我都没有在课堂上顺利完成, 我对微机课产生了恐惧感。 当实验正式开始时, 我依然对自己 没有信心。 10 来分钟的时候就陆续有同学做完,我不是很早做完的,但也不晚。成功完成 实验,我真的特别高兴。. 学习帮手 .专业整理 .实验七 电子秒表设计一. 实验目的掌握单片机开发系统的流程,掌握按键识别、数码管显示、中断定时器综合运用二. 实验器材PC机一台单片机开发板

31、一套三. 实验内容 任务要求: 1、开始时,显示“ 00”,第 1 次按下 S1( P3.4)后就开始计时。2、第 2 次按 S1 后,计时停止。3、第 3 次按 S1 后,计时归零。4、两位数码管显示 0-99 秒 设计要求 使用定时器、中断、数码管设计四. 实验代码: DULA EQU P2.6 WELA EQU P2.7CONNUME QU 30HMIAO EQU 31HSHIWEI EQU 32HGEWEI EQU 33HORG 00HLJMP START ORG 0BHLJMP INT0XSTART: MOV A,#0MOV CONNUM,AMOV A,MIAOLCALL INIT_T0NEXT1: LCALL DISPLAYJB P3.4,NEXT1 / 第一次按键次数判断LCALL DISPLAYJB P3.4NEXT1. 学习帮手 .专业整理 .INC KEYCNTMOV A,KEYCNTCJNE A,#01H,KN1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论