STC(宏晶)系列单片机的I/O口具有强上拉模式,何为强上拉模式?

宏晶单片机I/O口可以设置成四种模式:准双向口/弱上接,推挽/强上拉,输入/高阻,设置成推挽/强上拉,无论输出1和0时能承受的电流都很大。

宏晶单片机的特殊功能寄存器(SFR)对I/O口增加了PXM1、PXM0寄存器,每个口都有这么一对。可通过设置PXM1:PXM0的值选择该口的工作模式:

PXM1,PXM0的定义如下:

0     0  准双向口(传统IO)

0     1  推挽输出(强上拉 ,电流可达20mA,尽量少用)

1     0  仅为输入(高阻)

1     1  开漏,如传统8051的P0口

下面以P1口为例进行说明:

P1口的模式配置寄存器的名字为P1M1、P1M0,地址分别为91H、92H。

例:不论是汇编还是c,寄存器的定义是一样的:

P1M1     equ     91H

P1M0     equ     92H

然后,程序中有以下语句:

汇编语言:                 mov    p1m1,#00000000B

mov   p1m0,#11111111B  ;将p1口全部置为强上拉模式

C语言:                 P1M0 = 0xC0;

P1M1 = 0xA0;//P1.7开漏,P1.6高阻,P1.5强推挽输出,其他准双向I/O口。

利用宏晶单片机的这个功能,将数码管显示变得更亮些简直是轻而易举,以前我老是想着加上拉电阻呀、购买更高亮度的数码管呀,现在呀,觉得真好,用软件这么一设就搞定了。真是爽啊!(我用的单片机是STC11F02E、STC12C5A60S2)。

不过,在这里有两点忠告:

蚂蚁能拖动比自己重100倍的东西,但是也毕竟是蚂蚁,让蚂蚁去拉马车显然不行。因此,强上拉的“强”仅仅是相对的,拉个数码管是可以的,但拉动继电器之类的器件,你可还是要老老实实的按标准的电路来做,该加三极管的时候你还得要加,不要过于贪心了。

一旦你将I/O口设为上拉(推挽)模式了,你千万不能把两个口的线搭连在一起了,否则,一旦一个脚是输出1另一个脚是输出0,那你这个口是烧定了。而没有设为上拉模式,则一般不会损坏I/O口。

C语言单片机数码管a段亮,宏晶单片机设置强上拉模式让数码管更亮!相关推荐

  1. 单片机(STM32)的GPIO框图:─ 输入浮空 ─ 输入上拉 ─ 输入下拉 ─ 模拟输入 ─ 开漏输出 ─ 推挽式输出 ─ 推挽式复用功能 ─ 开漏复用功能

    ─ 输入浮空 ─ 输入上拉 ─ 输入下拉 ─ 模拟输入 ─ 开漏输出 ─ 推挽式输出 ─ 推挽式复用功能 ─ 开漏复用功能 GPIO框图 保护电路: 高压保护--上拉二极管 低压保护--下拉二极管 输 ...

  2. 蓝桥杯51单片机之串口通信发送接收信息【单片机开发初学者串口必会】

    文章目录 一.上位机发送信号控制单片机 1.显示对应的流水灯 2.显示对应数码管 3.控制数码管显示的数字 二.两机收发信息 一.上位机发送信号控制单片机 1.显示对应的流水灯 实现现串口通信接收上位 ...

  3. 51单片机有几个通用io口_51单片机IO口的四种使用方法

    原标题:51单片机IO口的四种使用方法 传统51单片机IO接口只可以作为标准双向IO接口,如果用其来驱动LED只能用灌电流的方式或是用三极管外扩驱动电路. 灌电流方式 LED正极接VCC,负极接IO口 ...

  4. stc单片机如何用C程序将IO口设为强推挽输出

    stc单片机如何用C程序将IO口设为强推挽输出!!! 2014年07月10日 18:52:05 daa20 阅读数:12605 网摘一: stc单片机如何将IO口设为强推挽输出C程序怎么设置比如我设P ...

  5. stc单片机如何用C程序将IO口设为强推挽输出!!!

    网摘一: stc单片机如何将IO口设为强推挽输出C程序怎么设置比如我设P1.1口为强推挽输出 可通过设置PXM1:PXM0的值: PXM1:PXM00 0 准双向口(传统IO)0 1 推挽输出(强上拉 ...

  6. 51单片机与STM32的区别(为何51单片机IO引脚的驱动能力弱)

    1.51单片机的特性 51单片机之所以成为经典,成为易上手的单片机主要有以下特点: 从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,处理对象不是字或字节而是位.不但能对片内某些特殊功能寄存器 ...

  7. c语言编程p0端口使灯一亮一灭,【单片机学习】第六课:单片机控制第一个外设-LED灯...

    [朱老师课程总结,侵删] 第一部分.章节目录 1.6.1.单片机编程的一般步骤 1.6.2.原理图与控制方法分析 1.6.3.第一个实验:点亮LED 1.6.4.如何让LED闪烁 1.6.5.C语言循 ...

  8. c语言程序小灯从右向左闪烁,单片机控制LED灯点亮(C语言).PPT

    <单片机控制LED灯点亮(C语言).PPT>由会员分享,可在线阅读,更多相关<单片机控制LED灯点亮(C语言).PPT(45页珍藏版)>请在人人文库网上搜索. 1.1,单片机控 ...

  9. 单片机c语言编程实现中间向两边,再从两边向中间亮的程序流程图,单片机控制LED流水灯从中间向两边.doc...

    单片机控制LED流水灯从中间向两边,从两边向中间 这个就是把 先奇数亮再偶数亮,循环三次:一个灯上下循环三次:两个分别从两边往中间流动三次:再从中间往两边流动三次:不过这个程序实现的 应该是这样的 先 ...

最新文章

  1. python计算文件md5值_用python 正确计算大文件md5 值
  2. Dynamips和Vmware完成CCVP试验(4)
  3. 研究电子计算机的想法,电子计算机发明于哪一年 1946年在美国问世(为研制导弹而生)...
  4. 【git】gitk 通过图形界面工具来查看版本历史
  5. Exchange2007使用POP3/SMTP协议收发邮件
  6. mysql(一主从从)
  7. Ado.Net Entity Framework 批量删除、判断存在
  8. Hibernate 入门简单教程
  9. Log4j2 日志 依赖 jar包 缺失 导致启动报错 解决方法
  10. 【JS】jQuery实现弹幕效果
  11. 130个物联网示范项目上榜!工信部权威发布
  12. Jzoj4896 兔子
  13. 轻量级工具emoji-java处理emoji表情字符
  14. CTime和CTimeSpan
  15. vue通过点击按钮弹出新窗口打开html文件
  16. 【树莓派学习笔记】树莓派4B上运行uboot并从网络启动linux内核(上)
  17. IBM MQ通道接收端绑定步骤
  18. 高校实验室安全考试题库 辅助软件
  19. 基于555定时器的函数信号发生器
  20. 微信常用设备android22,微信(com.tencent.mm) - 8.0.0 - 应用 - 酷安

热门文章

  1. MyBatis 二级缓存 关联刷新实现
  2. Unity shader 使用 半兰伯特 (Half-Lambert)漫反射会使得模型在没有直射光的情况下漆黑一片
  3. 文本匹配(语义相似度)综述
  4. STM8s外部时钟晶振失效时钟安全系统CSS启动演示
  5. 基于JAVA电动机营销系统计算机毕业设计源码+系统+lw文档+部署
  6. 自建CA,并给服务器颁发证书,将该证书安装至浏览器
  7. 万得资讯 java开发面经
  8. WIN32 _WIN32 _WIN64 __GNUC__ _MSC_VER宏
  9. PCR异常曲线怎么办?
  10. 解读2019年锂矿供应预判