我的51单片机之 拨码开关 的 C语言与汇编的编程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

拨码开关实验

一、功能:

拨码开关打上某一位,点亮一只对应的指示灯。

二、电路图:

三、C程序:

//************************************************************** //用四只发光二极管指示拨码开关每一位的状态。made by luqichao

//************************************************************** #include

#include

#define LEDCODE P1

sbit B1=P3^2;

sbit B2=P3^3;

sbit B3=P3^4;

sbit B4=P3^5;

sbit LD1=P1^0;

sbit LD2=P1^1;

sbit LD3=P1^2;

sbit LD4=P1^3;

void main()

{

P1=0xFF;

P3=0xFF;

if(B1==0){LD1=0;};//b1

if(B2==0){LD2=0;};//b2

if(B3==0){LD3=0;};//b3

if(B4==0){LD4=0;};//b4

}

四、汇编程序:

;************************************************************** ;用四只发光二极管指示拨码开关每一位的状态。made by luqichao

;************************************************************** ORG0000H

AJMP MAIN

ORG0030H

LEDCODE EQU P1

B1EQU P3.2;

B2EQU P3.3;

B3EQU P3.4;

B4EQU P3.5;

LD1EQU P1.0;

LD2EQU P1.1;

LD3EQU P1.2;

LD4EQU P1.3;

MAIN:

MOV P1,0xFF;

MOV P3,0xFF;

START:

JNB B1,A1;

JNB B2,A2;

JNB B3,A3;

JNB B4,A4;

AJMP START;

A1:CLR LD1;//b1

AJMP START;

A2:CLR LD2;//b2

AJMP START;

A3:CLR LD3;//b3

AJMP START;

A4:CLR LD4;//b4

AJMP START;

END;

相关文档
最新文档