原创 交通灯

2008-1-25 11:53 3422 4 6 分类: MCU/ 嵌入式
XH1 DATA 100H  ;定义循环单元地址data用来定义单元地址
XH2 DATA 105H
 ORG 0000H                ;org说明程序从这里开始写
 AJMP MAIN   ;ajmp是11位的寻址,把程序储存器分成2K的一份份,ajmp要求每在同一2k地址上当程序超过2k时ajmp命令会寻不了址,所以以后要用ljmp代替ajmp
 ORG 0030H                ;其实002bh到0032h这段会用在定时器2的中断进入地址,最好用到0050h或0100h开始
MAIN: MOV P0, #11111110B      ;初始化P0P2的绿灯P1P3红灯亮
 MOV P2, #11111110B
 MOV P1, #11110111B
 MOV P3, #11110111B
 ACALL DEL30S     ;调用延时程序,acall和ajmp存在同一个问题所以用lcall
 CPL P0.0  ;p0p2第一位取反,绿灯灭,第七位取反,红灯灭,cpl可以将累加器a的各位取反,同时是位取反操作符
 CPL P2.0
 CPL P0.6
 CPL P2.6
 ACALL DEL05S
 MOV XH1, #10 ;假如我现在用我会用工作寄存器来完成这操作
YELL0: CPL P0.6
 CPL P2.6
 ACALL DEL05S
 DJNZ XH1, YELL0   ;闪耀11次
 MOV P0, #11110111B    ;换向P0P2黄灯亮P1P3红灯亮
 MOV P2, #11110111B
 MOV P1, #11111110B
 MOV P3, #11111110B
 ACALL DEL30S
 CPL P1.0       ;黄灯闪耀
 CPL P3.0
 CPL P1.6
 CPL P3.6
 ACALL DEL05S ;延时
 MOV XH2, #10
YELL1: CPL P1.6
 CPL P3.6
 ACALL DEL05S
 DJNZ XH2, YELL1          ;闪耀11次
 AJMP MAIN

 


;延时0.5S子程序


DEL05S: MOV R5, #04H  ;时间=R5×R6×R7×机械周期÷2,89s5x系列单片机机械周期=晶振周期÷12,部分51单片机是6周期甚至4周期的djnz是非零减一转跳命令,要两个机械周期
DEL1: MOV R6, #0F0H
DEL2: MOV R7, #0F0H
 DJNZ R7, $;这里$是转跳到本命令,pc指针不变,就是原地转移
 DJNZ R6, DEL2
 DJNZ R5, DEL1
 RET;返回,执行acall会把pc指针压到堆栈,然后转跳到子程序,而执行ret则会包pc指针推出来,就是跳回原程序继续执行,在不同功能的子程序转换工作寄存器组是个


 


;延时30S子程序


DEL30S: MOV R4, #0FH
D1: MOV R5, #10H
D2: MOV R6, #0F0H
D3: MOV R7, #0F0H
 DJNZ R7, $
 DJNZ R6, D3
 DJNZ R5, D2
 DJNZ R4, D1
 RET


 END

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户1353393 2008-3-14 16:41

好的,我尽量改了些,尽量方便初学者

用户1315059 2008-1-27 16:36

不错  继续继续    最好把每句都翻译下   这样方便初学者学习哦 

相关推荐阅读
用户1353393 2013-12-26 16:58
linux最小系统调试技巧
一块新的平台到手,怎么入手才能让板子能跑起来呢? 首先的看资源,先检查有什么接口,接口什么参数,接什么内存,接什么存储器。有什么特殊的接口,需不需要通信协议,胡乱搞清楚。  ...
用户1353393 2011-03-20 23:49
最近在玩Omap
最近在玩OMAP,学了什么PSC,EMIF,接口什么的。...
用户1353393 2009-03-13 18:46
十说电容 (转载)
在整理DCDC标准库的过程中,有个名词“电容的均方根电流”,我在电容的datasheet上怎么都找不到,只有叫“纹波电流”的,就Google了一下啊,发现原来是一个意思。RMS:root mean s...
用户1353393 2009-02-12 16:04
程序员生活规范
[日期:2008-7-10]来源:  作者:[字体:大 中 小]  被过滤广告    总感觉自己做事有点乱.这个学一点,那个学一点的.学习工作没什么规范,希望用此文章来改善自己的坏毛病.不知道要做什么...
用户1353393 2009-02-12 16:03
大学里的潜规则(转自天涯)
所谓大学里的潜规则,自然是指向那些非主流的,却被大学生们无声地、抑或是不得不遵循的、大家心照不宣的生存规矩。     潜规则1 :逃课是潇洒的行动?       正如校园里的顺口溜说的,必修课选逃,选...
用户1353393 2009-02-12 16:02
嵌入式硬件开发流程及工程师应具备的基本技能
[日期:2008-11-25]来源:bbs.mcuol.com  作者:[字体:大 中 小] 被过滤广告简单地总结一下硬件开发的基本过程:     1、明确硬件总体需求情况,如CPU处理能力、存储容量...
我要评论
2
4
关闭 站长推荐上一条 /3 下一条