




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机P1口输入输出及外部中断实验实验目的1、学习P1口的使用方法。2、学习延时子程序的编写和使用。3、熟练在汇编软件环境下编写、修改、调试、和运行硬件程序4、熟悉汇编语言5、学习外部中断技术的基本使用方法。6、学习中断处理程序的编程方法。实验说明1、P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。2、P1.0,P1.1作输入口接两个拨动开关,P1.2,P1.3作输出口,接两个发光二极管,编写程序读取开关状态,将此状态,在发光二极管上显示出来。编程时应注意P1.0,P1.1作为输入口时应先置1,才能正确读入值。3、用单次脉冲申请中断,在中断处理程序中使P1.0的输出状态发生反转,并通过发光二极管观察P1.0的电平。实验仪器计算机伟福软件(lab2000P)实验内容 1、P1口是准双向口。它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口用为输入口时,必须先对它置“1”。若不先对它置“1”,读入的数据是不正确的。 2、8051延时子程序的延时计算问题,计算和估算延时子程序的时间。3、保护进入中断时的状态,并在退出中断之前恢复进入时的状态。4、必须在中断程序中设定是否允许中断重入,即设置EXO位。5、本例中使用了INTO中断,一般中断程序进入时应保护PSW,ACC以及中断程序使用但非其专用的寄存器。本例的中断程序保护了PSW,ACC等三个寄存器并且在退出前恢复了这三个寄存器。另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。思考题 1、改变延时时间,变快或者变慢,观察效果; 2、第2个实验在每个端口增加软件延时,延时时间变快或者变慢,观察拨动开关响应效果; 3、改变流水灯的运行方向; 4、改变流水灯的运行模式,双灯对跑,双灯一起跑。 5、如果LED灯为低电平点亮,如何改动。 6、把实验改为int1中断,需要改动几处,如何改动。 7、把实验改为同时int0和int1中断驱动2个灯,需要改动几处,如何改动。源程序修改原理及其仿真结果流水灯实验1:Loop: mova,#01h movr2,#8Output: movP1,a rla callDelay djnzr2,Output LjmpLoopDelay: movr6,#0 movr7,#0DelayLoop: djnzr6,DelayLoop djnzr7,DelayLoop ret end思考题一:修改延时子程序查指令表可知MOV和DJNZ指令均需用两个机器周期,在6MHz晶振时,一个机器周期时间长度为12/6MHZ,所以上面延时子程序该的执行时间为:(256×255+2)×2×12÷6≈261ms=0.261s用软件仿真将晶振频率设为6MHz时仿真结果为与计算结果基本一致。在ms级别上人眼是无法区别快慢的,所以设计增加延时到s级别以区别于ms,即此延时级别上增加十倍,修改程序如下Delay:movr6,#0movr7,#0movr5,#0Ah ;若效果不明显可以增大倍数DelayLoop:djnzr6,DelayLoopdjnzr7,DelayLoopdjnzr5,DelayLoopretend修改后的仿真结果为实现了秒级别的延时。思考题三:改变流水灯的运行方向修改程序如下:Loop: mova,#01h movr2,#8Output: movP1,a rra ;rl表示左移,rr表示右移,可实现流水灯方向的变换 callDelay djnzr2,Output LjmpLoop思考题四:改变流水灯的运行模式,双灯对跑,双灯一起跑修改为双灯对跑:Loop:movr0,#01hmovr1,#80hmovr2,#4 ;若改为8可以实现相对点亮然后相反点亮的循环Output:mova,r0adda,r1movP1,a ;由于只有a可以实现移位功能,故用r0和r1将数据暂存,然 后分别实现移位后相加移入a再赋值,以实现双灯对跑mova,r0rlamovr0,amova,r1rramovr1,acallDelaydjnzr2,OutputljmpLoopDelay:movr6,#0movr7,#0DelayLoop:djnzr6,DelayLoopdjnzr7,DelayLoopretend软件仿真结果及实验现象描述:;复位后P1口均为高电平;第一次实现r0和r1数据相加赋值 给P1,点亮边沿的两盏灯;实现r0和r1数据的移位以后再次相 加赋值给p1口,实现左右的四盏灯对跑;循环次数为4次,完成后回到点亮边 沿的两盏灯修改为双灯一起跑:Loop: mova,#11h movr2,#8Output: movP1,a rla callDelay djnzr2,Output LjmpLoop软件仿真结果及实验现象描述:复位后P1口都为高电平赋入a的初值,此时0和4灯亮a值左移位再次赋值,此时1和5灯亮, 一下同理流水灯实验2:思考题二:每个端口增加软件延时,延时时间变快或者变慢,观察拨动开关响应效果KeyLeftequP1.0KeyRightequP1.1LedLeftequP1.2LedRightequP1.3SETBKeyLeftSETBKeyRightLoop:MOVC,KeyLeftCall Delay;在读入数据与传送数据间增加延时,观察控制效果MOVLedLeft,CMOVC,KeyRightCall DelayMOVLedright,CLJMPLoopDelay:movr6,#0movr7,#0movr5,#0Ah ;若效果不明显可以增大倍数或者减小倍数DelayLoop:djnzr6,DelayLoopdjnzr7,DelayLoopdjnzr5,DelayLoopretend思考题五:如果LED灯为低电平点亮应如何改动若LED灯为低电平点亮则只需将赋值中的0和1对换,如源程序中的a赋值为01h,然后对它进行移位再赋值,此时就应该改为赋值feh,然后移位时候相当于移的是0信号,让各个口循环出现低电平,以实现点亮LED灯。其他点亮方式同理。思考题六:把实验改为int1中断,需要改动几处,如何改动LEDequP1.0LEDBufequ0ljmpStartorg13h ;13h为中断1的入口地址Interrupt1: ;改为中断1的中断子程序pushPSW;保护现场cplLEDBuf;取反LEDmovc,LEDBufmovLED,cpopPSW;恢复现场retiorg100HStart:clrLEDBufclrLEDmovTCON,#00000100 ;外部中断1下降沿触发movIE,#10000100 ;打开外部中断允许位(EX1)及总中断允许位 (EA)ljmp$end ;硬件接口要改变,单脉冲要接P3.3思考题七:把实验改为同时int0和int1中断驱动2个灯,需要改动几处,如何改动LEDequP1.0LED2equP1.1 LEDBufequ0LEDBuf2equ0 ;增加P1.1灯对应的参数ljmpStartorg3Interrupt0:pushPSW ;保护现场cplLEDBuf ;取反LEDmovc,LEDBufmovLED,cpopPSW ;恢复现场retiorg 13hInterrupt1:pushPSW cplLEDBuf2 movc,LEDBuf2movLED2,cpopPSW reti ;增加INT1中断子程序,使两个中断互不干扰org100HStart:clrLEDBufclrLEDclrLEDBuf2clrLED2movTCON,#00000101 ;外部中断1和中断0下降沿触发movIE,#
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025租赁合同违约金责任认定
- 2025年拆迁安置房买卖合同的法律效力如何
- 2025《合同法学》学习指南与实务作业
- 第4课《灯笼》说课稿 2025-2026学年统编版语文八年级下册
- 3.1 质量与密度 说课稿 -2024-2025学年浙教版科学七年级下册
- 八年级语文上册 第四单元 16《散文二篇》说课稿 新人教版五四制
- 2024-2025学年高中语文 第1单元 向青春举杯(活动体验)单元序列写作(一)激活我们的诗情说课稿 苏教版必修1
- 浙教版七年级科学下册说课稿:4.4月相
- 机械厂噪声投诉处理办法
- 双鸭山事业单位笔试真题2025
- 2025呼和浩特粮油收储有限公司招聘18名工作人员考试参考题库及答案解析
- 新22J01 工程做法图集
- 坎德拉PVsyst使用指南(第四版2020年)
- 艺术涂料施工合同涂料施工合同共
- 部编版七年级数学上册《绝对值》评课稿
- 监控系统维修保养记录表
- 我国上报数据的民营医院医疗数据统计资料
- GB/T 18029.2-2022轮椅车第2部分:电动轮椅车动态稳定性的测定
- JJF 1664-2017温度显示仪校准规范
- GB/T 38997-2020轻小型多旋翼无人机飞行控制与导航系统通用要求
- DISC性格特质分析课件
评论
0/150
提交评论