




免费预览已结束,剩余28页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重 庆 交 通 大 学学生实验报告实验课程名称 微机原理与接口技术B 开课实验室 机电自动控制实验室 学 院 年级 专业班 学 生 姓 名 学 号 开 课 时 间 2017 至 2018 学年第 1 学期总 成 绩教师签名蒙志强注:实验成果考核方式采用非实验报告形式的,可自行制定实验二 Protues软件使用一.实验目的:掌握单片机仿真软件。二.实验器材:PC 机一台三.实验内容:任务A:闪烁灯1、任务要求:如图2.1所示,在 P1.0 端口上接一个发光二极管 D1,使 D1 在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。2、电路原理图:图2.1电路原理图任务B:模拟开关灯1、任务要求:如图2.2所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。2、电路原理图: 图2.2电路原理图任务C:多路开关状态指示1、任务要求:如图2.3所示,AT89S51单片机的P1.0P1.3接四个发光二极管L1L4,P1.4P1.7接了四个开关K1K4,编程将开关的状态反映到发光二极管上。(开关闭合,对应的灯亮,开关断开,对应的灯灭)。 2、电路原理图:图2.3电路原理图四.实验代码:任务A:ORG 0/起始地址为00HSTART: CLR P1.0 /p1.0置零,开关灯亮LCALL DELAY /延时0.2sSETB P1.0 /p1.0置1,开关灭LCALL DELAY /延时0.2sLJMP START /主程序为死循环DELAY: MOV R5,#20 /延时子程序,延时0.2秒D1: MOV R6,#20 /赋值R6为20D2: MOV R7,#248/赋值R7为248DJNZ R7,$ DJNZ R6,D2DJNZ R5,D1RET /子程序返回END/程序结束任务B:ORG 00HSTART: 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 ARR ARR AORl A,#0F0H /或命令MOV P1,A/把A的值赋给p1口SJMP START/跳转至主程序END/程序结束五.实验结果:任务A仿真结果实验结果实现了P1.0接的发光二极管一亮一灭。任务B仿真结果实验结果实现了P3.0接的开关控制p1.0接的发光二极管的亮灭。任务C仿真结果实验结果实现了p1.0-p1.3接的开关分别控制p1.4-p1.7接的发光二极管的亮灭。六.实验调试分析这次是第一次微机实验,对于理论课并没有学得很好的我,其实是对这次实验是充满期待的,希望能在试验中恍然大悟理论课所讲的内容。这节课主要讲的是编程软件和仿真软件,让我初步感受到了单片机的神奇,可以通过不同的接口和元器件实现多种功能。虽然课上没有把软件完全熟练,但课后仔细琢磨了一下,达到了基本可以独立操作的水平。实验三 p1口亮灯实验一.实验目的通过实验了解单片机最小系统;掌握P1口作为输入输出方式使用时,CPU 对P1口的操作方法。二.实验器材PC机一台 单片机开发板一台三.实验内容1、任务要求:任务1:任务1:在P1.0端口上接一个发光二极管D1任务2:在P1.0端口上接一个发光二极管D1,使D1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。任务3:在P1.3端口上接一个发光二极管D4,使D4在不停地一亮一灭,一亮一灭的时间间隔为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、实验电路图(参考开发板原理图):四.实验代码:任务1:ORG 0START: CLR P1.0 /置零LJMP START/跳转至主程序END/程序结束任务2:ORG 0START: CLR P1.0 /置零LCALL DELAY/无条件转移至延时子程序SETB P1.0/将p1.0口置为高电平LCALL DELAY/无条件转移至延时子程序LJMP START/跳转至主程序DELAY: MOV R5,#20 /延时子程序,延时0.2秒D1: MOV R6,#20/赋值R6为20D2: MOV R7,#248/赋值R7为248DJNZ R7,$ DJNZ R6,D2DJNZ R5,D1RET/子程序返回END/程序结束任务3:ORG 0START: CLR P1.0 LCALL DELAYSETB P1.0LCALL DELAYLJMP STARTDELAY: 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 /开关未按下,把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 START2LIG2:SETB P1.4SJMP START3START3:JB P3.6,LIG3CLR P1.5SJMP START3LIG3:SETB P1.5SJMP START4START4:JB P3.7,LIG4CLR P1.6SJMP START4LIG4:SETB P1.6SJMP START1END五.实验结果:六.实验调试分析这是我第一次到土木楼上课,也是第一次操作单片机。很多同学很快就完成了试验任务,可能是对软件的熟悉程度不够,我比别人多用了一些时间,但最终完成了实验要求,有一点小小的成就感。实验四 数码管显示实验一.实验目的1、掌握单片机数码管显示原理。2、编程实现数码管的动态、静态显示。二.实验器材PC机一台 单片机开发板一套三.实验内容1、任务要求:任务一:查看开发板上电路图,6个数码管同时循环显示09数字,时间间隔0.2秒。(静态显示)任务二:编写程序使右边第一个数码管显示6 (自己编写代码)任务三:查看开发板电路图,用右边两个数码管显示自己学号最后两位。(自己编写代码)2、实验电路图(参考开发板原理图):四.实验代码:任务一:ORG 0START:CLR P2.7 /数码管位选(关闭) CLR P2.6 /数码管段选 (关闭) MOV A,#00H /数码管静态显示(6个数码都显示一样的数字)LCALL DELAY /跳转至延时程序MOV P0,A/将A的值赋给p0口SETB P2.7/开启数码管位选LCALL DELAY/调用延时程序 CLR P2.7/关闭数码管位选 MOV R1,#00H/将R1赋值为0NEXT:MOV A,R1MOV DPTR,#TABLE /把表d收地址赋值给dptrMOVC 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,D2RETTABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH/0,1,2,3,4,5,6,7,8,9END任务二:START:CLR P2.7CLR P2.6 MOV A,#0FEH MOV P0,ASETB P2.7CLR P2.7 NEXT:MOV P0,#7DHSETB P2.6END任务三:START: CLR P2.7 CLR P2.6 MOV A,#0FeH MOV P0,A SETB P2.7 CLR P2.7NEXT:MOV P0,#06HSETB P2.6LCALL DELAYCLR P2.6MOV P0,#00HLJMP START1START1: CLR P2.6 CLR 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五.实验结果:任务一:任务二:任务三:六.实验调试分析实验越到后面,要求就越来越独立了,程序也越来越难。尽管我努力想要跟上同学的脚步,任然被别人狠狠地甩在后面,留下很多内容没有完成。回到寝室后,用了很长时间请教同学,大概还是完成了试验任务。实验五 定时器中断实验一.实验目的掌握51单片机定时器编程方法掌握51单片机中断编程方法二.实验器材PC机一台 单片机开发板一套三.实验内容1、任务要求:任务1:用单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加1,秒计数到60时,自动从0开始。并用两位数码显示。( 中断法)任务:2:用定时器0的方式1实现第一个发光二极管以200ms间隔闪烁。(查询法、中断方式两种方式编程)四.实验代码: INC CONNUM /计数值加一任务一:DULAEQU P2.6 /p2.6为数码管段选位 WELAEQU P2.7 /p2.7为数码管段选位CONNUMEQU 30H /定义了一个技术变量 MIAO EQU 31H /数码管要显示的数字SHIWEI EQU 32H/定义了一个十位的变量GEWEI EQU 33H/定义了一个个位的变量ORG 00HLJMP START/跳转至主程序ORG 0BH /定时器0入口地址LJMP INT0X /跳转到中断服务程序START:MOV A,#0/将累加器A置0MOV CONNUM,A /计时器清零MOV A,MIAO/将miao的置送入ALCALL INIT_T0/跳转至子程序INIT_T0 NEXT1: LCALL DISPLAY /跳转到数码管显示程序SJMP NEXT1 /循环INIT_T0: MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H /初始化TMOD,TH0,TL0 SETB EA /开cpu中断 SETB ET0 /开定时器0中断 SETB TR0 /定时开始 RET/子程序返回INT0X: MOV TH0,#03CHMOV TL0,#0B0H /重装 MOV A,CONNUM CJNE A,#20,NEXT2 /和20比较,不相等跳转到中断服务程序 MOV CONNUM,#0 INC MIAO /显示d数值加一 MOV A ,MIAO CJNE A,#60,NEXT2/和60比较,不相等跳转至中断服务程序 MOV MIAO ,00H /计数到60,把秒数清零NEXT2: RETI RETDELAY: MOV R1,#2 /延时子程序DELAY3: MOV R2,#248 DJNZ R2,$ DJNZ R1,DELAY3 RET /延时程序DISPLAY:/显示百十个位 CLR DULA/清零 CLR WELA/清零 MOV A,MIAO MOV B,#10/赋值B为10 DIV AB /a保存十位,b保存个位 MOV SHIWEI ,A MOV A,B MOV GEWEI,A SETB WELA/将WELA置为高电平 MOV A,0XFE /选择要显示那个数码管 MOV P0,A CLR WELA /位选 SETB DULA MOV A,GEWEI MOV DPTR,#TABLE/DPTR指向TABLE的首位 MOVC A,A+DPTR/指针后移选择指定对象 MOV P0,A CLR DULA /段选 LCALL DELAY /延时 SETB WELA MOV A,0XFD MOV P0,A CLR WELA SETB DULA MOV A,SHIWEI MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A CLR DULA LCALL DELAY / RET TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH/0,1,2,3,4,5,6,7,8,9END/程序结束任务二(中断法):CONNUM EQU 30HORG 00HLJMP STARTORG 0BHLJMP INT0XSTART: MOV A,#0 MOV CONNUM,ALCALL INIT_T0NEXT1: SJMP NEXT1INIT_T0:MOV TMOD,#0X01MOV TH0,#(65536-50000) / 256MOV TL0,#(65536-50000) MOD 256SETB EASETB ET0SETB TR0RETINT0X: MOV TH0,#(65536-50000) / 256MOV TL0,#(65536-50000) MOD 256INC CONNUMMOV A,CONNUMCJNE A,#4,NEXT2MOV CONNUM,#0CPL P1.6NEXT2: RETIEND实验任务二(查询法):CONNUM EQU 40HORG 00HSJMP STARTORG 30HSTART:MOV TMOD,#0X01MOV TH0,#(65536-50000) / 256MOV TL0,#(65536-50000) / 256CLR 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五.实验结果:任务一:任务二:查询法中断法六.实验调试分析这是我理论课最没有学懂的部分,因为上次没完成实验任务,这次还有点小担心。事实证明我的担心不是多余的,第一个任务就花去大半节课的时间,第二个任务做到一半,又留给了课后时间,心里的挫败感油然而生。实验六 A/D、D/A转换实验一.实验目的掌握AD,DA转换原理及编程方法二.实验器材PC机一台 单片机开发板一套三.实验内容1、任务要求:任务1:用单片机控制DAC0832芯片输出电流,让发光二级管D10由灭均匀变到最亮,再由最亮均匀熄灭。(直通方式)任务2:用单片机控制DAC0832芯片输出电流,控制二极管D1D8灯亮与熄灭。(直通方式)(自己编写程序)任务3:用单片机控制ADC0804进行数模转换,当拧动实验板上A/D旁边的电位时,在数码管的前三位以十进制方式显示出A/D转换后的数字量(8位A/D转换后数值在0255变化)。2、电路原理图:四.实验代码:任务1 : MS EQU 30H CSDA EQU P3.2 W EQU P3.6 WELA EQU P2.7 DULA EQU P2.6 ORG 00H START: CLR WELA CLR DULA MOV MS,#0 CLR CSDA CLR W NEXT: INC MS MOV A,MS MOV P0,A LCALL DELAY CJNE A,#255,NEXT1SJMP NEXT2NEXT2:DEC MSMOV A,MSMOV P0,ALCALL DELAYCJNE A,#0,NEXT2SJMP NEXT1DELAY: MOV R6,#20D2: MOV R7,#248DJNZ R7,$ DJNZ R6,D2 RET END任务三:DULAEQU P2.6 WELAEQU P2.7 CSADEQU P2.4 RDADEQU P3.7 WRADEQU P3.6CONNUMEQU 30HGEWEI EQU 31HSHIWEI EQU 32HBAIWEI EQU 33HSTART:MOV A,#0MOV CONNUM,ALCALL AD_INITNEXT1: LCALL AD_START LCALL DELAY LCALL AD_READ LCALL DELAY LCALL DISPLAY SJMP NEXT1AD_INIT: /初始化ADCLR CSAD RETAD_START: /启动ADSETB WRADCLR WRADSETB WRAD RETDELAY: MOV R1,#2DELAY3: MOV R2,#248 DJNZ R2,$ DJNZ R1,DELAY3 RET AD_READ: /读AD转换结果 SETB RDAD CLR RDAD LCALL DELAY MOV A,P1 MOV CONNUM,A SETB RDADRETDISPLAY:/显示百十个位 CLR DULA CLR WELA MOV A,CONNUM MOV B,#100 DIV AB MOV BAIWEI ,A MOV A,B MOV B,#10 DIV AB MOV SHIWEI,A MOV A,B MOV GEWEI,A SETB WELA MOV A,0XFE MOV P0,A CLR WELA SETB DULA MOV A,GEWEI MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A CLR DULA LCALL DELAY SETB WELA MOV A,0XFD MOV P0,A CLR WELA SETB DULA MOV A,SHIWEI MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A CLR DULA LCALL DELAY SETB WELA MOV A,0XFB MOV P0,A CLR WELA SETB DULA MOV A,BAIWEI MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A CLR DULA LCALL DELAY / RET TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND五.实验结果:任务一:实现了d10灯,由暗慢慢变亮,再由亮慢慢变暗的过程任务三:轻轻转动实验板上A/D旁边的电位时后三位显数板的数值发生变化六.实验调试分析这节课还没开始,老师就说这次实验很简单,我依然没有丝毫的高兴,因为前两次实验我都没有在课堂上顺利完成,我对微机课产生了恐惧感。当实验正式开始时,我依然对自己没有信心。10来分钟的时候就陆续有同学做完,我不是很早做完的,但也不晚。成功完成实验,我真的特别高兴。实验七 电子秒表设计一.实验目的掌握单片机开发系统的流程,掌握按键识别、数码管显示、中断定时器综合运用二.实验器材PC机一台 单片机开发板一套三.实验内容任务要求:1、开始时,显示“00”,第1次按下S1(P3.4)后就开始计时。2、第2次按S1后,计时停止。3、第3次按S1后,计时归零。4、两位数码管显示0-99秒设计要求使用定时器、中断、数码管设计四.实验代码:DULAEQU P2.6 WELAEQU P2.7CONNUMEQU 30H MIAO EQU 31HSHIWEI EQU 32HGEWEI EQU 33HORG 00HLJMP STARTORG 0BHLJMP INT0XSTART:MOV A,#0MOV CONNUM,AMOV A,MIAOLCALL INIT_T0 NEXT1: LCALL DISPLAYJB P3.4,NEXT1 /第一次按键次数判断 LCALL DISPLAY JB P3.4NEXT1 INC KEYCNT MOV A,KEYCNT CJNE A,#01H,KN1 SETB TR0 LJMP DKNKN1: CJNE A,#02H,KN2 CLR TRO LJMP DKNKN2:CJNE A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年东莞小学考试真题及答案
- 2025年高校管理岗题库及答案
- 农用薄膜生产线项目节能评估报告
- 体育中心体育馆幕墙工程专项施工组织设计
- 离婚后共同财产人寿保险权益分割与理赔协议
- 休闲娱乐商业街租赁合同范本及娱乐项目运营管理
- 硅石开采与环保产业合作及矿山安全生产合同
- 离婚补充协议:孩子抚养费及临时救助金支付合同
- 旅游企业主体变更及旅游服务人员劳动合同协议
- 离婚协议民族法适用与离婚纠纷调解合同
- 洗车机施工方案
- 建筑施工项目管理平台使用指南
- 工程弃土处置方案(3篇)
- 全球低空经济2025年技术规范与实施白皮书
- 老年人安全防范措施课件
- 民法典买租赁合同课件
- 水泵房巡检流程培训课件
- 东海证券面试题及答案
- (2025年标准)夫妻之间复婚协议书
- 基本药物制度补助资金管理办法
- 2025年建筑工地安全培训考试题库试题及答案
评论
0/150
提交评论