STC系列单片机的I/O口具有强上拉形式,何为强上拉形式?
STC单片机I/O口能够设置成四种形式:准双向口/弱上接,推挽/强上拉,输入/高阻,设置成推挽/强上拉,不管输出1和0时能接受的电流都很大。
STC单片机的特别功用寄存器(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)。
不过,教师在这里有两点劝告:
1、蚂蚁能拖动比自己重100倍的东西,可是也毕竟是蚂蚁,让蚂蚁去拉马车明显不可。因而,强上拉的“强”仅仅是相对的,拉个数码管是能够的,但拉动继电器之类的器材,你可仍是要老老实实的按规范的电路来做,该加三极管的时分你还得要加,不要过于贪心了。
2、一旦你将I/O口设为上拉(推挽)形式了,你千万不能把两个口的线搭连在一起了,不然,一旦一个脚是输出1另一个脚是输出0,那你这个口是烧定了。而没有设为上拉形式,则一般不会损坏I/O口。