毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
AT89C52基于单片机的趣味闹钟设计+电路原理图+源程序(3)
图8 单个按键和单片机引脚的接线图
按键的抖动如图9所示,有硬件和软件两种去抖动方式,本次设计采用软件去抖动方式。
图9 按键的抖动
单片机应用系统的键盘有行列式键盘和独立式键盘两种结构,本次设计采用独立式键盘结构,P1~P3口的I/O口线直接接4个独立式按键的连接方式均如图10所示,如果用的是P0口,还需外加上拉电阻。当有键按下时,相应的引脚电平将变为低电平,无键按下则为高电平。
图10 独立式键盘结构
3. 软件系统设计
3.1 所用软件的简介
Proteus是Labcenter electronics公司推出的一款工具软件[9],是目前仿真单片机系统最好的EDA工具软件,也是目前唯一一个能够实现对各种处理器实时仿真及测试的一款EDA工具软件,可与Keil及Wave等仿真软件实现联合调试[10],是一个集合电路仿真、PCB设计和虚拟模型仿真三者为一体的功能巨大的设计平台,操作简单易学,支持PIC、8051、ARM、AVR和MSP430多种系列的主流芯片,为我们提供了功能完备且强大的电子产品的设计开发环境[11]。
Keil是一款由Keil公司开发的程序设计软件,专门用于51单片机的开发,可实现编辑,编译和与Proteus实现联合调试的功能,应用非常的广泛。支持C语言和汇编语言,编译连接生成目标文件,调试生成可直接用于硬件仿真的HEX文件。Keil功能强大,工作环境为Windows集成开发环境。本次设计采用Keil进行51单片机系统的设计。
3.2 系统程序流程图
如图11所示,为系统的程序流程图。对于系统功能的实现,要先对LCD1602进行初始化,然后进入循环:先判断SWITCHK是否按下,有则执行温度数据的处理与显示子程序,无则继续判断K0是否按下,若K0没按下则返回循环的入口处,进行下一轮的循环,若K0按下则继续判断K1和K2并根据结果执行相应的时间数据的矫正子程序或者进行下一轮循环,这样不断循环,从而实现预定的功能。
图11 系统程序流程图
3.3 系统各个模块的设计
包括主程序、时间数据采集和处理模块、温度数据采集和处理模块、液晶显示模块和键盘扫描及处理模块[12]。
3.3.1 主程序
先对LCD1602进行初始化,然后进入循环:判断SWITCHK键,若按下则执行温度显示程序,没有按下则执行时间显示程序。执行完毕都返回循环入口处继续下一轮循环。
3.3.2 温度数据的采集和处理模块
DS18B20的内部包含9个字节的RAM和64位的ROM,根据DS18B20的通信协议,每次对器件进行读写操作时,必须严格按照DS18B20的时序要求。主机控制DS18B20来完成温度转换的话必须经过三个步骤:每次读写前都要对DS18B20进行复位,复位成功后发送一条ROM指令,然后发送RAM指令,然后才能对DS18B20进行预定的操作[13]。温度采集的流程图如图12所示。
图12 温度采集流程图
3.3.3 液晶显示模块
要在LCD1602液晶显示模块的某一个位置显示某一个符号,只需将待显示符号对应的ASCII码存入到DDRAM中相对应的位置[14]。如图13所示为LCD1602实际显示位置与显示地址之间的对应关系。
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
共5页:
上一页
1
2
3
4
5
下一页
上一篇:
VHDL基于FPGA的移相信号发生器设计+Quartus仿真+源程序
下一篇:
Matlab基于灰色关联理论的移动机械人故障诊断方法研究
基于Kinect手势识别的遥操...
基于51单片机自动门智能控制系统设计
STC89C52单片机智能温度监测系统设计
STC89C52单片机盲人用时钟的设计+电路图+程序
粉料称重装置的单片机控...
基于TI-DSP平台的电力电子测控平台设计
基于传感器网络的分布式集员滤波问题的研究
提高小學语文課堂朗读教...
遥感土地用变化监测国内外研究现状
大规模MIMO系统的发展研究现状
小型通用机器人控制系统设计任务书
MNL模型历史城区居民活动...
《水浒传》中血腥暴力研...
PCI+PID算法直流力矩电机速...
浅析施工企业保理融资成...
从企业eHR建设谈管理信息...
高效课堂教师问卷调查表