5.大容量片内EEPROM,擦写次数10万次以上 EEPROM,擦写次数10万次以上,擦写次数10万次以上

6.ISP/IAP,在系统可编程/在应用可编程,无需编程器/仿真器

7.共8通道10位高速ADC,速度可达30万次/秒,8路PWM还可当8路D/A使用

8.6通道15位专门的高精度PWM(带死区控制)+2通道CCP(利用它的高速脉冲输出功能可实现11~16位PWM)----可用来再实现8路D/A或2个16位定时器,或2个外部中断(支持上升沿/下降沿中断)与STC15W4K32S4系列单片机的6路增强型PWM相关的端口.上电后默认为高阻输入,上电前用户须在程序中将该些端口设置为其他模式(如准双向口或强推挽模式);注意该些端口进入掉电模式时不能为高阻输入,否则需外部加上拉电阻。

9.内部高可靠复位,ISP编程时16级复位门槛电压可选,可彻底省掉外部复位电路

10.工作频率范围: 5MHz~28MHz, 相当于普通8051的60MHz~336MHz

11.内部高精度R/C时钟(+0.3%),+1%温飘( 40°C~+85*C),常温下温飘+0.6%(-20*C~+65*C)

12.不需外部晶振和外部复位,还可对外输出时钟和低电平复位信号

13.四组完全独立的高速异步串行通信端口,分时切换可当9组串口使用:串口1(RxD/P3.0,TxD/P3.1)可以切换到(RxD_2/P3.6,TxD_2/P3.7),还可以切换到(RxD_3/P1.6,TxD_3/P1.7);串口2(RxD2/P1.0,TxD2/P1.1)可以切换到(RxD2_ 2/P4.6,TxD2_2/P4.7);串口3(RxD3/P0.0,TxD3/P0.1)可以切换到(RxD3_ 2/P5.0,TxD3_ 2/P5.1);串口4(RxD4/P0.2, TxD4/P0.3)可以切换到(RxD4_ 2/P5.2, TxD4_ _2/P5.3)

注意:建议用户将串口1放在P3.6/P3.7或P1.6/ P1.7 (P3.0/P3.1作下载/仿真用);若用户不想切换,坚持使用P3.0/P3.1或作为串口1进行通信,则务必在下载程序时,在软件上勾选“下次冷启动时,P3.2/P3.3为0/0时才可以下载程序”。

14.一组高速同步串行通信端口SPI.

15.支持程序加密后传输,防拦截

16.支持RS485下载

17.低功耗设计:低速模式,空闲模式,掉电模式/停机模式.

18.可将掉电模式/停机模式唤醒的定时器:有内部低功耗掉电唤醒专用定时器。

19.共7个定时器,5个16位可重装载定时器/计数器(TO/T1/T2/T3/T4,其中T0/T1兼容普通8051的定时器/计数器),并均可独立实现对外可编程时钟输出(5通道),另外管脚SysClkO可将系统时钟对外分频输出(+1或+2或+4或+16),2路CCP还可再实现2个定时器

20.定时器/计数器2,也可实现1个16位重装载定时器/计数器,定时器/计数器2也可产生时钟输出T2CLKO

单片机引脚说明

单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。

⒈ 电源:

⑴ VCC - 芯片电源,接+5V;

⑵ VSS - 接地端;

⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。

⒊ 控制线:控制线共有4根,

⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲

① ALE功能:用来锁存P0口送出的低8位地址

② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

⑵ PSEN:外ROM读选通信号。

⑶ RST/VPD:复位/备用电源。

① RST(Reset)功能:复位信号输入端。

② VPD功能:在Vcc掉电情况下,接备用电源。

⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。

① EA功能:内外ROM选择端。

② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

⒋ I/O线

80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

3.3LCD1602简介

工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)

1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。

1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。

1602LCD 主要技术参数:

显示容量:16×2 个字符

芯片工作电压:4.5—5.5V

工作电流:2.0mA(5.0V)

模块最佳工作电压:5.0V

字符尺寸:2.95×4.35(W×H)mm

管脚功能:

1602采用标准的16脚接口,其中:

第1脚:VSS为电源地

第2脚:VCC接5V电源正极

第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。

第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。

第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。

第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。

第7~14脚:D0~D7为8位双向数据端。

第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。

特性

3.3V或5V工作电压,对比度可调

内含复位电路

提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能

有80字节显示数据存储器DDRAM

内建有192个5X7点阵的字型的字符发生器CGROM

8个可由用户自定义的5X7的字符发生器CGRAM

特征应用

微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。

操作控制

注:关于E=H脉冲——开始时初始化E为0,然后置E为1。

字符集

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

在单片机编程中还可以用字符型常量或变量赋值,如'A’。因为CGROM储存的字符代码与我们PC中的字符代码是基本一致的,因此我们在向DDRAM写C51字符代码程序时甚至可以直接用P1=‘A’这样的方法。PC在编译时就把'A'先转换为41H代码了。

字符代码0x00~0x0F为用户自定义的字符图形RAM(对于5X8点阵的字符,可以存放8组,5X10点阵的字符,存放4组),就是CGRAM了。

0x20~0x7F为标准的ASCII码,0xA0~0xFF为日文字符和希腊文字符,其余字符码(0x10~0x1F及0x80~0x9F)没有定义。

以下是1602的16进制ASCII码表地址:读的时候,先读左边那列,再读上面那行,如:感叹号!的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。

1602LCD 的指令说明及时序

1602 液晶模块内部的控制器共有11条控制指令。

控制命令表序号指令RSR/WD7D6D5D4D3D2D1D0

1清显示0000000001

2光标返回000000001*

3置输入模式00000001I/DS

4显示开/关控制0000001DCB

5光标或字符移位000001S/CR/L**

6置功能00001DLNF**

7置字符发生存贮器地址0001字符发生存贮器地址

8置数据存贮器地址001显示数据存贮器地址

9读忙标志或地址01BF计数器地址

10写数到CGRAM或DDRAM)10要写的数据内容

11从CGRAM或DDRAM读数11读出的数据内容

1602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1 为高电平、0 为低电平)

指令 1:清显示,指令码 01H,光标复位到地址 00H 位置。

指令 2:光标复位,光标返回到地址 00H。

指令 3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否 左移或者右移。高电平表示有效,低电平则无效。

指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控 制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电

平不闪烁。

指令 5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。

指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电平时为单行显示,高 电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符。

指令 7:字符发生器 RAM 地址设置。

指令 8:DDRAM 地址设置。

指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如 果为低电平表示不忙。

指令 10:写数据。

指令 11:读数据。

基本操作时序表

读操作时序:

写操作时序:

LCD1602的RAM地址映射

液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示 不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图 10-57 是 1602 的内部显示地址。

1602 的内部显示地址:

例如第二行第一个字符的地址是 40H,那么是否直接写入 40H 就可以将光标定位在第二行第一个字符 的位置呢?这样不行,因为写入显示地址时要求最高位 D7 恒定为高电平 1 所以实际写入的数据应该是 01000000B(40H)+10000000B(80H)=11000000B(C0H)。

在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工 干预。每次输入指令前都要判断液晶模块是否处于忙的状态。

1602 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字符图形,如图 10-58 所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有 一个固定的代码,比如大写的英文字母“A”的代码是 01000001B(41H),显示时模块把地址 41H 中 的点阵字符图形显示出来,我们就能看到字母“A”。

1602LCD 的一般初始化(复位)过程

延时 15mS

写指令 38H(不检测忙信号)

延时 5mS

写指令 38H(不检测忙信号)

延时 5mS

写指令 38H(不检测忙信号)

以后每次写指令、读/写数据操作均需要检测忙信号

写指令 38H:显示模式设置

写指令 08H:显示关闭

写指令 01H:显示清屏

写指令 06H:显示光标移动设置

写指令 0CH:显示开及光标设置

3.4矩阵键盘简介

矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。矩阵键盘的优点是节约单片机IO口,例如普通键盘8个IO口只能用作8个按键,而矩阵键盘能作16个按键。

组成结构

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

矩阵键盘不仅在连接上比单独式按键复杂,它的按键识别方法也比单独式按键复杂。在矩阵键盘的软件接口程序中,常使用的按键识别方法有行扫描法和线反转法。这两种方法的基本思路是采用循环查循的方法,反复查询按键的状态,因此会大量占用MCU的时间,所以较好的方式也是采用状态机的方法来设计,尽量减少键盘查询过程对MCU的占用时。

单片机系统中,若使用按键较多时如电子密码锁、电话机键盘等一般都至少有12到16个按键,通常采用矩阵键盘。

矩阵键盘又称行列键盘,它是用四条I/O线作为行线,四条I/O线作为列线组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4*4个。这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。

矩阵键盘的工作原理

最常见的键盘布局如图3所示。一般由16个按键组成,在单片机中正好可以用一个P口实现16个按键功能,这也是在单片机系统中最常用的形式,4*4矩阵键盘的内部电路如图。

矩阵键盘布局图:

矩阵键盘内部布局图:

当无按键闭合时,P3.0~P3.3与P3.4~P3.7之间开路。当有键闭合时,与闭合键相连的两条I/O口线之间短路。判断有无按键按下的方法是:第一步,置列线P3.4~P3.7为输入状态,从行线P3.0~P3.3输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,行线轮流输出低电平,从列线P3.4~P3.7读入数据,若有某一列为低电平,则对应行线上有键按下。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行一次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。

[1] [2] [3]

电子密码锁课设单片机c语言,基于51单片机的电子密码锁综合课程设计相关推荐

  1. 万年历设计单片机c语言,基于51单片机的电子万年历的设计

    基于51单片机的电子万年历的设计(论文9400字) 功能要求 1. 万年历能用数码管显示阳历年.月.日.星期.[小]时.分.秒并设置指定时间的闹铃. 2. 数字式温度计要求测温范围-50~100°C, ...

  2. 水塔水位控制器单片机c语言,基于51单片机的水塔水位自动控制器的设计

    目   录 1. 项目简介 2. 方案论证 3. 原理及模块分析 4. 经费使用情况 5. 体会和建议 1 .项目简介: 现今社会,自动化装置无所不在,在控制技术需求的推动下,控制理论本身也取得了显著 ...

  3. 51单片机五层电梯控制器 基于51单片机的五层电梯控制系统

    51单片机五层电梯控制器 基于51单片机的五层电梯控制系统 包括源代码和proteus仿真 系统硬件由51单片机最小系统.蜂鸣器电路.指示灯电路.内部按键电路.外部按键电路.直流电机.内部显示电路.外 ...

  4. 用单片机c51电子秤的c语言,基于51单片机的电子秤系统设计

    微机原理论文第八篇:基于51单片机的电子秤系统设计 摘要:本文主要分析51单片机下的数字电子秤.在设计过程中,这种电子秤具体包括电源.传感器.蓝牙.转换器.单片机.键盘.开关.显示器等组成部分,在实践 ...

  5. 声控灯程序C语言,基于51单片机的声控灯设计设计-包含完整设计与指导文件.doc...

    基于51单片机的声控灯设计设计-包含完整设计与指导文件 工 学 院 毕 业 设 计(论文) 题 目:基于单片机的智能光控路灯的设计 专 业: 机电技术教育 班 级: *** 姓 名: *** 学 号: ...

  6. 单片机检测电机频率c语言,基于51单片机的电动机测速表的设计.doc

    基于51单片机的电动机测速表的设计 基于51单片机的电动机测速表设计 摘 要 本文介绍了采用光电传感器实施电机转速测量的方法.基本原理,完成了一种基于AT89C51单片机平台的电动机测速表的软硬件设计 ...

  7. 51单片机电机测速程序c语言,基于51单片机光电编码器测速.doc

    基于51单片机光电编码器测速 PAGE PAGE 2 课程设计报告 课程名称: 微机原理课程设计 题 目: 基于51单片机的光电编码器测速 摘要 光电编码器是高精度位置控制系统常用的一种位移检测传感器 ...

  8. 自动计数报警器c语言,基于51单片机的光电式计数报警器

    详细的基于51单片机的光电式计数报警器的技术方案,有图,详尽,从原理到设计思路,到设计过程,关键代码,到测评都很详尽. 基于51单片机的光电式计数报警器 概述与应用背景 光电式传感器是将光信号转化为电 ...

  9. c语言51单片机计算器,新基于51单片机的简易计算器

    <新基于51单片机的简易计算器>由会员分享,可在线阅读,更多相关<新基于51单片机的简易计算器(24页珍藏版)>请在人人文库网上搜索. 1.基于51单片机的简易计算器1.前言: ...

最新文章

  1. 如何反转“轨道生成”?
  2. 无法嵌入互操作类型 请改用适用的接口。
  3. 外星人进化_深层分析宇宙常数对生命形成进化的影响,外星人或许根本就“不是人”!...
  4. android内置t卡中预制资源,[FAQ17514][Recovery]Recovery mode FAQ搜寻指南
  5. 怎么在台式计算机上写文件,怎样直接在台式电脑和笔记本电脑之间实现文件传输...
  6. 精通开关电源设计第二版pdf_11、秋招年35月准备期——Verilog HDL高级数字设计(第二版)...
  7. codeblocks主题修改(vim)
  8. 【Android图像处理】图像处理之-素描效果
  9. ap.net core 教程(三)
  10. Grails里的集成测试代码试例
  11. dx绘制2d图像_【3D建模】聊聊2D动画软件
  12. 今天第72个儿童节,程序猿“童”样精彩~
  13. 迅雷手机版苹果版_迅雷IOS版恢复下载,又能用苹果手机下载电影愉快追剧了
  14. 系统设计系列之如何设计一个短链服务
  15. 【qq机器人】天气查询
  16. PTB IP——支持电信配置文件的精确同步:5G
  17. Golang底层原理学习笔记(一)
  18. 中国移动诺基亚联手推出智能机
  19. pyqt-窗口最大化
  20. 基于Sigma protocol实现的零知识证明protocol集锦

热门文章

  1. Rosetta中文教程(一)
  2. STM8L101时钟管理
  3. 极致清新论文答辩PPT模板
  4. Javascript window 对象 + 浮动广告
  5. 字符串拷贝函数:strcpy的详解及模拟实现
  6. Python摄氏度与华氏度的计算
  7. 容错服务器怎么装系统,企业怎么选择集群服务器和容错服务器
  8. 鼠标停留触发事件,离开时也触发
  9. iphone标记无法储存更改_技巧 | 教你去除iPhone设置上烦人的“1”
  10. windows10下面安装alphapose解决 ImportError : cannot import name ‘deform_conv_cuda‘