试验报告课程名称:微机原理与接口技术指导老师:齐杭丽刘玉玲_第1页
试验报告课程名称:微机原理与接口技术指导老师:齐杭丽刘玉玲_第2页
试验报告课程名称:微机原理与接口技术指导老师:齐杭丽刘玉玲_第3页
试验报告课程名称:微机原理与接口技术指导老师:齐杭丽刘玉玲_第4页
试验报告课程名称:微机原理与接口技术指导老师:齐杭丽刘玉玲_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、护沪彳象实验报告专业 姓名 学号 日期眼视光学 潘安鹏 30643010122008.11.24课程名称:微机原理与接口技术指导老师:实验名称:硕件实验二一实验类型:设计熨实验目的和要求(必填)主要仪器设备(必填) 实验数据记录和处理讨论、心得实验目的学习80c51内部计数器的使用和编程方法; 进-笔掌握中断处理程序的编写方法; 学习89c51内部定时/计数器的使用方法; 学习计数器各种工作方式的用法;三、五、七、齐杭丽刘玉玲成绩:地点 同组学生姓名: 二、实验内容和原理(必填) 四、操作方法和实验步骤六、实验结果与分析(必填)东 4-6061、2、3、4、5、掌握外部屮断技术的基木使用方法;

2、6、掌握中断处理程序的编写方法;二、实验内容和原理1、编程使第14和58发光二极管循环点亮的时间分别为0.25s、0. 5s. 0. 75s、is。源程序如下:org 0000hljmpstartorg000bh;t0中断向量ljmpt0int;跳入中断处理程序org01 oohpushpsw;保护现场movth0, #3ch;对计数器重新赋值movtlo, #0b0hdjnzr7, exit;r7存放进入中断循环的次数,不是0直接跳出中断incr0;r0加1表示查表查下一个mova, r0movc a, a+dptr ;查表取值存入r7movr7, amova, pl;右移p1,改变二极管的

3、放光状态toint:rr amov pl, adjnzr6,exit;r6不为0则直接跳岀中断movr0,#offh;r6为0后,重置r0,下一次查表时又从第一个开始movr6,#04h;r6用于存放p1右移的次数,实现每4次一个循环exit:poppswretistart:movdptr, #table;将表头地址给dptrmovpl, #77h;p1初值#77h,则1和5亮movr6, #03h;r6用于存放pl右移的次数,实现每4次一个循环movr0, #o0h;r0用于查表的地址修正mova, r0movc a, a+dptr;查表取第一个值movr7, a;r7存放进入中断的次数mo

4、vtmod, #01h;设置工作方式movth0, #3ch;对计数器赋值,实现50ms的定时movtlo, #0b0hmovie, #82h;允许中断setbtro;启动定时器sjmp$table:db05h, 0ah, ofh, 14h;存放定时次数的表,如0ah示50ms*10=0.5s的定时,取出的值赋给r7end程序说明:先用定时器to实现50ms的定时,工作在方式1,初值为th0=#3ch,tl0= #0b0h,然后题目中的 0.25s、0.5s、0.75s、is 就可以用50ms 循环5、10、15、20 次来实现,所以设置存放定时循环次数的表table,内部的值分别是05h,

5、oah, 0fh, 14h,程序开始运行后,通过查表得到定时循环次数存放在r7中,分别实现0.25s、0.5s、 0.75s、is的定吋,每次r7为0吋,右移p1,改变二极管发光状态。用r0用于查表的 地址修正,mov a, r0后再movc a, a+dptr。inc r0表示下次查表查下 一个。r6用于存放p1右移的次数,每四次为一个周期,每4次后r0清零,r6赋值#04h,这样就可以实现循环。2、累计按键次数,保存到内部ram的3011单元。 源程序如下:org oooohljmp startorg 000bhljmp countorg001 ohpushpswinc30h;每进入中断

6、次就让30h内容加1poppswretimov30h, #00h;将30日清零,存放按键次数movtmod, #06h;计数器工作在方式2movtho, #0ffh;对计数器赋值,#0ffh,若再按一次键,movtlo, offhmovie, #82h;允许中断setbtro;启动中断sjmp$start:count:则产生中断end3、采用外部屮断的电平触发方式,编写并运行程序,观察运行结果。记录一次按键动作,进入中断的次数。led bit p1.0ledbuf bit 0count equ 30h;将进入中断次数放入30horg oooohljmp startorg 0003h汐卜部中断向

7、量ljmp interruptorg 0030hinterrupt:push pswinc count ;每次进入屮断对count加1cpl ledbufmov c, ledbufmov led, cpop pswretistart:mov count, #00h ;将技术单元清零clr ledbufclr ledmov tcon, #00h;设置电平触发方式mov ie, #81hsjmp $end三、主要仪器设备计算机,keil软件,实验箱四、实验结果与分析1、编程使第14和58发光二极管循环点亮的时间分别为0.25s、0.5s、0. 75s、is。将pl. 0与8位逻辑电平显示的模块的一

8、只发光二级管相连,程序全速运行时,观察到1和5先亮0. 25s,然后2和6亮05s,接着3和7亮075s,最后是4和8亮is,以此循环,即再是1和5先亮0. 25s, 2和6亮0. 5s2、累计按键次数,保存到内部ram的30h单元。将p3. 4与单次脉冲模块的任意输出端相连,全速运行程序,在memory中输入d:30h,连续按动数次单次脉冲的按键,然后按reset使硬件复位后可在d:30h中看到按键的次数。3、釆用外部中断的电平触发方式,编写并运行程序,观察运行结果。记录一次按键动作,进入中断的次数。将单次脉冲的按键连接到p3. 2引脚,全速运行程序,在memory中输入d:30h,按键- 次,然后按reset使硬件复位后可在d:30h中看到一个较大的值如#47h,这个数记录的是 进入屮断的次数,按键越久,该值越大。为了实现在电平方式也是按一次键,进入中断一次,只需在中断处理程序中加入一句 语句:interrupt:push pswinccountcplledbufmovc, ledbufmovled,cjnbp32,$poppswreti即加深的那句,

温馨提示

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

评论

0/150

提交评论