实验二P1口控制LED发光二极管Word格式.docx
- 文档编号:15010762
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:27
- 大小:303.89KB
实验二P1口控制LED发光二极管Word格式.docx
《实验二P1口控制LED发光二极管Word格式.docx》由会员分享,可在线阅读,更多相关《实验二P1口控制LED发光二极管Word格式.docx(27页珍藏版)》请在冰豆网上搜索。
D1
►XTAL1
XTAL2
RST
PO.O.ADOP0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5.AD5P0.6/AD6P0.7/AD7
P2.0.A8
P2.1/A9
P2.2/A10
PSER
P2.a-A11
ALE
P2.4-A12
EX
P2.5/A13
P2.&
A14
P2.7/A15
P1.0/72
P3.0/RXD
Hl.1/IZtA
P1.2
rJ.1/1AL/
P3.24RT0
P1.3
P3.3/INT1
DiA
•1
P1.5
厂IUP3.5/T1
P1.6
P3.6WR
P1.7
P3.7.RD
AT89C52
29
30~
3T
三、实验内容及步骤:
要求:
8个LED发光二极管循环左移显示(发光的移位),间隔时间为一秒。
1、使用Proteus画出电路原理图2、在Ke订uVision中完成程序编借、调试及编译,生成・HEX文件
3、进行Protues与KeiluVision联动的相关设置:
4、在Proteus中仿真运行。
四、思考
1、将本实验的实验现象改为“不发光二极管循环移位”。
2、将本实验的实验现象改为“每隔秒发光二极管循环移位S
参考程序:
ORG0
LJMPMAIN
ORG30H
MAIN:
MOVA,#0FEHLOOP:
MOVPl,A
LCALLDELAY
RLA
SJMPLOOPDELAY:
MOVR7,#20HDELAY1:
MOVR6,#200DELAY2:
M0VR5,#123
DJNZR5,S
DJNZR6,DELAY2
DJNZR7,DELAY1
RET
END
实验三数码管静态显示实验
1.实验目的
1、进一步熟悉51系列单片机
2、了解8051单片机P0口的使用方法
3、掌握共阴极数码管的原理及使用方法
4、学习8051的编程、调试、编译、仿真。
10k
PO.O/ADO
PO.1/AD1
P0.2-AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5PO6AD6P0.7/AD7
39
P2.6A8
P2.1/A9P2.2*A1OP2.a(Al1P2.4A12P2.&
'
A13P26A14P2.7/A15
P3.1/TXD
P3.2-'
1NT0
P3.3-1NTT
P3.4/T0
P3.5/T1
P36WP
P3.7W
R4220
R5120—
R6220
R7220
R8220
R9220
AT89C51
图3数码管静态显示电路廉理图
注:
数码管要从元件库选择Optoelectronics类中的7SEG-COM-CAT"
GRN0
三、要求及步骤:
在七段数码管上以递增方式循环显示数字0—9,间隔时间为一秒。
1、使用Proteus画出电路原理图
2、在Ke订uVision中完成程序编辑、调试及编译,生成.HEX文件
3、进行Protues与KeiluVision联动的相关设置:
4、在Proteus中仿真运行。
四、思考
1、为什么要将P0口各引脚通过电阻R3-R9接到电源?
2、如何在共阴数码管上循环显示十六进制数字0-F(不区分字母的大小写)?
3、怎样修改程序使数字以递减方式循环显示?
4、若用共阳极数码管应如何修改电路和程序,才能完成本实验的功能?
ORG00H
LJMPSTART
START:
S1:
MOVDPTR,#TABLE
MOVR4,#00H
S2:
MOVA,R4
MOVCA,@A+DPTR
MOVPO,A
INCR4
CJNER4,#0AH,S2
SJMPSI
DELAY:
MOVR5,#20;
延时子程序
D2:
MOVR6,#200
DI:
MOVR7,#123
DJNZR7,$
DJNZR6,D1
DJNZR5,D2RET
TABLE:
DB3FH,06H,5BH,4FH,66H;
段码表
DB6DH,7DH,07H,7FH,6FH
实验四基本输入/输出实验
一、实验目的
1、进一步熟悉8051单片机并行I/O口的使用方法
3、掌握并行I/O口输入/输岀操作的方法
二、实验电路
C3
hH10uF
PO.O/ADOPO.1/AD1PO2AD2P0.3<
AD3P0.4/AD4P0.WAD5P0.&
AD6P0.7/AD7
30-
F5EWALEEA
P1.0P1.1
P1.4
P2.0/A8
P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5-A13P2.&
A14P2.7/A15
P3.1.-TXDP32fTT5P33TTTT
P3.5E
P36WR
P3.7丿RD
-■
37
35
图4并行I/O口基本输入/输岀
按钮要从元件库选择Switches&
Relays类中的BUTTON.
在按钮动作的控制下,将十六进制数字0-F循环显示在数码管上(每按一次按钮,显示的数字加1)。
3、进行Protues与Ke订uVision联动的相关设置:
1、如何检测按钮是否按下?
2、怎样修改程序,可以使数字0-F在按钮控制下,以递减方式循环显示?
3、若在P0口接8个LED,如何实现每按一次按钮,点亮的LED左移一位(8个LED中只有一个点亮)?
MOVPl,#01H
MOVDPTR,STABLE
CLRA
MOVPO,A
LOOP:
MOVA,Pl
ANLA,#01H
JZLOOP
LOOP1:
JNZLOOP1
ANLA,#OFH
SJMPLOOP
DB77H,7CH,39H,5EH,79H,71H,76HEND
实验五数据传送指令练习
1、进一步掌握Keil软件的使用。
2、熟悉数据传送指令功能及使用。
二、实验内容
1、输入数据传送指令并单步执行输入的指令;
2、练习数据传送指令的基本应用。
三、实验步骤
1、数据传送指令的功能
1)输入如下程序:
ORG0030H
MOVA,#0BBH
MOVDPTR,#0070H
MOVX@DPTR・A
MOVRO,#70H
MOV@R0,A
MOVA,#0CCH
XCHDA,@R0
SJMP$
2)观察DPTR.A、RO、内部RAM70H和外部RAM70H单元中内容并填入表中第一空行。
3)单步执行完上述程序•重新观察上述寄存器和存储单元中内容并填入表中第二空行。
表1程序执行前后有关寄存器和RAM单元内容对照表
程序执行
DPTR
A
R0
70H内RAM
70H夕卜RAM
前
后
4)分析程序运行结果,并把分析结果和运行结果进行比较。
2、PUSH指令对堆栈的影响
ORG0040H
MOVA,#0AAH
MOVPSW,#0CCH
PUSHACC
PUSHPSW
2)观察A.PSW.SP、07H.08H和09H单元中内容,并填入表表。
表2PUSH指令对堆栈的影响
PSW
SP
堆栈区
07H
08H
09H
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
MOVA,31H
UMPMAIN
ADDCA,33H
MOV31H,A
MOVA,30H
ADDA,32H
MOV30H,A
选择几组数据测试该程序,如有错.将其改正。
2、编程:
四位十进制数的加法:
设内RAM中30H和32H开头的两个单元分别存放有两个四位十进制数的压缩BCD码(低
8位在30H或32H单元,髙8位在31H或33H单元),试编写程序求这两个十进制数的和•并将
结果放在从34H
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 P1 控制 LED 发光二极管
