基于STC89C52的计算器设计与仿真_宋慧超
基于STC89C52单片机的计算器
基于STC89C52单片机的计算器一、引言计算器是一种用于进行数学运算的设备。
在现代社会中,计算器被广泛应用于各个领域,包括教育、科学研究、工程设计等。
本篇文章将介绍基于STC89C52单片机的计算器设计。
二、设计目标本设计的目标是实现一个简单的、功能齐全的四则运算计算器。
该计算器具有基本的加、减、乘、除运算功能,可以进行整数和小数的运算。
同时,该计算器还具备清零、撤回、保存结果等辅助功能。
三、硬件设计1.单片机选择本设计选择STC89C52单片机作为主控芯片。
STC89C52是一款具有低功耗、高性能的单片机,拥有8位宽的数据总线和16位宽的地址总线,适用于本设计所需的计算器功能。
2.显示器选择本设计选择8位共阳数码管作为显示器。
由于STC89C52单片机的IO 口输出电流较小,为了驱动数码管显示,需要通过数码管驱动芯片进行扩展以增大驱动电流。
3.按键选择本设计选择矩阵键盘作为输入设备。
根据计算器所需的功能,可以设置数字键、运算符键、功能键等按键。
四、软件设计1.指令集设计本设计根据计算器功能的需求,设计了一套适合STC89C52单片机的指令集。
包括加法指令、减法指令、乘法指令、除法指令等,以及相应的操作数寻址方式。
2.界面设计本设计通过8位共阳数码管显示器和矩阵键盘构建了计算器的界面。
通过编程实现数码管显示数字和结果,以及按键的检测和响应。
3.运算功能实现本设计通过编程实现了加法、减法、乘法、除法等基本运算功能。
通过数码管显示输入的数字和结果,实现了计算器的正常运算。
4.辅助功能实现本设计通过编程实现了清零、撤回、保存结果等辅助功能。
通过按下相应的功能键,可以实现清除当前输入、撤回上一步操作或保存当前结果等操作。
五、实验验证六、结论通过本次设计,成功实现了基于STC89C52单片机的四则运算计算器。
该计算器具有基本的加、减、乘、除运算功能,可以进行整数和小数的运算。
同时,该计算器还具备清零、撤回、保存结果等辅助功能。
基于STC89C52的简易计算器设计
福建电力职业技术学院课程设计课程名称:《智能仪器》题目:基于STC89C52的简易计算器设计专业班次:姓名:学号:指导教师:学期:2011-2012学年第2学期日期:2012.2word格式-可编辑-感谢下载支持目录1.引言 01.1 设计意义 01.2 设计任务和主要内容 02. 硬件设计 (1)2.1 系统框图 (1)2.2 最小系统 (1)2.3 矩阵键盘 (2)2.4 LCD1602 (3)3. 软件设计 (4)3.1矩阵键盘扫描原理 (4)3.2 LCD1602的软件设计 (5)3.3 主程序设计 (7)3.4 源程序 (8)3.5 调试结果 (8)4. 设计小结 (8)参考文献 (9)附录 (9)1.引言随着社会的发展,人们生活水平的提高,单片机的应用越来越贴近生活了,人们常用单片机来实现一些简单的电子设计。
计算器在人们的日常生活中是不可或缺的电子产品之一,目前市场上的计算器基本可以满足我们的日常需求,但它还在发展之中,我们要继续研究出更加强大的计算器。
基于这样的理念,本设计采用单片机来设计简易计算器。
本设计是以STC89C52为单片机,LCD为显示器设计的简易计算器,所设计的计算器将完成两位数的加、减、乘、除等功能。
1.1 设计意义通过本次课程设计,进一步掌握单片机知识,知道AT89S52单片机的原理、编程和各种功能的应用,了解简易计算器的工作原理,初步掌握计算器的硬软件设计、编写、调试和仿真,充分提高动手能力和排除故障的能力,同时通过课程设计加深我们对单片机的认识和兴趣,发挥我们的创新能力和动手能力。
1.2 设计任务和主要内容本设计要制作的就是单片机于生活中最为常见的一种应用——简易计算器,以STC89C52单片机作为核心来进行的数字计算器模拟系统设计,可以完成计算器的键盘输入,进行加、减、乘、除两位数范围内的基本四则运算,并在LCD 上显示相应的结果。
设计电路采用AT89C51单片机为主要控制电路,显示采用LCD静态显示,软件方面使用C语言编程,并用PROTUES仿真。
基于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单片机毕业设计(完整版)-附-原理图-pcb图-源程序-仿真图
基于STC89C52单片机的电子密码锁学生姓名: xx学生学号: xxxxx院(系):电气信息工程学院年级专业: 2010级电子信息工程2班指导教师:***二〇一三年六月摘要随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事情屡见不鲜,电子密码锁具有安全性能高,成本低,功耗低,操作简单等优点使其作为防盗卫士的角色越来越重要。
从经济实用角度出发,采用51系列单片机,设计一款可更改密码,LCD1602显示,具有报警功能,该电子密码锁体积小,易于开发,成本较低,安全性高,能将其存储的现场历史数据及时上报给上位机系统,实现网络实时监控,方便管理人员及时分析和处理数据。
其性能和安全性已大大超过了机械锁,特点有保密性好,编码量多,远远大于弹子锁,随机开锁成功率几乎为零;密码可变,用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降;误码输入保护。
当输入密码多次错误时,报警系统自动启动;电子密码锁操作简单易行,受到广大用户的亲睐。
关键词单片机, 密码锁, 更改密码, LCD1602目录错误!未定义书签。
1 绪论1.1电子密码锁简介 (1)1.2 电子密码锁的发展趋势 (1)2 设计方案 (3)3 主要元器件 (4)3.1 主控芯片STC89C52 (4)3.2 晶体振荡器 (8)3.3 LCD显示密码模块的设计 (9)3.3.1 LCD1602简介 (9)3.3.2 LCD1602液晶显示模块与单片机连接电路 (11)4 硬件系统设计 (12)4.1 设计原理 (12)4.2 电源输入电路 (12)4.3 矩阵键盘 (13)4.4 复位电路 (14)4.5 晶振电路 (14)4.6 报警电路 (15)4.7 显示电路 (15)4.8 开锁电路 (16)4.9 电路总体构成 (16)5 软件程序设计 (18)5.1 主程序流程介绍 (18)5.2 键盘模块流程图 (19)5.3 显示模块流程图 (21)5.4 修改密码流程图 (22)5.5 开锁和报警模块流程图 (23)6 电子密码锁的系统调试及仿真 (25)6.1硬件电路调试及结果分析 (25)6.2软件调试及功能分析 (25)6.2.1调试过程 (25)6.2.2 仿真结果分 (26)7 结论 (29)参考文献 (30)附录: (31)1 绪论1.1电子密码锁简介电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
基于STC89C52单片机的计算器
基于STC89C52单片机的计算器一、引言计算器作为一种常见的电子设备,经常被人们用于日常的数学计算。
本文将介绍一种基于STC89C52单片机的计算器的设计与实现。
该计算器具有基本的四则运算功能,并且支持浮点数的运算。
二、硬件设计1.单片机选择本文选择STC89C52单片机作为计算器的核心处理器。
STC89C52是基于8051架构的单片机,具有强大的计算和控制能力,适合用于计算器的设计。
2.显示器设计本文选用16x2LCD液晶显示器作为计算器的显示器。
液晶显示器具有容量小、功耗低、反射型等优点,非常适合计算器的显示要求。
3.按键设计本文选用矩阵按键设计。
通过矩阵按键设计,可以设计出较多的按键功能,并且能够节省IO口的使用。
4.电源设计计算器使用直流电源供电,可以选择使用电池或者外部电源适配器供电。
三、软件设计计算器的软件设计主要包括界面设计和计算功能设计两个方面。
1.界面设计计算器的界面设计主要包括显示数字和调用函数。
a.显示数字通过将用户输入的数字显示到LCD液晶屏上,实现数字的显示功能。
液晶屏可以显示16个字符,可以一次性显示一个较长的数字。
b.调用函数通过监测用户按键的输入,调用相应的函数实现计算功能。
可以设置加、减、乘、除等函数,并通过按键的组合调用相应的函数。
2.计算功能设计计算器的计算功能设计主要包括四则运算和浮点数运算两个方面。
a.四则运算通过四个函数实现加、减、乘、除的功能。
在用户按下相应的运算符号键后,调用相应的函数对输入的数字进行相应的运算,并将结果显示在LCD液晶屏上。
b.浮点数运算在用户输入的数字或运算结果存在小数的情况下,可以设计相应的浮点数运算函数,通过运算可以得到带有小数点的结果,并将结果显示在LCD液晶屏上。
四、系统实现五、总结基于STC89C52单片机的计算器设计和实现包括硬件设计和软件设计两个方面。
通过合理的硬件设计和功能完善的软件设计,可以实现一款功能强大的计算器。
基于89c52单片机的智能计算器程序
#include<reg52.h>
#include"lcd.h"
typedef unsigned char uint8;
typedef unsigned int uint16;
sbit led=P3^7;
sbit beep=P2^0;
uint8 key,num;
uint8 fuhao;//定义具体的那个符号,是加减还是乘除。
else
{
//led=1;
b=b*10+dat1[num];
}
}
else
{
flag=1;
fuhao=3;//带表乘号*
}
lcdwrd(0x30+dat1[num]);
}
P1=0xf7;//令第四行为0,判断哪一列按下
if(P1!=0xf7)
{
delay(1000);
if(P1!=0xf7)
{
key=P1&0xf0;
{
lcdwrd(0x30+c%10);//显示结果的最后一位在0x4f的位置
c=c/10;//取前面的结果数据
}
lcdwrd(0x3d); //显示等于号=
a=0;
b=0;
flag=0;
fuhao=0;//全部清除为0
}
if(fuhao==2) //减
{
lcdwrc(0x4f+0x80);
lcdwrc(0x04);//设置光标左移,屏幕不移动
void delay(uint16 i)
{
while(i--);
}
void lcdwrc(uint8 c)
{
LcdWriteCom(c);
一种基于stc89c52宽频带的数字频率计设计
在设计 中 , 由于要考 虑到对高频 的分频处理 , 因此 在显 示模块 的处 理 中应该要考虑 利用软件 的方法 将档位分 为三 个档 , 增加 K z , H 档 这样 就可以 比较好地显示 出分 频后的频 率。
4 结 语
今 年 购 置 补 贴 农 机 在 操 作 流 程 和 资金 结 算 办 法上
对于低频信号 , 采用测周法 。当低频信号产生一个下降
沿时 , 引发 T l中断 , 同时启动定时器 , 一直到第 二个下 降沿 开始时关 闭定 时器 。这样就可以测出信号周期 , 过求倒得 经 到频率 , 显示在 L D上 , C 所以 T 1工作在 定时状态下 , 每定 时 1 秒钟 到,就停止 r I D的计数 , 而从 1 、 D的计数 单元 中读 取计 数的数值 , 进行数据处理 , 送到 L D显示 。T 工作 在定 时状 C 1 态下 , 最大定 时 时间约 为 6 ms所 以定 时 5 ms共定 时 2 5 , 0 , O
号很容易产生较大误差;第二种方法是单片机定时器测周长 ,
对正 弦波进行频率测量 ,首先要将正弦波整形成方波。 由于频率范 围从 1 z 1 M ,本设计采用 了两个施密特 H 到 0 Hz 整形 , 能够很 好地将正弦波整成方 波 , 并且只要输 入电压合 适, 施密特能够工作 的频率范围能够达到 I M 以上 。 O Hz 一般 的比较器只有一个作 比较的临界电压 , 若输入端有噪声来 回
均 销 售 价 格 的 3%。 0
对于高频信号 , 采用测 频法 , 即使用单 片机 自带 的计数 器对输入脉 冲进行计数 ,从 而对频率 进行测量 。 为计数
器 , 闸门打开 时间 内计数 ;1作为定时器 , 在 T 控制 闸门开关
基于STC89C52单片机多功能计算器设计与仿真
0 引 言
多 功 能 计 算 器 作 为 一 种 快 速 通 用 的 计 算 工 具 为 日常 计 算 提 供 了方 便 ,同 时 又 可 以 兼 有 时 钟 显 示 和 温 度 显 示 功 能 。 该 计 算 器 以 STC89C52单 片 机 为 核 心 进 行 计 算 器 模 拟 系 统 的 设 计 ,输 入 采 用 4× 4矩 阵 键 盘 ,可 以 进 行 加 、减 、乘 、除 数 字 运 算 ,并 在 LCD1602上 显 示 操 作 过 程 ,不 计 算 时 ,显 示 当 前 时 间 和 温 度 ,通 过 按 键 切 换 模 式 时 ,可 进 行 时 间 的 调 整 。
和 液 晶 显 示模 块 组 成 ,其 中 ,单 片机 的 P0 口 用 作 输 出 端 口接 LCD1602的 8个 数 据 引 脚 ,P2 口接 使 能 端 和 读 写 引脚 ,驱 动
LCD16O2显 示 ;P1口作 为 输 入 端 口 ,外接 4x4的 矩 阵 键 盘 ;P3口接 DS18B20温 度 传 感 器和 DSI 302时 钟 芯 片 ,用 于 实 时 监 测
郭 占苗 , 吴 沛。 (西安 航 空职业 技 术学 院 ,1.电子 工程 学 院 ,2.学生 处 ,西安 710089)
摘 要 :基 于 STC89C52单 片机 设 计 一 款 用 LCD16O2液 晶 显 示 的 多功 能计 算 器 。 由矩 阵 键 盘 模 块 、温度 图
1 原 理 的 设 计
2 软 件 的 设 计
该 多 功 能计 算 器 主要 包 括 键 盘 输 入 模 块 、单 片 机 主 控 芯 片 、显 示模 块 、时 钟模 块 和 温 度 控 制 模 块 等 5部 分 组 成 ,键 盘 部 分 主 要 用 于 计 算 器 运 算 时输 入 数 字 ,切 换 计 算 器 或 时 间 显 示 ,以 及 时 间 显 示 时 进 行 时 间 调 整 的 功 能 ;单 片 机 主 要 完 成 数 据 处 理 功 能 ,包 括 确 定 按 键 ,完 成 运 算 ,以及 输 出 数 据 ;显 示 器 部 分 主 要 完 成 单 片机 输 出 的 显 示 ;时 钟 模 块 完 成 当前 时 间 的精 准 显 示 ,温 度 传 感 器 对 实 时 温 度 进 行 检 测 [1]。主 要 原 理 框 图 ,如 图 1所 示
基于stc89c52单片机的红外计数器设计及实现
基于stc89c52单片机的红外计数器设计及实现摘要:本文介绍了基于STC89C52单片机的红外计数器的设计和实现。
该计数器采用红外传感器作为输入信号,使用单片机作为处理器,能够实现自动计数,可以应用于各种场合的计数任务。
本文从硬件设计、软件设计两个方面进行了详细介绍,并给出了实际测试结果。
关键词:STC89C52单片机;红外计数器;硬件设计;软件设计一、绪论二、硬件设计2.1 红外传感器红外传感器是红外计数器的输入信号源,采用两个红外传感器进行输入信号的采集。
一般来说,红外传感器具有发射管和接收管两部分组成,发射管会发射一个特定频率的红外光,接收管则可以接收这个频率的红外光。
通过发射管和接收管之间的反射和折射效应,可以实现对物体进行探测。
2.2 显示器为了方便实时显示计数结果,该计数器装配了数码管显示器。
数码管显示器可以显示0~9的数字,通过不同的控制信号可以实现不同数字的显示。
2.3 单片机选型由于计数器需要进行计算和显示计数结果,因此需要一款性能优良的单片机来实现这些功能。
本设计采用了STC89C52单片机作为处理器。
STC89C52单片机是一款高性能、低功耗的8位单片机,具有多种外设和扩展接口,适合于各种应用场合。
2.4 电源模块为了保证计数器的正常工作,需要提供稳定可靠的电源。
本设计采用了交流电转直流电的方式,通过稳压芯片将电源输出电压稳定在5V左右,以满足单片机和显示器的工作电压要求。
3.1 程序设计流程该计数器的程序设计采用C语言编写,主要实现了两个功能:读取红外传感器输入的信号,进行计数并更新计数结果。
具体程序设计流程如下:1)初始化端口:设置单片机输入输出管脚的模式和初值。
2)初始化定时器:设置定时器的时钟源、计数模式和计数初值。
3)循环读取输入信号:连续检测两个红外传感器的输入信号,当检测到信号变化时,进行计数并更新计数结果。
4)显示计数结果:将计数结果存储到单片机中的寄存器中,通过数码管实现实时显示。
基于STC89C52的计算器设计与仿真
基于STC89C52的计算器设计与仿真宋慧超【摘要】Single chip microcomputer has the advantages of smallsize,strong control function,low power consumption,strong adaptability to environment,flexible and easy to use.It has been widely used in various fields.This paper presents a design scheme of high precision calculator based on Single chip microcomputer.Control system is STC89C52 microcontroller.Operation process and results are displayed in theLCD1602 LCD screen.The key module is composed of 4*4 keyboard which is used to simulate the 0-9 and add,subtract,multiply,divide ,reset button. Software program is written in C language and compiled by C51 Keil and verified by Proteus simulation.%单片机具有体积小、控制功能强、功耗低、环境适应能力强、扩展灵活和使用方便等优点,已广泛应用在生活的各个领域,该文提出一种基于单片机的高精度计算器设计方案,核心控制系统采用STC89C52单片机,利用LCD1602液晶显示屏显示运算过程与结果,设计4×4键盘构成按键模块,用来模拟0~9及加、减、乘、除、清零按键.软件程序利用单片机C语言编写,并在Keil C51开发环境下编译,硬件系统通过proteus工具软件设计并仿真.【期刊名称】《科技创新导报》【年(卷),期】2015(000)029【总页数】3页(P159-160,162)【关键词】单片机;4×4键盘;LCD1602【作者】宋慧超【作者单位】内蒙古民族大学物理与电子信息学院内蒙古通辽 028000【正文语种】中文【中图分类】TN43计算器是人们生活中最常见的工具之一,随着科技的迅猛发展,计算器的功能越来越强大,对精度的要求也越来越高。
基于STC89C52RC单片机的简易计算器设计《 电子设计大赛》概要
基于单片机简易计算器的设计汇总两个方案学院专业班级学号学生姓名联系方式指导教师职称2013年5月基于单片机的简易计算器的设计摘要近几年单片机技术的发展很快,其中,电子产品的更新速度迅猛。
计算器是日常生活中比较常见的电子产品之一。
如何才能使计算器技术更加的成熟,充分利用已有的硬件和软件条件,设计出更出色的计算器。
本设计是以STC89C52单片机为核心的计算器模拟系统设计,输入采用4*4矩阵键盘,可以进行加、减、乘、除带符号数字运算(六位整数、两位小数),并在液晶显示屏LCD1602上静态显示操作过程及结果。
本设计的操作过程是利用SCTT89C51的来控制LXD1602显示器,SCT89C51有共四个端口,作为数据的输入端和输出端,其中两个端口作为输出端,两个端口作为输出端,两个特殊的端口XTAL2和XTAL1,则作为外部振荡器的输入端和输出端。
四个端口的作用是:一个输入端接4*4矩阵键盘,另一个数据输入端接显示屏LCD1602的三个特殊端口,而另外两个端口作为输出端口,一个端口接显示屏LCD1602的数据端口,另一个端口作为振荡电路的输入端和输出端,连接好电路,接通电源,则可在液晶显示屏LCD1602显示加、减、乘、除的运算过程及结果,这是计算机的设计总过程。
关键词:单片机;C语言;计算器Simple calculator design based on single chipABSTRACTSingle-chip computer technology developing rapidly in recent years, among them,electronic product update speed is fast. The calculator is one of the electronic products are common in everyday life. How can you make the calculator technology more mature, make full use of existing hardware and software conditions, design a better calculator.This design is based on STC89C52 single-chip microcomputer as the core of calculator simulation system design, input use 4 * 4 matrix keyboard, could add, subtract, multiply and divide signed number-crunching six (integer, two decimal places), and static on the LCD display LCD1602 display operation process and results. This design process is controlled by using SCTT89C51 LXD1602 display, SCT89C51 has a total of four ports, as the data input terminal and output terminal, two of the port as the output side, the two ports as the output side, and two special port XTAL1 and XTAL2, as external oscillator input end and output end. Four port is: a 4 * 4 matrix keyboard input, another data input termination display LCD1602 three specific ports, and the other two ports as output port, a port display LCD1602 data port, another port as oscillation circuit input end and output end, good connection electric circuit, switch on the power, can be in the LCD display LCD1602 display of add, subtract, multiply and divide operation process and result, this is the computer's design process.Key words:Single chip microcomputer; The C language; Calculating machine基于单片机的简易计算器的设计序言随着社会的发展,科学的进步,人们的生活水平在逐步地提高,尤其是微电子技术的发展犹如雨后春笋般的变化。
基于stc89c52的通用数字调节器设计学士学位论文
题目:基于STC89C52的通用数字调节器设计毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
基于STC89C52单片机的计算器
4X4矩阵键盘实现的计算器一、功能实现基本的两个整数加、减、乘、除运算,采用4X4矩阵键盘输入数据,结果由LCD1602显示。
可以显示负数结果,并且还具有清除功能。
该软件基于普中科技的HC6800_EM3 V2.2平台,微处理器为STC89C52单片机。
二、硬件电路图硬件各个部分的电路图如下:1、STC89C52单片机电路图2、LCD1602显示电路图3、矩阵键盘电路图P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0012345678910(+)11(-)12(*)13(/)14(=)15(CLR)三、软件程序1、LCD1602驱动程序(1)LCD1602.c#include <reg52.h>#include <intrins.h>sbit LCD_RS = P2^6;sbit LCD_RW = P2^5;sbit LCD_EN = P2^7;#define delayNOPs(); {_nop_();_nop_();_nop_();_nop_();};// 延时函数,延时大约1ms乘以nvoid DelayNms(unsigned int n){unsigned char x;while(n--){for(x=0; x<250; x++){_nop_();_nop_();_nop_();_nop_();}}}/***************************************************************************/ /* */ /* 检查LCD忙状态 */ /* 返回值为1时,表示忙,等待。
返回值为0时,表示闲,可以写入指令与数据。
*/ /* 读状态:RS=L,RW=H,E=H,D0-D7=状态字 */ /* */ /***************************************************************************/bit Lcd1602_is_busy(void){bit result;LCD_RS = 0;LCD_RW = 1;LCD_EN = 1;delayNOPs(); // 保证使能脉冲的宽度result = (bit)(P0&0x80);LCD_EN = 0;return(result);}/*******************************************************************//* *//* 写指令到LCD *//* RS=L,RW=L,E=高脉冲,D0-D7=指令码 *//* *//*******************************************************************/void Lcd_Write_Command(unsigned char cmd){while(Lcd1602_is_busy());LCD_RS = 0;LCD_RW = 0;LCD_EN = 0;P0 = cmd;delayNOPs(); // 保证使能脉冲的宽度LCD_EN = 1;delayNOPs();LCD_EN = 0;}/*******************************************************************//* *//* 写显示数据到LCD *//* RS=H,RW=L,E=高脉冲,D0-D7=数据 *//* *//*******************************************************************/void Lcd_Write_Data(unsigned char dat){while(Lcd1602_is_busy());LCD_RS = 1;LCD_RW = 0;LCD_EN = 0;P0 = dat;delayNOPs();LCD_EN = 1;delayNOPs();LCD_EN = 0;}/*******************************************************************//* *//* LCD初始化设定 *//* *//*******************************************************************/void Init_Lcd1602(void){DelayNms(15);Lcd_Write_Command(0x38); // 设置成:16*2显示,5*7点阵,8位数据接口DelayNms(5);// Lcd_Write_Command(0x08); // 显示关闭// DelayNms(5);Lcd_Write_Command(0x0C); // 显示开,关光标DelayNms(5);Lcd_Write_Command(0x06); // 移动光标,输入方式从左到右DelayNms(5);Lcd_Write_Command(0x01); // 清除LCD的显示内容,数据指针清零,将光标撤回液晶显示屏的左上方DelayNms(5);}(2)LCD1602.hvoid Lcd_Write_Command(unsigned char cmd);void Lcd_Write_Data(unsigned char dat);void Init_Lcd1602(void);void DelayNms(unsigned int n);2、矩阵键盘驱动程序(1) 4X4KeyPad.c#include <STC89C5xRC.h>#include "LCD1602.h" // 要用到延时函数 void DelayNms(unsigned char n);#define key P1unsigned char val = 16; // 获取的键值#define KEY_NULL 0xFF // 后来加上的// 键盘扫描函数unsigned char key_scan(void){unsigned char state,KeyTemp;key = 0x0F;if(key != 0x0F) // 如果有按键按下{state = key; // 记录第一次按键状态DelayNms(10); // 延时去抖if(key == state) // 判断按键状态是否和第一次一致{key = 0x0F; // 测试列,该行可屏蔽掉switch(key){case (0x07): KeyTemp = 0; break;case (0x0B): KeyTemp = 1; break;case (0x0D): KeyTemp = 2; break;case (0x0E): KeyTemp = 3; break;}key = 0xF0; // 测试行switch(key){case (0x70): val = KeyTemp + 0; break;case (0xB0): val = KeyTemp + 4; break;case (0xD0): val = KeyTemp + 8; break;case (0xE0): val = KeyTemp + 12; break;}while(key != 0xF0); // 等待松开按键}elsereturn (KEY_NULL);}elsereturn (KEY_NULL);// else key = 0xFF; // 释放键盘总线}(2) 4X4KeyPad.hextern unsigned char key_scan(void);extern unsigned char val;#define KEY_NULL 0xFF3、计算器计算和显示程序(1)caculating and displaying.c#include <stdio.h> // sprintf语句用到#include "LCD1602.h"#include "4X4KeyPad.h"unsigned char code table1[] = {"0123456789+-*/=C"};bit number_key = 0; // 数字键bit add_key = 0; // 加法键 + bit sub_key = 0; // 减法键 -bit multiply_key = 0; // 乘法键 *bit division_key = 0; // 除法键 /bit equal_key = 0; // 等于键 =bit clear_key = 0; // 清除键double a=0,b=0,s=0; // a为计算的第一个数,b为第二个数,s为计算结果// 必须定义为浮点,否则不能够保证计算精度// 识别按键,置标记符void Key_Recognition(void){if(key_scan() != KEY_NULL) // 有按键按下时才置标志位和显示{if(val <= 9) number_key = 1;if(val == 10) add_key = 1;if(val == 11) sub_key = 1;if(val == 12) multiply_key = 1;if(val == 13) division_key = 1;if(val == 14) equal_key = 1;if(val == 15) clear_key = 1;Lcd_Write_Data(table1[val]); // 显示按键对应的字符}}// 计算被计算的两个数 Gets the number of two to be calculatedvoid Get_Parameters_for_calculation(void){if(equal_key != 1) // 没有按等号键才进入{if((add_key||sub_key||multiply_key||division_key) != 1) // 没有按下运算键(+-*/){if(number_key == 1) // 是数字键{a = a*10 + val; // a为运算的第一个数number_key = 0;}}else // 按下运算键(+-*/){if(number_key == 1){b = b*10 + val; // b为运算的第二个数number_key = 0;}}}}// 计算结果void Calculate_Result(void){if(equal_key == 1) // 只有按等号键才能计算{if(add_key == 1) // 加法s = a + b;if(sub_key == 1) // 减法s = a - b;if(multiply_key == 1) // 乘法s = a * b;if(division_key == 1) // 除法s = a / b;}}void Display_Result(void){unsigned char i = 0; // 显示字符的指针unsigned char result[16] = ""; // 待显示的字符计算结果if(equal_key == 1) // 只有按等于键才显示{equal_key = 0;sprintf(result,"%.4f",s); // 浮点数的默认有效位是小数点后6位,这里设置为4位// sprintf(&temp1[0],"%f",a);Lcd_Write_Command(0x80+0x40); // 结果在第二行显示while(result[i] != '\0'){Lcd_Write_Data(result[i]);i++;}}}// 清除显示void ClearScreen(void){if(clear_key == 1) // 只有按清除键才能清除{Lcd_Write_Command(0x01); // LCD清屏指令,把光标撤回到显示器的左上number_key = add_key = sub_key = multiply_key = division_key = equal_key = clear_key = 0;// 清除所有的状态标志s = 0;a = 0;b = 0;}}(2) caculating and displaying.hvoid Key_Recognition(void);void Get_Parameters_for_calculation(void);void Calculate_Result(void);void Display_Result(void);void ClearScreen(void);4、系统主程序#include "LCD1602.h"#include "caculating and displaying.h"void Start_Screen(void){unsigned char code table1[] = " WELCOME TO ";unsigned char code table2[] = "STC51 CALCULATOR" ;unsigned char index = 0; // 显示字符的指针Lcd_Write_Command(0x80);while(table1[index] != '\0'){Lcd_Write_Data(table1[index]);index++;}DelayNms(500);index = 0;Lcd_Write_Command(0x80+0x40);while(table2[index] != '\0'){Lcd_Write_Data(table2[index]);index++;}DelayNms(2000);Lcd_Write_Command(0x01); // 清屏}void main(void){Init_Lcd1602();Start_Screen();while(1){Key_Recognition();Get_Parameters_for_calculation();Calculate_Result();Display_Result();ClearScreen();}}。
基于STC89C52的简易计算器设计
福建电力职业技术学院课程设计课程名称:《智能仪器》题目:基于STC89C52的简易计算器设计专业班次:姓名:学号:指导教师:学期:2011-2012学年第2学期日期:2012.2目录目录1. 引言 (1)1.1本设计的意义 (1)1.2本设计任务和主要内容 (2)2. 硬件设计 (2)2.1系统框图 (3)2.2最小系统 (4)2.3矩阵键盘 (5)2.4 LCD1602硬件设计 (6)3.软件设计 (7)3.1矩阵键盘扫描原理 (8)3.2L C D1602引脚功能时序图 (9)3.3计算器流程图 (10)4设计小结 (12)参考文献 (14)附录:课程设计程序清单 (15)1.引言随着社会的发展,科学的进步,人们的生活水平在逐步地提高,尤其是微电子技术的发展犹如雨后春笋般的变化。
电子产品的更新速度快就不足惊奇了。
计算器在人们的日常中是比较常见的电子产品之一,如何使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器,使其更好地为各个行业服务,成了如今电子领域重要的研究课题。
现如今,人们的日常生活中已经离不开计算器了,社会的各个角落都有它的身影,比如商店、办公室、学校……因此设计一款简单实用的计算器会有很大的实际意义。
本设计旨在进一步掌握单片机理论知识,理解嵌入式单片机系统的硬软件设计,加强对实际应用系统设计的能力。
通过本设计的学习,使我掌握单片机程序设计和微机接口应用的基本方法,并能综合运用本科阶段所学软、硬件知识分析实际问题,提高解决毕业设计实际问题的能力,为单片机应用和开发打下良好的基础。
1.1 本设计的意义计算器在人们的日常中是比较常见的电子产品之一,如何使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器,使其更好地为各个行业服务,成了如今电子领域重要的研究课题。
现如今,人们的日常生活中已经离不开计算器了,社会的各个角落都有它的身影,比如商店、办公室、学校……因此设计一款简单实用的计算器会有很大的实际意义。
基于STC89C52单片机的计算器
基于STC89C52单片机的计算器随着科技的不断发展,单片机已经成为现代电子设备中的重要组成部分。
STC89C52单片机作为一种常见的单片机,因其高性价比和良好的性能而广泛应用于各种嵌入式系统中。
本文将介绍如何使用STC89C52单片机制作一个简单的计算器。
一、硬件设计1、电源电路:为单片机提供稳定的电源。
2、时钟电路:为单片机提供时钟信号,确保其正常运行。
3、复位电路:在单片机出现异常时,通过复位电路实现系统重启。
4、输入电路:用于接收用户输入的数字和运算符。
5、输出电路:用于显示计算结果。
二、软件设计1、初始化程序:对单片机的各个寄存器进行初始化。
2、显示程序:根据需要显示的内容,编写相应的显示程序。
3、输入程序:接收用户输入的数字和运算符,并将其存储在相应的变量中。
4、计算程序:根据用户输入的运算符,调用相应的函数进行计算,并将结果显示在输出电路中。
三、调试与测试1、硬件调试:检查电路板上的元器件是否连接正确,确保电源、输入和输出电路的正常工作。
2、软件调试:通过串口调试工具,对程序进行调试和修改,确保程序的正确性。
3、综合测试:在完成硬件和软件的调试后,进行综合测试,确保计算器的正常工作。
四、结论本文介绍了基于STC89C52单片机的计算器的硬件和软件设计。
通过使用单片机,可以实现简单的计算器功能,并且具有成本低、易于维护和升级等优点。
在制作过程中,需要注意硬件和软件的调试与测试,以确保系统的稳定性和可靠性。
stc89c52单片机技术资料标题:STC89C52单片机技术资料一、概述STC89C52单片机是一种广泛应用的微控制器,它由深圳宏晶科技有限公司生产。
这款单片机具有高性能、低功耗、高可靠性等特点,适用于各种嵌入式系统开发。
下面将详细介绍STC89C52单片机的技术特性、引脚配置、寄存器映射以及常用开发工具等。
二、STC89C52单片机特性1、工作频率:STC89C52单片机的时钟频率可达到35MHz,能够满足大多数应用场景的需求。
电子设计基于STC89C52RC单片机的简易计算器设计说明
电子设计实验名称:基于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 显示数据和结果。
基于STC89C52的光电计数器设计
光电计数器的设计摘要本系统采用的是以单片机STC89c52为核心的自动计数器。
采用反射式光电传感器,将红外发光管与光电接收管相邻安放,每当物体通过一次,红外光就被物体反射,光电接收管接收一次,光电接收管的输出电压就发生一次变化,这个变化的电压信号通过放大和处理后,形成计数脉冲,通过光电隔离耦合并行输入至STC89c52单片机的P1口,通过软件控制和键盘设定计数值并用LED加以显示,便可实现对物体的计数统计。
所谓的光电传感器是将光信号转化为电信号的一种传感器。
它的理论基础是光电效应。
这类效应大致可分为三类。
第一类是外光电效应,即在光照射下,能使电子逸出物体表面。
利用这种效应所做成的器件有真空光电管、光电倍增管等。
第二类是内光电效应,即在光线照射下,能使物质的电阻率改变。
这类器件包括各类半导体光敏电阻。
第三类是光生伏特效应,即在光线作用下,物体内产生电动势的现象,此电动势称为光生电动势。
这类器件包括光电池、光电晶体管等。
光电效应都是利用光电元件受光照后,电特性发生变化。
敏感的光波长是在可见光附近,包括红外波长和紫外波长。
市场上的光电计数器采用的光电传感器有摄像头、光电管等,采用的光的种类有普通光和激光,可见光和不可见光等。
光电传感器一般由光源、光学通路和光电元件三部分组成。
光电式传感器是以光电器件作为转换元件的传感器,光电检测方法具有精度高、应用快、非接触等优点,而可测参数多,光电传感器的结构简单,形式灵活多变,因此,光电传感器在检测和控制中应用非常广泛。
关键词计数器光电传感器单片机数码管毕业设计(论文)AbstractThe system USES the microcontroller is STC89c52 as the core of the automatic counters. By reflecting photoelectric sensor, the infrared luminescence tubes and optoelectronics receiving tube adjacent put, whenever objects through time, infrared light is reflected, photoelectric receiving tube receiving once, photoelectric receiving pipe output voltage has a time change, this change voltage signal by amplifying and processed, forming counting pulses, through photoelectric isolating coupling parallel input to STC89c52 MCU P1 mouth, through software control and keyboard Settings count value and LED to display, can realize to the object counting statistics. This counter can or mechanical artificially count way into electronic counted, and using LED digital pipe display, can be applied to many professions, to meet modern production and lifestyle needs.The so-called photoelectric sensor is light signals are converted to electrical signals a sensor. It is based on the theory of the photoelectric effect. This kind of effect can be roughly classified into three kinds. The first kind is the photoelectric effect, namely in light, can make the electronic escaping surface. Using this effect made devices have vacuum phototubes, photomultiplier tubes, etc. The second type is inside the photoelectric effect, that is, in a light ray can make physical resistivity change. Such devices including various types of semiconductor photoconductive resistance. The third type is born volts effect that light, the object in light effect produced inside emf phenomenon, this electromotive force called light born electromotive force. Such devices including si-based ones, photoelectric transistor, etc. The photoelectric effect is using photoelectric element by light, the electrical characteristics change. Sensitive in the visible light wavelengths is near, including infrared wavelength and uv wavelength. Market photoelectric counter adopts photoelectric sensor have a webcam, phototubes to wait, use light species are regular light and laser, visible and not visible, etc. Photoelectric sensor are usually made of light source, optical path and photoelectric element of three parts. Photoelectric sensor is photoelectric device as conversion of components of the sensor, photoelectric detection method has high accuracy, application quickly, non-contact wait for an advantage, but measurable lots of parameters, photoelectric sensor of simple structure, and flexible in form, therefore, photoelectric sensors in the detection and control is widely used.keywordscounter, photoelectric sensor, microcontroller, digital tube.毕业设计(论文)目录一、绪论 (1)二、光电计数器整体设计过程 (2)(一)光电计数器的设计任务及要求 (2)1.1设计任务 (2)1.2设计要求 (2)1.3总分析结果 (2)(二)设计方案的选择 (3)2.1采用组合逻辑电路和时序逻辑电路实现 (3)2.2以CD4518为核心的计数电路 (3)2.3以STC89c52为核心的计数电路 (4)2.4方案的选定 (4)2.5系统结构框图 (5)(三)硬件结构及功能 (5)3.1 芯片STC89c52 (5)3.1.1 STC89c52的引脚功能 (5)3.1.2 STC89c52系统结构图 (9)3.2 光电传感器的原理和特点 (9)3.2.1 反射式光电传感器 (9)3.2.2 光敏二极管 (11)3.2.3 红外发光二极管的原理和特性 (12)3.3 蜂鸣器的原理 (12)3.3.1 电磁式蜂鸣器内部结构 (13)3.3.2电磁式蜂鸣器驱动原理 (14)3.4 LED数码显示器简介 (15)3.4.1 LED数码显示器的结构 (15)3.4.2 LED数码显示器的两种接法 (15)(四)硬件电路设计 (16)4.1 发射与接收电路 (16)4.2 计数与显示电路 (17)4.3 报警电路 (18)(五)电路设计原理 (18)5.1计数测量 (18)5.2 中断方式计数 (19)(六)软件程序设计 (19)(七)结论 (23)参考文献 (24)附录 (25)附录一 (25)附录二 (26)一、绪论所谓的光电计数器是利用光电元件制成的自动计数装置。
基于STC89C52多功能体育用计时器的仿真与设计
用K1—K4四个按键分别实现计时器的启动/停止、存 储、回显和清零的功能,具体电路如图3所示。 2.4 显示模块
计时器从左到右依次显示为:分钟(2位,最多计时59分 钟)、空1位、秒(2位,最多计时59秒)、空1位、10毫秒(2位, 最多计时100个10毫秒)。
sports timer 各电路模块的具体说明如下: 2.1 STC89C52最小电路模块 该模块采用内部时钟方式,晶振频率选为12MHz,由此
第22卷第7期
谭艳春等:基于STC89C52多功能体育用计时器的仿真与设计
17
可知一个机器周期为1us。设计时器的最小计时单位为tmin ms, 因此定时器T0的初始值计算公式为:TH0=(65535-tmin)/256; TL0=(65535-tmin)%256。 2.2 锁存电路模块
3 KeilC51环境下的编程(Programming in the KeilC51)
3.1 软件编程要点及难点分析 (1)启动/停止按键、计时按键、回显按键和清零按键信息
分别通过STC89C52单片机的P3.2—P3.5的四个引脚输入。 (2)通过P0口将位选信息,以及需要显示的数字信息同时
送给两个74HC573锁存器。 (3)1个74HC573锁存器接数码管的A-G,DP引脚,另1个
第22卷第7期 2019年7月
文章编号:2096-1472(2019)-07-16-03
软件工程 SOFTWARE ENGINEERING
Vol.22 No.7 Jul. 2019
DOI:10.19644/ki.issn2096-1472.2019.07.005
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
……
//算 数 运 算
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) 根 据已知 客 流 量,通 过 优化方法在被选枢纽选址中确定交通枢纽的最终地址。
科技创新导报 2015 NO.29 Science and Technology Innovation Herald
计算机科学
图2 系统仿真电路图
(a)
(b)
LCD_ d s p _ s t r i n g(0,1,t emp); //在第二行第
Байду номын сангаас
一个位置显示运算结果
w r ite _ com(0 x01); }
(1)充分明确 换 乘 枢 纽 规 划和 交 通设 计 的 具体 要求; (2)明确 该次交通设计的目标 和原则;(3)整合所有资源设 计;(4)进行枢 纽 时间效 益优化设 计;(5)方案的 初步评 价 与深化。
4 城市公交换乘枢纽布置的优化方法 (1) 对 影 响 城 市总体 规 划 的因 素 进 行 定 性 分 析,初 步 确 定
Song Huichao (College of Physics and Electronic Information, Inner Mongolia University for Nationalities,Tongliao Inner Mongolia,028000,China)
Abstract:Single chip microcomputer has the advantages of small size,strong control function,low power consumption,strong adaptability to environment,flexible and easy to use.It has been widely used in various fields.This paper presents a design scheme of high precision calculator based on Single chip microcomputer.Control system is STC89C52 microcontroller.Operation process and results are displayed in the LCD1602 LCD screen.The key module is composed of 4*4 keyboard which is used to simulate the 0-9 and add,subtract,multiply,divide ,reset button. Software program is written in C language and compiled by C51 Keil and verified by Proteus simulation. Key words:Single chip microcomputer;4×4 keyboard;LCD1602
5 结语 城市公共交通换乘枢纽 规划与设计的质量直接影响着
城 市公共 交 通系 统 的 运 行 情况,在 城 市公共 交 通中有 着 不 可 忽视 的 作用,进行交 通枢 纽 规 划 时要 遵 循 科 学 的 交 通枢 纽 规 划目标 与 科 学 的 规 划 原 则,采 取 正 确 的 城 市公共 交 通 换 乘 枢 纽布置方 法,进 行 城 市公共 交 通 换 乘 枢 纽 的 规 划 设 计。另 外, 我们要对 城市公共交通换乘枢纽的规划效果及时的进行分 析,实时 地 进行调整、优化,以保证城市公共交通换 乘枢纽最 大 程 度 地 发 挥 其作用。
能。
void main()
{ i n it() //初始化LCD
LCD_ dsp _ str i ng(4,0,”Hel lo!”); // 显 示 字
符串“Hel lo!”
key_ s c an();
//键 盘扫 描 程 序
LCD_ dsp _ char();
//显 示 字 符 子程 序
1 系统硬件设计 基于单片 机设 计 的 计 算 器应 具 有 高 精度 运 算及 结 果 显
示 的 功能。其中,4×4 键 盘 用于数 据 输入 [2],LCD 液晶显 示 则可以分两行显 示 运算过程 及最终结果。系统框图如图1所 示。
下面对硬件模 块 进行简单说明,各模 块与单片机的具体
䬂Ⲭഫ
2 换乘枢纽的空间优化设计 2. 1 换乘枢纽主要的设计内容
公共 交 通 换 乘 枢 纽设 计分 为整 合空间资 源设 计 和 优化 时间效 益 设 计。
(1)整 合空间资 源设 计:在 交 通 换 乘 枢 纽 的 计 过 程中 应 对交 通 换 乘 枢 纽 的各种 设 施 进行合 理 的 规 划与必 要 的整 合,尽可能的缩 短换 乘 旅客步行的距离,以避免交通枢 纽区 域内交通流之间的互相干扰。
计算器是人们生活中最常见的工具之一,随着科 技的迅 猛 发展,计算器的功能 越来越强大,对 精度的要求也 越来越 高。以往利用单片 机 开发设 计计算器,大多只能实现 较简单 的 加 减 乘 除 运算 [1],且仅限于整 数 运算。该 文 通 过C语言编 程,设 计了一种可以实现32位浮点数 运算的高精度计算器, 除了基 本 四则 运 算 外,可 以 进行小 数 运 算、负 数 运 算,结 果 保 留 到 小 数 点 后 5 位,大 数 量 的 运 算 结 果 以 科 学 计 数 法 形 式 给 出,运算过程通 过LCD16 02液晶屏显示,利用清屏键可以随 时清除显示。
Keil C51开发环境下编译,硬件系统通过proteus工具软件设计并仿真。
关键词:单片机 4×4键盘 LCD1602
中图分类号:TN43
文献标识码:A
文章编号:1674-098X(2015)10(b)-0159-03
Design and Simulation of the Calculator Based on STC89C52
计算机科学
DOI:10.16660/j.c n k i.1674-098X.2015.29.159
科技创新导报 2015 NO.29
Science and Technology Innovation Herald
基于STC89C52的计算器设计与仿真①
宋慧超 (内蒙古民族大学物理与电子信息学院 内蒙古通辽 028000)
L C D16 0 2 是常用的 液 晶芯片,此 处 选 用能 同 时显 示 两 行,每行各16 个字符的屏幕规格。VS S为地电源,V DD接5 V 正电源,V E E为液晶显 示器对比度调整端。8 位 双向数 据 线 D 0~D7接单片机 P0口。由于P0口常用作数据总线 且内部无 上 拉电 阻,此 处 需 外 接10 K电 阻增 加 驱 动 能 力。控 制 端 R S 、 R/ W、E分别与单片 机 P 2.5、P 2.6、P 2.7口相连,用来控制 16 0 2 的 读 写状 态。
char()及字符串函数LCD_ ds p _ str i n g()等。key_ s c a n.c为
键盘扫描程序,根据 矩阵键盘的原理,通过读取 P1口状态来
确 定 按 键 位 置并 将 对应值 返回主 程 序 [4]。
(c)
图3 仿真结果
(d)
子 程 序,分 别 实 现 L C D 初 始 化、键 盘 扫 描、字 符 显 示 等 功
(2)优化 时间效 益设 计:充分 利用现代信息技 术,进行 系统 的 交 通 换 乘 枢 纽设 计 和 信息 服务设 计,采集 各种 交 通 的运营调度系统信息,制定出行车计划表、行车间隔以及 对 外 交 通 的 到 发 时 刻 表,优化 城 市公共 交 通方 式 。 2. 2 换乘枢纽设计的具体步骤
(1)系统 最 优 原 则:枢 纽设 计要 遵 循 所有 换 乘 旅 客 平均 换 乘时间最 短,换 乘次数最少,换 乘线路最 短为原则。(2)换 乘 安 全、畅 通 原 则:公共 交 通 换 乘 枢 纽 的 设 计要 保 证 换 乘 枢 纽 与周边的其它交 通方 式 之间的衔接方便、通畅、安全。(3) 诱 导+疏导原则:对 枢 纽站的换 乘乘客实行交 通 疏导,客流疏 散快 速、方便,减少换乘人员的换 乘时间及换乘时的体力消 耗,提 高 枢 纽 站 的 换 乘 服 务质 量。