网站公告列表     本站开通全国范围代收货款业务,详情请点击  [dycxin  2008年5月14日]        
加入收藏
设为首页
联系站长
您现在的位置: EDA加油站 >> 51单片机 >> 实验板DIY >> 初级实验板 >> 正文
  [推荐]红 绿 灯 程 序          【字体:
红 绿 灯 程 序
红 绿 灯 程 序
作者:admin    51单片机来源:网络    点击数:    更新时间:2007-8-4    
;程控数码显示倒计时红绿灯(NS-1型51单片机试验板程序范例)

;单片机AT89s52控制的倒计时控制电路, ;2005/3

;P2.2--红灯输出(继电器1)

;P2.3--绿灯输出(继电器2)

;P3.0--黄灯输出(继电器扩展)

;P1.7--指示灯,外接的发光二极管为状态LED,定时未开始时LED常亮,定时过程中LED闪烁

;P1.0--P1.6拨码开关输入

;P0----LED数码管(0.36英寸)数据输出

;P2.7、P2.6、P2.5、P2.4---LED数码管位控制输出

;K1为开始按钮,K2为停止按钮

;由接入P1口的8位拨码开关的4.5.6.组合控制

;000=40。001=50S。010=60S。011=70S。100=80S。101=90S。110=100S。111=110S。

;黄灯点亮的时间由8位拨码开关的7,8组合控制。

;00=2.0S。01=2.5S。10=3.0S。11=3.5S(秒)。

;停顿时间由8位拨码开关的2.3.组合控制:00=0.0S。01=0.5S。10=1.0S。11=1.5S。


首先从P1口读入拨码开关状态

;读拨码开关的状态,获得倒计时时间

SET1:;MOV A,#0;;首先对A清零

mov a,p1

rr a

rr a

anl a,#00000111b

mov b,#10

mul ab;

add a,#5;40

mov temp1,a;设置红绿灯时长拨码开关4.5.6位

;============

mov a,p1

anl a,#00000011b

mov b,#5

mul ab;

add a,#20

mov temp2,a;设置黄灯时长拨码开关7.8位

;========================

mov a,p1

rr a;逻辑右移

swap a

anl a,#00000011b

mov b,#5

mul ab

mov temp3,a;设置停顿时长由拨码开关2.3位控制

start1:

mov a,#01h

mov r6,a

mov r7,a

mov a,temp1

mov temp,a

;这时TEMP中的值就是倒计时时间

;数码管显示定时时间的子程序

timea:mov b,#100 ;

div ab

mov c_bit,a;百位

mov a,b

mov b,#10

div ab

mov b_bit,a;十位

mov a_bit,b;个位

ret

dpl1: mov dptr,#numtab ;指定查表启始地址

mov r0,#4

mov r1,#250 ;

dplop: mov a,a_bit ;取个位数

MOVC A,@A+DPTR ;查个位数的7段代码

mov p0,a ;送出个位的7段代码

clr p2.4 ;开个位显示

ACALL DELY1;显示1毫秒

setb p2.4;关闭个位显示

mov a,b_bit ;取十位数

MOVC A,@A+DPTR ;查十位数的7段代码

mov p0,a ;送出十位的7段代码

clr p2.7 ;开十位显示

ACALL DELY1;显示1毫秒

setb p2.7;关闭十位显示

mov a,c_bit ;取百位数

MOVC A,@A+DPTR ;查百位数的7段代码

mov p0,a ;送出百位的7段代码

clr p2.6 ;开百位显示

ACALL DELY1;显示1毫秒

setb p2.6;关闭百位显示

ret
51单片机录入:dycxin    责任编辑:dycxin 
  • 上一个51单片机:

  • 下一个51单片机:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    DS18B20温度传感器C51程序,…
    基于频谱分析的机电设备状态…
    AT89s8252单片机在3G基站控制…
    单片机实现智能荧光鉴伪
    智能盲人导行仪的设计与实现
    基于AT89C51型单片机的CAN总…
    STC单片机IO管脚毁坏动态自检…
    具备跳号跳频和跳址的nrf905…
    51单片机边沿触发中断响应时…
    8051单片机在线升级软件的方…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    EDA加油站|我要EDA网|山东电子网--东营市荣燕商贸有限公司版权所有! 站长:阿荣
    联系电话:0546-7870320,13371507828 电邮:51edacn@163.com
    山东东营西城济南路百祥电脑商城B302室 邮编:257000 鲁ICP备07018763号  鲁ICP备07000091号 鲁ICP备05003434号
    公司帐号:1615011209000037682 户名:东营市荣燕商贸有限公司 开户行:工行西城支行石油大学分理处