51单片机对两位 BCD拨盘 的读出程序

发布者:Qinghua2022最新更新时间:2018-05-08 来源: eefocus关键字:51单片机  BCD拨盘  读出程序 手机看文章 扫描二维码
随时随地手机看文章

问题:做了一个小设计,用的是AT89C2051,其中P1口接两位BCD指拨开关,P3.2接了一个开关,P3.3接了一个继电器。
两位BCD指拨开关的具体接法是公共端接P1.1和P1.2口,8421分别接在P1.3~P1.6口。
我想通过开关控制继电器开合。具体要求是:按开关的次数由BCD开关的十位来决定,即BCD上显示的是数字3,则按3次P3.2所接的开关,继电器才开始动作,显示5,则按5次继电器才动作,以此类推;而继电器开合时间由BCD开关的个位控制,如果BCD上显示的是数字3,则继电器开或合3分钟,是5则开或合5分钟。
不知道如何读入的P1口值并分开成两部分,请哪位前辈高手帮忙写个程序,让我学习学习。在此万分感谢。
悬赏分:50 - 解决时间:2009-9-12 14:27 
;============================
最佳答案:
利用两个BCD指拨开关,设定了按键次数和延时时间(分钟数);按键输入、继电器输出。
很简单,楼主写的非常清楚。
BCD指拨开关(又称为拨盘、拨码开关),其输出是按照8421形式,但是它有个公共端,输入高电平的时候,输出的8421码是高电平有效。
;----------------------------
;读入BCD(8421)拨码开关:
    SETB P1.1      ;屏蔽一组
    CLR  P1.0      ;P1.0所连接的拨盘有效
    MOV  A, P1     ;读入,低有效
    CPL  A         ;有效值变高
    RR   A
    RR   A
    ANL  A, #0FH   ;留下低四位
    MOV  R7, A     ;存好
    SETB P1.0      ;屏蔽另一组
    CLR  P1.1      ;P1.1所连接的拨盘有效
    MOV  A,   P1   ;读入,低有效
    CPL  A         ;有效值变高
    RR   A
    RR   A
    ANL  A, #0FH   ;留下低四位
    MOV  R6, A     ;存好
;这样,就将两组BCD码,存到了R6和R7。 

关键字:51单片机  BCD拨盘  读出程序 引用地址:51单片机对两位 BCD拨盘 的读出程序

上一篇:MCS-51系列单片机指令如何判断字节数
下一篇:汇编语言的16位除法子程序

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

51单片机矩形按键控制16个LED灯亮灭和数码管显示
电路原理图 程序 #include reg51.h #define uint unsigned int #define uchar unsigned char //函数声明 void delay(uint time); //延时函数 void display(uchar k); //数码管显示0-F以及LED灯的亮灭 uchar getKey(); //读取键盘的数值 //主程序 void main(){ uchar keyValue; while(1){ keyValue = getKey(); //读取键盘值 display(keyValue); //数码管显示&LED亮灭 } }
[单片机]
51单片机入门 - 学习笔记
什么是单片机 单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。 不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。
[单片机]
<font color='red'>51单片机</font>入门 - 学习笔记
开发51单片机操作系统时应注意的问题
(1)操作系统软件的代码不能太长 因为51系列单片机的系统硬件资源相对匮乏,如果操作系统的代码比应用程序的代码还大,甚至使得用户的应用程序要考虑给操作系统让出资源,这样的操作系统即使功能再完善,也不实用。现在流行的嵌入式操作系统就不能应用于51系列单片机,原因是代码太大。开发一个5000行的基于裸机的应用程序也就是占用 7~8KB ROM空间,一个操作系统用掉了几十KB,占空间不算,实时性的优势恐怕也没了(执行这么多的指令要时间)。所以,μCOS的作者也不支持将他的代码移植到51系列单片机上,这也就不奇怪了。 (2)操作系统不能占用太多的片内RAM空间 51系列单片机只有128个或者256个字节的片内RAM空间,稍微不
[单片机]
基于51单片机的红外反射式的测速机
引言 在工程实践中,经常会遇到各种需要测量转速的场合。转速是电动机极为重要的一个状态参数,在很多运动系统的测控中,都需要对电机的转速进行测量,不论是直流调速系统还是交流调速系统,只有转速的高精度检测才能得到高精度的控制系统。迄今为止,测速可分为两类:模拟电路测速和数字电路测速。随着微电子技术的发展,计算机技术的广泛应用,出现了以计算机为核心的数字测速装置。这样的速度测量装置测量范围宽、工作方式灵活多变、适应面广,具有普通数字测速装置不可比拟的快速性、精确性和优良性。 一:设计思路 用一个红外发光二极管和一个接受红外光的二极管组成一套光电管。当检测到物表面为黑色时,反射光很弱,接收端检测到的光线可以忽略,使接收端呈现一种
[单片机]
基于<font color='red'>51单片机</font>的红外反射式的测速机
51单片机IO口模拟串口通讯C源程序
#include reg51.h sbit BT_SND =P1^0; sbit BT_REC =P1^1; /**********************************************    IO 口模拟232通讯程序    使用两种方式的C程序 占用定时器0    **********************************************/    #define MODE_QUICK    #define F_TM F0    #define TIMER0_ENABLE TL0=TH0; TR0=1; #define TIMER0_DISABLE TR0=0;
[单片机]
51单片机100内的加减乘除计算器C语言程序
#include reg52.h //包含文件 #define uchar unsigned char #define uint unsigned int char b ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6, 0xa1,0x86,0x8e,0x8c,0xc1,0xce,0x91,0x89,0xc7,0xff}; // 共阴极字符码 //延时函数,用于实现程序中的短暂延时,表示延时cnt个毫秒 void delay(unsigned int cnt) { unsigned char i; while(
[单片机]
跟我学51单片机(一):单片机最小系统组成与I/O输出控制
  单片机是一门实践性较强的技术,很多初学者在学习单片机技术开发的时候往往一头雾水,不知何从下手。为此,笔者结合自己使用单片机多年的经验,特意设计了单片机开发所需的Study-c 整机和硬件套件,并结合套件精心编写了单片机从入门到精通系列教程。通过讲述单片机原理、电路设计、应用开发软件工具、编写实验实例让读者全面接触单片机技术。教程编排上由浅入深,循序渐进,内容力求完整、实用、趣味并存,使读者在轻松愉快的学习过程中逐步提高单片机软硬件综合设计水平。   一、内容提要   本讲主要向大家介绍51 系列单片机的最小系统的实现并通过编写程序来实现对单片机IO 口的输出控制。以点亮外部连接的LED(发光二极管)为例,简要的介绍单片机的原
[单片机]
跟我学<font color='red'>51单片机</font>(一):单片机最小系统组成与I/O输出控制
80C51单片机的引脚及其功能介绍
首先我们来连接一下单片机的引脚图,如果,具体功能在下面都有介绍。 单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 ⒈ 电源: ⑴ VCC - 芯片电源,接+5V; ⑵ VSS - 接地端; ⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 ⒊ 控制线:控制线共有4根, ⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ① ALE功能:用来锁存P0口送出的低8位地址 ② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 ⑵ PSEN:外ROM读选通信号。 ⑶ RST/VPD:复位/备用电源。 ① RST(Reset)功能:复位信号输入端。 ② VP
[单片机]
80C<font color='red'>51单片机</font>的引脚及其功能介绍
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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