ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:269.72KB ,
资源ID:4973494      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4973494.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验一用单片机点亮一只发光二极管LED.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验一用单片机点亮一只发光二极管LED.docx

1、实验一用单片机点亮一只发光二极管LED黄 石 理 工 学 院机电工程学院实 验 指 导 书课程名称:单片机原理与接口技术实验学时: 20 学时适用专业: 机械制造及自动化、机械设计与制造、汽车运用技术、 电子仪器仪表与维修模具设计与制造、制冷与冷藏专业先进制造技术实验室2005-3-10实验一 单片机系统及实验开发系统的认识一、实验目的1、了解单片机最小系统。2、了解DVCC仿真系统使用方法3、掌握P1口的输入/输出使用方法4、编程的初步知识二、实验设备DVCC仿真系统一套、计算机一台。三、实验内容1、了解DVCC仿真系统的的部分硬件(8031、74LS373、2764)和基本使用方法。2、了

2、解程序编辑、汇编、修改、连接和运行的过程。3、将P1.0P1.3作为输入接K0K3,P1.4P1.7作为输出接LED0LED3,由K0K3控制LED0LED3的状态。四、实验线路五、实验步骤1、由教师介绍DVCC仿真系统的的部分硬件的实物与作用。2、在教师的指导下编辑、保存下列程序。ORG 0000H ;伪指令ORG,说明机器码存储的首地址LOOP: MOV P1,#0FH ;数据传送指令,将0FH这个数传送到P1中,定义P1.0-P1.3为输入状态。 MOV A, P1 ;将P1.0-P1.3引脚的状态和P1.4-P1.7锁存器的数传送到A中。ANL A,#0FH ;逻辑运算指令,寄存器A中

3、的数与0FH进行“与”运算。JZ OVER ;条件转移指令,若(A)=00H,程序转移到标号OVER处执行SWAP A ;高低字节交换指令, ACC.0-ACC.3与ACC.4-ACC.7交换。MOV P1,A ;将寄存器A中的数传送到P1,并由P1.4-P1.7输出到LED。 SJMP LOOP ;无条件转移指令,程序转移到标号LOOP处执行。OVER: SJMP $ ;无条件转移指令,程序转移到标号OVER处执行,即原地等待。END ;伪指令END,表示程序结束。3、编译、修改、连接上述程序,记录编译过程中提示的错误和修改的方法。常见的错误有:数字0与字母O混淆。MOV P1, #0FH写

4、成MOV P1, #OFH掉了逗号。如MOV A,P1写成MOV A P1 助记符写错。如ANL A,#0FH 写成AML A,#0FH标号后面的冒号掉了。如OVER: SJMP $写成OVER SJMP $标号不一致。如SJMP LOOP写成SJMP LOPEND后面有空行。此时提示“”,修改方法是将光标放在END后面,不断地按“Delete”键。4、打开寄存器窗口、反汇编窗口,记录本程序的机器码,了解单字节指令、双字节指令和三字节指令的含义。5、将K0K3全部置“1”,单步执行本程序,依次将K0K3置“0”,第五次将K0K3全部置“0”,观察程序执行过程中寄存器A、端口P1和LED的变化。

5、了解指令首地址的含义和程序计数器PC的作用,了解是如何改变程序的流程。6、将程序MOV P1,#0FH改为MOV P1,#00H,再编译、连接、执行,观察结果有什么不同。六、整理实验记录并回答下列问题首地址机器码源程序寄存器LED状态(实心圆表示亮)第1次第2次第3次第4次0000H7401LOOP: MOV P1,#0FH(P1)=MOV A, P1(A)=ANL A,#0FH(A)=JZ OVER SWAP A(A)=MOV P1,A(P1)=SJMP LOOPOVER: SJMP $错误形式英文提示中文意义修改方法LOOP: MOV P1,#OFHOFH改为0FHMOV A P1AML

6、A,#0FHSJMP LOPOVER SJMP $END1、什么是51单片机最小系统。系统有哪三类总线?2、程序计数器PC的作用是什么,本实验中哪些指令实现程序的跳转。3、为什么说P1口是准双向I/O口? 4、简述单片机系统的工作过程。实验二 顺序结构程序设计一、实验目的1、顺序程序的编制;2、2、掌握算术运算方法及PSW标志位的变化规律;3、掌握查表程序3、初步了解堆栈的使用方法。二、实验设备DVCC仿真系统一套、计算机一台。三、实验内容1、单步执行程序一,按要求记录指定寄存器的内容。2、将A中的16进制数转换为BCD码。百位数存R3中,十位和个位放在A中。3、查表求09的平方(运行10次,

7、将运行结果填入表中)四、程序清单程序一程序ABCYACOVP标志位变化的原因ORG 0000H00H00H0000系统复位值SETB CMOV A,#49HADDC A,#27HDA ASUBB A,#0A5HADD A,#2DHINC AADDC A,#95HDIV ABMOV B,#08HMUL AB程序二 ORG 0000H MOV A,#0FFH ; (A)=MOV B,#100 ; (B)=DIV AB ; (A)= (B)=MOV R3, A ; (R3)=MOV A,#10 ; (A)= XCH A, B ; (A)= (B)=DIV AB ; (A)= (B)= SWAP A

8、; (A)= (B)= ADD A, B ; (A)= (B)= SJMP $程序三ORG 0000H第一次第三次第九次第十次MOV A,#00H(A)= (SP)=START:PUSH ACC(A)= (SP)= (08H)=(A)= (SP)= (08H)=(A)= (SP)= (08H)=(A)= (SP)= (08H)=MOV DPTR,#TABMOVC A,A+DPTR(A)=(A)=(A)=(A)=POP ACC(A)= (SP)= (08H)=(A)= (SP)= (08H)=(A)= (SP)= (08H)=(A)= (SP)= (08H)=INC A(A)=(A)=(A)=(

9、A)=SJMP STARTTAB:DB 00H,01H,04H,09H,16HDB 25H,36H,49H,64H,81H五、简答1、填写下表(无影响填,有影响填,确定值填1或0)指令POVACCYADDADDCSUBBMULDIVDA AINC、DEC2、简述PUSH、POP指令时堆栈如何变化?程序2为什么要用堆栈?实验三 分支程序与串行I/O口一、实验目的1、掌握比较数据大小的方法;2、掌握查表程序的编制方法;3、了解串行I/O口的用法二、实验设备DVCC仿真系统一套、计算机一台三、实验内容1、X、Y以补码的形式存放在20H、21H中,编写程序实现如下函数: 1 X0Y= 0 X=0 -1

10、 X0 2、K0、K1、K2、K3组成16进制开关,其状态数由串行口输出,且由74LS164转换为并行输出到共阴极LED上显示,试编写程序。四、实验线路 五、实验步骤1、分别用MOV 20H,#00H(80H、79H)运行方法1和2,注意执行CJNE A , #79H,NEG时,CY的变化,熟练掌握该指令的用法2、按实验线路接线,运行程序三,改变K0-K3的组合状态,观察LED的变化。掌握串行口输出的程序编制,熟练掌握指令MOVC A,A+PC在查表中的应用及偏移量的确定。六、程序清单程序一 方法1 MOV 20H,#00HMOV A,20HJZ ZEROJB ACC.7, NEGMOV 21

11、H, #01HSJMP OVERNEG: MOV 21H, #0FFHSJMP OVERZERO: MOV 21H, AOVER: SJMP $ END方法2MOV 20H,#00HMOV A,20HJZ ZEROCJNE A , #79H,NEGNEG: JC POSIMOV 21H, #0FFHSJMP OVERPOSI: MOV 31H, #01HSJMP OVERZERO: MOV 21H, AOVER: SJMP $ END程序二 方法1 ORG 0000H LOOP:MOV P1,#0FH MOV A, P1 ANL A,#0FH ADD A,#06H MOVC A,A+PC MO

12、V SBUF, A JBC TI, $ SJMP LOOP方法2 ORG 0000H LOOP:MOV P1,#0FH MOV A, P1 ANL A,#0FH MOV DPTR, #TAB MOVC A,A+DPTR MOV SBUF, A JBC TI, $ SJMP LOOPTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,7EH七、简答1、简述执行CJNE A , #79H,NEG时,CY的变化2、在程序一中为什么用那么多SJMP OVER指令?3、查表的两个指令是什么。有什么区别?应用指令MOV

13、C A,A+PC时,偏移量是如何确定。4、P3.0、P3.1分别输出什么信号?串行口输出的指令是什么,指令JBC TI, $是什么意思。实验四 循环程序与子程序调用一、实验目的1、掌握子程序的编写方法和调用过程3、2、掌握SJMP、AJMP、LJMP的使用方法3、掌握循环程序的编制二、实验设备DVCC仿真系统一套、计算机一台。三、实验内容1、在外部数据存储器0130H013FH和片内RAM 30H 3FH分别存放数据00H、01H0FH。2、在片内数据存储器20H23H中压缩BCD码拆成单字节BCD码依次存放到28H2FH中。四、实验步骤1、运行以下程序,观察子程序调用的过程,单步执行ACAL

14、L MULTWO后,堆栈有什么变化。单步执行RET后,堆栈又有什么变化。MOV R0,#20HMOV R1,#30HACALL MULTWOSJMP $MULTWO:MOV A,R0 MOV B,R1 MUL AB MOV R0,A MOV R1,B RET2、编释以下程序,记录英文错误提示,改变ORG 0080H,使编译通过,计算SJMP的偏移量ORG 0000H 英文错误提示 正确程序START:MOV A,#20H SJMP NEXT ORG 0080HNEXT: MOV A,#30H SJMP START END编释以下程序,记录英文错误提示,改变两句ORG XXXXH,使编译通过,且

15、两个差值最大。ORG 00F0H 英文错误提示 正确程序START:MOV A,#20H AJMP NEXT ORG 0100HNEXT: MOV A,#30H AJMP START END3、运行程序一、二,注意访问外部RAM和片内RAM指令的区别,观察R0、R1的变化。 五、程序清单程序一 方法1 ORG 0000HMOV P2,#01HMOV R7,#0FHMOV R0,#30HCLR ACLEAR1: MOVX R0,AMOV R0,AINC R0INC ADJNZ R7,CLEAR1SJMP $END方法2 ORG 0000HMOV DPTR,#0130HMOV R7,#0FHMOV

16、 R0,#30HCLR ACLEAR1:MOVX DPTR,AMOV R0,AINC R0INC DPTRINC ADJNZ R7,CLEAR1SJMP $END程序二ORG 0000HMOV R0,#20HMOV R1, #28HMOV R7, #04HLOOP:LCALL CZINC R0INC R1DJNZ R7, LOOPSJMP $CZ:MOV A,R0 PUSH ACC SWAP A ANL A,#0FH MOV R1,A INC R1 POP ACC ANL A,#0FH MOV R1,A RET END六、简答1、SJMP、AJMP和LJMP的区别。2、SJMP偏移量的范围是

17、,以 码的形式存放。计算方法是:rel= - 3、简述子程序调用的过程。实验五 中断方式控制LED一、实验目的1、初步掌握中断的概念2、掌握外部中断的方法3、掌握定时/计数初始化编程方法4、掌握中断服务程序的编制方法二、实验设备DVCC仿真系统一套、计算机一台三、实验内容1、当中断没发生时,8个LED按间隔发光。当P3.3 (INT1)为低电平时, 8个LED整体闪烁16次。2. 在P3.3 (INT1)发生中断后,8个LED整体闪烁16次;P3.2(INT0)中断, 4个LED循环发光16次。门P3.3(INT1)优先中断,观察两个中断顺序不同的结果有什么不同。3、用定时器T0用工作方式1实

18、现P1.0所控制的LED每秒钟闪烁一次。4、5个单脉冲, LED闪烁一次, 用工作方式22、四、实验线路P3.3 、P3.2接K0、K1,P3.4接单脉冲,P1接8个LED。五、实验步骤1、内容一(1)(开关置0立即置1,与开关置0不动有什么区别)(2)将程序中的CLR IT1改为SETB IT1再运行。观察发生中断时与第一次有什么不同。(开关置0立即置1,与开关置0不动有什么区别)(3)在中断服务程序中的PUSH ACC 和POP ACC前面加分号”:”再运行。观察发生中断时与第一次有什么不同。2. 内容二(1)在P3.3 (INT1)发生中断后, P3.2(INT0)立即中断;(2)在P3

19、.2 (INT0)发生中断后, P3.3(INT1)立即中断;(3)在SETB PX1前加分号,再比较一次。3、内容三调节什么参数,使LED每秒钟闪烁一次。4、内容四注意工作方式2的中断服务程序与工作方式0、1的区别。六、程序清单程序一 主程序 ORG 0000H AJMP MAIN ORG 0013H SJMP ZD0 ORG 0020HMAIN:CLR IT1 SETB EA SETB PX1 SETB EX1 MOV A,#0AAHHA1S1: MOV P1,A AJMP HA1S1DELAY:MOV R5,#0FFHDELAY1:MOV R4,#0FFH DJNZ R4,$ DJNZ

20、R5,DELAY1 RETORG 0060HZD0: CLR EA PUSH ACC PUSH 00H SETB EA MOV 00H,#10H MOV A,#0FFHLOOP:MOV P1,A ACALL DELAY CPL A ACALL DELAY DJNZ R0,LOOP CLR EA POP 00H POP ACC SETB EA RETIDELAY: MOV R5,#0FFHDELAY1: MOV R4,#0FFH DJNZ R4,$ DJNZ R5,DELAY1 RET程序二主程序 中断服务程序ZD0同程序一,ZD1如下:ORG 0000H AJMP MAIN ORG 0003H

21、 SJMP ZD0 ORG 0013H SJMP ZD1 ORG 0020HMAIN:SETB IT0 SETB IT1 SETB EA SETB PX0 SETB EX0 SETB EX1 MOV A,#0AAHHA1S1: MOV P1,A AJMP HA1S1ORG 0080HZD1: CLR EA PUSH ACC PUSH 00H SETB EA MOV R0,#10H MOV A,#0FFHLP: MOV P1,A ACALL DELAY CPL A ACALL DELAY DJNZ R0,LP CLR EA POP 00H POP ACC SETB EA RETI程序三ORG 0

22、000H AJMP START ORG 000BH AJMP TIME0 ORG 0030HSTART:CLR P1.0 MOV 30H,#00H MOV TMOD,#01H MOV TH0,# H MOV TL0,# H SETB EA SETB ET0 SETB TR0 SJMP $TIME0:PUSH ACC PUSH PSW INC 30H MOV A,30H CJNE A,#20,T_RET T_L1:CPL P1.0 MOV 30H,#0 T_RET:MOV TH0,# H MOV TL0,# H POP PSW POP ACC RETI END程序四ORG 0000HAJMP S

23、TARTORG 000BHCPL P1.0 RETI ORG 0030HSTART: CLR P1.0 MOV TMOD,#06H MOV TH0,#0FBH MOV TL0,#0FBH SETB IT0 SETB EA SETB ET0SETB TR0 SJMP $ END七、简答 程序一 程序二主程序ORG 0000H AJMP MAIN ORG 0013H SJMP ZD1 ORG 0020HMAIN:CLR IT1 SETB EA SETB PX1 SETB EX1 MOV A,#0AAHHA1S1: MOV P1,A AJMP HA1S1DELAY: MOV R5,#0FFHDELA

24、Y1: MOV R4,#0FFH DJNZ R4,$ DJNZ R5,DELAY1 RET六、结论1、中断的定义,51系列有哪几个中断源,它们的中断入口地址分别是什么2、简述中断的过程。 3、中断优先级由 寄存器控制。4、定时与计数有什么区别?5、T0或T1有哪四种工作方式?其定时常数如何计算?工作方式2在中断服务程序中,为什么不重装时间常数?八、九、十、实验线路十一、程序清单程序一: 程序二: 程序三 ORG 0000HCONT:MOV SP,#53H MOV TMOD,#05H MOV TH0,#00H MOV TL0,#00H SETB TR0CONT1:MOV R2,TH0 MOV R

25、3,TL0 LCALL CONT2 MOV R0,#79H MOV A,R6 LCALL PWOR MOV A,R5 LCALL PWOR MOV A,R4 LCALL PWOR LCALL DISP SJMP CONT1十二、结论实验六 并行接口8255控制交通灯一、实验目的了解8255芯片的结构及编程方法,学习交通灯控制的实现方法二、实验内容用8255做输出口,控制12个发光二极管亮灭,模拟交通灯管理。初始状态0为东西红灯,南北红灯。然后实现状态1-2-3-4-1的循环。状态1:东西绿灯,南北红灯;状态2:东西绿灯灭,黄灯闪烁5次,南北红灯;状态3:东西红灯,南北绿灯;状态4:东西红灯,南

26、北绿灯灭,黄灯闪烁5次。三、实验线路四、实验步骤1、根据设计要求,填写下表状态PB口值东南西北PC口值绿黄红绿黄红绿黄红绿黄红PB0PB1PB2PB3PB4PB5PC0PC1PC2PC3PC4PC5012亮灭34亮灭2、根据设计要求编写程序已知8255各端口地址如下:PA口:0FF28H、PB口:0FF29H、PC口:0FF2AH、命令口:0FF2BH3、调试和运行程序五、实验程序(编写时注意利用程序段的相似性,整段复制)ORG 0000H MOV SP,#60HMOV DPTR,# H;写命令字MOV A,# HMOVX DPTR,AS0:MOV DPTR,# H;PB口状态0MOV A,# HMOVX DPTR,AINC DPTR ;PC口状态0MOV A,# HMOVX DPTR,AMOV 20H,#55HLCALL DELAYS1: MOV DPTR,#

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1