高中学习交流论坛
Would you like to react to this message? Create an account in a few clicks or log in to continue.
四月 2024
周一周二周三周四周五周六周日
1234567
891011121314
15161718192021
22232425262728
2930     

日历 日历

投票
RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 


登录

找回我的密码


八路LED跑马灯实验

2 posters

向下

八路LED跑马灯实验 Empty 八路LED跑马灯实验

帖子 由 张铎 周三 十二月 30, 2009 1:10 pm

八路LED跑马灯实验
八路LED跑马灯实验 Image5

现在让我们开始做第一个实验:八路发光二极管轮流点亮的实验,也就是通常所说的跑马灯实验,首先让我们来完成必须的硬件部分,我们需要焊接上8个发光二极管和8个限流电阻,可以参考下面的原理图和实物图像进行操作,需要注意的是LED是有极性的,引脚长的为正极,引脚短的为负极,负极和电阻一侧连接,如果接错那么相应的那一路可能在实验中不会点亮了,在焊接前要看仔细哦~~~
八路LED跑马灯实验 8LED 八路LED跑马灯实验 LED
下面我们来完成软件编程设计,这里我们没有采用高深的编程技巧,而是用了最笨、最直接的向端口送数的办法来实现,一来程序比较简单,没必要玩深沉,而且初学者看起来直观易懂。
ORG 0000H
START:MOV P1,#01111111B;最下面的LED点亮
LCALL DELAY;延时1秒
MOV P1,#10111111B;最下面第二个的LED点亮
LCALL DELAY;延时1秒
MOV P1,#11011111B;最下面第三个的LED点亮 (以下省略)
LCALL DELAY
MOV P1,#11101111B
LCALL DELAY
MOV P1,#11110111B
LCALL DELAY
MOV P1,#11111011B
LCALL DELAY
MOV P1,#11111101B
LCALL DELAY
MOV P1,#11111110B
LCALL DELAY
MOV P1,#11111111B;完成第一次循环点亮,延时约0.25秒
AJMP START;反复循环
;延时子程序,12M晶振延时约250毫秒
DELAY:
MOV R4,#2
L3: MOV R2 ,#250
L1: MOV R3 ,#250
L2: DJNZ R3 ,L2
DJNZ R2 ,L1
DJNZ R4 ,L3
RET
END
这是上面程序汇编以后获得的编程器烧写文件:201.hex
下载烧写文件的方法:将鼠标移到烧写文件的超级键连处,点击鼠标的右键,选择“目标另存为(A)...”保存文件类型中不要选择“文本文件”,应该选择“所有文件”,这样就能获得*.hex文件了。
如何精确计算延时子程序的执行时间?
汇编语言的一大优势就是能够精确控制程序的执行时间,这在编写一些对时序要求严格的外围器件驱动时由为重要!
八路LED跑马灯实验 %D1%D3%CA%B1

张铎
【童生试】
【童生试】

帖子数 : 5
威望值 : 261833
注册日期 : 09-12-29

返回页首 向下

八路LED跑马灯实验 Empty 回复: 八路LED跑马灯实验

帖子 由 张浩东 周五 一月 01, 2010 12:11 pm

很好,张铎,谢谢你,元旦快乐,继续努力 八路LED跑马灯实验 Lol
张浩东
张浩东
【解元】
【解元】

男 双鱼座 猴
帖子数 : 80
威望值 : 270135
生日 : 92-02-27
注册日期 : 09-12-20
年龄 : 32
地点 : 宣化科技职业学院附属高中09-2班

人物特征表
经验值:
八路LED跑马灯实验 Left_bar_bleue7000/10000八路LED跑马灯实验 Empty_bar_bleue  (7000/10000)
个人:

返回页首 向下

返回页首


 
您在这个论坛的权限:
不能在这个论坛回复主题