MC-51单片机红绿灯+数码管计时实验

发布者:EnchantedHeart最新更新时间:2015-12-28 来源: eefocus关键字:单片机  红绿灯  数码管 手机看文章 扫描二维码
随时随地手机看文章
单片机实验

//主机板的P1接口 平接 显示板P00接口 即数码管段选接口
//主机板的P3接口 平接 显示板P20接口 即数码管位选接口
//主机板的P0接口 平接 显示板灯的接口

#include
unsigned char time[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
int n = 2000;//每半秒中断一次
 
bit change=1;
bit Shan=1;//闪

//定义显示管为位选特殊位
sbit A=P3^7;
sbit B1=P3^6;
sbit C=P3^5;
sbit G1=P3^4;
sbit daul = P3^3;


ZY();//左右通行
SX();//上下通行
ZYS();//左右绿灯闪
SXS();//上下绿灯闪

lock();
delay();

//一下定义使灯亮的特殊位
sbit ZL=P0^0;
sbit ZH=P0^1;
sbit SH=P0^2;
sbit SL=P0^3;
sbit YH=P0^4;
sbit YL=P0^5;
sbit XH=P0^6;
sbit XL=P0^7;
//
unsigned char rl=70;
unsigned char ud=45;
unsigned int working=0;//
unsigned char num;


main()
{
TMOD=2;//设置定时/计数器0工作方式2
 TH0=6;//初值为6,定时4000
 TL0=6;//初值为6
 TR0=1;
 ET0=1;
 EA=1;
working = rl*2;

 while(1){
  if(change==1&&Shan==1){//
  ZY();
  }else if(change==1&&Shan==0){
  ZYS();
  }else if(change==0&&Shan==1){
  SX();
  }else if(change==0&&Shan==0){
  SXS();
  }
  

  num=working/2;

  P1=time[num];
  daul=1;
  A=1;B1=1;C=1;
  G1=1;
  delay();
  lock();

  P1=time[num/10];
  daul=1;
  A=0;B1=1;C=1;
  G1=1;
  delay();
  lock();
 
 }
 

// 
}

 


//中断程序

T0_int() interrupt 1{
 n--;
 if(n==0){
  if(working!=0&&change==1){
   if(working<=4){//最后两秒闪
   Shan=!Shan;
   }
  working--;
  n=2000;
  }else if(working==0&&change==1){
  change=!change;
  working = ud*2;
  n=2000;
  }else if(working!=0&&change==0){
   if(working<=6){//最后3秒闪
   Shan=!Shan;
   }
  working--;
  n=2000;
  }else if(working==0&&change==0){
  change=!change;
  working = rl*2;
  n=2000;
  }
 }
}

ZY(){//左右绿灯亮,上下红灯亮
YL=0;//右绿
ZL=0;//左绿
SH=0;//上红
XH=0;//下红
//
ZH=1;
YH=1;
SL=1;
XL=1;
}

SX(){//上下绿灯亮,左右红灯亮
YL=1;//
ZL=1;
SH=1;
XH=1;
//
ZH=0;
YH=0;
SL=0;
XL=0;
}

ZYS(){//左右绿灯闪烁
YL=1;
ZL=1;
SH=0;
XH=0;
//
ZH=1;
YH=1;
SL=1;
XL=1;
}

SXS(){//上下绿灯闪烁
YL=1;//
ZL=1;
SH=1;
XH=1;
//
ZH=0;
YH=0;
SL=1;
XL=1;
}

lock(){
daul=0;
G1=0;
}

delay(){
int i=40;
while(i>0){
i--;
}
}

关键字:单片机  红绿灯  数码管 引用地址:MC-51单片机红绿灯+数码管计时实验

上一篇:MCS51汇编精确延时程序分析
下一篇:单片机看门狗的描述

推荐阅读最新更新时间:2024-03-16 14:41

51单片机定时/计数器详解(工作原理及模式、应用)
51单片机是基础入门的一个单片机,还是应用最广泛的一种。本文主要介绍51单片机定时/计数器,首先介绍了51单片机定时/计数器的工作原理,其次介绍了51单片机定时/计数器的工作模式,最后阐述了51单片机定时/计数器的应用,具体的跟随小编一起来了解一下吧。 51单片机的定时/计数器的概念 单片机中,脉冲计数与时间之间的关系十分密切,每输入一个脉冲,计数器的值就会自动累加1,只要相邻两个计数脉冲之间的时间间隔相等,则计数值就代表了时间的流逝,因此,单片机中的定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的是单片机外部发生的事情(接受的是外部脉冲),而定时器则是由单片机自身提供的一个非常稳定的计数器,这个稳定的计数器就是单
[单片机]
51<font color='red'>单片机</font>定时/计数器详解(工作原理及模式、应用)
步进电机的单片机控制
本设计采用凌阳16 位单片机SPCE061A对步进电机进行控制,通过IO口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片L298N驱动步进电机;同时,用4X4的键盘来对电机的状态进行控制,并用数码管显示电机的转速,采用74LS164作为4位单个数码管的显示驱动,从单片机输入信号;利用凌阳单片机的语音功能播报电机的转速。 摘要: 本设计采用凌阳16 位单片机SPCE061A对步进电机进行控制,通过IO口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片L298N驱动步进电机;同时,用 4X4的键盘来对电机的状态进行控制,并用数码管显示电机的转速,采用74LS164作为4位单个数码管的显示驱动,从单片机输入信号;利用
[单片机]
步进电机的<font color='red'>单片机</font>控制
单片机C8051FC40/FM20L08扩展电路图
单片机控制FRAM的原理图。在本系统中采用的是地址信号复用模式,这样可以产生ALE 信号。FM20LO8自身带有锁存器,并且片选信号CE不能像SRAM一样直接接地,需要一个预充电时间,这个信号有HC04和HC32产生。而且地址信号需要在他的下降沿进行锁存,具体扩展如图所示。
[单片机]
<font color='red'>单片机</font>C8051FC40/FM20L08扩展电路图
不可错过的单片机STM32的5个时钟源知识
  众所周知STM32有5个时钟源HSI、HSE、LSI、LSE、PLL,其实他只有四个,因为从上图中可以看到PLL都是由HSI或HSE提供的。   其中,高速时钟(HSE和HSI)提供给芯片主体的主时钟.低速时钟(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及独立看门狗使用,图中可以看出高速时钟也可以提供给RTC。   内部时钟是在芯片内部RC振荡器产生的,起振较快,所以时钟在芯片刚上电的时候,默认使用内部高速时钟。而外部时钟信号是由外部的晶振输入的,在精度和稳定性上都有很大优势,所以上电之后我们再通过软件配置,转而采用外部时钟信号.   高速外部时钟(HSE):以外部晶振作时钟源,晶振频率可取范围为4~16MHz
[单片机]
单片机中ICP和ISP有哪些不同?
PS: 1.ICP program and update 2.几个flash相关概念 Flash memory for program memory(FLASH中的用户程序存储器)=APROM Flash memory for loader(FLASH中的程序管理区)=LDROM LDROM是用来装载ISP固件或者说是BOOTLOADER固件的,APROM是用来装载用户的代码文件的。从名字上就可以看出来的,LDROM------LOAD ROM;APROM----APPLICATION ROM 物理地址不同。容量大小不同。应用上可能也就不同。其余没有什么不同。 随便你用。你可以用LDROM
[单片机]
<font color='red'>单片机</font>中ICP和ISP有哪些不同?
基于MSP430系列单片机设计多功能血糖仪
  引言   当前市场上血糖仪种类繁多,外形结构千奇百态,而价格和精度却大相径庭;且价格和精度难以兼得。原因在于没有找到一款合适的微处理器。另外,出于屏幕尺寸的限制,界面普遍采用英文字符显示,这给中国病人上带来一定的困惑。   随着电子技术的发展,微处理器功能日益增强,价格日趋降低。有必要选出一款功能强大而价格便宜的微处理器来重新设计血糖仪。本系统选用的MSP430系列微处理器使上述设想成为可能。   原理   血糖仪是根据电生物化学原理——施加一定电压于经酶反应后的血液产生的电流会随着血液中的血糖浓度的增加而增加——设计的。通过精确测量出这些微弱电流,并根据电流值和血糖浓度的关系,反算出相应的浓度。所以,确定这个关系是问题
[单片机]
基于MSP430系列<font color='red'>单片机</font>设计多功能血糖仪
PIC单片机各功能模块介绍
PIC16F616是一款14引脚、8位的CMOS单片机.采用精简指令集,仅有35条指令,由于采用了数据总线和指令总线分离的哈佛总线结构,使得除少量指令不是单周期之外,大部分的指令都是单周期指令.这样有利于提高单片机的运行速度和执行效率. PIC16F616这款单片机供电电压可以在2V到5.5V之间,内部集成了一个RC振荡器,频率可以配置成8MHZ或者4MHZ,也可以用外部晶振 提供时钟.内部集成有AD转换、比较器等硬件模块,还具有上电复位、欠压复位、看门狗、代码保护等功能.三个定时器、PWM发生器等可以由用户编程.下面 电工之家介绍关于PIC单片机的这些模块和功能. 1.存储器 PIC16F616分为程序存储其和数据存储器
[单片机]
基于USB总线的多路同步数据采集系统
1. 引言 通用串行总线(USB,Universal Serial Bus)是现代PC数据传输的发展趋势, PC的所有外设,包括键盘、鼠标、显示器、打印机、录音机、数字音响、电视机顶盒、数码相机、扫描仪、MODEM及各种多媒体音频、视频设备均可通过USB接口接入PC。USB总线同步数据采集系统即为这种总线接入系统。 2. 硬件方案 本系统采用MAXIAM公司的MAX125四路12位同步采集芯片,只需一个 启动信号即可实现同步采集、数据转换,完成后给出一个转换完成信号,可从端口依次读取A/D转换数据,送入单片机处理;USB接口芯片采用PHILIPS 公司的PDIUSBD12,此芯片单片集成SIE、FIFO存储器、收发器及电压变
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved