STC 89C52 单片机引脚对应的功能以及实例讲解
学习单片机能够让你更加深刻的认识到我们身边中常用电器的工作方式,接下来我们以引脚来讲解一些单片机中常用引脚的功能
目录
一、P1^0~7 对应八个二极管
二、数码管的使用
三、矩阵键盘的使用
四、液晶显示补充
先附上一张stc89C52引脚图
光看引脚是不够的,下面我们看看实物图是什么样子的
一、P1^0~7 对应八个二极管
二级管的实物图如下
从上往下 分别对应引脚中的 P1^0 ~ P1^7
这里就以一个比较简单流水灯作为实例代码
#include<reg52.h>
#include<intrins.h>//包含_crol_函数所在的头文件
#define uint unsigned int
#define uchar unsigned char
void delayms(uint);
uchar aa; //定义一个变量来给P1赋值
void main()
{aa=0xfe;//赋初值11111110 while(1){ P1=aa;//点亮第一个灯delayms(500);//延时500msaa=_crol_(aa, 1);//aa循环左移1位后再给aa}
}void delayms(uint xms)
{ uint i,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);
}
如果有不懂的可以查看我的关于流水灯的博客
51单片机 流水灯的实现
二、数码管的使用
下面是数码管的实物图
dula=P2^6 段选
wela=P2^7 位选
每次要使用 数码管时
在主函数 中先打开位选,再送入位选信号,再关闭位选
然后再打开段选,输送段选信号,关闭段选
实例代码
#include<reg52.h>
sbit dula=P2^6;//申明U1寄存器的锁存端,P2^6是段锁
sbit wela=P2^7;//申明U2,P2^7是挝凰?
main()
{wela=1; //打开U2锁存端P0=0xfe;//送入位选信号,确定哪几个数码管发光wela=0;//关闭U2锁存器dula=1;//段锁P0=0x5e;//0x06代表1,确定数码管显示哪些字符 0~Fdula=0;while(1);
}
如果你不满足这段代码,可以看看我的这篇博客
51单片机开发中数码管显示与应用
三、矩阵键盘的使用
独立键盘,即最下面一排的键盘分别为S2、S3、S4、S5
分别对应S2-----P3^4
分别对应S3-----P3^5
分别对应S4-----P3^6
分别对应S5-----P3^7
光说是肯定不够的,要拿实际的东西出来才可以,
我用红圈标记的地方就是s2 按键
下面就以这个简单的程序讲一下矩阵键盘的使用
#include<reg51.h>sbit s2=P3^4; //采集按键状态,此时作为输入引脚
sbit led=P1^0; //此时作为输出引脚。void delay(unsigned char p)
{unsigned char m,n;for(m=p;m>0;m--)for(n=125;n>0;n--);
}
void main()
{ while(1){ if(s2==0) { delay(10); //消抖if(s2==0){ while(!s2);//等待按键松开。led=~led;}}
}
}
这段代码的实际作用,当你按下 s2 开关的时候,P1^0 所对应的二级管会变亮,当你再按下一次,二级管就会熄灭。
四、液晶显示补充
液晶显示器是额外的显示仪器,它有两种显示型号,它们分别是 1602 和 12864,我这里只有1602型号的,我就简要介绍一下1602 的型号b把
1602液晶显示(1602型的液晶屏只能显示32字符,两行,每行18个)
这是属于一个独立的区块,需要另外再加上单片机的y上
引脚对应功能
sbit lcden=P3^4; //对应液晶使能端
sbit lcdrs=P3^5; //液晶数据命令选择端
实例代码
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit rs=P3^5;
sbit lcden=P3^4;
sbit dula=P2^6;
sbit wela=P2^7;
uchar table1[]="TX-51STAR MCU";
uchar table2[]="WWW.TXMCU.COM";
void delay(uint x)
{uint a,b;for(a=x;a>0;a--)for(b=10;b>0;b--);
}void delay1(uint x)
{uint a,b;for(a=x;a>0;a--)for(b=100;b>0;b--);
}void write_com(uchar com)
{P0=com;rs=0;lcden=0;delay(10);lcden=1;delay(10);lcden=0;}void write_date(uchar date)
{P0=date;rs=1;lcden=0;delay(10);lcden=1;delay(10);lcden=0;}void init()
{dula=0;wela=0;write_com(0x38); //显示模式设置:16×2显示,5×7点阵,8位数据接口delay(20);write_com(0x0f); //显示模式设置delay(20);write_com(0x06); //显示模式设置:光标右移,字符不移delay(20);write_com(0x01); //清屏幕指令,将以前的显示内容清除delay(20);
}void main()
{uchar a;init();write_com(0x80+17); //将第一个字符写在向右偏移17个字符处,为后面的由右向左划入做准备。delay(20);for(a=0;a<13;a++){write_date(table1[a]);delay(20); }write_com(0xc0+17);delay(50);for(a=0;a<13;a++){write_date(table2[a]);delay(40); }for(a=0;a<16;a++){write_com(0x18); //左移delay1(600);}while(1);
}
代码显示效果
这个液晶显示屏不太明显,但还是能隐隐约约看到一些字母出现
以上这些便都是基础板的讲解
STC 89C52 单片机引脚对应的功能以及实例讲解相关推荐
- pic单片机内部时钟校准c语言,实例讲解PIC单片机的时钟设置
什么时钟? 首先我们先讲讲什么是时钟.时钟就是单片机的心脏.每跳动一下.整个单片机的各个电路就同步的动作一下.就好像我们做广播体操的时候 广播上喊的节拍1234 2234 3234....然后我们全部 ...
- 单片机的单个IO口可以发送数据吗_关于51单片机各个引脚它的功能你了解多少?...
对于40引脚双列直插51单片机各个引脚功能情况分析. P0端口一默认是开漏准双向IO口,没有输出没有驱动能力,要做逻辑输出要在外部接上拉电阻. P0端口除了作为普通的输入输出功能,还可以用来当做数据总 ...
- adc0809引脚图及功能_80C51单片机的引脚及其功能介绍
首先我们来连接一下单片机的引脚图,如果,具体功能在下面都有介绍. 单片机的40个引脚大致可分为4类:电源.时钟.控制和I/O引脚. ⒈ 电源: ⑴ VCC - 芯片电源,接+5V: ⑵ VSS - 接 ...
- stc15w4k32s4芯片引脚图片_单片机引脚功能初识及提高(3)
40个接口我们已经了解了29个了,在开始我们 今天的内容之前,我们先对之前的内容总结一下. 图片来源网络 最小系统 电源部分(20脚GND,40脚VCC[+5v]) 复位部分(9脚,给高电平进行复位) ...
- 0809连接单片机c语言,adc0809引脚图及功能详解,adc0809与51单片机连接电路分析
描述 adc0809是采样频率为8位的.以逐次逼近原理进行模-数转换的器件.其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换. 1.主要特性 ...
- cpout引脚是干什么的_单片机引脚的定义与功能详解
1 产品简介 HC89F003 是一颗采用高频低功耗 CMOS 工艺设计开发的增强型 8 位单片机,内部有 16K Bytes FLASH 程序存储器,256 Bytes IRAM 和 256 Byt ...
- 51单片机c语言tlc549,tlc549中文资料汇总_tlc549引脚图及功能_工作原理_特性参数及典型应用电路程序...
一.tlc549中文资料汇总-tlc549介绍 TLC549是8位串行A/D转换器芯片,可与通用微处理器.控制器通过CLK.CS.DATAOUT三条口线进行串行接口.具有4MHz片内系统时钟和软.硬件 ...
- 用稳压管保护单片机引脚_一步一步,全程揭开单片机的原理,让做电子变得轻松自如!...
学习单片机必要的硬件 学习单片机都需要什么?首先要掌握必要的电子基础知识:再次选择大众化.性价比高的单片机,熟悉它的引脚功能定义:另外还需要电脑与下载程序的下载器. 一.单片机 建议选择型号为STC8 ...
- 【单片机基础】89C52单片机串口通信
1.最常用的通信方式 2.89C52串口通信简介 3.串口通信需要配置的寄存器 3-1.串行数据缓冲器SBUF 3-2.串行控制寄存器SCON (1)SM0 SM1 (2)SM2 (3)REN (4) ...
最新文章
- Nginx-rtmp 直播媒体实时流实现
- SharePoint工作流解决方案QuickFlow系列(2)--Task
- java web 耗时请求_javaweb应用中出现了一个耗时异常长的数据查询,寻求帮助
- p沟道mos管导通条件_场效应管(MOS管)的判断与应用知识
- 【Java从入门到天黑|04】JavaSE入门之数组
- SQL mysql优化
- 学成在线--0.项目概述
- Spark精华问答 | 怎么运行Spark?
- 使用c语言实现INI文件的读写
- 邮箱个性签名html模板,邮箱个人签名 邮箱个人签名模板
- MSP430开发笔记之五:硬件IO中断与IR红外接收
- mobi 直接转化为 html,MobiCreator--pdf文档转化为kindle可阅读的格式
- 爆笑宜昌方言版《大学自习室》说唱
- 3.3 三角函数的积化和差与和差化积
- 【微信小程序】页面返回且带回数据
- 结对开发 《哈利波特》买书最实惠方案设计
- 英语口语学习——洋话侃中国
- P3386 【模板】二分图匹配
- Eslint +Vue配置
- [卓意听书]6月感恩活动,Q币送不停!
热门文章
- 电脑总是弹出不支持的硬件提示解决办法
- 解决知云文献翻译软件Translator反应慢问题
- 【JVM】8_对象优先在Eden分配
- labelshop更改打印机_LabelShop最新版
- Spring的GA,RC和M2版本之间有什么区别?Maven中的spring-milestones是什么有什么作用
- 博士一篇SCI四区即可入职!安家费120万,直接进编,无非升即走!
- Postman教程系列
- Spring MVC 防止XSS注入
- [转帖]互联网同步yum服务器阿里云 reposync createrepo
- 《OSPF和IS-IS详解》一1.5 ARPANET内的路由选择