CN103543682B - 普通io口识别输入状态的方法及装置 - Google Patents

普通io口识别输入状态的方法及装置 Download PDF

Info

Publication number
CN103543682B
CN103543682B CN201310548110.7A CN201310548110A CN103543682B CN 103543682 B CN103543682 B CN 103543682B CN 201310548110 A CN201310548110 A CN 201310548110A CN 103543682 B CN103543682 B CN 103543682B
Authority
CN
China
Prior art keywords
state
mouth
common
pull
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310548110.7A
Other languages
English (en)
Other versions
CN103543682A (zh
Inventor
吴新祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bangyan Technology Co ltd
Original Assignee
Bangyan Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bangyan Technology Co ltd filed Critical Bangyan Technology Co ltd
Priority to CN201310548110.7A priority Critical patent/CN103543682B/zh
Publication of CN103543682A publication Critical patent/CN103543682A/zh
Application granted granted Critical
Publication of CN103543682B publication Critical patent/CN103543682B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开一种普通IO口识别输入状态的方法及装置,所述方法包括:将待读取输入状态的普通IO口设置为输入功能,读取普通IO口的初始电平状态;根据初始电平状态对单片机的内部配置模块进行模式配置,并基于外部电阻模块及内部配置模块对普通IO口进行检测;基于检测的结果识别普通IO口的输入状态。本发明由于所述内部配置模块能配置出内部强、弱上拉模式、内部强、弱下拉模式等多种模式,因此,可通过单片机的普通IO口来对多种状态的输入进行识别判断,十分灵活,且无需增加AD转换功能,降低了成本。

Description

普通IO口识别输入状态的方法及装置
技术领域
本发明涉及单片机技术领域,尤其涉及一种普通IO口识别输入状态的方法。
背景技术
目前,普通的输入输出口如单片机的IO口只能实现识别判断两种状态的输入:高电平输入和低电平输入,当应用于PCB板版本管理时,只能对应识别判断两种PCB板的版本,但是,一般的情况下,PCB板会超出两个版本,这样就需要利用单片机的IO口识别多种状态的输入来解决这个问题。现有技术中,要识别多种状态的输入,通常需要利用单片机的AD转换功能接口,成本较高,单片机的普通IO口由于不具有AD转换功能,因此,按目前常用的方法则无法对多种状态的输入进行识别,然而,有时为了控制成本或设计的需要,必须通过单片机的普通IO口来实现对多种状态的输入进行识别判断,则无法通过现有技术来实现。
发明内容
本发明的主要目的在于提供一种普通IO口识别输入状态的方法及装置,旨在提高普通IO口的功能及降低成本。
为了达到上述目的,本发明提出一种普通IO口识别输入状态的方法,包括:
将待读取输入状态的普通IO口设置为输入功能,读取所述普通IO口的初始电平状态;
根据所述初始电平状态对单片机的内部配置模块进行模式配置,并基于外部电阻模块及内部配置模块对所述普通IO口进行检测;
基于检测的结果识别所述普通IO口的输入状态。
优选地,所述根据所述初始电平状态对单片机的内部配置模块进行模式配置,并基于外部电阻模块及内部配置模块对所述普通IO口进行检测的步骤具体为:
根据所述初始电平状态进行所述内部配置模块的模式配置,基于配置的所述内部配置模块及所述外部电阻模块对供电电源的电压进行分压,并对所述普通IO口的高低电平状态进行检测,获取检测结果。
优选地,当所述初始电平状态为高电平状态时,所述根据所述初始电平状态对单片机的内部配置模块进行配置,并基于外部电阻模块及内部配置模块对所述普通IO口进行检测的步骤具体包括:
将所述内部配置模块配置成强下拉模式,对所述普通IO口的高低电平状态进行检测得到状态A;
基于所述状态A将所述内部配置模块配置成弱下拉模式,对所述普通IO口的高低电平状态进行检测得到状态B;
所述基于检测的结果识别所述普通IO口的输入状态的步骤具体为:
根据所述状态A、状态B识别所述普通IO口的输入状态。
优选地,当所述初始电平状态为低电平状态时,所述根据所述初始电平状态对单片机的内部配置模块进行模式配置,并基于外部电阻模块及内部配置模块对所述普通IO口进行检测的步骤具体包括:
将所述内部配置模块配置成强上拉模式,对所述普通IO口的高低电平状态进行检测得到状态C;
基于所述状态C将所述内部配置模块配置成弱上拉模式,对所述普通IO口的高低电平状态进行检测得到状态D;
所述基于检测的结果识别所述普通IO口的输入状态的步骤具体为:
根据所述状态C、状态D识别所述普通IO口的输入状态。
优选地,所述基于检测的结果识别所述普通IO口的输入状态的步骤还包括:
根据预先设定的所述普通IO口不同的输入状态与其代表的不同标示制定一查询表,识别出所述普通IO口的不同输入状态后,在所述查询表中进行查找比对,识别出与之对应的标示。
本发明还提出一种普通IO口识别输入状态的装置,包括:
读取模块,用于将待读取输入状态的普通IO口设置为输入功能,读取所述普通IO口的初始电平状态;
配置检测模块,用于根据所述初始电平状态对单片机的内部配置模块进行模式配置,并基于外部电阻模块及内部配置模块对所述普通IO口进行检测;
识别模块,用于基于检测的结果识别所述普通IO口的输入状态。
优选地,所述配置检测模块用于:
根据所述初始电平状态进行所述内部配置模块的模式配置,基于配置的所述内部配置模块及所述外部电阻模块对供电电源的电压进行分压,并对所述普通IO口的高低电平状态进行检测,获取检测结果。
优选地,所述外部电阻模块为外部上拉电阻,所述外部上拉电阻的一端与单片机的供电电源连接,所述外部上拉电阻的另一端与所述普通IO口连接;所述内部配置模块用于配置强下拉模式、弱下拉模式。
优选地,所述外部电阻模块为外部下拉电阻,所述外部下拉电阻的一端与所述普通IO口连接,所述外部下拉电阻的另一端接地;所述内部配置模块用于配置强上拉模式、弱上拉模式。
优选地,所述识别模块用于:
根据预先设定的所述普通IO口不同的输入状态与其代表的不同标示制定一查询表,识别出所述普通IO口的不同输入状态后,在所述查询表中进行查找比对,识别出与之对应的标示。
本发明提出的一种普通IO口识别输入状态的方法及装置,根据读取的所述普通IO口的初始电平状态对单片机的内部配置模块进行模式配置,再通过配置的所述内部配置模块及外部电阻模块对供电电源的电压进行分压,并对所述普通IO口的高低电平状态进行检测,根据检测的结果识别所述普通IO口的输入状态,由于所述内部配置模块能配置出内部强、弱上拉模式、内部强、弱下拉模式等多种模式,因此,即可通过单片机的普通IO口来对多种状态的输入进行识别判断,十分灵活,且无需增加AD转换功能,降低了成本。
附图说明
图1是本发明普通IO口识别输入状态的方法较佳实施例的流程示意图;
图2是本发明普通IO口识别输入状态的装置较佳实施例的结构示意图。
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
本发明实施例的解决方案主要是:根据读取的所述普通IO口的初始电平状态对单片机的内部配置模块进行模式配置,再通过配置的所述内部配置模块及外部电阻模块对供电电源的电压进行分压,并对所述普通IO口的高低电平状态进行检测,根据检测的结果识别所述普通IO口的输入状态。
如图1所示,本发明较佳实施例提出一种普通IO口识别输入状态的方法,包括:
步骤S101,将待读取输入状态的普通IO口设置为输入功能,读取所述普通IO口的初始电平状态;
单片机的普通IO(Input/Output,输入/输出)口具有输入输出功能,单片机可根据不用应用选择IO口相应的输入输出状态,对于待读取输入状态的普通IO口,首先由单片机将该普通IO口设置为输入功能,即该普通IO口作为输入口接收输入信号。
单片机外与所述普通IO口接有一外部电阻模块,所述外部电阻模块可为一外部上拉电阻或外部下拉电阻,当所述外部电阻模块为外部上拉电阻时,所述外部上拉电阻的一端与单片机的供电电源连接,所述外部上拉电阻的另一端与所述普通IO口连接;当所述外置分压模块为外部下拉电阻时,所述外部下拉电阻的一端与所述普通IO口连接,所述外部下拉电阻的另一端接地。进一步地,根据取值大小的不同,外部上拉电阻还可分为外部强上拉电阻和外部弱上拉电阻,外部下拉电阻可分为外部强下拉电阻和外部弱下拉电阻,且在一种情况下,所述外部电阻模块中还可既无外部上拉电阻,也无外部下拉电阻。所述普通IO口连接的所述外部电阻模块中电阻的连接位置及大小不同时,对应的输入状态也会不同,因此,本实施例中即可通过判断所述普通IO口连接的所述外部电阻模块中电阻的连接位置及大小的不同来对不同的输入状态进行识别。
根据所述外部电阻模块中电阻的连接位置及大小的不同,所述普通IO口初始的输入状态也会不同,检测待读取输入状态的普通IO口的高低电平状态,获取所述普通IO口的初始电平状态。
步骤S102,根据所述初始电平状态对单片机的内部配置模块进行模式配置,并基于外部电阻模块及内部配置模块对所述普通IO口进行检测;
根据获取的所述普通IO口的初始电平状态判断所述外部电阻模块中电阻的连接位置,当所述初始电平状态为高电平状态时,则判断与所述普通IO口连接的所述外部电阻模块中的电阻为外部上拉电阻;当所述初始电平状态为低电平状态时,则判断与所述普通IO口连接的所述外部电阻模块中的电阻为外部下拉电阻。因此,根据获取到的所述普通IO口的初始电平状态即可判断出所述普通IO口连接的所述外部电阻模块中的电阻是外部上拉电阻还是外部下拉电阻,从而对单片机的内部配置模块进行模式配置。
根据所述初始电平状态判断出所述外部电阻模块中的电阻是外部上拉电阻还是外部下拉电阻后,单片机通过内部寄存器进行所述内部配置模块的模式配置,所述内部配置模块可根据所述外部电阻模块中的电阻是外部上拉电阻还是外部下拉电阻而相应的配置为下拉模式或上拉模式,具体地,本实施例中,所述内部配置模块可配置为强上拉模式、强下拉模式、弱上拉模式及弱下拉模式。
需要说明的是,不同型号的单片机其内部配置模块配置的模式种类也会有所不同,如有的单片机内部配置模块可配置成强、弱上拉模式及强、弱下拉模式,进一步地,有的单片机内部配置模块还可更加细化配置成强强上拉、强上拉模式,弱弱上拉、弱上拉模式,强强下拉、强下拉模式,弱弱下拉、弱下拉模式,其工作原理均相同,都是基于所述外部电阻模块及配置的所述内部配置模块对所述供电电源的电压进行分压,并对所述普通IO口的高低电平状态进行检测,为了便于说明,本实施例中以单片机内部配置模块配置成强、弱上拉模式及强、弱下拉模式为例进行说明,当然,也不限定单片机内部配置模块配置成其他更多种类的模式,其工作原理可参照单片机内部配置模块配置成强、弱上拉模式及强、弱下拉模式的工作原理,在此不再赘述。
具体地,本实施例中,当判断所述外部电阻模块中的电阻为外部上拉电阻时,则将单片机的内部配置模块配置成下拉模式,如可配置成强下拉模式、弱下拉模式后对所述普通IO口的高低电平状态进行检测,对配置成强下拉模式、弱下拉模式来进行检测的顺序不作进一步地限定,如可先配置成强下拉模式、再配置成弱下拉模式,也可先配置成弱下拉模式、再配置成强下拉模式,为了便于说明,在此仅以先配置成强下拉模式、再配置成弱下拉模式为例进行详细说明。先将单片机的内部配置模块配置成强下拉模式,对所述普通IO口的高低电平状态进行检测得到状态A;并基于状态A将单片机的内部配置模块配置成弱下拉模式,对所述普通IO口的高低电平状态进行检测得到状态B。
当判断所述外部电阻模块中的电阻为外部下拉电阻时,则将单片机的内部配置模块配置成上拉模式,如可配置成强上拉模式、弱上拉模式后对所述普通IO口的高低电平状态进行检测,对配置成强上拉模式、弱上拉模式来进行检测的顺序不作进一步地限定,如可先配置成强上拉模式、再配置成弱上拉模式,也可先配置成弱上拉模式、再配置成强上拉模式,为了便于说明,在此仅以先配置成强上拉模式、再配置成弱上拉模式为例进行详细说明。先将单片机的内部配置模块配置成强上拉模式,对所述普通IO口的高低电平状态进行检测得到状态C;并基于状态C将单片机的内部配置模块配置成弱上拉模式,对所述普通IO口的高低电平状态进行检测得到状态D。
步骤S103,基于检测的结果识别所述普通IO口的输入状态。
根据获取的状态A、B或状态C、D对所述普通IO口的输入状态进行识别,具体地,当判断所述外部电阻模块中的电阻为外部上拉电阻时,先将单片机的内部配置模块配置成强下拉模式,对此时所述普通IO口的高低电平状态进行检测得到状态A,若状态A为高电平状态,则识别出此时所述普通IO口的输入状态为强上拉电源正输入状态;若状态A为低电平状态,则继续将单片机的内部配置模块配置成弱下拉模式,对所述普通IO口的高低电平状态进行检测得到状态B,若状态B为高电平状态,则识别出此时所述普通IO口的输入状态为弱上拉电源正输入状态,若状态B为低电平状态,则识别出此时所述普通IO口的输入状态为高阻输入状态。
当判断所述外部电阻模块中的电阻为外部下拉电阻时,先将单片机的内部配置模块配置成强上拉模式,对所述普通IO口的高低电平状态进行检测得到状态C;若状态C为高电平状态,则识别出此时所述普通IO口的输入状态为强下拉电源负输入状态;若状态C为低电平状态,则继续将单片机的内部配置模块配置成弱上拉模式,对所述普通IO口的高低电平状态进行检测得到状态D,若状态D为高电平状态,则识别出此时所述普通IO口的输入状态为弱下拉电源负输入状态,若状态D为低电平状态,则识别出此时所述普通IO口的输入状态为高阻输入状态。
由此,本实施例中由于所述内部配置模块能配置出强、弱上拉模式、强、弱下拉模式等多种模式,因此,即可通过单片机的普通IO口来对多种状态的输入进行识别判断,十分灵活,且无需增加AD转换功能,降低了成本。具体在本实施例中,根据所述初始电平状态将所述内部配置模块配置成强、弱上拉模式或强、弱下拉模式后对所述普通IO口的高低电平状态进行检测,基于检测结果普通IO口可至少识别出强上拉电源正输入状态、弱上拉电源正输入状态、强下拉电源负输入状态、弱下拉电源负输入状态及高阻输入状态这5种状态,比现有技术中普通IO口只能识别出高电平输入状态及低电平输入状态多出3种,能基本满足实际应用中需普通IO口识别多种状态的要求,且不同单片机的内部配置模块中可配置的模式种类可能更多,则相应的可识别出的输入状态种类也更多。可利用本实施例中普通IO口能对多种输入状态进行识别来通过普通IO口标示不同的版本号,如PCB版本号等,本实施例中的普通IO口即能对5个不同的PCB版本号进行标示,进一步地,还可通过若干普通IO口输入状态的组合来对版本号进行标示,则能标示的版本号数目也大大增加,如通过2个普通IO口的组合来对PCB版本号进行标示时,则可标示25个不同的PCB版本号,在实际应用中可为产品的开发、设计带来很大的方便。
在本实施例的一个可选实施方式中,还可在需识别不同标示如PCB版本号时,预先设定所述普通IO口不同的输入状态与其代表的不同标示即对应的PCB版本号,并根据预先设定所述普通IO口不同的输入状态与其代表的不同标示制定一查询表,在识别出所述普通IO口的不同输入状态后,在所述查询表中进行查找比对,识别出与之对应的标示,能更加方便、快捷的应用在识别PCB版本号等不同标示上。
如图2所示,本发明较佳实施例提出一种普通IO口识别输入状态的装置,包括:读取模块201、配置检测模块202以及识别模块203,其中:
读取模块201,用于将待读取输入状态的普通IO口设置为输入功能,读取所述普通IO口的初始电平状态;
单片机的普通IO(Input/Output,输入/输出)口具有输入输出功能,单片机可根据不用应用选择IO口相应的输入输出状态,对于待读取输入状态的普通IO口,首先由单片机将该普通IO口设置为输入功能,即该普通IO口作为输入口接收输入信号。
单片机外与所述普通IO口接有一外部电阻模块,所述外部电阻模块可为一外部上拉电阻或外部下拉电阻,当所述外部电阻模块为外部上拉电阻时,所述外部上拉电阻的一端与单片机的供电电源连接,所述外部上拉电阻的另一端与所述普通IO口连接;当所述外置分压模块为外部下拉电阻时,所述外部下拉电阻的一端与所述普通IO口连接,所述外部下拉电阻的另一端接地。进一步地,根据取值大小的不同,外部上拉电阻还可分为外部强上拉电阻和外部弱上拉电阻,外部下拉电阻可分为外部强下拉电阻和外部弱下拉电阻,且在一种情况下,所述外部电阻模块中还可既无外部上拉电阻,也无外部下拉电阻。所述普通IO口连接的所述外部电阻模块中电阻的连接位置及大小不同时,对应的输入状态也会不同,因此,本实施例中即可通过判断所述普通IO口连接的所述外部电阻模块中电阻的连接位置及大小的不同来对不同的输入状态进行识别。
根据所述外部电阻模块中电阻的连接位置及大小的不同,所述普通IO口初始的输入状态也会不同,检测待读取输入状态的普通IO口的高低电平状态,获取所述普通IO口的初始电平状态。
配置检测模块202,用于根据所述初始电平状态对单片机的内部配置模块进行模式配置,并基于外部电阻模块及内部配置模块对所述普通IO口进行检测;
根据获取的所述普通IO口的初始电平状态判断所述外部电阻模块中电阻的连接位置,当所述初始电平状态为高电平状态时,则判断与所述普通IO口连接的所述外部电阻模块中的电阻为外部上拉电阻;当所述初始电平状态为低电平状态时,则判断与所述普通IO口连接的所述外部电阻模块中的电阻为外部下拉电阻。因此,根据获取到的所述普通IO口的初始电平状态即可判断出所述普通IO口连接的所述外部电阻模块中的电阻是外部上拉电阻还是外部下拉电阻,从而对单片机的内部配置模块进行模式配置。
根据所述初始电平状态判断出所述外部电阻模块中的电阻是外部上拉电阻还是外部下拉电阻后,单片机通过内部寄存器进行所述内部配置模块的模式配置,所述内部配置模块可根据所述外部电阻模块中的电阻是外部上拉电阻还是外部下拉电阻而相应的配置为下拉模式或上拉模式,具体地,本实施例中,所述内部配置模块可配置为强上拉模式、强下拉模式、弱上拉模式及弱下拉模式。
需要说明的是,不同型号的单片机其内部配置模块配置的模式种类也会有所不同,如有的单片机内部配置模块可配置成强、弱上拉模式及强、弱下拉模式,进一步地,有的单片机内部配置模块还可更加细化配置成强强上拉、强上拉模式,弱弱上拉、弱上拉模式,强强下拉、强下拉模式,弱弱下拉、弱下拉模式,其工作原理均相同,都是基于所述外部电阻模块及配置的所述内部配置模块对所述供电电源的电压进行分压,并对所述普通IO口的高低电平状态进行检测,为了便于说明,本实施例中以单片机内部配置模块配置成强、弱上拉模式及强、弱下拉模式为例进行说明,当然,也不限定单片机内部配置模块配置成其他更多种类的模式,其工作原理可参照单片机内部配置模块配置成强、弱上拉模式及强、弱下拉模式的工作原理,在此不再赘述。
具体地,本实施例中,当判断所述外部电阻模块中的电阻为外部上拉电阻时,则将单片机的内部配置模块配置成下拉模式,如可配置成强下拉模式、弱下拉模式后对所述普通IO口的高低电平状态进行检测,对配置成强下拉模式、弱下拉模式来进行检测的顺序不作进一步地限定,如可先配置成强下拉模式、再配置成弱下拉模式,也可先配置成弱下拉模式、再配置成强下拉模式,为了便于说明,在此仅以先配置成强下拉模式、再配置成弱下拉模式为例进行详细说明。先将单片机的内部配置模块配置成强下拉模式,对所述普通IO口的高低电平状态进行检测得到状态A;并基于状态A将单片机的内部配置模块配置成弱下拉模式,对所述普通IO口的高低电平状态进行检测得到状态B。
当判断所述外部电阻模块中的电阻为外部下拉电阻时,则将单片机的内部配置模块配置成上拉模式,如可配置成强上拉模式、弱上拉模式后对所述普通IO口的高低电平状态进行检测,对配置成强上拉模式、弱上拉模式来进行检测的顺序不作进一步地限定,如可先配置成强上拉模式、再配置成弱上拉模式,也可先配置成弱上拉模式、再配置成强上拉模式,为了便于说明,在此仅以先配置成强上拉模式、再配置成弱上拉模式为例进行详细说明。先将单片机的内部配置模块配置成强上拉模式,对所述普通IO口的高低电平状态进行检测得到状态C;并基于状态C将单片机的内部配置模块配置成弱上拉模式,对所述普通IO口的高低电平状态进行检测得到状态D。
识别模块203,用于基于检测的结果识别所述普通IO口的输入状态。
根据获取的状态A、B或状态C、D对所述普通IO口的输入状态进行识别,具体地,当判断所述外部电阻模块中的电阻为外部上拉电阻时,先将单片机的内部配置模块配置成强下拉模式,对此时所述普通IO口的高低电平状态进行检测得到状态A,若状态A为高电平状态,则识别出此时所述普通IO口的输入状态为强上拉电源正输入状态;若状态A为低电平状态,则继续将单片机的内部配置模块配置成弱下拉模式,对所述普通IO口的高低电平状态进行检测得到状态B,若状态B为高电平状态,则识别出此时所述普通IO口的输入状态为弱上拉电源正输入状态,若状态B为低电平状态,则识别出此时所述普通IO口的输入状态为高阻输入状态。
当判断所述外部电阻模块中的电阻为外部下拉电阻时,先将单片机的内部配置模块配置成强上拉模式,对所述普通IO口的高低电平状态进行检测得到状态C;若状态C为高电平状态,则识别出此时所述普通IO口的输入状态为强下拉电源负输入状态;若状态C为低电平状态,则继续将单片机的内部配置模块配置成弱上拉模式,对所述普通IO口的高低电平状态进行检测得到状态D,若状态D为高电平状态,则识别出此时所述普通IO口的输入状态为弱下拉电源负输入状态,若状态D为低电平状态,则识别出此时所述普通IO口的输入状态为高阻输入状态。
由此,本实施例中由于所述内部配置模块能配置出强、弱上拉模式、强、弱下拉模式等多种模式,因此,即可通过单片机的普通IO口来对多种状态的输入进行识别判断,十分灵活,且无需增加AD转换功能,降低了成本。具体在本实施例中,根据所述初始电平状态将所述内部配置模块配置成强、弱上拉模式或强、弱下拉模式后对所述普通IO口的高低电平状态进行检测,基于检测结果普通IO口可至少识别出强上拉电源正输入状态、弱上拉电源正输入状态、强下拉电源负输入状态、弱下拉电源负输入状态及高阻输入状态这5种状态,比现有技术中普通IO口只能识别出高电平输入状态及低电平输入状态多出3种,能基本满足实际应用中需普通IO口识别多种状态的要求,且不同单片机的内部配置模块中可配置的模式种类可能更多,则相应的可识别出的输入状态种类也更多。可利用本实施例中普通IO口能对多种输入状态进行识别来通过普通IO口标示不同的版本号,如PCB版本号等,本实施例中的普通IO口即能对5个不同的PCB版本号进行标示,进一步地,还可通过若干普通IO口输入状态的组合来对版本号进行标示,则能标示的版本号数目也大大增加,如通过2个普通IO口的组合来对PCB版本号进行标示时,则可标示25个不同的PCB版本号,在实际应用中可为产品的开发、设计带来很大的方便。
在本实施例的一个可选实施方式中,还可在需识别不同标示如PCB版本号时,预先设定所述普通IO口不同的输入状态与其代表的不同标示即对应的PCB版本号,并根据预先设定所述普通IO口不同的输入状态与其代表的不同标示制定一查询表,在识别出所述普通IO口的不同输入状态后,在所述查询表中进行查找比对,识别出与之对应的标示,能更加方便、快捷的应用在识别PCB版本号等不同标示上。
上述普通IO口识别输入状态的方法及装置,根据读取的所述普通IO口的初始电平状态对单片机的内部配置模块进行模式配置,再通过配置的所述内部配置模块及外部电阻模块对供电电源的电压进行分压,并对所述普通IO口的高低电平状态进行检测,根据检测的结果识别所述普通IO口的输入状态,由于所述内部配置模块能配置出内部强、弱上拉模式、内部强、弱下拉模式等多种模式,因此,即可通过单片机的普通IO口来对多种状态的输入进行识别判断,十分灵活,且无需增加AD转换功能,降低了成本。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元或模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种普通IO口识别输入状态的方法,其特征在于,包括:
将待读取输入状态的普通IO口设置为输入功能,读取所述普通IO口的初始电平状态;
根据所述初始电平状态对单片机的内部配置模块进行模式配置,并基于外部电阻模块及内部配置模块对所述普通IO口进行检测;
基于检测的结果识别所述普通IO口的输入状态;
所述外部电阻模块为外部上拉电阻或外部下拉电阻;
所述根据所述初始电平状态对单片机的内部配置模块进行模式配置,并基于外部电阻模块及内部配置模块对所述普通IO口进行检测的步骤具体为:
根据所述初始电平状态进行所述内部配置模块的模式配置,基于配置的所述内部配置模块及所述外部电阻模块对供电电源的电压进行分压,并对所述普通IO口的高低电平状态进行检测,获取检测结果。
2.根据权利要求1所述的方法,其特征在于,当所述初始电平状态为高电平状态时,所述根据所述初始电平状态对单片机的内部配置模块进行模式配置,并基于外部电阻模块及内部配置模块对所述普通IO口进行检测,基于检测的结果识别所述普通IO口的输入状态的步骤具体包括:
将单片机的内部配置模块配置成强下拉模式,对所述普通IO口的高低电平状态进行检测得到状态A,若状态A为高电平状态,则识别所述普通IO口的输入状态为强上拉电源正输入状态;若状态A为低电平状态,则继续将单片机的内部配置模块配置成弱下拉模式,对所述普通IO口的高低电平状态进行检测得到状态B,若状态B为高电平状态,则识别所述普通IO口的输入状态为弱上拉电源正输入状态,若状态B为低电平状态,则识别所述普通IO口的输入状态为高阻输入状态。
3.根据权利要求1所述的方法,其特征在于,当所述初始电平状态为低电平状态时,所述根据所述初始电平状态对单片机的内部配置模块进行模式配置,并基于外部电阻模块及内部配置模块对所述普通IO口进行检测,基于检测的结果识别所述普通IO口的输入状态的步骤具体包括:
将单片机的内部配置模块配置成强上拉模式,对所述普通IO口的高低电平状态进行检测得到状态C;若状态C为高电平状态,则识别所述普通IO口的输入状态为强下拉电源负输入状态;若状态C为低电平状态,则继续将单片机的内部配置模块配置成弱上拉模式,对所述普通IO口的高低电平状态进行检测得到状态D,若状态D为高电平状态,则识别所述普通IO口的输入状态为弱下拉电源负输入状态,若状态D为低电平状态,则识别所述普通IO口的输入状态为高阻输入状态。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述基于检测的结果识别所述普通IO口的输入状态的步骤还包括:
根据预先设定的所述普通IO口不同的输入状态与其代表的不同标示制定一查询表,识别出所述普通IO口的不同输入状态后,在所述查询表中进行查找比对,识别出与之对应的标示。
5.一种普通IO口识别输入状态的装置,其特征在于,包括:
读取模块,用于将待读取输入状态的普通IO口设置为输入功能,读取所述普通IO口的初始电平状态;
配置检测模块,用于根据所述初始电平状态对单片机的内部配置模块进行模式配置,并基于外部电阻模块及内部配置模块对所述普通IO口进行检测;
识别模块,用于基于检测的结果识别所述普通IO口的输入状态;
所述外部电阻模块为外部上拉电阻或外部下拉电阻;
所述配置检测模块用于:
根据所述初始电平状态进行所述内部配置模块的模式配置,基于配置的所述内部配置模块及所述外部电阻模块对供电电源的电压进行分压,并对所述普通IO口的高低电平状态进行检测,获取检测结果。
6.根据权利要求5所述的装置,其特征在于,所述外部上拉电阻的一端与单片机的供电电源连接,所述外部上拉电阻的另一端与所述普通IO口连接;所述内部配置模块用于配置强下拉模式、弱下拉模式。
7.根据权利要求5所述的装置,其特征在于,所述外部下拉电阻的一端与所述普通IO口连接,所述外部下拉电阻的另一端接地;所述内部配置模块用于配置强上拉模式、弱上拉模式。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述识别模块用于:
根据预先设定的所述普通IO口不同的输入状态与其代表的不同标示制定一查询表,识别出所述普通IO口的不同输入状态后,在所述查询表中进行查找比对,识别出与之对应的标示。
CN201310548110.7A 2013-11-06 2013-11-06 普通io口识别输入状态的方法及装置 Active CN103543682B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310548110.7A CN103543682B (zh) 2013-11-06 2013-11-06 普通io口识别输入状态的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310548110.7A CN103543682B (zh) 2013-11-06 2013-11-06 普通io口识别输入状态的方法及装置

Publications (2)

Publication Number Publication Date
CN103543682A CN103543682A (zh) 2014-01-29
CN103543682B true CN103543682B (zh) 2016-06-08

Family

ID=49967248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310548110.7A Active CN103543682B (zh) 2013-11-06 2013-11-06 普通io口识别输入状态的方法及装置

Country Status (1)

Country Link
CN (1) CN103543682B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6623858B2 (ja) * 2016-03-14 2019-12-25 富士通株式会社 集積回路システム及び集積回路
CN106445862B (zh) * 2016-09-06 2019-01-08 广州视睿电子科技有限公司 一种插拔模块识别电路和方法
CN111929570B (zh) * 2020-10-12 2021-03-23 上海海栎创科技股份有限公司 状态检测电路及控制检测方法
CN114519027A (zh) * 2022-02-21 2022-05-20 上海矽翊微电子有限公司 一种自适应通讯接口、通讯协议自动识别方法及电子器件

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216764A (zh) * 2008-01-17 2008-07-09 中兴通讯股份有限公司 Pcb版本识别装置及方法
CN101533351A (zh) * 2008-03-13 2009-09-16 中兴通讯股份有限公司 一种单板硬件版本信息标识方法及系统
US20090307550A1 (en) * 2004-07-26 2009-12-10 Carsten Mitter Method and apparatus for allocating inputs in microcontrollers, and corresponding microcontroller
CN101695088A (zh) * 2009-10-19 2010-04-14 深圳华为通信技术有限公司 模组识别方法和终端
CN102708077A (zh) * 2012-05-25 2012-10-03 华为终端有限公司 状态识别方法及设备
CN202488619U (zh) * 2012-03-16 2012-10-10 青岛海信宽带多媒体技术有限公司 一种硬件配置识别电路及机顶盒
CN103186395A (zh) * 2011-12-30 2013-07-03 北京谊安医疗系统股份有限公司 一种硬件版本信息识别的系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090307550A1 (en) * 2004-07-26 2009-12-10 Carsten Mitter Method and apparatus for allocating inputs in microcontrollers, and corresponding microcontroller
CN101216764A (zh) * 2008-01-17 2008-07-09 中兴通讯股份有限公司 Pcb版本识别装置及方法
CN101533351A (zh) * 2008-03-13 2009-09-16 中兴通讯股份有限公司 一种单板硬件版本信息标识方法及系统
CN101695088A (zh) * 2009-10-19 2010-04-14 深圳华为通信技术有限公司 模组识别方法和终端
CN103186395A (zh) * 2011-12-30 2013-07-03 北京谊安医疗系统股份有限公司 一种硬件版本信息识别的系统
CN202488619U (zh) * 2012-03-16 2012-10-10 青岛海信宽带多媒体技术有限公司 一种硬件配置识别电路及机顶盒
CN102708077A (zh) * 2012-05-25 2012-10-03 华为终端有限公司 状态识别方法及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于R5G0C314DA芯片的IO口复用;高琼;《家电科技》;20061201(第6期);第70-71页 *
开关阵列状态识别的单片机实现;陈建明 等;《电子工程师》;20030515(第5期);第36-37,43页 *

Also Published As

Publication number Publication date
CN103543682A (zh) 2014-01-29

Similar Documents

Publication Publication Date Title
CN103543682B (zh) 普通io口识别输入状态的方法及装置
CN106531654B (zh) 一种芯片输入引脚测试方法和装置
CN102622044B (zh) 主机板及其pcie端口动态配置方法
CN104461799B (zh) 板卡配置正确性检测系统
CN105302755A (zh) 一种具有监控功能的pcie板卡及其监控方法
CN105323328A (zh) 一种在rs—485上使用modbus通讯协议自动识别地址的方法
CN203645321U (zh) 防呆保护电路
CN103123528A (zh) 即插式模块、电子系统以及相应的判断方法与查询方法
CN104298635A (zh) 一种gpio口线识别设备版本信息的方法及装置
CN107688521A (zh) 一种服务器电源在位检测电路及检测方法
CN102693192B (zh) 网卡自动排序方法、系统以及相应的电子设备
CN104951421A (zh) 一种串行总线通信设备的自动编号与类型识别方法及装置
CN105676106A (zh) 一种非接触智能卡芯片型号自动化检测系统及方法
CN104899177A (zh) 一种i2c设备控制方法及系统
CN205263730U (zh) 一种基于POWER平台的新型IO Riser板卡
CN204009881U (zh) 一种具有监控功能的pcie板卡
CN105116854A (zh) 一种基于nfc技术的分布式传感器网络系统
CN206282173U (zh) 基于飞腾ft‑1500a芯片的主板
CN204965148U (zh) 基于nfc技术的分布式传感器网络系统
CN202453777U (zh) 电子系统及底座
CN104155594A (zh) 模块并入的检测方法和装置
CN202887166U (zh) 摄像头模组的版本识别系统及摄像头模组
CN207367195U (zh) 一种iic接口扩展板
CN206133359U (zh) 基于飞腾ft‑1500a芯片的最小系统板
CN105426331A (zh) Phy芯片的管理系统及phy芯片的管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 518057, Shenzhen Province, Nanshan District hi tech Zone, Guangdong hi tech Zone, No. 9, building 8, East

Applicant after: BANGYAN TECHNOLOGY CO., LTD.

Address before: 518057, Shenzhen Province, Nanshan District hi tech Zone, Guangdong hi tech Zone, No. 9, building 8, East

Applicant before: Shenzhen Bangyan Information Technology Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 518000 2101, No. 100, Zhihe Road, Dakang community, Yuanshan street, Longgang District, Shenzhen, Guangdong

Patentee after: BANGYAN TECHNOLOGY Co.,Ltd.

Address before: 518057 East, 8th floor, software building, No. 9, Gaoxin Zhongyi Road, high tech Zone, Nanshan District, Shenzhen, Guangdong Province

Patentee before: BANGYAN TECHNOLOGY Co.,Ltd.