单片机原理及应用实验_第1页
单片机原理及应用实验_第2页
单片机原理及应用实验_第3页
单片机原理及应用实验_第4页
单片机原理及应用实验_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、实验一Dais-52FD仿真开发系统的使用练习1、 实验目的:(l)熟悉实验Daid-52FD实验箱的基本结构和使用方法;(2)熟悉MCS-51软件集成开发环境的使用方法; (3)掌握存储器的扩展方法; (4)掌握汇编语言设计和调试方法。2、 实验设备及器件:微机一台,Daid-52FD实验箱3、 实验内容: 把外部SRAM芯片6264的200020FFH数据存储器单元的内容清零。4、 实验电路:SRAM芯片6264与单片机的连线如下图所示。5、 实验步骤:(1) 熟悉了实验箱和集成开发环境的基本使用方法(2) 将存储器单元的D0D7总线接口用8芯排线或8芯扁平线与数据总线单元D0D7的任一接

2、口相连(3) 存储器单元的A0A7地址接口与地址总线单元(低8)A0A7的任一接口相连,存储器单元的A8A12地址接口与地址总线单元(高8)A8A12的任一接口相连。(4) 存储器单元的WE/PGM插孔与六位LED左下方的WR或IOWR插孔相连。(5) 存储器单元的CS1插孔连到六位LED右下方的A15插孔。(6) 存储器单元的OE插孔连到六位LED左下方的RD或IORD插孔。(7) 按照以下内容建立源文件。;文件名:EX01.asm ORG 0000H LJMP SE01ORG 0060HSE01: MOV R0,#00H MOV A,#00H MOV DPTR,#2000H ;2000H送

3、DPTRLOO1: MOVX DPTR,A ;A送(DPTR) INC DPTR ;DPTR+1 INC R0 ;字节数加1 CJNE R0,#00H,LOO1 ;不到FF个字节再清LOOP: SJMP LOOP END (8) 对源程序进行编译,调试,手动单步或自动单步运行,检查存储器200020FFH单元的变化情况,要求将程序运行前和运行后的存储器200020FFH单元的图截下来进行比较,作为实验结果。(9) 确认源程序编译,调试正常后,产生HEX文件。6思考题:若要存储器200020FFH单元的内容都改为FFH,应如何修改程序?注意:1.在E盘以自己的名字建立一个工作目录,用字母,不得用

4、汉字,不超过8个字符;源文件命名也不得使用汉字,不超过8个字符;所有源程序必须在英文输入法状态下输入,否则编译会出错! 说明:接线图中,只有粗实线需要连,其它线实验箱内均已连好。预习报告,实验报告格式1. 实验是理工科专业必不可少的一个教学环节,是提高学生实践动手能力,巩固基础理论知识的一个重要途径,所有学生必须端正学习态度,认真对待,按照实验的基本要求做好每一个环节。2. 实验前必须按要求预习,并按指定格式写好预习报告,做实验前,预习报告交指导老师检查,经老师签字认可后方可进行实验,未写预习报告的同学不得进行实验。预习报告格式如下:1) 实验目的2) 实验内容3) 实验仪器4) 实验原理(接

5、口实验应包含原理接线图)5) 实验源程序3. 做实验时要认真对待,不得做与实验无关的事情,比如,聊天,玩游戏,接听手机等;不可以在实验室吃东西,要求保持环境卫生。4. 实验接线时必须先关电源,不可带电插、接线;实验完成后必须经指导老师验收确认。然后应整理好导线并归还,把实验仪器恢复成实验前状态,保持实验台整洁,方可离开。5. 实验完成后,应按指定格式及时写好实验报告6. 实验报告实验完成后,必须按要求写出实验报告,应包含以下内容:实验目的实验内容实验仪器实验原理(接口实验应包含原理接线图)实验步骤实验源程序实验结果(或现象)实验总结:对实验结果或现象的分析,自己的收获或体会等。 实验二P1口亮

6、灯实验1、 实验目的:(l)熟悉实验平台的使用方法,包括硬件平台和软件平台(2)学习P1口的使用方法; (3)学习延时子程序的编写。2、 实验预备知识: (l),Pl口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。(2),本实验中延时子程序采用指令循环来实现,机器周期(12/6MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。3、 实验内容:P1口输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。4、实验程序框图:5、 实验接线图:6、 实验步骤: (1) P1.0P1.7用插针连至L1L8(

7、2) 仿真运行程序后,观察发光二极管闪亮移位情况。7、 思考:(1)改变延时常数,使发光二极管闪亮时间改变。(2) 修改程序,使发光二极管闪亮移位方向改变。8、 参考程序清单 ORG 0000H LJMP SE18 ORG 0790HSE18: MOV P1,#0FFH ;送P1口LO34: MOV A,#0FEH ;L1发光二极管点亮LO33: MOV P1,A LCALL SE19 ;延时 RL A ;左移位 SJMP LO33;循环;*延时子程序*SE19: MOV R5,#20 LO37: MOV R6,#200LO36: MOV R7,#125LO35: DJNZ R7,LO35 D

8、JNZ R6,LO36 ;延时 DJNZ R5,LO37RETEND 实验三Dais-52FD仿真开发系统的使用练习1,实验目的:掌握P3口、P1口简单使用。2,实验内容:P3.3口输入一脉冲,PI口按16进制加一方式点亮发光二极管。3,实验程序框图:4, 实验接线图:5,实验步骤:P3.3用接针连至K1 ,P1.0P1.7插针连至L1L8,K1来回拨动一次,L1L8发光二极管按16进制方式加一点亮。6,思考:修改程序,使发光二极管左移方式点亮。7,参考程序清单: ORG 0000H LJMP J100 ORG 0810HJ100: MOV A,#00HJ101: JB P3.3,J101 M

9、OV R2,#10H LCALL DELY ;延时消除抖动 JB P3.3,J101 ;P3.3电平为低吗?J102: JNB P3.3,J102 MOV R2,#10H LCALL DELY JNB P3.3,J102 ;P3.3电平为高吗? INC A ;加1 PUSH ACC CPL A ;取反 MOV P1,A ;驱动发光二极管 POP ACC AJMP J101 ;循环;*延时子程序*DELY: PUSH 02HDEL2: PUSH 02HDEL3: PUSH 02HDEL4: DJNZ R2,DEL4 ;延时 POP 02H DJNZ R2,DEL2 POP 02H DJNZ R2

10、,DEL3 POP 02H DJNZ R2,DELY RET END实验四多分支程序设计1, 实验目的:a. 掌握多分支程序的编程方法,及在仿真环境下程序的调试方法;b. 掌握LED显示器的工作原理,控制方法及编程方法,显示电路见附件。2,实验内容:编写程序,根据送入的数据转移运行。3,实验程序框图如右:4,实验步骤:在20H中分次送入00,01,02,03,每次运行程序后,观察数码管上数字循环情况。20H单元数据的修改在仿真环境下通过存储器窗口来修改。特别提示:运行前,必须先给20H单元送数,数码管才会正常显示,否则程序可能跑飞。5,程序清单ORG 0000HLJMP MEMSORG 006

11、0HMEMS: MOV A,20H MOV DPTR,#KKKK ;散转首址 RL A ;(20)*2 JMP A+DPTR ;转到(20)*2+DPTRKKKK: AJMP MEMSP0 AJMP MEMSP1 AJMP MEMSP2 SJMP MEMSP3MEMSP0: MOV 20H,#0C0H ;0字循环 LJMP SOX0MEMSP1: MOV 20H,#0F9H ;1字循环 LJMP SOX0MEMSP2: MOV 20H,#0A4H ;2字循环 LJMP SOX0MEMSP3: MOV 20H,#0B0H ;3字循环 LJMP SOX0;-SOX0: MOV A,20H MOV

12、R0,#0DCH ;字形口 MOV R1,#0DDH ;字位口 MOVX R0,A ;往字形口送段码 MOV A,#01H ;字位码SOX1: MOVX R1,A ;往字位口送字位码 MOV R2,#20H LCALL DELY ;调用延时子程序 RL A ;左移 SJMP SOX1;-延时子程序DELY: PUSH 02HDEL2: PUSH 02HDEL3: PUSH 02H ;延时DEL4: DJNZ R2,DEL4 POP 02H DJNZ R2,DEL3 POP 02H DJNZ R2,DEL2 POP 02H DJNZ R2,DELY RET;- END附件(LED显示电路):LE

13、D显示采用动态显示方式,原理见教材。共阳极段码送字形口,字位码送字位口(1电平选通)。09共阳极段码:0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H思考题:在20H中分次送入00,01,02, ,09,每次运行程序后,使数码管上循环显示对应的数字,应如何修改程序?实验五 脉冲计数实验(定时/计数器实验)1, 实验目的:熟悉单片机内部定时/计数器功能,掌握初始化编程方法。2, 实验内容:把定时器0外部输入的脉冲进行计数,并送显示器显示3, 实验程序框图:4, 实验接线如右图:5, 实验步骤:用插针把8MHZ插孔和T插孔连接,P3.4 依次接T0T7或单脉

14、冲输出孔,执行程序,观察数码管上计数脉冲的速度及个数。7, 程序清单(文件名:timer.asm): ;脉冲计数(定时计数器实验)ORG 0000HLJMP SE15 ORG 0060HSE15: MOV SP,#53H MOV TMOD,#05H MOV TH0,#00H MOV TL0,#00H ;定时计数器初始化 SETB TR0 ;开计数器LO29: MOV R2,TH0 MOV R3,TL0 ;取出TH0.TL0内容 LCALL ZOY0 ;二转十进制 MOV R0,#79H MOV A,R6 LCALL PTDS MOV A,R5 LCALL PTDS MOV A,R4 LCALL

15、 PTDS ;送显示缓冲区 LCALL SSEE ;显示 SJMP LO29 ;循环计数.显示ZOY0: CLR A MOV R4,A MOV R5,A MOV R6,A ;0送R4 R5 R6 MOV R7,#10HLO30: CLR C ;R2 R3左移.移出的 MOV A,R3 ;最高位送CY RLC A MOV R3,A MOV A,R2 RLC A MOV R2,A MOV A,R6 ADDC A,R6 ;(R4 R5 R6)*2+CY送R4 R5 R6 DA A ;十进制调整 MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 AD

16、DC A,R4 DA A MOV R4,A DJNZ R7,LO30 ;循环16次 RET;-PTDS: MOV R1,A ;拆送显示缓冲区 ACALL PTDS1 MOV A,R1 SWAP APTDS1: ANL A,#0FH MOV R0,A INC R0 RET;-SSEE: SETB RS1 ;换工作区 MOV R5,#05HSSE2: MOV 30H,#20H MOV 31H,#7EH MOV R7,#06HSSE1: MOV R1,#0DDH MOV A,30H MOVX R1,A ;字位送入 MOV R0,31H MOV A,R0 MOV DPTR,#DDFF MOVC A,A

17、+DPTR ;取字形代码 MOV R1,#0DCH MOVX R1,A ;字形送入 MOV A,30H ;右移 RR A MOV 30H,A DEC 31H MOV A,#0FFH MOVX R1,A ;关显示 DJNZ R7,SSE1 ;6位显示完了吗? DJNZ R5,SSE2 ;5次显示完了吗? CLR RS1 RET;-DDFF: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH;- END实验六A/D转换实验1,实验目的:(1)掌握A/D转换与单

18、片机接口的方法; (2)了解A/D芯片0809转换性能及编程方法;(3)通过实验了解单片机如何进行数据采集。 以上内容请参阅教材,作实验前请先预习有关知识2,实验内容:利用实验系统上的0809做A/D转换器,实验系统上的电位器提供模拟量输入,编制程序,将模拟量转换成数字,通过数码管显示出来。3,实验说明A/D转换器大致分有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/D转换器,精度、速度、价格适中;三是并行A/D转换器,速度快,价格也昂贵。实验用ADC0809属第二类,是8位A/D转换器。每采集一次一般需100s。由于ADC0809 A/D转换器

19、转换结束后会自动产生EOC信号(高电平有效),取反后将其与8031的INT0相连,可以用中断方式读取A/D转换结果。4.实验接线图:5,实验程序框图: 6,实验步骤:1). 138译码电路连接:输入端A.B.C,其中A与A2相连,B与A3相连,C与A4相连,138使能控制输入端G与GS相连。2). 02门电路连接:第1脚与模数转换单元的SC/ALE相连,第2脚与138译码单元的Y0相连,第3脚与控制总线单元的IOW相连,第4脚与模数转换单元的OE相连,第5脚与控制总线单元的IOR相连,第6脚与138译码单元的Y0相连。3). 将模数转换单元的CLK与控制总线单元的ALE相连、IN0与05V模拟

20、电压电位器W1相连。4). 用8芯扁平电缆将A/D 0809的D0D7(位于下方的锁存输出单元)与数据总线单元的D0D7相连。连续运行程序,LED显示器右边二位显示当前采集的电压值转换后的数字量,调节W1,LED的内容将随着电压变化而相应变化,LED以十六进制方式对应显示数字量。7,思考:修改程序,用其它通道轮流采样显示。8,程序清单: ;= A/D转换实验 = ORG 0000H LJMP SE11 ORG 0060HSE11: MOV SP,#53H MOV 7EH,#00H MOV 7DH,#08H MOV 7CH,#00H MOV 7BH,#09H MOV 7AH,#10H MOV 7

21、9H,#10H ;显示缓冲区初值LO18: CALL DIS ;显示 MOV A,#00H MOV DPTR,#0FFE0H MOVX DPTR,A ;0809的0通道采样 CALL DIS;SSEE MOVX A,DPTR ;取出采样值 MOV R0,#79H CALL PTDS ;采样值送显示缓冲区 SJMP LO18 ;循环;-PTDS: MOV R1,A ;拆送显示缓冲区 ACALL PTDS1 MOV A,R1 SWAP APTDS1: ANL A,#0FH MOV R0,A INC R0 RET;- 显示子程序DIS: PUSH DPH PUSH DPL SETB RS1 MOV

22、R0,#7EH MOV R2,#20H MOV R3,#00H MOV DPTR,#LS0LS2: MOV A,R0 MOVC A,A+DPTR MOV R1,#0DCH MOVX R1,A MOV A,R2 inc R1 MOVX R1,ALS1: DJNZ R3,LS1 CLR C RRC A MOV R2,A DEC R0 JNZ LS2 CLR RS1 POP DPL POP DPH RET;-LS0: DB 0C0H,0F9H,0A4H,0B0H,99H,92H DB 82H,0F8H,80H,90H,88H,83H,0C6H DB 0A1H,86H,8EH,0FFH,0CH,89H

23、,7FH,0BFH;- END实验七8255控制交通灯1, 实验目的:(1)掌握8255芯片的结构及编程方法(2)学习模拟交通控制的实现方法。2,实验内容:用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。3,实验程序框图和交通示意图如下: 8255端口4,实验接线图: 5,实验步骤:8255 PA0PA7PB0PB3接发光二极管L12L5、L4L1。执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后

24、,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到东西路口方向,之后重复以上过程。附: 8255的口地址为:PA口对应0FFD8H, PB口对应0FFD9H, PC口对应0FFDAH,控制口对应0FFDBH6,程序清单: ORG 0000H LJMP JOD0 ORG 0060HJOD0: MOV SP,#60H MOV DPTR,#0FFDBH ;8255初始化,向控制口写控制字 MOV A,#88H MOVX DPTR,A MOV DPTR,#0FFD8H ;向A口送数据 MOV A,#0B6H MOVX DPTR,A INC DPTR MOV A,#0DH MOVX DPTR,A

25、 ;点亮4个红灯 MOV R2,#25H ;延时 LCALL DELYJOD3: MOV DPTR,#0FFD8H MOV A,#75H MOVX DPTR,A INC DPTR MOV A,#0DH MOVX DPTR,A ;东西绿灯亮,南北红灯亮 MOV R2,#55H LCALL DELY ;延时 MOV R7,#05H ;闪烁次数JOD1: MOV DPTR,#0FFD8H MOV A,#0F3H MOVX DPTR,A INC DPTR MOV A,#0CH MOVX DPTR,A ;东西黄灯亮,南北红灯亮 MOV R2,#20H LCALL DELY ;延时 MOV DPTR,#0

26、FFD8H MOV A,#0F7H MOVX DPTR,A INC DPTR MOV A,#0DH MOVX DPTR,A ;南北红灯亮 MOV R2,#20H LCALL DELY ;延时 DJNZ R7,JOD1 ;闪烁次数未到继续 MOV DPTR,#0FFD8H MOV A,#0AEH MOVX DPTR,A INC DPTR MOV A,#0BH MOVX DPTR,A ;东西红灯亮,南北绿灯亮 MOV R2,#55H LCALL DELY ;延时 MOV R7,#05H ;闪烁次数JOD2: MOV DPTR,#0FFD8H MOV A,#9EH MOVX DPTR,A INC D

27、PTR MOV A,#07H MOVX DPTR,A ;东西红灯亮,南北黄灯亮 MOV R2,#20H LCALL DELY ;延时 MOV DPTR,#0FFD8H MOV A,#0BEH MOVX DPTR,A INC DPTR MOV A,#0FH MOVX DPTR,A ;东西红灯亮 MOV R2,#20H LCALL DELY ;延时 DJNZ R7,JOD2 ;闪烁次数未到继续 LJMP JOD3 ;循环;-延时子程序DELY: PUSH 02H DEL2: PUSH 02HDEL3: PUSH 02H DEL4: DJNZ R2,DEL4 POP 02H DJNZ R2,DEL3 POP 02H DJNZ R2,DEL2 POP

温馨提示

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

评论

0/150

提交评论