实验二P1口控制LED发光二极管文档格式.docx

上传人:b****3 文档编号:6890235 上传时间:2023-05-07 格式:DOCX 页数:26 大小:212.85KB
下载 相关 举报
实验二P1口控制LED发光二极管文档格式.docx_第1页
第1页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第2页
第2页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第3页
第3页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第4页
第4页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第5页
第5页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第6页
第6页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第7页
第7页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第8页
第8页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第9页
第9页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第10页
第10页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第11页
第11页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第12页
第12页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第13页
第13页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第14页
第14页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第15页
第15页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第16页
第16页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第17页
第17页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第18页
第18页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第19页
第19页 / 共26页
实验二P1口控制LED发光二极管文档格式.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实验二P1口控制LED发光二极管文档格式.docx

《实验二P1口控制LED发光二极管文档格式.docx》由会员分享,可在线阅读,更多相关《实验二P1口控制LED发光二极管文档格式.docx(26页珍藏版)》请在冰点文库上搜索。

实验二P1口控制LED发光二极管文档格式.docx

MOVR5,#123

DJNZR5,$

DJNZR6,DELAY2

DJNZR7,DELAY1

RET

END

实验三数码管静态显示实验

1、进一步熟悉51系列单片机

2、了解8051单片机P0口的使用方法

3、掌握共阴极数码管的原理及使用方法

4、学习8051的编程、调试、编译、仿真。

图3数码管静态显示电路原理图

注:

数码管要从元件库选择Optoelectronics类中的7SEG-COM-CAT-GRN。

三、要求及步骤:

在七段数码管上以递增方式循环显示数字0—9,间隔时间为一秒。

1、为什么要将P0口各引脚通过电阻R3-R9接到电源?

2、如何在共阴数码管上循环显示十六进制数字0—F(不区分字母的大小写)?

3、怎样修改程序使数字以递减方式循环显示?

4、若用共阳极数码管应如何修改电路和程序,才能完成本实验的功能?

ORG00H

LJMPSTART

START:

MOVDPTR,#TABLE

S1:

MOVR4,#00H

S2:

MOVA,R4

MOVCA,@A+DPTR

MOVP0,A

INCR4

CJNER4,#0AH,S2

SJMPS1

MOVR5,#20;

延时子程序

D2:

MOVR6,#200

D1:

MOVR7,#123

DJNZR7,$

DJNZR6,D1

DJNZR5,D2

RET

TABLE:

DB3FH,06H,5BH,4FH,66H;

段码表

DB6DH,7DH,07H,7FH,6FH

实验四基本输入/输出实验

1、进一步熟悉8051单片机并行I/O口的使用方法

3、掌握并行I/O口输入/输出操作的方法

图4并行I/O口基本输入/输出

按钮要从元件库选择Switches&

Relays类中的BUTTON。

在按钮动作的控制下,将十六进制数字0-F循环显示在数码管上(每按一次按钮,显示的数字加1)。

1、如何检测按钮是否按下?

2、怎样修改程序,可以使数字0-F在按钮控制下,以递减方式循环显示?

3、若在P0口接8个LED,如何实现每按一次按钮,点亮的LED左移一位(8个LED中只有一个点亮)?

ORG00H

LJMPSTART

ORG30H

MOVP1,#01H

MOVDPTR,#TABLE

MOVR4,#00H

CLRA

MOVCA,@A+DPTR

MOVP0,A

MOVA,P1

ANLA,#01H

JZLOOP

LOOP1:

JNZLOOP1

INCR4

MOVA,R4

ANLA,#0FH

SJMPLOOP

DB3FH,06H,5BH,4FH,66H;

DB6DH,7DH,07H,7FH,6FH

DB77H,7CH,39H,5EH,79H,71H,76H

END

实验五数据传送指令练习

1、进一步掌握Keil软件的使用。

2、熟悉数据传送指令功能及使用。

二、实验内容

1、输入数据传送指令并单步执行输入的指令;

2、练习数据传送指令的基本应用。

三、实验步骤

1、数据传送指令的功能

1)输入如下程序:

ORG0030H

MOVA,#0BBH

MOVDPTR,#0070H

MOVX@DPTR,A

MOVR0,#70H

MOV@R0,A

MOVA,#0CCH

XCHDA,@R0

SJMP$

END

2)观察DPTR、A、R0、内部RAM70H和外部RAM70H单元中内容并填入表中第一空行。

3)单步执行完上述程序,重新观察上述寄存器和存储单元中内容并填入表中第二空行。

表1程序执行前后有关寄存器和RAM单元内容对照表

程序执行

DPTR

A

R0

70H

内RAM

外RAM

4)分析程序运行结果,并把分析结果和运行结果进行比较。

2、PUSH指令对堆栈的影响

ORG0040H

MOVA,#0AAH

MOVPSW,#0CCH

PUSHACC

PUSHPSW

SJMP$

END

2)观察A、PSW、SP、07H、08H和09H单元中内容,并填入表表。

表2PUSH指令对堆栈的影响

PSW

SP

堆栈区

07H08H09H

3)单步执行上述程序,重新观察上述寄存器和堆栈区中内容填入表中。

4)分析程序运行结果,并把分析结果和实验结果进行比较,看两者是否相同。

3、编写把A、PSW、DPTR中内容入栈保护并恢复的程序,并验证。

4、编写将内RAM的30H、40H单元内容相互交换的程序,并验证。

5、编程实现交换外RAM1050H、1060H单元的数据,并运行验证。

四、实验总结:

1、堆栈操作的原则是什么?

在程序设计中需要保护和恢复数据时应注意什么?

2、对内RAM、外RAM及ROM进行数据传送的指令,分别可使用何种寻址方式?

实验六算术及逻辑运算指令练习

1、熟悉算术及逻辑运算类指令的功能。

2、掌握算术及逻辑运算类指令对标志位的影响。

3、掌握算术、逻辑运算指令的编程应用。

1、求两个16位无符号二进制数的和

2、四位十进制数的加法

3、算术、逻辑运算指令的基本应用

1、调试程序:

求两个16位数的和

设内RAM30H和32H开头的两个单元分别存放有两个16位无符号二进制数(低8位在30H或32H单元,高8位在31H或33H单元),将和存放在30H单元开始的存储区。

ORG0000H

LJMPMAIN

MOVA,30H

ADDA,32H

MOV30H,A

MOVA,31H

ADDCA,33H

MOV31H,A

选择几组数据测试该程序,如有错,将其改正。

2、编程:

四位十进制数的加法:

设内RAM中30H和32H开头的两个单元分别存放有两个四位十进制数的压缩BCD码(低8位在30H或32H单元,高8位在31H或33H单元),试编写程序求这两个十进制数的和,并将结果放在从34H单元开始的存储区(低8位在低地址单元)。

第一组

第二组

30H

31H

32H

33H

程序执行前

程序执行后

测试、调试程序,并记录测试数据及正确运行结果

3、分别编写实现如下功能的程序并运行、验证。

(1)外RAM1000H~1020H单元中8位无符号二进制数求和,结果存放在内RAM30H单元开始的存储区。

(2)外RAM的1000H和2000H单元中分别放着一个8位无符号二进制数X和Y,计算3X+4Y,并将结果存入内RAM的30H单元和31H单元。

(低8位在30H单元)。

(3)将两位十进制数的压缩BCD码转换成ASCII码。

(源数据在内RAM20H单元,结果存放在内RAM30H开始的两个单元,低字节在31H单元)

(4)将内RAM从30H开始的20个单元全部清零。

1、算术加、减法指令如何影响PSW中的有关标志位?

2、如何实现两个BCD数的减法?

实验七汇编语言程序设计

一、实验目的:

1、练习常见的简单的分支、循环程序结构的设计方法。

2、练习常见的程序调试方法。

二、实验内容:

1、编写程序,将内RAM的30H~40H单元存放的单字节数据传送到外RAM中以1000H为起始地址的存储区。

在内RAM的30H-40H随意输入数据,调试并运行程序,观察结果。

2、编写程序,查找外部RAM的1020H-1030H单元中是否有0AAH这个数,如果有,将内RAM的30H单元置为01H,否则将30H单元置为00H。

在外RAM中输入数据,运行程序,观察结果。

3、在内部RAM30-5FH单元存放着一组无符号数,编写程序查找出这些无符号数的最大值,将结果存放于60H单元。

在相关单元中输入一些数据,运行程序,观察实验结果。

4、内RAM从40H单元开始的10个单元中存放着单字节带符号数,编程分别统计出正、负数的个数,并存入50H、51H单元中。

三、实验要求:

1、实验前充分预习,写出所需程序

2、上机将程序调试正确,并分析程序运行结果

四、实验报告要求:

写出调试正确的程序。

五、思考题:

1、汇编语言程序如何测试和调试?

2、在子程序调用和返回指令执行时,PC值如何变化?

实验八外部中断实验

一、实验电路(如图3.3.45所示)

图3.3.45外部中断实验电路原理图

二、实验目的

1、熟悉51系列单片机

2、了解AT89C51P1口、P3口的使用方法

3、了解键盘的原理及使用方法

4、了解发光二极管的原理及使用方法

5、掌握外部中断的原理及使用方法

6、学习AT89C51的编程、仿真、调试、编译、芯片烧录。

对应文件INT.HEX

三、实验器材

1、单片机主板

2、单片机扩展板

3、连接导线若干

四、实验注意事项

1、单片机主板、单片机扩展板接+5V

2、因J14为有极性排阻,故单片机扩展板一定要连GND和VCC,否则发光二极管不亮

3、图中粗线部分为要求学生自己连线部分

五、实验现象

正常情况下8个LED发光二极管循环显示,延迟时间为1秒,当有按键按下即产生外部中断时,8个LED发光二极管全亮,延迟时间为2秒。

六、思考

请同学们自己试一下外部中断0。

实验定时器中断

一、实验电路(如图3.3.46所示)

图3.3.46定时器中断电路原理图

2、了解AT89C51P1口的使用方法

3、掌握定时器、计数器的原理及使用方法

4、学习AT89C51的编程、仿真、调试、编译、芯片烧录。

1、单片机主板、单片机扩展板接+5V电压

2、因J14为有极性排阻,故单片机扩展板一定要接GND和VCC,否则LED发光二极管不亮

LED发光二极管循环显示,延迟时间为1秒。

将LED发光二极管的循环延迟时间设置的更长或更短。

实验数码管动态显示实验

一、实验电路(如图3.3.33)

图3.3.33数码管动态显示电路原理图

2、了解AT89C51P1口、P2口的使用方法

3、学习驱动芯片ULN2003A的原理及使用方法

4、学习驱动芯片74HC245的原理及使用方法

5、掌握数码管(共阴、共阳两种)的原理及使用方法

对应文件LEDDT.HEX

1、多功能实验板

1、多功能实验板、单片机扩展板均采用+5V电压

2、因图中将74HC245的GND和VCC引脚隐藏,故学生自己连线时一定要将GND和VCC连上,否则芯片不工作

1、显示数字1—6。

1、显示其它数字和字符。

实验矩阵键盘实验

一、实验电路(如图3.3.34所示)

图3.3.34矩阵键盘实验电路原理图

3、了解共阳数码管的原理及使用方法

4、掌握矩阵键盘的原理及使用方法

5、学习AT89C51的编程、仿真、调试、编译、芯片烧录。

对应文件KEY.HEX

1、多功能实验板、单片机扩展板接+5V电压

2、数码管为共阳数码管,公共端接+5V

1、ENTER键为全亮键,ESC键为全灭键,其它数字键为按哪一位数字键,在数码管上显示其数字。

实验液晶LCD实验

一、实验电路(如图3.3.43)

图3.3.43液晶LCD电路原理图

3、了解电位器的使用方法

4、掌握液晶模块LCD的原理及使用方法

对应文件LCD.HEX

1、单片机多功能实验板

1、单片机扩展板、单片机多功能实验板均采用+5V电压

2、单片机多功能实验板接GND和VCC时一定不能接反,否则会烧毁LCD液晶模块

1、显示“CS&

S”字样。

1、请同学们在液晶模块上显示“HOWAREYOU”。

实验交通灯控制(定时器延时法)

1.进一步理解单片机内部定时器/计数器的工作原理和使用方法。

2.学习模拟交通灯控制的方法。

3.学习数据输出程序的设计方法。

4.学习中断处理程序的编程方法。

用CPU的P1口输出控制信号,控制六个LED灯(红,绿,黄),模拟交通灯管理。

三、实验电路连接

P1.0●-----------------------●LED0

P1.1●-----------------------●LED1

P1.2●-----------------------●LED2

P1.3●-----------------------●LED3

P1.4●-----------------------●LED4

P1.5●-----------------------●LED5

四、实验说明

l.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。

假设一个十字路口为东西南北走向。

初始为状态0。

状态0:

东西红灯,南北红灯;

然后转入

状态1:

南北绿灯通车,东西红灯;

过一段时间转入

状态2:

南北绿灯闪几次转黄灯亮,延时几秒,东西仍然红;

再转入

状态3:

东西绿灯通车,南北红灯;

状态4:

东西绿灯闪几次转黄灯亮,延时几秒,南北仍然红灯;

最后循环至状态1。

2.各用一组红、黄、绿色LED分别表示南北方向和东西方向。

3.由定时器来产生通车延时时间,时间长短1秒以上(由同学自己确定)。

提示:

内部计数器用作定时器时,是对机器周期计数。

每个机器周期的长度是12个振荡器周期。

因为实验系统的晶振是12MHZ,本程序定时器工作于方式1(16位方式)时,最大定时时间为:

216*1μs=65536μs=65.536ms

所以需要配合软件记数。

如要延时2秒,则需要T0中断32次,所

用时间为

65536*32=2097120μs≈2s

因此在T0中断处理程序中,要判断中断次数是否到32次,若不到32次,则只使中断次数加1,然后返回,若到了32次,定时2秒时间到。

4.用软件延时方法产生“闪”延时时间。

五、实验仪器和设备

PC机、WAVE软件、E2000/S仿真器+POD8X5X仿真头、MULT1A用户板、实验板、开关电源等。

六、参考程序框图(见下页)

否是

主程序框图

中断处理程序框图

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2