基于STC89C52的简易计算器设计..
基于STC89C52单片机的计算器

基于STC89C52单片机的计算器一、引言计算器是一种用于进行数学运算的设备。
在现代社会中,计算器被广泛应用于各个领域,包括教育、科学研究、工程设计等。
本篇文章将介绍基于STC89C52单片机的计算器设计。
二、设计目标本设计的目标是实现一个简单的、功能齐全的四则运算计算器。
该计算器具有基本的加、减、乘、除运算功能,可以进行整数和小数的运算。
同时,该计算器还具备清零、撤回、保存结果等辅助功能。
三、硬件设计1.单片机选择本设计选择STC89C52单片机作为主控芯片。
STC89C52是一款具有低功耗、高性能的单片机,拥有8位宽的数据总线和16位宽的地址总线,适用于本设计所需的计算器功能。
2.显示器选择本设计选择8位共阳数码管作为显示器。
由于STC89C52单片机的IO 口输出电流较小,为了驱动数码管显示,需要通过数码管驱动芯片进行扩展以增大驱动电流。
3.按键选择本设计选择矩阵键盘作为输入设备。
根据计算器所需的功能,可以设置数字键、运算符键、功能键等按键。
四、软件设计1.指令集设计本设计根据计算器功能的需求,设计了一套适合STC89C52单片机的指令集。
包括加法指令、减法指令、乘法指令、除法指令等,以及相应的操作数寻址方式。
2.界面设计本设计通过8位共阳数码管显示器和矩阵键盘构建了计算器的界面。
通过编程实现数码管显示数字和结果,以及按键的检测和响应。
3.运算功能实现本设计通过编程实现了加法、减法、乘法、除法等基本运算功能。
通过数码管显示输入的数字和结果,实现了计算器的正常运算。
4.辅助功能实现本设计通过编程实现了清零、撤回、保存结果等辅助功能。
通过按下相应的功能键,可以实现清除当前输入、撤回上一步操作或保存当前结果等操作。
五、实验验证六、结论通过本次设计,成功实现了基于STC89C52单片机的四则运算计算器。
该计算器具有基本的加、减、乘、除运算功能,可以进行整数和小数的运算。
同时,该计算器还具备清零、撤回、保存结果等辅助功能。
基于STC89C52单片机的简易计算器

基于STC89C52单片机的简易计算器目录内容摘要 (2)关键词 (2)ABSTRACT (2)1绪论 (2)2系统设计 (4)2.1设计任务与要求 (4)2.2总体设计方案 (5)3系统硬件设计 (6)3.1控制器模块 (6)3.2按键模块 (7)3.3时钟日期模块 (9)3.4液晶显示屏显示模块 (12)3.5硬件元件清单 (14)4软件设计与仿真 (14)4.1主程序设计 (15)4.2仿真结果 (18)4.3系统调试 (19)5参考文献 (19)内容摘要:该计算器以STC89C52单片机为核心控制芯片,实现了简单的加、减、乘、除功能,采取的是键盘输入和液晶显示屏的输出结果显示。
主要硬件构成部分由五个:一个STC89C52单片机芯片,一个液晶显示屏(LCD),一个4*4矩阵键盘和一个时钟芯片(DS1302)一个蜂鸣器,可以实现8位的整数数值操作计算。
附加时钟显示的功能。
关键词:单片机STC89C52 液晶显示屏LCD 时钟芯片DS1302 Abstract:The calculator with STC89C52 single chip as the core control chip, the realization of a simple addition, subtraction, multiplication, in addition to function, is taken by the keyboard input and liquid crystal display outputThe desigh. is taken by the keyboard input and liquid crystal display output. The main hardware components from five: a STC89C52 chip, a liquid crystal display ( LCD ), a 4 x 4 matrix keyboard and a clock chip ( DS1302 ) a buzzer, can achieve a 8 bit integer numerical operation calculation. Additional clock display function.Keywords:The single chip computerSTC 89 C52 Liquid crystal display (LCD) LED the Clock DS1302 chip1.绪论:单片机是指一个集成在一块芯片上的完整计算机系统。
基于STC89C52RC单片机的简易计算器设计

目录一、可行性研究 (3)二、设计方案简述 (4)2.1、功能介绍 (4)基本功能 (4)扩展功能 (4)2.2、总体设计方案 (5)总体设计思路 (5)方案论证与比较 (6)系统组成 (7)三、详细设计 (12)1.各个模块设计 (12)输入模块:键盘扫描 (13)运算模块:单片机控制 (14)显示模块:LCD1602显示 (15)2.硬件电路设计 (16)硬件连接 (16)3.元件的介绍 (17)STC89C52单片机组成 (17)复位和复位电路 (18)LCD1602显示器 (19)4.PCB设计以及结果显示 (22)五、总结 (24)附录主要程序代码 (25)一、设可行性分析:1.2.1 经济可行性由于只是实验性质的编程,所以在设计和开发都不需要过多的经费,但是系统投入运行以后,硬件维护和损耗所造成的耗费是必须的,但是数目也不会很大。
所以经过初步分析,经济上基本上是可行的1.2.2技术可行性在技术方面,因为都学习了C语言,硬件课程设计等课程,对于开发语言c语言也有一定的掌控能力,应该能够完成相应的任务。
1.2.3 运行可行性该成果简单易操作,非常容易使用。
1.2.4 法律可行性由于我们需要完成的功能相对简单,没有太多涉及到很专业方面的内容,更没有计划将系统利用到商业用途,所以不存在侵权或者版权纠纷方面的问题。
1.2.5结论该系统的软硬件都比较容易理解和实现,所以,具有实现一计算器的可行性。
二、设计方案简述2.1功能概述系统基本功能:(1)由于设计的计算器要进行四则运算,为了得到较好的显示效果,经综合分析后,最后采用LCD 显示数据和结果。
(2)采用键盘输入方式,键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键(on\c)和等号键(=),故只需要16 个按键即可,设计中采用集成的计算键盘。
(3)在执行过程中,开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。
基于STC89C52单片机的计算器

基于STC89C52单片机的计算器一、引言计算器作为一种常见的电子设备,经常被人们用于日常的数学计算。
本文将介绍一种基于STC89C52单片机的计算器的设计与实现。
该计算器具有基本的四则运算功能,并且支持浮点数的运算。
二、硬件设计1.单片机选择本文选择STC89C52单片机作为计算器的核心处理器。
STC89C52是基于8051架构的单片机,具有强大的计算和控制能力,适合用于计算器的设计。
2.显示器设计本文选用16x2LCD液晶显示器作为计算器的显示器。
液晶显示器具有容量小、功耗低、反射型等优点,非常适合计算器的显示要求。
3.按键设计本文选用矩阵按键设计。
通过矩阵按键设计,可以设计出较多的按键功能,并且能够节省IO口的使用。
4.电源设计计算器使用直流电源供电,可以选择使用电池或者外部电源适配器供电。
三、软件设计计算器的软件设计主要包括界面设计和计算功能设计两个方面。
1.界面设计计算器的界面设计主要包括显示数字和调用函数。
a.显示数字通过将用户输入的数字显示到LCD液晶屏上,实现数字的显示功能。
液晶屏可以显示16个字符,可以一次性显示一个较长的数字。
b.调用函数通过监测用户按键的输入,调用相应的函数实现计算功能。
可以设置加、减、乘、除等函数,并通过按键的组合调用相应的函数。
2.计算功能设计计算器的计算功能设计主要包括四则运算和浮点数运算两个方面。
a.四则运算通过四个函数实现加、减、乘、除的功能。
在用户按下相应的运算符号键后,调用相应的函数对输入的数字进行相应的运算,并将结果显示在LCD液晶屏上。
b.浮点数运算在用户输入的数字或运算结果存在小数的情况下,可以设计相应的浮点数运算函数,通过运算可以得到带有小数点的结果,并将结果显示在LCD液晶屏上。
四、系统实现五、总结基于STC89C52单片机的计算器设计和实现包括硬件设计和软件设计两个方面。
通过合理的硬件设计和功能完善的软件设计,可以实现一款功能强大的计算器。
基于STC89C52单片机的简易数字电压表设计【毕业设计】

基于STC89C52单片机的简易数字电压表设计【毕业设计】存档编号华北水利水电大学North China University of Water Resources and Electric Power 毕业设计题目基于单片机的数字电压表设计学院信息工程学院专业通信工程姓名学号200912303指导教师完成时间2013年5月20日教务处制目录摘要 (I)Abstract (I)绪论 ...................................................................................................................... I I 一设计背景 .. (III)二设计意义 (IV)第一章数字电压表 (5)1.1 数字电压表的优点 (5)1.2 数字电压表发展趋势 (6)1.3 设计平台 (6)1.3.1 KEIL C51开发平台 (6)1.3.2 Proteus 7 Professional设计软件 (7)第二章总体设计方案 (8)2.1数字电压设计的两种方案 (8)2.1.1 由数字电路及芯片构建 (9)2.1.2 由单片机系统及A/D 转换芯片构建 (9)2.2 设计要求 (9)2.3 技术要求 (10)2.4 设计方案 (10)第三章硬件简介 (11)3.1 本设计单片机的选择 (11)3.1.1常用单片机的特点比较 (11)3.1.2 单片机的选择 (12)3.1.3 STC89C52单片机介绍 (13)3.2 本设计显示器件选择 (18)3.2.1 常用显示器件简介 (18)3.2.2 显示器件的选择 (19)3.2.3 1602字符型LCD简介 (19)3.3A/D芯片 (24)3.3.1常用的A/D芯片 (24)3.3.2 ADC0809芯片 (25)第四章接口电路 (28)4.1 显示电路 (28)4.2 ADC0809与单片机接口电路 (29)第五章硬件电路系统模块设计 (30)5.1 总电路模块 (30)5.2 硬件系统电路简介 (30)第六章系统软件设计 (31)6.1 主程序 (31)6.2 A/D转换子程序 (32)6.3 显示子程序 (32)第七章调试及性能分析 (33)7.1 调试与测试 (33)7.2 性能分析 (34)总结 (35)参考文献 (36)致谢 (38)附录 (39)附录I(外文翻译) (39)外文译文 (49)附录II(任务书) (57)附录III(开题报告) (59)附录IV(图表) (62)I Proteus仿真图 (62)II 硬件总电路图 (63)III 实物图 (64)附录V(程序清单) (66)摘要随着时代的进步,用指针式万用表测量小幅度直流电压已经显得有些不太方便。
基于单片机的简易计算器的设计

基于单片机的简易计算器的设计
摘 要 单片机是采用超大规模集成电路技术,把一台计算机的主要部件集成在一个芯片上所构成的一种集成电路芯片,因此单片机被称为单片微型计算机。由于单片机体积小、价格低、可靠性高、适用面宽以及有其本身的指令系统等诸多优势,在各个领域、各个行业都得到了广泛应用。很多大专、本科院校都开设了关于单片机原理与应用方面的课程。
I
关键词: 单片机,计算器,运算,扩展
ABSTRACT
SCM is a integrated circuit chips that integrated the main cmponents of a
computer in a chip by using the large scale integrated circuit technology.So theቤተ መጻሕፍቲ ባይዱSCM is called the single chip computer. In various fields, SCM has been widely used for its small size, low price, high reliability, and wide application etc. Many college and universities opened the courses about the principle and application of SCM.
本设计就是依据单片机的原理来进行简易计算器的设计的,设计采用了STC89C52RC单片机作为计算器的主控制器,TC1602液晶作为显示器,4×4矩阵键盘作为输入按键,通过软硬件相结合,来实现整数的“加”、“减”、“乘”、“除”运算。并在计算器顺利完成的基础上,对系统进行了简单的扩展,增加了电子表功能,使系统完善化和多功能化。
基于STC89C52的计算器设计与仿真_宋慧超

……
//算 数 运 算
3 仿真及结果分析 硬件和软件设计分别利用Prot eus与Kei l集成开发环境
实现。C语言程 序 代码由Ke i l 编写并 编译,将产生的可执行 文件加载到Prot eus中[5],实现仿真功能。
系统 仿真 总体电 路图如图2 所 示,系统 启 动后屏 幕上 显 示 欢 迎信息“We l c o m e!”。具体 结 果 演 示 如图3所 示,计 算 器可 以 进行 较 高 精度 的 加 减 乘 除 运 算,支 持小 数 运 算,结 果 保留 到小数点后5位,其中,图3(a)为大数量的加法运算,结果用科 学 记 数 法 显 示;图3 ( b) 为 减 法 运 算,结 果 为负 数;图3 (c) 和图 3(d)分别为乘法、除法运算,结果均保留到小数点后5位。
摘 要:单片机具有体积小、控制功能强、功耗低、环境适应能力强、扩展灵活和使用方便等优点,已广泛应用在生活的各个领
域,该文提出一种基于单片机的高精度计算器设计方案,核心控制系统采用STC89C52单片机,利用LCD1602液晶显示屏显示运
算过程与结果,设计4×4键盘构成按键模块,用来模拟0~9及加、减、乘、除、清零按键。软件程序利用单片机C语言编写,并在
4×4 键盘又称为行列式键盘,它是4条I/O线作为行线, 4 条I/O线作为列线组 成的键 盘,在行线和列线的每 一个交 叉点上设置一个按 键 [3],这种结构可以有效地提高单片机系 统中I/O口的利用率。4 条行线 分别接单片 机 P1.3~P1.0,4 条列线接单片机 P1.4~P1.7,每位按键对应的功能可参见图 2系统硬件仿真图。
公共交 通枢 纽 站的服务范围和服务区域。(2)对 枢 纽的服务 区域 内的 客 流 分布进 行 详 细 分 析,确 定 公共 交 通 枢 纽布置 的 备 选 点,原 则 上 选 取 客 流 量 较 大,换 乘 频 率 较 高 的 客 流 交汇 地 点作为公共 交 通 枢 纽备 选 地 点。(3) 根 据已知 客 流 量,通 过 优化方法在被选枢纽选址中确定交通枢纽的最终地址。
单片机课程设计_简易计算器设计

单片机课程设计报告选题名称:基于STC89C52单片机的简易计算器设计系(院):物理与电气工程学院专业:电子信息科学与技术班级:12级电信(4)班姓名:储飞学号:080212177汪中苗 080212159 指导老师:王陈宁完成时间:2014/6/9目录一.课程任务二.设计方案三.硬件介绍及硬件电路图 3.1单片机最小系统3.2键盘电路图3.3数码管显示电路图四.软件编程4.1 程序设计框图4.2 4*4按键电路原理4.3 数码管显示电路原理4.4 计算器键盘定义4.5 实现程序五.系统仿真及调试六.课程小结七.指导老师评价一.课程任务及性能指标基于STC89C52单片机的简易计算器,采用12MHZ晶振,设计要求:(1)计算器用一位显示,计算10以内的加减法。
(2)计算器第一次显示0,第一次按数字键显示D1,第二次按符号键不显示,第三次按数字键显示D2,最后按等号键显示D3. (3)两数相加或相减结果应在0~18范围,超过该结果则返回显示错误。
减法的结果不存在负数。
二.设计方案按照系统设计的功能的要求,初步确定设计系统由主控模块、显示模块、键扫描接口电路共四个模块组成,电路系统构成框图如图1.1所示,主控芯片使用51系列AT89C52单片机,采用高性能的静态80C51设计,由先进工艺制造,并带有非易失性Flash程序存储器。
它是一种高性能、低功耗的8位COMS微处理芯片,市场应用最多。
监测模块采用二极管和扬声器(实验室用二极管代替)组成电路。
键盘电路采用4*4矩阵键盘电路。
显示模块采用4枚共阳极数码管和74ls273锁存芯片构成等器件构成。
整个单片机的接口电路:P0:用于显示输出;P3:用于键扫描输入;三.硬件介绍及硬件电路图3.1单片机最小系统单片机最小系统就是支持主芯片正常工作的最小电路部分,包括主控芯片、复位电路和晶振电路。
主控芯片选取STC89C52RC芯片,因其具有良好的性能及稳定性,价格便宜应用方便。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
福建电力职业技术学院课程设计课程名称:《智能仪器》题目:基于STC89C52的简易计算器设计专业班次:姓名:学号:指导教师:学期:2011-2012学年第2学期日期:2012.2目录目录1.引言 (1)1.1 设计意义 (1)1.2 设计任务和主要内容 (1)2. 硬件设计 (2)2.1 系统框图 (2)2.2 最小系统 (2)2.3 矩阵键盘 (3)2.4 LCD1602 (4)3. 软件设计 (5)3.1矩阵键盘扫描原理 (5)3.2 LCD1602的软件设计 (6)3.3 主程序设计 (8)3.4 源程序 (9)3.5 调试结果 (9)4. 设计小结 (9)参考文献 (10)附录 (10)1.引言随着社会的发展,人们生活水平的提高,单片机的应用越来越贴近生活了,人们常用单片机来实现一些简单的电子设计。
计算器在人们的日常生活中是不可或缺的电子产品之一,目前市场上的计算器基本可以满足我们的日常需求,但它还在发展之中,我们要继续研究出更加强大的计算器。
基于这样的理念,本设计采用单片机来设计简易计算器。
本设计是以STC89C52为单片机,LCD为显示器设计的简易计算器,所设计的计算器将完成两位数的加、减、乘、除等功能。
1.1 设计意义通过本次课程设计,进一步掌握单片机知识,知道AT89S52单片机的原理、编程和各种功能的应用,了解简易计算器的工作原理,初步掌握计算器的硬软件设计、编写、调试和仿真,充分提高动手能力和排除故障的能力,同时通过课程设计加深我们对单片机的认识和兴趣,发挥我们的创新能力和动手能力。
1.2 设计任务和主要内容本设计要制作的就是单片机于生活中最为常见的一种应用——简易计算器,以STC89C52单片机作为核心来进行的数字计算器模拟系统设计,可以完成计算器的键盘输入,进行加、减、乘、除两位数范围内的基本四则运算,并在LCD 上显示相应的结果。
设计电路采用AT89C51单片机为主要控制电路,显示采用LCD静态显示,软件方面使用C语言编程,并用PROTUES仿真。
①查阅相关文献资料,了解简易计算器程序的原理,能够运用C 语言进行简易计算器的设计与制作。
②设计基于C 语言的计算器的控制系统硬件部分,画出控制系统硬件框图,设计简易计算器的控制系统的软件部分,首先根据简易计算器所需的具体功能设计好程序流程图,包括控制流程图、控制时序图、梯形图程序设计;根据设计的程序流程图写出代码,并进行代码编译的调试。
③把设计好的软件代码烧入硬件中,然后进行总体调试,直至原先预定要实现的功能完全实现为止。
④设计出系统方框图、单元图、原理总图;画出控制程序流程图,以及编写完整的程序2. 硬件设计2.1 系统框图本文所设计的简易计算器显示系统由STC89C52单片机及其最小系统、LCD1602液晶显示和矩阵键盘等部分组成。
其系统框图如图2.1所示。
STC89C52主控制器件ISP 下载接口晶振电路复位电路编码键盘模块LCD1602图2.1 简易计算器系统框图2.2 最小系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。
对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。
如图2.2为单片机的最小系统。
VCC 4039383736353433323130292827262524232221P20P21P22P23P24P25P26P271602RS 1602RW 1602E R310K VCCP07P06P05P04P03P02P01P00123456789RM1P10P11P12P13P14P15P16P17P30P31P32P33P34P35P36P371234567891011121314151617181920RSTXTAL1XTAL2P10P11P12P13P14P15P16P17RST P30/Rx D P31/TxD P32/INT0P33/INT 1P34/T0P35/T1P36/WR P37/RD XTAL1XTAL2GND P20P21P22P23P24P25P26P27EA ALE PSEN VCC P00P01P02P03P04P05P06P07U1AT89S5297531108642P15RST P17P16CN3VCCSELUSB 12CN2ISPISP VCCC410UF RST R210K+BT0BUTTON1234RESET XTAL1XTAL2CRY112MC6C530P CRYSTAL VCC图2.2 STC89C52最小系统STC89C52 单片机概述:STC89C52是一个低功耗,高性能CMOS 8位单片机,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
STC89C52具有如下特点:40个引脚,8k 的flash 存储器,128 bytes 的随机存取数据存储器(RAM ),32个外部双向输入/输出(IO )口,5 个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT )电路,片内时钟振荡器。
2.3 矩阵键盘键盘是单片机系统中最常用的人机对话输入设备,用户通过键盘向单片机输入数据或指令。
目前市场上键盘有独立键盘和矩阵键盘,经过多方考量,本设计采用矩阵键盘。
在键盘中按键数量较多时,为了减少IO 口的占用,通常将按键排列成矩阵形式。
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。
这样,一个端口就可以构成4*4=16个按键,比直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显。
所以,在需要的键数比较多时,采用矩阵法来做键盘较为合理。
2.3.1 独立键盘与矩阵键盘的区别计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会比较简单,但是会占用大量的IO 口资源,因此在很多情况下都不采用这种方式。
矩阵键盘扫描程序的优点在于,不用专门的按键延时程序,提高了CPU 效率,也不用中断来扫描键盘,节省了硬件资源。
此外,本键盘扫描程序每次扫描占用CPU 时最短,不论有键按下或者无键按下都可以在很短的时间完成一次扫描。
2.3.2 矩阵键盘与单片机的接口电路下图为矩阵键盘与单片机的接口电路图,由图可知,当无按键闭合时, P10~P13与P14~P17之间开路;当有键闭合时,与闭合键相连的两条IO 口线之间短路。
12 3 +4 5 6 — 78 9 * 0Oc / n=/P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7——图2.3 矩阵键盘接口电路 2.4 LCD16022.4.1 LCD1602液晶简介本设计使用LCD1602液晶显示器来显示。
液晶是介于固态和液态间的有机化合物,将其加热会变成透明液态,冷却后变成结晶的混作固态。
在点击的作用下,产生冷热变化,从而影响它的透光性,来达到显示的目的。
1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它有若干个5*7或者5*11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用,所以它不能显示图形 。
LCD1602液晶显示器具有以下几个优点:低压、微功耗、显示信息量大、寿命长、无辐射、无污染。
2.4.2 LCD1602与单片机的接口电路1602液晶模块内部的控制器共有11条控制指令,丰富的指令可以完成液晶的时序控制、工作方式设置和数据显示等。
本设计采用的是LCD1602液晶模块,是标准的16针插座,接口电路如下图所示:12345678910111214151613VSS VDD VL RS R/WED0D1D2D3D4D5D6D7BLA BLK0.1UFC6+5D1602P20P21P22P10P11P12P13P14P15P16P17R2 200+5DJP2图2.4 LCD1602接口电路知道接口图后,还要了解每个引脚接口的说明,引脚接口说明如下表所示:表2.4 引脚接口说明表3.软件设计3.1矩阵键盘扫描原理如图2.3所示,初始化时,将P1.4置为低电平,通过与0x0f 相与来判断编号符号 引脚说明 编号符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择 12 D5 数据 5 R/W 读/写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8D1数据16BLK背光源负极所按下的键,此次为扫描位于P1.4那一行的键,若相与结果为0x0e 时说明P1.0所检测出的为低电平,闭合的键应为P1.4行与P1.0列的交叉处的键。
若相与结果为0x0d 则P1.1所检测为低电平,闭合的键应为P1.4行与P1.1列的交叉处的键。
若相与结果为0x0b 则P1.2所检测为低电平,闭合的键应为P1.4行与P1.2列的交叉处的键。
若相与结果为0x07则P1.3所检测为低电平,闭合的键应为P1.4行与P1.3列的交叉处的键。
要把16个键盘全部扫描完需要进行4次这样的逐行扫描,所用方法相同程序类似分别另P1.5,P1.6,P1.7为低电平执行相同操作。
判断有无按键按下的方法:第一步,置列线P14~P17为输入状态,从行线P10~P13输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。
第二步,行线轮流输出低电平,从列线P14~P17读入数据,若有某一列为低电平,则对应行线上有键按下。
综合一二两步的结果,可确定按键编号。
但是键闭合一次只能进行一次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。
12 3 +4 5 6 — 78 9 * 0Oc / n=/P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7——图2.3 矩阵键盘接口电路3.2 LCD1602的软件设计 3.2.1 LCD1602的指令说明1602液晶模块内部的控制器共有11条控制指令,如表3.2所示。
表 3.2控制命令表 序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 01*3置输入模式1 I/D S4 显示开/关控制0 0 0 0 0 0 1 D C B5 光标或字符移位0 0 0 0 0 1 S/C R/L * *6 置功能0 0 0 0 1 DL N F * *7 置字符发生存贮器地址0 0 0 1 字符发生存贮器地址8 置数据存贮器地址0 0 1 显示数据存贮器地址9 读忙标志或地址0 1 BF 计数器地址10 写数到CGRAM或DDRAM) 1 0 要写的数据内容11 从CGRAM或DDRAM读数 1 1 读出的数据内容如上表所示,1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。