芯海单片机按开始键后实现闪烁

发布者:SereneDreams最新更新时间:2013-04-11 来源: 51hei关键字:芯海单片机  开始键  闪烁 手机看文章 扫描二维码
随时随地手机看文章
;按开始键(PT2.1)后程序实现LED闪烁
;目的学习I/O口的输入输出控制
;============================================
;完整代码下载地址: http://www.51hei.com/f/xhpms.rar
; filename: 111.asm
; chip    : csu1181b
; author  :
; date    : 2012-07-18
;============================================
include csu1181b.inc
;============================================
; program start
;============================================
  org  0000h ;
  goto a1 ;
  org  0005h ;
;***************************************************
;             判断是否按下开始键程序段
;***************************************************
a1:  CLRWDT    ;清看门狗
  MOVLW  00H ;把数据00H存到W中用做设置I/O口为输入口
  MOVWF  PT2EN ;把W中的数据存到PT2EN(25h)中将I/O口设置为输入口
  MOVLW  0FFH ;把数据0FFH存到W中用做设置I/O口为上拉模式
  MOVWF  PT2PU ;把W中的数据存到PT2PU(26h)中将I/O口设置为上拉模式
  BTFSC  PT2,1 ;判断PT2.1是否为0是则跳过吓一指令(判断有无按键按下有执行下面程序无则等待按键按下)
  GOTO  A1 ;无条件转移到A1
;***************************************************
;             闪烁程序段
;***************************************************
A2:  CLRWDT     ;清看门狗
  MOVLW  0FFH ;把数据0FFH存到W中用做设置I/O口为输出口
  MOVWF  PT3EN ;把W中的数据存到PT3EN(29h)中将I/O口设置为输出口
  MOVLW  0 ;把数据00H存到W中用做设置I/O口为禁止上拉模式
  MOVWF  PT3PU ;把W中的数据存到PT3PU(2ah)中将I/O口设置为禁止上拉模式
  MOVLW  01010101B ;把数据01010101B存到W中用做I/O口输出数据
  MOVWF  PT3 ;把W中的数据从PT3(28h)输出驱动外部设备(点亮LED灯)
  CALL  M001 ;延时
  MOVLW  10101010B ;把数据10101010B存到W中用做I/O口输出数据
  MOVWF  PT3 ;把W中的数据从PT3(28h)输出驱动外部设备(点亮LED灯)
  CALL  M001  ;延时
  goto  a2 ;返回反复执行程序
;****************************************************
;     延时程序段
;****************************************************
 
M001: MOVLW  2 ;
  MOVWF  80H  ;
M002: MOVLW  248  ;
  MOVWF  81H ;
M003: MOVLW  250 ;
  MOVWF  82H ;
M004: DECFSZ  82H,1 ; (减一后结果存在82h中)减一为0跳过下一指令
;       DECFSZ  82H,0 ;(减一后结果存在工作寄存器中)减一为0跳过下一指令
  GOTO  M004 ;
  DECFSZ  81H,1 ;
  GOTO  M003  ;
  DECFSZ  80H,1  ;
  GOTO  M002  ;
  RETURN ;子程序返回
     end ;结束
;============================================
关键字:芯海单片机  开始键  闪烁 引用地址:芯海单片机按开始键后实现闪烁

上一篇:汇编语言及汇编过程
下一篇:芯海自带笔段式LCD

推荐阅读最新更新时间:2024-03-16 13:21

电灯泡内通有交流电,为什么看不到灯泡在闪烁
■ 前言 前两天,看到头条上有一个有趣的帖子,讨论为什么普通灯泡里通有交流电,电流的大小方向时时刻刻都在改变,而我们看不到灯泡在闪烁? 这个问题如果我再向自己已经上大学的儿子提出,他会嘲笑这问题太简单了。帖子的作者也大体罗列了两个原因,使得人感觉不到灯泡在闪烁: 原因1::灯泡的亮度变化(闪烁)的频率应该和普通家用交流电的频率(50Hz)相同,由于 人的视觉暂留 效应也不会觉察到灯泡的闪烁。 原因2: 灯泡(白炽灯)的灯丝具有热惯性,虽然交流电的幅值变化所引起的电功率的波动,但反映到灯丝温度上就比较平滑,所以实际上波动较小,人眼不易觉察。 ▲ 视觉暂留效果 人类感知灯光闪烁的能力与视觉暂留现象还不完全一致,人们对于
[测试测量]
电灯泡内通有交流电,为什么看不到灯泡在<font color='red'>闪烁</font>?
89C51单片机之定时器0、1控制LED1、0.5秒闪烁
1.proteus仿真图 2.keli代码 #include reg51.h sbit led1=P0^0; sbit led2=P1^0; int count0,count1; //定时器0溢出中断程序 void timer0() interrupt 1 //定时器0中断标志位为1 { //重新装载定时器0计数初值 TH0=(65536-50000)/256; TL0=(65536-50000)%256; if(count0==10) //T0*10=1s LED1闪烁 { led1=~led1; count0=0; } count0++; } //定时
[单片机]
89C51<font color='red'>单片机</font>之定时器0、1控制LED1、0.5秒<font color='red'>闪烁</font>
基于51单片机设计的闪烁
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所
[单片机]
基于51<font color='red'>单片机</font>设计的<font color='red'>闪烁</font>灯
面向TFT-LCD面板的高级Gamma校准系统
  随着市场竞争日益激烈, LCD 产品的上市时间成为制约产品市场销量的关键因素。过去,工程设计人员需要一个星期才能获得特定 TFT-LCD 面板 的最佳Gamma电压和VCOM电压,而利用AGCS可以将Gamma电压和VCOM电压的优化过程缩短到几秒钟以内。   LCD面板的用户对于面板的Gamma规格要求非常严格,因此,LCD制造商必须针对每个面板模块建立Gamma曲线,而生产过程中不同面板Gamma电压的差异超出了用户对Gamma参数的要求。LCD模块厂商可以借助AGCS在生产线上对每块面板进行微调。   本文介绍了一个闭环反馈系统,能够在工程试验中对TFT-LCD面板进行Gamma和闪烁校准,最终目标是将高级G
[家用电子]
面向TFT-LCD面板的高级Gamma校准系统
MSP430F149单片机的内部定时器A定时1秒钟实现LED闪烁
#include msp430x14x.h //********************函数声明****************** void InitClock(); //********************主函数******************** void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关看门狗 InitClock(); // 初始化时钟 P1DIR |= BIT0; // 设P1.0为输出 CCTL0 = CCIE;
[单片机]
学51单片机-定时中断与LED闪烁
这次说定时与中断,有人说,掌握了定时与中断,就掌握了一个单片机80%的功能;也有人说,中断是一个单片机的灵魂。这两句话无一不在强调中断的重要性,就让我们认识一下,中断到底是什么。 根据百度百科的定义:指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情况的过程就叫做中断。 举个例子,我正在吃饭呢,忽然老婆大人发话了,说在网上看上一个包,挺好的,让我帮着付款,于是我停下吃饭说好,去帮着付款,付完款,继续吃饭。 这个过程中,我是CPU;吃饭是主程序;老婆大人说话,触发了中断;我说好,安慰
[单片机]
单片机(51) LED循环流水闪烁(硬件延时)
#include regx51.h #include intrins.h void delay(unsigned char i){ unsigned char k; for(k=0;k i;k++){ TH1=(65535-50000)/256; TL1=(65536-50000)%256; TR1=1; while(!TF1){ TF1=0; } } } void main(){ unsigned char i,k,w; TMOD=0x10; P1=0xff; while(1){ w=0xfe; for(i=0;i 8;i++){ for(k=0
[单片机]
安森美推出消除LED闪烁和支持ASIL B的图像传感器
新的高动态范围背照式器件用于先进驾驶辅助系统 推动高能效创新的安森美半导体(ON Semiconductor,美国纳斯达克上市代号:ON),推出采用突破性减少LED闪烁 (LFM)技术的新的230万像素CMOS图像传感器样品,为汽车先进驾驶辅助系统(ADAS)应用确立了一个新基准。AR0231AT能捕获1080p高动态范围 (HDR) 视频,还具备支持汽车安全完整性等级B(ASIL B)的特性。 LFM技术(专利申请中)消除交通信号灯和汽车LED照明的高频LED闪烁,令交通信号阅读算法能于所有光照条件下工作。AR0231AT具有1/2.7英寸(6.82 mm)光学格式和1928(水平) x 1208(垂直)有源像素阵
[传感器]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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