;P2 外接八个按键,P1 外接八个 LED
;一个按键对应控制一个灯,比如 P2.0 只控制 P1.0。
;按一下键,对应的 LED 亮灭转换一次
;不按则保持状态,常亮或常灭
ORG 0000H
LJMP START
ORG 000BH
MOV TH0, #HIGH(65536 - 10000) ;10ms@12MHz
MOV TL0, #LOW(65536 - 10000)
MOV A, P2
CPL A
MOV B, A
XRL A, 21H
ANL A, 21H
MOV 22H, A
MOV 21H, B
XRL 20H, A
MOV P1, 20H
RETI
;---------------------------------
START:
MOV TMOD, #01H
MOV TH0, #HIGH(65536 - 10000) ;10ms@12MHz
MOV TL0, #LOW(65536 - 10000)
SETB TR0
MOV IE, #82H
LOP:SJMP LOP
END
本程序完全符合题目要求,但是并没有被提问者选中。
提问者选中的程序,比做而论道写的,罗嗦的也太多了。
该程序的作者,对题目要求都理解不了,甚至说题目有矛盾。
当其故作高深的提出建议后,由此就得到了提问者的认同。
感兴趣的网友,可以打开题目链接,看看两个程序功能,相差多少。
其实,本程序,还可以更简单一些:
ORG 0000H
MOV A, P2
CPL A
MOV B, A
XRL A, 21H ;C_T
ANL A, 21H ;
MOV 21H, B ;C_L
XRL P1, A
DJNZ R7, $
DJNZ R6, $ - 2
JMP 0000H
END
关键字:汇编语言 按键控制
引用地址:
51 汇编语言编程:8个按键控制8个LED
推荐阅读最新更新时间:2024-03-16 16:02
51单片机串口通信测试程序
#include unsigned char flag,a; void delay(); void main() { TMOD=0x20;//设置定时器1为工作方式2 TH1=0xfa; //TH1=256-2^0*22118400/32/12/9600 波特率为9600,晶振为22.1184Mhz TL1=0xfa; TR1=1; //定时器1打开 REN=1; //允许串行接收位。由软件置REN=1,则启动串行口接收数据 SM0=0; //选择串行口工作方式1 SM1=1; EA=1; //开总中断 ES=1; //开串口中断 while(1) { if(flag=
[单片机]
[单片机框架][bsp层][nrf51822][nrf51422][nrf51802][bsp_exti] GPIOE配置和使用
GPIO Task Event blocks (GPIOTE) A GPIOTE block enables GPIOs on Port 0 to generate events on pin state change which can be used to carry out tasks through the PPI system. A GPIO can also be driven to change state on system events using the PPI system. Low power detection of pin state changes on Port 0 is possible when
[单片机]
AT89C51单片机解密原理
AT89C系列单片机擦除操作的时序为:擦除开始---- 擦除操作硬件初始化(10微秒)---- 擦除加密锁定位(50----200微秒)--- 擦除片内程序存储器内的数据(10毫秒)----- 擦除结束。如果用程序监控擦除过程,一旦加密锁定位被擦除就终止擦除操作,停止进一步擦除片内程序存储器,加过密的单片机就变成没加密的单片机了。片内程序可通过总线被读出。 对于AT89C系列单片机有两种不可破解的加密方法。 一、永久性地破坏单片机的加密位的加密方法。简称OTP加密模式。 二、永久性地破坏单片机的数据总线的加密方法。简称烧总线加密模式。AT89C系列单片机OTP加密模式原理这种编程加密算法烧坏加密锁定位(把芯片内的硅片击
[单片机]
国人立功 全球首台512GB容量iPhone诞生!
256GB的iPhone你觉得已经很大了?其实512GB实现起来也不难,只是苹果不想做而已。 但苹果懒得做的事情,不代表别人不愿意做。这不,国内第三方iPhone维修机构GeekBar已经搞定了512GB版iPhone。 从@GeekBar创始人磊哥放出的图片来看,他们使用此前iPhone 6升级内存的方式,将一颗512GB闪存芯片更换到了iPhone SE上,并成功刷入系统并开机。 令人欣喜的是,这台iPhone SE成功识别到了512GB的容量,序列号与IMEI均正常显示,第三方软件也能正常识别空间,系统版本为11.1.2。 众所周知,大容量闪存的价格并不便宜。因此有网友吐槽称,512GB芯片的价格已
[手机便携]
基于51单片机的电梯控制系统设计
一.系统概述 系统使用的模块有AT89C51单片机+LCD1602显示屏+ADC0832+按键+小灯。 本次设计的智能路灯控制系统以AT89C51单片机为控制核心,使用LCD1602显示屏显示ADC采集回来的光照强度的数字电压信号,系统程序内设置光照强度阈值,在默认状态下为自动模式,此时调节电位器就能实现光照强度的调节,按下自动按键就会切换到手动模式,此时按下手动开和手动关按键就能控制小灯的亮灭。 二.仿真概述 1.使用LCD1602显示光照强度电压信号值。 2.为电梯的内外都设置了上下楼按键,按下就开始执行上下楼程序,左侧的指示灯会根据电梯上行和下行高亮,到达指定楼层后状态灯会直接亮起。 3.当按下上下楼按键后
[单片机]
8051兼容单片机主要参数选编
script type=text/javascript function ImgZoom(Id)//重新设置图片大小 防止撑破表格 { var w = $(Id).width; var m = 715; if(w
[单片机]
基于51单片机的交通灯设计
一.硬件方案 本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示。按键可以控制禁行、深夜模式、复位、东西通行、南北通行、时间加、时间减、切换等功能。共四个二位阴极数码管,东南西北各一个显示时间,四个数码管的阴极都接到STC89C51的P1口,阳极接到74HC245芯片上,通过P0口控制74HC245芯片,起到驱动放大作用。 主要硬件:51单片机+最小系统+数码管显示模块+LED指示灯模块+按键模块; 二.设计功能 (1)本设计采用四方向数码管显示时间的设计,更加符合真实的交通信号灯设计; (2)7个按键:复位、夜间模式、紧急模式、设定时间、时间加、时间减、调试确定键; (3)夜间模
[单片机]
FP6276兼容G5177C,高效5V2A同步PWM升压DC转换器
FP6276是一款电流模式同步升压型DC-DC转换器,pwm/ psm控制。它的pwm电路,内置55mΩ高侧开关和55mΩ低侧开关使该调节器具备高节能。内部补偿网络也最大限度地减少多达6个外部元件数量。误差放大器的非反相输入端连接到一个0.6v精度参考电压和内部软启动功能可降低浪涌电流。 FP6276是台湾远翔 科技 生产,主要是直接代替G5177C。 输入电压:2.4V至4.5V 输出电压:最大5.3V 输出电流:2.1A,或者2.1A以下。 如果输出电流需要2.4A,可以看FP6276B,内置MOS内阻更低。脚位不一样。 如果输出电流需要3.0A,可以看FP6277。脚位基本一样,除了7脚改成限流脚。 如果输出电流需要1
[嵌入式]