功能说明:通过取表的方法,使P1口的指示灯,进行单个指示灯左移运动。
一、硬件电路
二、程序:
ORG 00H;程序开始
*******************************************
START: MOV DPTR,#TABLE ;数据指针指向表头地址⑴
********************************************
S1: MOV A,#00H ;设置地址偏移量⑵
*************************************************
MOVC A,@A+DPTR ;根据DPRT到表内取显示码⑶
******************************************************
CJNE A,#0fe0h,S2 ;判断是否是结束码
LJMP START
********************************************
S2:
MOV P1,A ;将取到的显示码送P1口显示
LCALL DELAY
INC DPTR ;数据指针加1
LJMP S1
****************************************
DELAY: MOV R5,#20 ;延时子程序
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
*********************************************
TABLE:
DB 01H,02H,04H,08H ;显示码表
DB 10H,20H,40H,80H,
db 00h,00h,00h,00h
db 00h,00h,00h,00h
db 0feh
end
三、理论依据:
1、 取表的大要素:
(1) 定义表头指针
MOV DPTR,#TABLE ;数据指针指向表头地址⑴
(2) 定义偏移量
MOV A,#00H ;设置地址偏移量⑵
(3) 取值
MOVC A,@A+DPTR ;根据DPRT到表内取显示码⑶
2、 制表要领:
(1) 要有标号,以“:”冒号相隔。
(2) DB开头,DB与数值之间要有“空格”。
(3) 数值为十进制0—255,十六进制0—0FFH,二进制00000000B—11111111B
(4) 数值以“,”逗号相隔。
一般要有结束码,也可以没用。作为结束码时,不能与里面的数值相同。
关键字:单片机 初级篇 单个指示灯左移
引用地址:
单片机初级篇—单个指示灯左移
推荐阅读最新更新时间:2024-03-16 14:35
PIC单片机的硬件死锁
使用 PIC 单片机 去设计工控电路,最头痛的问题,就是 PIC 单片机在受干扰后经常硬件死锁,大部份人归咎于 “CMOS的可控硅效应” 因而产生死锁现象,一般都认为 ‘死锁后硬件复位都是无效的.只有断电。’ 但是一个成熟的商品,那须要你去断电呢? 就好像一台电冰箱,压缩机一启动,产生干扰, CPU 受干扰 因而 ‘硬件死锁’,死机在那儿,假如发现了,可以马上拔掉电源插头,隔几秒再插回,如此的动作 可以接受吗? 假如死机时没发现,死机几十天,你猜它会如何呢? -- 应该是 供给 CPU 电源的稳压 IC 烧毁了。 PIC 单片机 为什么 会硬件死锁,PIC 单片机在受干扰后经常硬件死锁,那么 PIC 要‘看门狗’ 有何用,有没
[单片机]
基于CPLD的单片机PCI接口设计
摘要: 详细阐述一种利用CPLD实现的8位单片机与PCI设备间的通信接口方案,给出用ABEL HDL编写的主要源程序。该方案在实践中检验通过。
关键词: 单片机 CPLD PCI
8位单片机在嵌入式系统中应用广泛,然而让它直接与PCI总线设备打交道却有其固有缺陷。8位单片机只有16位地址线,8位数据端口,而PCI总线2.0规范中,除了有32位地址数据复用AD 外,还有FRAME、IRDY、TRDY等重要的信号线。让单片机有限的I/O端口来直接控制如此众多的信号线是不可能的。一种可行的方案就是利用CPLD作为沟通单片机与PCI设备间的桥梁,充分利用CPLD中I/O资源丰富,用户可自定制
[应用]
STM32F3 “模数”单片机
STM32 F3系列是ST ARM Cortex-M4微控制器产品组合的入门级产品: 性能表现比STM32F1 系列更加出色,价格却灰常平易近人~~~ STM32F3系列支持: DSP指令 内置浮点单元 (FPU) 运行频率高达72MHz 快速12位5 MSPS和精密16位sigma-deltaADC、可编程增益放大器(4档增益、精确度为1%)、快速50 ns比较器和工作频率为144 MHz的多功能时钟控制单元 搭配ST独有的且基于内核耦合存储器(CCM-SRAM) 的程序加速 (Routine Booster) 功能,使电机控制等例行程序的执行速度可比原来提升43% 嵌入式DSC设计创新,玩转“模数”世界,有图有真相! ST
[单片机]
你不得不知的Cortex-M3和M4微控制器使用秘诀
许多嵌入式开发人员对ARM Cortex处理器架构颇为熟悉,但很少有人能够对这种流行架构了如指掌,从而可以充分发挥它独特的特性和性能。ARM Cortex-M4处理器尤为如此,它拥有引以为豪的增强架构、天生的数字信号处理(DSP)能力和可选的浮点加速器,使精于此道的程序设计人员或硬件工程师可以充分发挥它的优势。本文接下来将就Cortex-M3/M4微控制器(MCU)的一些更有趣的(但经常遭到忽视的)特性展开详细的论述。 大部分采用Cortex-M3/M4 MCU的目标应用是便携式的,并且供电电源来自电池或能源收集系统,因此我们所探讨的大部分概念涉及如何减少系统整体能耗的技术。然而,在许多情况下,这些节能技术也是处理器应用
[单片机]
单片机程序-点阵LED
/****************点阵LED******************/ /** *功能:点阵LED流动显示5,4,3,2,1后,会一直显示闪动的矩形 *作者:徐冉 *日期:2013-06-10 *备注:已经通过调试 **/ /*****************AT89C52-RC MCU****************/ /***********************51hei开发板**************/ #include reg52.h typedef unsigned int uint;//数据类型声明优于#define typedef unsigned char uchar; sbit max7219
[单片机]
pwm调速频率,51单片机PWM调速程序
51单片机的pwm调速频率主要通过一个定时器和一个IO口来实现PWM的输出。在一个周期里面,首先让IO口输出高电平,并定时一定的时间然后再将IO口输出低电平,定时一定的时间。然后在while里面循环输出即可。需要改变占空比的话就改变高电平的时间与低电平的时间比。我们来看看51单片机的PWM调速程序。 51单片机PWM调速程序 /*******************************************************************/ /* 程序名:PWM直流电机调速 */ /* 晶振:11.00592 MHz CPU型号:AT89C51 */ /* 直流电机的PWM波控制,
[单片机]
STC15F104W单片机四路按键循环开关程序
用一个按键控制四个继电器循环导通,程序由51单片机的程序改到STC15F104W上,第一次按键,第一个继电器吸合,第二次按键,第二个继电器吸合,第一个继电器释放,以此类推。最初的想法就是实现电风扇,三档开关,程序里面可以修改端口。 #include reg52.h sbit key = P3^4; //定义按键 void delayms(void); //延时 void led_refresh(unsigned char i); //led显示 unsigned char keyscan(void); //按键 void init(void); /
[单片机]
MSP430单片机在微型低功耗数据广播接收机中的应用
一、 引言 我们独立自主开发了数据广播编码器和微型低功耗调频数据广播接收机,整套系统采用连续相位频移键控(CPFSK)调制方式,副载波频率为72KHz,占用带宽约16Khz,数据传输速率4.8KHZ。采用CPFSK调制方式使接收机易于实现,与QPSK的调制方式相比对相位稳定度要求不高,不易受外界温度噪声的影响,而且在信号解调处理时实现低功耗。 由于在发送端先后进行了数据编码、信道调制、线性调频,所以接收设备要完成信号逆处理。硬件结构框图: 二、MSP430单片机的特点及在接收机中的应用 TI公司MSP430系列单片机的超低功耗特性(运行在1MHz时钟条件下工作电流视工作模式不同为0.1-400uA
[单片机]