拨码开关显示试验程序

2018-01-14 20:33:40编辑:什么鱼 关键字:拨码开关  显示试验

 

图2

    图1就是我们试验板上的拨码开关和四个指示灯,拨码开关拨向左边为高电平(为1),拨码开关拨向右边为低电平(为0),右边指示灯也点亮, 原理图见图2所示。


    这个实验实现的功能是: 根据拨码的编码方式进行显示,显示为8421BCD码,例如:将图1中拨码开关2和3拨向右边,则显示6(低电平有效);程序如下:

       ORG   1000H
       A_BIT EQU 20H
       B_BIT EQU 21H
       YI    EQU 22H
       ER    EQU 23H
       SI    EQU 24H
       BA    EQU 25H
       HUO1  EQU 26H
       HUO2  EQU 27H
       MOV   A_BIT,#0
       MOV   A_BIT,#0
       MOV   P0,#0FFH
       MOV   P1,#0FFH
       MOV   P2,#0FFH
       MOV   P3,#0FFH
START: LCALL DISP
       MOV   YI,#0
       MOV   ER,#0
       MOV   SI,#0
       MOV   BA,#0
       JB    P0.0,STAR1
       LCALL DELAY
       JB    P0.0,STAR1
       MOV   YI,#1
STAR1: JB    P0.1,STAR2
       LCALL DELAY
       JB    P0.1,STAR2
       MOV   ER,#2
STAR2: JB    P0.2,STAR3
       LCALL DELAY
       JB    P0.2,STAR3
       MOV   SI,#4
STAR3: JB    P0.3,STAR4
       LCALL DELAY
       JB    P0.3,STAR4
       MOV   BA,#8
STAR4: CLR   C
       MOV   A,YI
       ADD   A,ER
       ADD   A,SI 
       ADDC  A,BA
       MOV   A_BIT,A
       JNC   STAR5
       MOV   B_BIT,#1
STAR5: MOV   B_BIT,#0
       LJMP  START
DISP:  MOV   DPTR,#NUMTAB ;指定查表启始地址
       MOV   A,A_BIT;取个位数
       MOVC  A,@A+DPTR ;查个位数的7段代码
       MOV   P1,A ;送出个位的7段代码
       CLR   P2.0 ;开个位显示
       CALL  DELAY;显示1毫秒
       SETB  P2.0;关闭个位显示
       MOV   A,B_BIT ;取十位数
       MOVC  A,@A+DPTR
       MOV   P1,A
       CLR   P2.1
       ACALL DELAY
       SETB  P2.1
       RET
DELAY: NOP
       MOV   R4,#2 ;1毫秒延时子程序
D1:    MOV   R5,#248
       DJNZ  R5,$
       DJNZ  R4,D1
       RET
NUMTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
        DB 80H,90H,88H,83H,0C7H,0A0H,86H,8EH
       END


关键字:拨码开关  显示试验

来源: eefocus 引用地址:http://www.eeworld.com.cn/mcu/article_2018011437362.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:1602液晶屏驱动源程序
下一篇:51单片机驱动74HC595的编程及使用要点

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

单片机ATmega8读取165串入的拨码开关程序

/***********74HC165并入串出例子程序************/ //  单片机 ATmega8读取165串入的拨码开关地址     //  // 晶振:内部1M                            
发表于 2017-12-17 14:08:55

XS128单片机实验:读取拨码开关值

#include <hidef.h>      /* common defines and macros */ #include "derivative.h"      /* derivative-specific definitions */ /********************************************************* //功能: 读取PORTA口拨码开关状态,通过portb 口的LED灯显示 //This is the third 
发表于 2015-05-26 16:38:15

一种新颖的智能码盘的研究

串行接口或2个普通输入/输出口(用虚拟串行口技术)就可实现16位BCD码或者64位二进制码输入,不仅简化了硬件电路,而且解决了当输入数据位数过多时系统CPU接口不足的难题。1 设计原理    该智能码盘用8位拨码开关实现数据输入,其中高4位用于选择输入码(BCD码)的位数,低4位用于设置BCD码的大小。如设置第8位码为7,则拨码开关高4位设置为1000,低4位为0111,然后按一次采集按钮即完成输入。码盘CPU将采集到的BCD码存入相应的内存,并转存片内E2PROM或FLASH内,然后再从串行口输出供用户设备使用(用户CPU串口采样)。智能码盘系统框图如图1所示。   
发表于 2012-03-10 19:17:57
一种新颖的智能码盘的研究

proteus仿真之8位数码管动态扫描显示试验

/*Proteus 仿真之8位共阴数码管动态扫描实验*/程序:/*Proteus 仿真之8位共阴数码管动态扫描实验*/#include<reg52.h>#define SegPort P0   //定义数码管连接端口sbit LE_Duan = P2^0;   //定义573锁存使能端口 段锁存sbit LE_Wei = P2^1;   //定义573锁存使能端口 位锁存unsigned char code Seg_Duan[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};   // 数码管显示
发表于 2017-10-02 10:26:17
proteus仿真之8位数码管动态扫描显示试验

proteus仿真之DS1302+8位数码管显示试验

proteus仿真之DS1302+8位数码管显示试验。仿真效果如下图: 源程序如下:/*51单片机:DS1302+数码管 Proteus 仿真程序。功能:数码管时钟显示。仿真结果:(1)8位数码管显示设定的时间与日期。(2)通过按键切换时间与日期的显示。*/#include <reg52.h>sbit LE_DUAN  = P2^0;   //定义573锁存使能端口 数码管段锁存sbit LE_WEI  = P2^1;    //定义573锁存使能端口 数码管位锁存#define SEGPORT P0    
发表于 2017-10-02 10:24:43
proteus仿真之DS1302+8位数码管显示试验

proteus仿真之DS1302+LCD1602显示试验

proteus仿真之DS1302+LCD1602显示试验仿真效果图为:C语言源程序如下:/*51单片机:DS1302+LCD1602 Proteus 仿真程序。功能:LCD1602时钟与日期的显示。仿真结果:LCD1602显示设定的时间与日期。*/#include <reg52.h>/**********LCD1602接口程序**********/#define LCD_PORT P1  //液晶LCD1602数据sbit RS = P2^4;sbit RW = P2^5;sbit E    = P2^6;char data str1[16]="Date
发表于 2017-10-02 10:23:38
proteus仿真之DS1302+LCD1602显示试验

小广播

何立民专栏

单片机及嵌入式宝典

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

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved