毕业回馈—89C51之GPIO使用

STC89C51系列单片机共有如下几类GPIO口:

(1)P0.0-P0.7:

对应DIP40封装的39-32号引脚:P0口既可以作为输入/输出GPIO口,也可以作为地址/数据复用总线使用。

a)P0口作为输入/输出IO口时,P0是一个8位准双向IO口,上电复位后处于开漏模式。且P0口内部无上拉电阻,在作为I/O使用时必须外接4.7K-10K的上拉电阻;

b)P0口作为地址/数据复用总线时,是低八位地址线【A0-A7】,数据线【D0-D7】,无需外接上拉电阻

(2)P1.0-P1.7:

对应DIP40封装的1-8号引脚:均可作为标准IO口,对于90系列的51内核的单片机其中P1.0,P1.1均有第二功能,P1.0可以作为定时器/计数器2(Timer2/Count2)的外部输入;P1.1可以作为定时器/计数器2(Timer2/Count2)的捕捉/重装方式的触发控制。

(3)P2.0-P2.7:

对应DIP40封装的21-28号引脚:内部含有上拉电阻,即可作为输入输出口,也可作为高8位地址总线使用(A8-A15);作为输入输出口时,P2口是一个准双向口

(4)P3.0-P3.7:

对应DIP40封装的10-17号引脚:均可作为标准IO口使用。此外均具备第二功能;

P3.0—RXD:串行数据接收端

P3.1—TXD:串行数据发送端

P3.2—INTO:外部中断0,下降沿中断或者低电平中断(低电平有效)

P3.3—INT1:外部中断1,下降沿中断或者低电平中断(低电平有效)

P3.4—T0:定时器/计数器0的外部输入

P3.5—T1:定时器/计数器1的外部输入

P3.6—WR:外部数据存储器写脉冲(低电平有效)

P3.7—RD:外部数据存储器读脉冲(低电平有效)

GPIO模式简介:

51单片机IO口均具备准双向口/弱上拉,和开漏输出模式;P1,P2,P3上电复位后是准双向口/弱上拉,P0口上电复位后是开漏输出。

其中5V单片机P0口的灌电流最大为12mA,其他IO口的灌电流最大为6mA;

3V单片机的P0口的灌电流最大为8mA,其他IO口的灌电流最大为4mA;

准双向口读外部状态前,要先锁存为‘1’,才可以读取到外部状态;

当端口锁存器为0时,开漏输出关闭所有的上拉晶体管;当作为一个逻辑输出时,这种配置方式必须外部上拉。一般通过电阻外接到VCC,如果外部有上拉电阻,开漏的IO口还可以读取外部状态。

实验—LED亮灭与闪烁

LED工作原理:当其阳极和阴极之间有大于0.7V的正向压降,LED导通,然后变亮;

与单片机的连接如下图:

限流电阻的计算公式如下图:

LED(light-emitting diode),即发光二极管,俗称LED小灯,普通的贴片发光二极管。这种二极管通常的正向导通电压是 1.8V到2.2V 之间,工作电流一般在 1mA~20mA 之间。

所以,在工程上为了安全起见,一般选择200-3k的电阻

引脚定义:

IO口初始化如下:

主函数如下:

通过以上程序便可以实现点亮LED灯;

下面实现LED灯的闪烁:

闪烁的原理是在亮灭切换中间加入一定的延时函数,我们对LED灯点亮程序做如下修改:

delay()函数定义如下:

自此就可以实现LED1闪烁,LED2常亮。

原文地址:https://www.cnblogs.com/Mr-Wangblogs/p/8905751.html

时间: 2024-10-03 09:24:54

毕业回馈—89C51之GPIO使用的相关文章

毕业回馈-89C51之GPIO使用(流水灯)

今天分享一个89c51制作的8位流水灯案例.使用Proteus仿真. 同上一遍文章不同.上一篇文章中对于GPIO操作主要是位操作,即sbit led1=P0^0;其中P0^0代表p0.0这个引脚,然后在这样位定义以后就可以对led1这个变量进行赋值操作,控制led灯的亮灭闪烁.今天要分享的是一次性对P1.0-P1.7进行操作. 89c51单片机是以51为内核的8位处理器,可以很方便的实现8位数据的操作. 所使用的电路原理图如下: 使用200Ohm的电阻进行限流,LED灯采用阴极接法,即LED灯的

毕业回馈-89c51之定时器/计数器(Timer/Count)

今天分享的是89c51系列单片机的内部资源定时器/计数器,在所有的嵌入式系统中都包含这两个内部功能. 首先先了解几个定时器/计数器相关的概念: ?时钟周期:时钟周期 T 是时序中最小的时间单位,具体计算的方法就是1/时钟源频率,(一般单片机采用的是11.0592mHz) ?机器周期:我们的单片机完成一个操作的最短时间.标准51单片机,一个机器周期是 12 个时钟周期,也就是 12/11059200 秒. ?定时器:当T/C工作在定时器时,对振荡源12分频的脉冲计数,即每个机器周期计数值加1,计数

毕业回馈-89c52之最小系统

今天分享一个51单片机最小系统的电路板设计(原理图+PCB) 技术手册上面对于51单片机最小系统作如下要求: 下载电路主要有以下几种: 采用RS-232转换器下载:(R1OUT-P3.0;T1IN-P3.1): USB转串口型供电电路: U8-Mini进行ISP下载: 现在常用的是冷启动下载器:电路结构较为简单,我本次设计也是采用的该下载方式: 电路原理图如下: 电源经过一个6脚自锁开关输入,串联一个二极管防止电源反接:C1对输入电源进行滤波. 采用7805三端线性稳压电源进行稳压然后给MCU供

大学的意义——施一公在生命科学学院2015年毕业典礼上的讲话

2015年7月8日上午,清华大学生命科学学院2015年毕业典礼在清华大学蒙民伟音乐厅举行,清华大学生命科学学院院长施一公教授发表即席演讲.以下是演讲记录. 我原本应该只讲五分钟,但今天我们时间提前了,所以我想多讲一点.这也许是我最后一次以院长的身份给我们的本科生.研究生拨穗,我很珍惜这次机会. 我从回国建成实验室算起,到现在整整8年,时间不短了.这是我的母校,也是在座各位的母校,我们深爱的地方.今天我们又有一茬本科生.硕士生.博士生毕业,我确实心情很激动,很多话想说,但我没有事先准备讲稿,因为我

1星|武志红《拥有一个你说了算的人生》:作者是弗洛伊德信徒,不像是北大心理学系本科硕士毕业

武志红:拥有一个你说了算的人生·活出自我篇(磨铁出品) 先说结论:这是一本伪心理学著作,不推荐阅读.千万不要看作者的毕业于北大心理学系就以为本书是主流学术观点的科普.心理学入门推荐看<这才是心理学>. 本书篇幅较长,形式上比<巨婴国>强一些,本质上还是跟<巨婴国>类似,尝试用弗洛伊德的精神分析法去解释各种心理问题.疾病.情商问题.育儿问题.婚恋问题,几乎所有的问题都是童年或婴幼儿时期受到的伤害.留下的阴影造成的,让咨询者说出问题后多年的困扰就解决了. <这才是心理

毕业三年为什么有人月薪3000,有人却月薪3万?

大学毕业已经3年了,有人提议说:"老同学们该聚聚了."群里有人附和,不过大部分人都选择潜水和沉默.不是不想大家,但是有种现象叫做:越大越不爱参加同学会,你讨厌市侩的口吻下被比来比去和刺耳如吹牛的声音.当然,更多的还在于来自内心深处的无奈,毕业三年,往往可以将原来一起上学的同窗淡化成路人. 月薪3千和月薪3万的人,差的是什么?你不够人家努力. 在这个时代,实力甚至比背景更重要.求贤若渴的公司很多,公平竞争的机会很多,每个人都有一把能向上的***.有些人会拼了命往上爬,有些人则是嫌累嫌苦半

反思:毕业入职的第一家公司

得到这第一份工作,说来还真有几分传奇.大四下学期一开学,就买好去深圳的火车票,和同学几个踏上了南漂的路.由于是穷学生,所以买了硬卧票,很巧的是在火车上遇到了一个潜江的老乡,反正火车要开一天一夜也怪无聊的,于是在火车过道找了个桌子几个年轻小伙就开始畅谈人生和憧憬未来.这位刚认识的老乡年龄和我们差不多,但社会经验比我们丰富很多,于是就说起他在中专技校里面是如何半夜溜出去上网,毕业如何被分配到工厂做车厂机加工人,说和自己同班出来做机加工人的一个女同学的女同事由于金属镁粉过敏全身都红肿,那个女同学见到这

linux 标准 GPIO 操作

Linux 提供了GPIO 操作的 API,具体初始化及注册函数在 driver/gpio/lib_gpio.c 中实现. #include int gpio_request(unsigned gpio, const char *label); 获得并占有 GPIO port 的使用权,由参数 gpio 指定具体 port.非空的label指针有助于诊断.主要告诉内核这块地址被占用了.当其他地方调用同一地址的gpio_request就会报告错误,该地址已经被申请.在/proc/mem有地址占用表

毕业半年,工作一年回顾总结

新的一年即将来临,自2013年12月初工作,2014年6月底毕业以来,时光匆匆,已然毕业半年,工作一年了.工作这一年来,自己对程序员这个职业的一些思考,或者说自己对职业路线的思考也发生了许多变化.是时候记录一下,重新思考今后的路该怎么走,不知多年以后又会发生什么样的变化? 公司的领导最好有懂技术的,这样你的能力会得到更好的认可.否则会出现下面几种情况:a.领导压根儿不知道你为公司做了多少贡献,甚至认为你就是打酱油的,换句话说及就是你得不到认可:b.领导不重视公司的技术人员,技术人员受冷遇:c.公