1. 闪烁灯

发布者:WanderlustHeart最新更新时间:2016-09-22 来源: eefocus关键字:闪烁灯  单片机系统 手机看文章 扫描二维码
随时随地手机看文章
1.  实验任务 
如图4.1.1所示:在P1.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。
2.  电路原理图 

图4.1.1
3.  系统板上硬件连线 
把“单片机系统”区域中的P1.0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。
4.  程序设计内容 
(1).    延时程序的设计方法 
作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要求的闪烁时间间隔为0.2秒,相对于微秒来说,相差太大,所以我们在执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是如何设计呢?下面具体介绍其原理:
  
如图4.1.1所示的石英晶体为12MHz,因此,1个机器周期为1微  
MOV R6,#20                2个         2
 D1:         MOV R7,#248                     2个         2       2+2×248=498 20×
               DJNZ R7,$                   2个         2×248             (498
              DJNZ R6,D1                2个   2×20=40           10002 
因此,上面的延时程序时间为10.002ms。 
由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7=248时,延时10ms,以此为基本的计时单位。如本实验要求0.2秒=200ms,10ms×R5=200ms,则R5=20,延时子程序如下: 
DELAY:          MOV R5,#20 
D1:             MOV R6,#20 
D2:             MOV R7,#248 
                DJNZ R7,$ 
                DJNZ R6,D2 
                DJNZ R5,D1 
             RET 
(2).            输出控制
如图1所示,当P1.0端口输出高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平,即P1.0=0时,发光二极管L1亮;我们可以使用SETB P1.0指令使P1.0端口输出高电平,使用CLR P1.0指令使P1.0端口输出低电平。
5.                       程序框图 
          如图4.1.2所示
  
  
  
  
  
                 图4.1.2
 
 
6.                       汇编源程序 
                            ORG 0 
START:               CLR P1.0 
                            LCALL DELAY 
                            SETB P1.0 
                            LCALL DELAY 
                            LJMP START 
DELAY:              MOV R5,#20                        ;延时子程序,延时0.2秒 
D1:                      MOV R6,#20 
D2:                      MOV R7,#248 
                            DJNZ R7,$ 
                            DJNZ R6,D2 
                            DJNZ R5,D1 
                            RET 
                            END 
  
7.                       C语言源程序 
#include  
sbit L1=P1^0; 
  
void delay02s(void)               //延时0.2秒子程序 

  unsigned char i,j,k; 
  for(i=20;i>0;i--) 
  for(j=20;j>0;j--) 
  for(k=248;k>0;k--); 
}   
void main(void) 

  while(1) 
    { 
      L1=0; 
      delay02s(); 
      L1=1; 
      delay02s(); 
    } 
}
关键字:闪烁灯  单片机系统 引用地址:1. 闪烁灯

上一篇:4. 广告灯的左移右移
下一篇:2. 模拟开关灯

推荐阅读最新更新时间:2024-03-16 15:11

AM30L V0064D在单片机系统中的典型应用
摘要:AM30LV0064D是AMD公司生产的一种新型超与非(U1traNAND)结构的闪速存储器(Flash)。本文介绍它的工作原理,以及它与AT89LS8252单片机的硬件接口电路和PLD内部逻辑控制设计的代码,并对编程操作的软件流程进行了描述。 关键词:AM30LV0064D U1traNAND 闪速存储器 1 概述 AM30LV0064D是AMD公司生产的一种新型非易失性闪速存储器。或非(NOR)结构的Flash具有高速的随机存取功能,但成本较高;新的UltraNAND结构的Flash相对于NOR结构的Flash,具有价格低,容量特别大的优势,支持对存储器高速地连续存取。谝芯片工作电压范围在2.7~3.6V,特别适
[缓冲存储]
MSP430单片机系统应用结构设计与选型
   1 MSP430简介   MSP430是TI公司推出的16位单片机系列产品,在电池供电的低功耗应用中具有独特的优势。其工作电压为1.8~3.6 V,正常工作时功耗可控制在200μA左右,低功耗模式可实现2μA甚至O.1μA的低功耗。MSP430系列单片机作为性能优异的MCU在中国已经得到了广泛的应用。MSP430具有高集成度,通常在单个芯片上集成了12位的A/D转换器、比较器、多个定时器,以及片内USART、看门狗、片内DCO 等。一般单片就可满足大多数的应用需要。   MSP430单片机的程序存储器是Flash存储器,并且支持JTAG在线编程,可以方便地实现程序的下载、仿真、调试和升级。   目前整合性最好的
[单片机]
MSP430<font color='red'>单片机系统</font>应用结构设计与选型
汽车驾驶模拟器单片机系统设计
  引言   汽车驾驶模拟器是一种能正确模拟汽车的驾驶操纵动作,获得实车驾驶感觉的仿真系统。目前的汽车驾驶模拟器集合了传感器、计算机三维实时动画、计算机接口、人工智能、数据通信、网络、多媒体等多种先进技术,主要用于驾驶员的培训,也可以对微观交通进行仿真,对汽车的控制特性进行研究 。汽车驾驶模拟器具有安全性高、再现性好的特点。利用驾驶模拟器来进行研究和训练,可方便地模拟各种道路环境、天气状况,分析汽车的技术性能指标,从而可以节省大量的自然资源,具有很高的经济价值 。   在汽车驾驶模拟器中,传感控制系统的性能直接影响到整个汽车驾驶模拟系统的交互性和实时性,是衡量汽车驾驶模拟器实用性能的重要指标。传感控制系统主要由各种传感器、
[嵌入式]
单片机系统应用中的抗干扰措施
1主要干扰渠道及防护措施   工业生产中的干扰一般都以脉冲形式进入微机,干扰窜入系统的渠道主要有三条,即供电系统;过程通道;空间磁场。   通常防护措施如下:   (1)供电系统   在微机系统中,最严重的干扰来源为电源的污染。为了防止从电源系统引入的干扰,一是要将微机的供电与大功率的用电设备的电源分开,最好单独供电;二是在单片机系统电源变压器的初级串接一低通滤波器(如图1所示),有效阻止高次谐波串入系统,改善电源波形,提高单片机系统的抗干扰能力。   (2)输入输出通道   输入输出通道是单片机与传感器、单片机与上位机以及单片机与执行机构之间的信息传送的路径。在微机系统中,传输线上的信息多为脉冲波和较弱的测量信号电压
[单片机]
<font color='red'>单片机系统</font>应用中的抗干扰措施
单片机系统的电磁兼容性设计
本文中所提到的对电磁干扰的设计我们主要从硬件和软件方面进行设计处理,下面就是从单片机的PCB设计到软件处理方面来介绍对电磁兼容性的处理。 一、影响EMC的因数 1、电压:电源电压越高,意味着电压振幅越大,发射就更多,而低电源电压影响敏感度。 2、频率:高频产生更多的发射,周期性信号产生更多的发射。在高频单片机系统中,当器件开关时产生电流尖峰信号;在模拟系统中,当负载电流变化时产生电流尖峰信号。 3、接地:在所有EMC题目中,主要题目是不适当的接地引起的。有三种信号接地方法:单点、多点和混合。在频率低于1MHz时,可采用单点接地方法,但不适宜高频;在高频应用中,最好采用多点接地。混合接地是低频用单点接地,而高频用多点接地的方法
[单片机]
小容量单片机系统的C语言程序结构
引 言:   2002年初,笔者着手写一个IC卡预付费电表的工作程序,该电表使用Philips公司的8位51扩展型单片机87LPC764,要求实现很多功能,包括熄显示、负荷计算与控制、指示闪烁以及电表各种参数的查询等,总之,要使用时间的单元很多。笔者当时使用ASM51完成了这个程序的编写,完成后的程序量是2KB多一点。后来,由于种种原因,这个程序并没有真正使用,只是作了一些改动之后用在一个老化设备上进行计时与负荷计算。约一年后,笔者又重新改写了这些代码。 1 系统的改进   可以说,这个用ASM51实现的代码是没有什么组织性可言的,要什么功能就加入什么功能,弄得程序的结构非常松散,其实这也是导致笔者最终决定重新改写这些代码的原
[单片机]
51例程---闪烁灯
#include reg51.h void delay(void) { unsigned char i = 100; unsigned char j = 100; while(i--) { while(j--); } } //延时函数 void main(void) { P0 = 0xff; //灯亮 delay(); //延时 P0 = 0x0; //灯灭 delay(); //延时 } 主要是要学会用for语句学会写延时函数
[单片机]
单片机系统的数据存储和管理
  引言   在自动化测试领域里,单片机测试系统凭借其成熟的应用体系,简单的系统结构以及优良的性价比得到了越来越广泛的应用。近年来,随着新的测试对象不断出现,以及测试手段的不断发展,测试系统的功能越来越完善,各种应用场合对测试系统的要求也日益提高。现在的大多数测试系统不仅要完成工业现场的实时测控任务,同时还要进一步实现对测试数据的实时处理和保存。以往在一般的单片机测试系统中,信息的存储量并不大,系统只须用较少的资源就能实现数据的存储。但是随着存储芯片技术的不断发展,适用于单片机系统的存储芯片已经可以在掉电保护的情况下保存上百KB甚至几MB的数据;同样,目前的单片机测试系统也面临动辄处理并保存上千条乃至近万条测试数据的问题。这对一
[单片机]
<font color='red'>单片机系统</font>的数据存储和管理
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved