




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机实验报告学号: 姓名: 一、实验目的:1. 实验一的目的:掌握汇编语言设计和调试方法,熟悉键盘操作;2. 实验二的目的:掌握汇编语言设计和调试方法;3. 实验三的目的:进一步掌握汇编语言设计和调试方法。二、实验设备:装有 Keil uVision 的计算机 1 台( 本人用的是装有 Keil uVision2 的 计算机 )三、实验内容:实验一 清零程序1. 实验内容:把 2000H20FFH的内容清零2. 我的流程图、源程序及调试结果:流程图(用 Edraw Mind Map 7.8 制作):源程序:ORG 0000HLJMP STARTORG 0100HSTART: MOV R0,#
2、0FFHMOV DPTR,#2000HMOV A,#00HMAIN: MOVX DPTR,AINC DPTRDJNZ R0,MAINSJMP $END调试结果:将源程序中的 MOV A,#00H改为 MOV A,#0FFH,以便观察上述程序是否能够实现清零 功能。实验二 拆字程序1. 实验内容:把 2000H的内容拆开,高位送 2001H,低位送 2002H,2001H、2002H高位 清零,一般本程序用于把数据送显示缓冲区时用。2. 我的流程图、源程序及调试结果:流程图(用 Edraw Mind Map 7.8 制作):源程序:ORG 0000HLJMP STARTORG 0100HSTAR
3、T: MOV DPTR,#2000HMOV A,#0A3H ;给累加器 A 赋一个值2000H的内容MOVX DPTR,A ; 将累加器 A 中的内容作为 MOV R0,AANL A,#0F0HSWAP AINC DPTRMOVX DPTR,AMOV A,R0ANL A,#0FHINC DPTRMOVX DPTR,ASJMP $END调试结果:实验三拼字程序1. 实验内容:把 2000H、2001H的低位分别送入 2002H高低位,一般本程序用于把显示 缓冲区的数据取出拼装成一字节。2. 我的流程图、源程序及调试结果: 流程图(用 Edraw Mind Map 7.8 制作):源程序:ORG
4、0000HLJMP STARTORG 0100HSTART: MOV DPTR,#2000HMOV A,#0B2H ; 给累加器 A 赋一个值MOVX DPTR,A ; 将累加器 A 中的内容作为 2000H 的内容 ANL A,#0FHSWAP AMOV R0,AINC DPTR给累加器 A 赋一个值将累加器 A 中的内容作为 2001H 的内容MOV A,#0E5H MOVX DPTR,A ANL A,#0FH ORL A,R0 INC DPTRMOVX DPTR,ASJMP $END调试结果:四、实验小结此次实验让我基本掌握了 MOV,X SWAP这两条从未用过的指令的用法,理解了地址
5、高位与低位的含义, 16 位地址与 8 位地址的记法, DPTR作为地址指针的重要作用,并 让我注意到了 DEC比 INC少一种用法,即有 INC DPTR,却没有 DEC DPT。R第二次单片机实验报告学号: 姓名: 一、实验目的:(l )学习 P1口的使用方法 ; (2)学习延时子程序的编写。二、实验必备知识:,必(l )Pl 口为准双向口 ,每一位都可独立地定义为输入或输出,在作输入线使用前 须向锁存器相应位写入“ 1”, 该位才能作为输入。(2)本实验中延时子程序采用指令循环来实现。三、实验设备:装有 Keil uVision 和 STC_ISP的计算机 1 台单片机芯片 1 片单片机
6、综合实验箱 1 个杜邦线若干四、实验内容:P1 口输出口 , 接八只发光二极管 , 编写程序 , 使发光二极管循环点亮。五、我的电路原理图、流程图及源程序:1. 电路原理图: 因为没有用实验室的设备完成实验,所以我用的是自己的计算机和单片机完成实验的。其起作用的部分的电路图如下图用 (Proteus 7.8 绘制)所示:2. 流程图(用 Edraw Mind Map 7.8 制作):3. 源程序:ORG 0000HMOV A,#01111111BJMP STARTORG 0100HSTART: MOV P1,ACALL DEL100msRR A ;将 A 中的内容右移一位,相应地,发光二极管中
7、低电平所处位置左移一位JMP STARTDEL100ms:MOV R7,#250DEL1: MOV R6,#200DEL2: DJNZ R6,DEL2DJNZ R7,DEL1RETEND六、思考:1. 改变延时常数,使发光二极管闪亮时间改变。 答:如下两图所示,将晶振频率和时钟频率均选为 12MHz,则一个机器周期为 1us,执 行一条 DJNZ指令需要两个机器周期, 即 2us.用 R6、R7分别表示其各自存储的立即数, 则上述 DEL100ms的延时子程序所延长的时间 T=2* R6* R7us,故改变 R6、R7中存储的立 即数即可改变延时子程序延长的时间,从而使发光二极管闪亮时间改变。
8、如:将DEL100ms的延时子程序中的 MOV R7,#250改为 MOV R7,#125,则 DEL100ms的延时子程 序延时的时间变为原来 100ms的一半,即 50ms.但立即数的大小有范围, 对于 8 位单片 机而言,其大小不能超过 256,所以若想延长更长的时间,需要在延时程序中多加几个 循环,或同时调用多个延时子程序。Keil uVision2 中的选项对话框Proteus 7.8 中的选项对话框2. 修改程序,使发光二极管闪亮移位方向改变。答:将上述源程序中的 RR A 改为 RL A则可将发光灯泡流动的方向由向左改为向右第三次单片机实验报告学号: 姓名: 一、实验目的:掌握工
9、业顺序控制程序的简单编程 , 中断的使用。二、实验预备知识:在工业控制中 ,象冲压、注塑、轻纺、制瓶等生产过程 , 都是一些 继续生产过程 ,按某种顺序有规律地完成预定的动作 , 对这类继续生产过程的控制称顺 序控制,象注塑机工艺过程大致按“合模注射延时开模产伸产退”顺序动 作, 用单片机最易实现。三、实验设备:装有 Keil uVision 和 STC_ISP的计算机 1 台单片机芯片 1 片单片机综合实验箱 1 个杜邦线若干四、实验内容:由 P1.0 1.6 控制注塑机的七道工序 , 现模拟控制七只发光二极的点亮, 设定每道 工序时间转换为延时, P3.4 为开工启动开关, 低脉冲有效。
10、INT1为外部故障输入模拟, 低电平报警。 P1.7 为报警声音输出。(可设置声光报警)五、我的电路原理图、流程图及源程序:1. 电路原理图: 因为没有用实验室的设备完成实验,所以我用的是自己的计算机和单片机完成实 验的。现在根据题意用 Proteus 7.8 仿真如下,其中, AT89C51的晶振已设置为 12MHz, 蜂鸣器的驱动电压已改为较低的 1V,蜂鸣器的低电平端接红色超亮发光二级光的正极:图一 原理图图二 蜂鸣器的参数2. 流程图(用 Edraw Mind Map 7.8 制作)主程宇保护现场Pl 口初始化抜警芥中新工序恢复现场工字1廷时工字2延时工字2延时工序3廷时工序4廷时工序
11、5廷时工序6廷时工宇7逗时等待中斯3. 源程序:(1)仿真时用的程序,其原理图如图一所示:ORG 0000HJMP STARTORG 0013HJMP INT_1ORG 0100HJMP LIGHTSTART: MOV A,#0FEHMOV R0,#7HSETB IT0SETB EX1SETB EAMOV R1 , #1HHERE: JB P3.4,HERE ;保证只有开工启动开关按下时才执行后续程序LIGHT: MOV P1,A ;按键按下开始工序CALL DELRL ADJNZ R0,LIGHTMOV P1,#0FFHJMP $ ; 等待中断INT_1: PUSH PSW; 中断工序并声光
12、报警PUSH ACCMOV P1,#7FHPOP ACCPOP PSWRETIDEL: MOV R7,#25 ; 延时 1sDEL1: MOV R6,#200DEL2: MOV R5,#100DEL3: DJNZ R5,DEL3DJNZ R6,DEL2DJNZ R7,DEL1RETEND(2)做实验时用的程序 (此程序是在以前写作业和自己训练时编写的程序上改编而成,因而不太简洁),其原理图未画出,但注释中已解释得很明白:ORG 0000HJMP STARTORG 0013HJMP KEY1ORG 0100HJMP MAINSTART: SETB IT0SETB EX1SETB EAMOV A,
13、#0FEHHERE: JB P3.4,HERE ; 保证只有开工启动开关按下时才执行后续程序MOV R3,#7HMAIN: MOV R1,#248 ; 可与下一条语句及延时程序搭配,使2ms的延时程序变为延时 1s 的程序MOV R2,#2LIGHT: MOV P1,A ; 按键按下开始工序CALL DELDJNZ R1,LIGHTMOV R1,#248DJNZ R2,LIGHTRL ADJNZ R3,MAINMOV P1,#0FFHJMP $; 等待中断KEY1: PUSH PSWPUSH ACCMOV P1,#7FH ; 中断工序,光报警 , 我用的单片机的 P1 口全都接了发光二极管CL
14、R P2.3 ; 声报警。我用的单片机的 P2.3 接的是蜂鸣器,低电平有效POP ACCPOP PSWRETIDEL: MOV R7,#25 ; 延时 2msDEL1: MOV R6,#40DEL2: DJNZ R6,DEL2DJNZ R7,DEL1RETEND六、思考:若报警解除后,工序需从头开始等待开机信号,如何编程? 答:加一个标志来表明是否是刚从中断中退出来,然后设置一个分支程序即可(由于 RETI 不同于 RET,所以没有简单地将 RETI换成相应的 JMP指令跳转到程序的起始处) 如下(在仿真时用的程序上加了三条指令):ORG 0000HJMP STARTORG 0013HJMP INT_1ORG 0100HJMP LIGHTSTART: MOV A,#0FEHMOV R0,#7HSETB IT0SETB EX1SETB EAMOV R1,#1H ; 此处为添加的第一条语句 HERE: JB P3.4,HERE LIGHT: MOV P1,ACALL DELRL ACJNE R1,#1H,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 桩基冬季施工方案
- 农业项目资金筹措方案
- 汽车行业基础知识
- 大理石楼地面施工方案
- 红砖建筑加固施工方案
- 2025年非调质钢项目发展计划
- 山东省滨州市邹平市2024-2025学年七年级上学期期末考试数学试卷(原卷版+解析版)
- 非机动车棚工程施工方案
- 随州钢结构农村房施工方案
- 沂源公路标志牌施工方案
- 人文社科书籍《中国在梁庄》
- 2025年上海市中考语文备考之记叙文十大考点梳理(附模考练习及参考答案)
- 第12课 结交朋友-初识人工智能(教学设计)2023-2024学年第四册信息技术河大版(三起)
- 校园餐专项整治行动工作方案
- RB/T 223-2023国产化检测仪器设备验证评价指南气相色谱仪
- DB3417-T 031-2024 学校食堂场所布局设置规范
- FANUC机器人培训教程(完成版)
- 《孤独症谱系障碍:家长及专业人员指南》笔记
- 2024年全国职业院校技能大赛高职组(检验检疫技术赛项)考试题库(含答案)
- 博士后研究报告(出站)
- 2024年单招考试题
评论
0/150
提交评论