傻大方


首页 > 学习 >

优秀|优秀毕业设计精品]基于单片机的电子钟设计



按关键词阅读: 设计 单片机 基于 优秀 精品 毕业设计 电子钟

1、题 目:基于单片机的电子钟的设计摘 要电子时钟主要是利用电子技术将时钟电子化、数字化 , 拥有时钟精确、体积小、界面友好、可扩展性能强等特点 , 被广泛应用于生活和工作当中 。
另外 , 在生活和工农业生产中 , 也常常需要温度 , 这就需要电子时钟具有多功能性 。
本设计主要为实现一款可正常显示时钟/日历、测量环境温度、带有定时闹铃的多功能电子时钟 。
本文对当前电子钟开发手段进行了比较和分析 , 最终确定了采用单片机技术实现多功能电子时钟 。
本设计应用AT89C51芯片作为核心 , 7位LED数码管显示 , 使用DS1302实时时钟日历芯片完成时钟/日历的基本功能 , 同时利用DS18B20温度传感器测量环境温度 。
这种实现方法的优点是电路 。

2、简单 , 性能可靠 , 实时性好 , 时间和温度精度高 , 操作简单 , 编程容易 。
该电子时钟可以应用于一般的生活和工作中 , 也可通过改装 , 提高性能 , 增加新功能 , 从而给人们的生活和工作带来更多的方便 。
关键词:电子时钟;多功能;AT89C51;时钟日历芯片;87创建时间:2010-11-24XX职业技术学院目 录摘 要I第一章 引 言11.1 多功能电子时钟研究的背景和意义11.2 电子时钟的功能2第二章 电子时钟设计方案分析32.1 FPGA设计方案32.2 NE555时基电路设计方案32.3 单片机设计方案4第三章 基于单片机的电子时钟硬件设计63.1 主要IC芯片选择63.1.1 微处理器选择63.1.2.1常 。

3、用时钟日历芯片比较73.1.2.2 DS1302简介83.1.2.3 DS1302引脚说明83.1.2.4 DS1302的控制字和读写时序说明93.2.1.5 DS1302的片内寄存器113.1.2 环境温度传感器选择133.1.3.1 常用温度传感器比较133.1.3.2 DS18B20简介143.1.3.2 DS18B20内部结构153.2 电子时钟硬件电路设计163.2.1 时钟电路设计173.2.2 环境温度采集电路设计183.2.3 显示电路193.2.4 按键电路设计203.2.5 闹铃电路设计223.2.6 复位电路设计23第四章 电子时钟软件设计254.1 主程序设计254.2 。

4、 子程序设计264.2.1 实时时钟日历子程序设计264.2.2 环境温度采集子程序设计264.2.3 显示子程序设计304.2.4 键盘扫描子程序304.2.5 闹铃子程序设计31第五章 系统调试355.1 硬件调试365.1.1 单片机基础电路调试365.1.2 显示电路调试375.1.3 DS1302电路调试395.1.4 按键电路调试405.2 软件调试405.2.1 环境温度采集子程序调试415.2.2 键盘子程序调试41结 论42程序43第 87 页2021-7-7第 87 页2021-7-7第一章 引 言时间是人类生活必不可少的重要元素 , 如果没有时间的概念 , 社会将不会有所发展和进 。

5、步 。
从古代的水漏、十二天干地支 , 到后来的机械钟表以及当今的石英钟 , 都充分显现出了时间的重要 , 同时也代表着科技的进步 。
致力于计时器的研究和充分发挥时钟的作用 , 将有着重要的意义 。
1.1 多功能电子时钟研究的背景和意义20世纪末 , 电子技术获得了飞速的发展 。
在其推动下 , 现代电子产品几乎渗透到了社会的各个领域 , 有力的推动和提高了社会生产力的发展与信息化程度 , 同时也使现代电子产品性能进一步提升 , 产品更新换代的节奏也越来越快 。
时间对人们来说总是那么宝贵 , 工作的忙碌性和繁杂容易使人忘记当前的时间 。
然而遇到重大事情的时候 , 一旦忘记时间 , 就会给自己或他人造成很大麻烦 。
平时我们要求上班准时 , 约会或召开会议必然要提 。

6、及时间;火车要准点到达 , 航班要准点起飞;工业生产中 , 很多环节都需要用时间来确定工序替换时刻 。
所以说能随时准确的知道时间并利用时间 , 是我们生活和工作中必不可少的1 。
想知道时间 , 手表当然是一个很好的选择 , 但是 , 在忙碌当中 , 我们还需要一个“助理” 及时的给我们提醒时间 。
所以 , 计时器最好能够拥有一个定时系统 , 随时提醒容易忘记时间的人 。
最早能够定时、报时的时钟属于机械式钟表 , 但这种时钟受到机械结构、动力和体积的限制 , 在功能、性能以及造价上都没办法与电子时钟相比 。
电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装置 , 广泛应用于个人家庭 , 车站 ,码头办公室等公共场所 , 成为人们日常生活中不可少的必需品 。

7、 。
由于数字集成电路的发展和石英晶体振荡器的广泛应用 , 使得数字钟的精度 , 远远超过老式钟表 , 钟表的数字化给人们生产生活带来了极大的方便 , 而且大大地扩展了钟表原先的报时功能 。
诸如定时自动报警、0按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等 , 所有这些 , 都是以钟表数字化为基础的 。
因此 , 研究数字钟及扩大其应用 , 有着非常现实的意义 。
另外 , 温度实时显示系统应用同样越来越广泛 , 比如空调遥控器上当前室温的显示、热水器温度的显示等等 。
医药卫生、工农业生产上也有很多场合需要测量环境温度 。
如果能够在电子时钟上附加温度采集功能 , 将使电子时钟的应用更加广泛 。
1.2 电子时钟 。

8、的功能电子时钟主要是利用电子技术将时钟电子化、数字化 , 拥有时间精确、体积小、界面友好、可扩展性能强等特点 , 被广泛应用于生活和工作当中 。
当今市场上的电子时钟品类繁多 , 外形小巧别致 。
也有体型较大的 , 诸如公共场所的大型电子报时器等 。
电子时钟首先是数字化了的时间显示或报时器 , 在此基础上 , 人们可以根据不同场合的要求 , 在时钟上加置其他功能 , 比如定时闹铃 , 万年历 , 环境温度、湿度检测 , 环境空气质量检测 , USB扩展口功能等 。
本设计电子时钟主要功能为:1. 具有时间显示和手动校对功能 , 24小时制;2. 具有年、月、日显示和手动校对功能;3. 具有闹铃功能;4. 具有贪睡功能;5. 具有环境温度采集和显示功能;6. 。

9、 掉电后无需重新设置时间和日期;7. 采用交直流供电电源 。
交流供电为主 , 直流电源为后备辅助电源 , 并能自动切换 。
第二章 电子时钟设计方案分析电子闹钟既可以通过纯硬件实现 , 也可以通过软硬件结合实现 , 根据电子时钟里的核心部件秒信号的产生原理 , 通常有以下三种形式:2.1 FPGA设计方案现场可编程门阵列(Field Programmable Gate Array , FPGA) , 是20世纪70年代发展起来的一种可编程逻辑器件 , 是目前数字系统设计的主要硬件基础 。
FPGA在结构上由逻辑功能块排列为阵列 , 并由可编程的内部连线连接这些功能块 , 来实现一定的逻辑功能 。
可编程逻辑器件的设计过程是利用EDA开发软件和编程 。

10、工具对器件进行开发的过程 。
由于EDA技术拥有系统的模拟和仿真功能 , 可读性、可重复性、可测性非常好 , 所以利用EDA开发FPGA是目前比较流行的方式 。
当然 , 有时根据需要 , 也会应用MAX+plus开发集成环境进行设计 。
正因为FPGA在设计过程中方便、快捷 , 而且FPGA技术功能强大 , 能够应用其制作诸如基代码发生器、数字频率计、电子琴、电梯控制器、自动售货机控制系统、多功能波形发生器、步进电机定位控制系统、电子时钟等 。
应用FPGA能够将时钟设计为为四种类型:全局时钟、门控时钟、多级逻辑时钟和波动式时钟 。
多时钟系统能够包括上述四种时钟类型的任意组合234 。
2.2 NE555时基电路设计方案555定时器是美 。

11、国Signetics公司1972年研制的用于取代机械式定时器的中规模集成电路 , 因输入端设计有三个5K的电阻而得名 。
目前 , 流行的产品主要有4种:BJT两个:555 , 556(含有两个555);CMOS两个:7555 , 7556(含有两个7555) 。
555定时器是一种数字与模拟混合型的集成电路 , 应用广泛 。
成本较低 , 外加电阻、电容等元件就可以构成多谐振荡器、单稳电路、施密特触发器等 , 常作为定时器广泛应用于仪器仪表、家用电器、电子测量及自动控制等领域5 。
采用NE555时基电路或其他振荡电路产生秒脉冲信号 , 作为秒加法电路的时钟信号或微处理器的外部中断输入信号 , 可构成电子钟 。
由555构成的秒脉冲发生器电路见图 。

12、2.1 。
输出的脉冲信号V0的频率F为:式(2.1)可通过调节式2.1中的3个参数 , 使输出V0的频率为精确的1Hz 。
图2.1 基于的秒脉冲发生器采用555定时器设计电子时钟 , 成本低 , 容易实现 。
但是受芯片引脚数量和功能限制 , 不容易实现电子时钟的多功能性 。
2.3 单片机设计方案单片机是微型机的一个主要分支 , 它在结构上的最大特点使把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上 。
就其组成和功能而言 , 一块单片机芯片就是一台计算机 。
单片机具有如下特点:有优异的性能价格比;1 集成度高、体积小、有很高的可靠性;2 控制功能强;3 低功耗、低电压 , 便于生产便携式产品;4 外部总 。

13、线增加了I2C、SPI等串行总线方式 , 进一步缩小了体积 , 简化了结构;5 单片机的系统扩展、系统配置较典型、规范 , 容易构成各种规模的应用系统 。
所以单片机的应用非常广泛 , 在智能仪表、机电一体化、实时控制、分布式多机系统以及人们的生活中均有用武之地 。
单片机应用的重要意义还在于 , 它从根本上改变了传统的控制系统设计思路和设计方法 。
从前必须由模拟电路或数字电路实现的大部分功能 , 现在已能用单片机通过软件方法来实现了 。
这种用软件代替硬件的控制技术 , 是对生产控制技术的一次革命 。
利用单片机的智能性 , 可方便地实现具有智能的电子钟设计 。
单片机均具有时钟振荡系统 , 利用系统时钟借助微处理器的定时器/计数器可实现电子钟功能 。

14、 。
然而系统时钟误差较大 , 电子钟的积累误差也可能较大 , 所以可以通过误差修正软件加以修正 , 或者在设计中加入高精度时钟日历芯片 , 以精确时间 。
另外很多功能不同的单片机是兼容的 , 这就更便于实现产品的多功能性 。
第三章 基于单片机的电子时钟硬件设计在比较了第二章的三种实现方案之后 , 考虑单片机货源充足、价格低廉 , 可软硬件结合使用 , 能够较方便的实现系统的多功能性 , 故采用单片机作为本设计的硬件基础 。
3.1 主要IC芯片选择3.1.1 微处理器选择目前在单片机系统中 , 应用比较广泛的微处理器芯片主要为8XC5X系列单片机 。
该系列单片机均采用标准MCS-51内核 , 硬件资源相互兼容 , 品类齐全 , 功能完善 , 性能稳定 , 体积小 ,。

15、价格低廉 , 货源充足 , 调试和编程方便 , 所以应用极为广泛 。
例如比较常用的AT89C2051单片机 , 带有2KB Flash可编程、可擦除只读存储器(E2PROM)的低压、高性能8位CMOS微型计算机 。
拥有15条可编程I/O引脚 , 2个16位定时器/计数器 , 6个中断源 , 可编程串行UART通道 , 并能直接驱动LED输出 。
仅仅是为了完成时钟设计或者是环境温度采集设计 , 应用AT89C2051单片机完全可以实现 。
但是将两种功能结合在一片单片机上 , 就需要更多的I/O引脚 , 故本设计采用具有32根I/O引脚的AT89C51单片机 。
AT89C51单片机是一款低功耗 , 低电压 , 高性能CMOS 8位单片机 , 片内含4KB(可经受 。

16、1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM) , 器件采用CMOS工艺和ATMEI公司的高密度、非易失性存储器(NURAM)技术制造 , 其输出引脚和指令系统都与MCS-51兼容 。
片内的FLASH存储器允许在系统内可改编程序或用常规的非易失性存储器编程器来编程 。
因此 , AT89C51是一种功能强 , 灵活性高且价格合理的单片机 , 可方便的应用在各个控制领域6 。
AT89C51具有以下主要性能:1. 4KB可改编程序Flash存储器;2. 全静态工作:024Hz;3. 1288字节内部RAM;4. 32个外部双向输入/输出(I/O)口;5. 6个中断优先级; 2个16位可编程定时 。

17、计数器;6. 可编程串行通道;7. 片内时钟振荡器 。
此外 , AT89C51是用静态逻辑来设计的 , 其工作频率可下降到0Hz , 并提供两种可用软件来选择的省电方式空闲方式(Idle Mode)和掉电方式(Power Down Mode) 。
在空闲方式中 , CPU停止工作 , 而RAM、定时器/计数器、串行口和中断系统都继续工作 。
在掉电方式中 , 片内振荡器停止工作 , 由于时钟被“冻结” , 使一切功能都暂停 , 只保存片内RAM中的内容 , 直到下一次硬件复位为止8 。
图3.1 AT89C51芯片PDIP封装引脚图AT89C51为适应不同的产品需求 , 采用PDIP、TQFP、PLCC三种封装形式 , 本系统采用双列直插PDIP封装形式 。

18、 , 如图3.1 。
时钟日历芯片选择3.1.2.1常用时钟日历芯片比较在电子时钟设计中 , 常用的实时时钟芯片有DS12887、DS1216、DS1643、DS1302 。
每种芯片的主要时钟功能基本相同 , 只是在引脚数量、备用电池的安装方式、计时精度和扩展功能等方面略有不同 。
DS12887与DS1216芯片都有内嵌式锂电池作为备用电池; X1203引脚少 , 没有嵌入式锂电池 , 跟DS1302芯片功能相似 , 只是相比较之下 , X1203与AT89S51搭配使用时占用I/O口较多 。
DS1643为带有全功能实时时钟的8K8非易失性SRAM , 集成了非易失性SRAM、实时时钟、晶振、电源掉电控制电路和锂电池电源 , BCD码表示 。

19、的年、月、日、星期、时、分、秒 , 带闰年补偿 。
同样 , DS1643拥有28只管脚 , 硬件连接起来占用微处理器I/O口较多 , 不方便系统功能拓展和维护 。
故而从性价比和货源上考虑 , 本设计采用实时时钟日历芯片DS1302 。
3.1.2.2 DS1302简介DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片 , 附加31字节静态RAM , 采用SPI三线接口与CPU进行同步通信 , 并可采用突发方式一次传送多个字节的时钟信号和RAM数据 。
实时时钟可提供秒、分、时、日、星期、月和年 , 一个月小于31天时可以自动调整 , 且具有闰年补偿功能 。
工作电压宽达2.55.5V 。
采用双电源供电(主电源和备用电源) , 可 。

20、设置备用电源充电方式 , 提供了对后备电源进行涓细电流充电的能力 。
有主电源和备份电源双引脚 , 而且备份电源可由大容量电容(1F)来替代 。
需要强调的是 , DS1302需要使用32.768KHz的晶振 。
3.1.2.3 DS1302引脚说明DS1302引脚图参照图3.2 。
图3.2 DS1302芯片引脚图其的引脚功能参照表3.1 。
表3.1 DS1302引脚功能说明引脚号名称功能1VCC1备份电源输入2X132.768KHz晶振输入3X232.768KHz晶振输出4GND地5RST控制移位寄存器/复位6I/O数据输入/输出7SCLK串行时钟8VCC2主电源输入3.1.2.4 DS1302的控制字和读写时序说明在 。

21、编程过程中要注意DS1302的读写时序 。
DS1302是SPI总线驱动方式 。
它不仅要向寄存器写入控制字 , 还需要读取相应寄存器的数据 。
要想与DS1302通信 , 首先要先了解DS1302的控制字 。
DS1302的控制字如表3.2 。
表3.2 DS1302控制字(即地址及命令字节)BIT7BIT6BIT5BIT4BIT 3BIT 2BIT 1BIT 01RAMA4A3A2A1A0RD控制字的作用是设定DS1302的工作方式、传送字节数等 。
每次数据的传输都是由控制字开始 。
控制字各位的含义和作用如下:1. BIT7:控制字的最高有效位 , 必须是逻辑1 , 如果它为0 , 则不能把数据写入到DS1302中 。
2. BIT 6 。

22、:如果为0 , 则表示存取日历时钟数据 , 为1表示存取RAM数据;3. BIT 5至BIT 1(A4A0):用A4A0表示 , 定义片内寄存器和RAM的地址 。
定义如下:当BIT 6位=0时 , 定义时钟和其他寄存器的地址 。
A4A0=06 , 顺序为秒、分、时、日、月、星期、年的寄存器 。
当A4A0=7 , 为芯片写保护寄存器地址 。
当A4A0=8 , 为慢速充电参数选择寄存器 。
当A4A0=31 , 为时钟多字节方式选择寄存器 。
当BIT 6=1时 , 定义RAM的地址 , A4A0=030 , 对应各子地址的RAM , 地址31对应的是RAM多字节方式选择寄存器 。
4. BIT 0(最低有效位):如为0 , 表示要进行写操作 , 为1表示进行读操作 。
控制 。

23、字总是从最低位开始输出 。
在控制字指令输入后的下一个SCLK时钟的上升沿时 , 数据被写入DS1302 , 数据输入从最低位(0位)开始 。
同样 , 在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿 , 读出DS1302的数据 , 读出的数据也是从最低位到最高位 。
图3.3 DS1302数据读写时序DS1302的数据读写方式有两种 , 一种是单字节操作方式 , 一种是多字节操作方式 。
每次仅写入或读出一个字节数据称为单字节操作 , 每次对时钟/日历的8字节或31字节RAM进行全体写入或读出的操作 , 称其为多字节操作方式 。
当以多字节方式写时钟寄存器时 , 必须按数据传送的次序依次写入8个寄存器 。
但是 , 当以多字节方式写RAM时 , 不必写所有 。

24、31字节 。
不管是否写了全部31字节 , 所写的每一个字节都将传送至RAM 。
为了启动数据的传输 , CE引脚信号应由低变高 , 当把CE驱动至逻辑1的状态时 , SCLK必须为逻辑0 , 数据在SCLK的上升沿串行输入 。
无论是读周期还是写周期 , 也无论送方式是单字节传送还是多字节传送 , 都要通过控制字指定40字节中的哪个将被访问 。
在开始8个时钟周期把命令字(具有地址和控制信息的8位数据)装入移位寄存器之后 , 另外的时钟在读操作时输出数据 , 在写操作时输入数据 , 所有的数据在时钟的下降沿变化 。
所有写入或读出操作都是先向芯片发送一个命令字节 。
对于单字节操作 , 包括命令字节在内 , 每次为2个字节 , 需要16个时钟;对于时钟/日历多字节模 。

25、式操作 , 每次为7个字节 , 需要72个时钟;而对于RAM多字节模式操作 , 每次则为32字节 , 需要多达256个时钟 。
这里仅给出单字节读写时序 , 如图3.3 。
多字节操作方式与其类似 , 只是后面跟的字节数不止一个 。
3.2.1.5 DS1302的片内寄存器表3.3 DS1302有关日历、时间的寄存器读寄存器写寄存器BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0范围81H80HCH10秒秒00-5983H82H10分分00-5985H84H010时时1-120-23AM/PM87H86H0010日日1-3189H88H0010月月1-128BH8AH00000周日1-78DH8CH10年年00- 。

26、998FH8EHWP0000000通过控制字对DS1302片内寄存器进行寻址之后 , 即可就所选中寄存器的各位进行操作 。
片内各寄存器及各位的功能定义如表3.3 。
DS1302有关日历、时间的寄存器共有10个 , 时钟/日历包含在其中的7个写/读寄存器内 , 这7个寄存器分别是秒、分、小时、日、月、星期和年 。
小时寄存器(85H、84H)的位7用于定义DS1302是运行于12小时模式还是24小时模式 。
当为12小时制式时 , 位5为“0”表示AM;为“1”表示PM 。
在24小时制式下 , 位5是第二个10小时位(2023时) 。
秒寄存器(81H、80H)的位7定义为时钟暂停标志(CH) 。
当该位置为1时 , 时钟振荡器停止 , DS 。

27、1302处于低功耗状态;当该位置为0时 , 时钟开始运行 。
一般在设置时钟时 , 可以停止其工作 , 设定完之后 , 再启动其工作 。
控制寄存器(8FH、8EH)的位7是写保护位(WP) , 其它7位均置为0 。
在任何片内时钟/日历寄存器和RAM , 在写操作之前 , WP位必须为0 , 否则将不可写入 。
当WP位为1时 , 写保护位防止对任一寄存器的写操作 。
因此 , 通过置写保护位 , 可以提高数据的安全性 。
另外 , 还有慢速充电控制寄存器和RAM寄存器 。
如表3.4 。
表3.4充电控制寄存器和RAM寄存器各位定义BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0充电控制寄存器TCSTCSTCSTCSDSDSRSRSRAM寄存器慢速充电 。

28、寄存器控制着DS1302的慢速充电特性 。
寄存器的BIT4BIT7(TCS)决定是否具备充电性能:仅在编码为1010的条件下才具备充电性能 , 其他编码组合不允许充电 。
BIT2和BIT3选择在VCC2和VCC1之间是一个还是两个二极管串入其中 。
如果编码DS是01 , 选择一个二极管;如果编码是10 , 选择两个二极管;其他编码将不允许充电 。
该寄存器的BIT0和BIT1用于选择与二极管相串联的电阻值 。
其中编码RS=01为2 K , RS=10为4 K , RS=11为8 K , 而RS=00将不允许进行充电 。
因此 , 根据慢速充电寄存器的不同编码可得到不同的充电电流 。
其具体计算如公式3.1:I充电=(V0-VD-VE)/R。

29、(3.1)式中:V0所接入的5.0V工作电压;VD二极管压降 , 一个按0.7V计算;R慢速充电控制寄存器0和1位编码决定的电阻值;VEVCC1脚所接入的电池电压 。
RAM寄存器寻址空间一次排列的31字节静态RAM可为用户使用 , 备用电源位RAM提供了掉电保护功能 。
寄存器和RAM的操作通过命令字节的BIT6加以区别 。
当BIT6为“0”时对RAM区进行寻址;否则将对时钟/日历寄存器寻址 。
其操作方法与前述相同91011 。
具体驱动程序参见附录A 。
3.1.2 环境温度传感器选择3.1.3.1 常用温度传感器比较在日常生活中和工农业生产中常要用到温度检测及控制 , 传统的测温元件有热电偶和热电阻 , 一般用来测量中高温 。

30、 , 输出的是电压 , 将其转换成对应的二进制温度码值 , 需要较多的硬件支持 , 硬件电路复杂 , 软件调试较为复杂 , 制作成本高 。
另外 , 采集环境的温度也可采用IC化的温度传感器 。
常用的此类温度传感器有AD590和DS18B20 。
AD590测量到不同温度之后 , 将把应温度转化为线性电流输出 , 为1A/K , 正比于热力学温度 。
该传感器宽量程 , 为-55+150;精度高 , 激光校准精度到0.5;电源范围宽:+4+30V 。
AD590优点很多 , 但是由于它只能将采集来的温度转化为电流输出 , 所以在实际应用中 , 需要先将AD590输出的电流转化为电压 , 再利用A/D转换元件进行模/数转换 , 将模拟量转化为数字量 , 最后送入单片机中12 。
与AD5 。

31、90不同的是 , DS18B20数字温度传感器能直接将被测温度转化成串行数字信号 , 以供单片机处理 , 既节省了硬件 , 又有效避免了模拟方式的干扰问题 。
它还具有微型化、低功耗、高性能、等优点 。
通过编程 , DS18B20可以实现912位温度读数 , 信息经过单线接口送入DS18B20或从DS18B20送出 , 因此从单片机到DS18B20仅需要连接一条线 。
读、写和完成温度变换所需的电源可由数据线本身提供 , 而无需外部电源 。
测量范围为-55+125 , 增量值为0.5 。
电源电压范围为+3.0+5.5V 。
通过编程 , 用户还以自行设定告警上下限温度 , 告警寻找命令可以识别和寻址那些温度超出预设告警界限的器件 。
3.1.3.2 DS18 。

32、B20简介DS18B20是美国Dallas公司生产的基于单线(1-wire)技术的数字温度传感器芯片 。
其管脚分布如图3.4 。
图3.4 DS18B20引脚分布图每片DS18B20在出厂时都设有唯一的产品序列号 , 此序列号存放在它的内部ROM中 , 微处理器通过简单协议 , 就能识别这些序列号 , 因此多个DS18B20可以挂接于同一条单总线上 , 这允许在许多不同的地方放置温度传感器 , 特别适合于构成多点温度测控系统 。
所以DS18B20多应用与HVAC环境控制 , 建筑物、设备或机械内的温度检测 , 以及过程监视和控制中的温度检测 。
管脚功能描述参见表3.5 。
表3.5 DS18B20详细引脚功能描述序号名称引脚功能描述1GN 。

【优秀|优秀毕业设计精品]基于单片机的电子钟设计】33、D地信号2DQ数据输入/输出引脚;开漏单总线接口引脚;当被用在寄生电源下 , 也可以向器件提供电源 。
3VDD可选择的VDD引脚;当工作于寄生电源时 , 此引脚必须接地 。
3.1.3.2 DS18B20内部结构DS18B20的内部结构如图3.5所示 。
主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器 。
图3.5 DS18B20内部结构图配置寄存器为高速暂存存储器中的第5个字节 。
DS18B20在工作时按此寄存器中的分辨率将温度转换成相应精度的数值 , 其各位定义如表3.6所示 。
其中 , TM为测试模式标志位 , 出厂时被写入“0” , 不能改变;R0、R1是温度计分辨率设置位 。
表3.6。

34、DS18B20配置寄存器结构表BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0TMR1R011111MSB LSB其对应四种分辨率如表3.7所示 , 出厂时R0、R1被置为“1” , 默认设置是12位分辨率 , 用户可根据需要给写配置寄存器以获得合适的分辨率 。
表3.7 配置寄存器与分辨率关系表R0R1温度计分辨率/bit最大转换时间/ms00993.750110187.5010113751112750温度信息的低位、高位字节内容还包括了符号位S(是正温度还是负温度)和二进制小数部分 , 其具体形式如图3.6 。
图3.6 DS18B20温度值格式表图3.6所示是12位分辨率的情况 , 如果配置为低分辨 。

35、率 , 则其中无意义位为“0” 。
在DS18B20完成温度变换之后 , 温度值与存储在TH和TL内的告警触发值相比较 。
由于这些是8位寄存器 , 所以912位在比较时忽略 。
TH或TL的高位直接对应于16位温度寄存器的符号位 。
如果温度测量的结果高于TH或低于TL , 那么器件内告警标志将置位 , 每次温度测量都会更新此标志位 。
只要告警标志置位 , DS18B20就将响应告警搜索命令 , 这也就允许单线上多个DS18B20同时进行温度测量 , 即使某处温度越限 , 也可以识别出正在告警的器件 。
特别需要注意的是 , 与DS18B20配套使用的是频率为11.0592MHz单片机晶振 , 这决定了指令的运行时间 , 在软件设计中将根据此指令运行时间编写各 。

36、种延时程序13 。
3.2 电子时钟硬件电路设计电子闹钟至少要包括秒信号发生器、时间显示电路、按键电路、供电电源、闹铃指示电路等几部分 。
另外 , 本设计要求该电子钟能够采集环境温度 , 所以还需要温度采集芯片 。
硬件电路框图参照图3.7 。
该系统使用AT89C51单片机作为核心 , 通过读取时钟日历芯片DS1302和温度传感器DS18B20的数据 , 完成此电子时钟的主要功能时钟/日历和环境温度采集 。
使用比较通用的8段共阴数码管 , 做7位显示 , 分别显示时/年 , 分/月 , 秒/日 , 以及环境温度值 。
图3.7 多功能电子时钟硬件系统框图键盘是为了完成时钟/日历的校对和日历/温度的显示功能 。
由于此电子时钟要求具有闹铃功能 , 所以设计 。

37、有闹铃电路 , 进行声音响铃 。
整个电路使用了两种电源 , +5V电源将为整个电路供电 。
而+3V电源仅作为DS1302的备用电源 。
当+5V电源被切断后 , DS1302启用+3V电源 , 可以保持DS1302继续工作 。
当+5V电源恢复供电 , LED依旧显示当前时间 , 而不会因为断电使系统复位到初始化时间 , 避免了重新校时的麻烦 。
具体电路图请参见附录C 。
3.2.1 时钟电路设计系统时钟应用了实时时钟日历芯片DS1302 , 其连接如图3.8 。
该硬件电路设计简单 , 抗干扰能力强 。
如图 , AT89C51单片机P1.7直接接DS1302的RST端 , 上电后 , AT89C51的P1.7脚自动输出高电平 。
P1.5作为串行时钟接口 , P1.6作 。

38、为时钟数据的I/O 。
DS1302采用双电源供电 , 平时由+5V电源供电 , 当+5V掉电之后 , 由图中BT1(+3V备用电池)供电 。
特别需要注意X1和X2两端连接的晶振Y1 , 该晶振频率为32.768KHz 。
图3.8 系统时钟电路3.2.2 环境温度采集电路设计本设计中使用DS18B20温度传感器进行环境温度采集和转化 。
如图3.9所示 , AT89C51单片机的P3.3脚接DS18B20的I/O脚 , 作为数据的读入和写出口 。
电阻R11作为DS18B20的I/O口的上拉电阻 , 在读时隙结束时 , I/O引脚将通过此上拉电阻拉回至高电平13 。
图3.9 系统环境温度采集电路3.2.3 显示电路就时钟而言 , 通常可采用LCD 。

39、显示或LED显示 。
对于一般的段式LCD , 需要专门的驱动电路 , 而且LCD显示的可视性较差;对于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵) , 一般采用并行接口 , 对微处理器的接口要求较高 , 占用资源多 。
另外 , AT89C51本身没有专门的液晶驱动接口 。
LED结构简单 , 体积小 , 功耗低 , 响应速度快 , 易于匹配 , 寿命长 , 可靠性高 , 而且显示亮度高 , 价格便宜 , 市场上也有专门的时钟显示组合LED 。
故本设计中应用7位8段共阴LED实现显示部分 , 显示面板分布如图3.6 。
LED显示分动态显示和静态显示:动态显示方式的硬件电路简单 。
但设计上如果处理不当 , 易造成亮度低 , 闪烁问题 。
因此合理的设计既应保证驱动电路易实现 ,。

40、又要保证图像稳定 , 无闪烁 。
动态显示采用多路复用技术的动态扫描显示方式 , 复用的程度不是无限增加的 ,因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短 , 发光的亮度等因素 。
静态显示 , 是由微型计算机一次输出显示模型后 , 就能保持该显示结果 , 直到下次发送新的显示模型为止 。
静态显示驱动程序简单 , 且CPU占用率低 , 但每个LED数码管需要一个锁存器来锁存每一个显示位的笔段代码 , 硬件开销大 , 仅适合显示位数较少的场合 。
为了在显示部分节省单片机I/O口 , 故采用静态显示方式 。
电路图参见图3.10 。
74LS164是8位移位寄存器 , 应用该芯片驱动LED做显示部分 , 其优点在于连 。

41、线简单 , 节省单片机I/O口 , 软件编程容易 。
关于74LS164的具体编程方法 , 请参见第四章4.2.5显示子程序设计部分1415 。
图3.10 显示面板LED分布图 3.2.4 按键电路设计根据功能需要 , 本时钟需要设置以下功能键:校对选择键 , 加1操作键 , 减1操作键 , 显示日期键 , 显示温度键 , 闹铃开关键 。
按照键盘与CPU的连接方式可分为独立式键盘和矩阵式键盘 。
独立式键盘是各个按键相互独立 , 每个按键占用一个I/O口线 , 每根I/O口线上的按键不会影响其他I/O口上按键工作状态 。
独立式键盘电路配置灵活 , 软件结构简单 , 但每个按键必须占用一根I/O口 , 在按键数量较多时 , I/O口线浪费较大 , 且电路结构复杂 。
矩阵式键 。

42、盘适合按键较多时使用 。
由于本设计的电子钟最多需要7个按键 , 若采用矩阵式键盘时会有按键浪费 , 故采用的是独立式键盘 。
键盘电路如图3.11 。
对于内置了上拉电阻的I/O引脚来说 , 外接上拉电阻没有意义1516 。
如图3.11 。
图3.11 键盘电路其中K1、K2、K7为带自锁按键 , 每次按下后 , 其对应的P2.7、P2.6、P2.1管脚接地 , 从高电平被拉至低电平 。
只有再次按下 , 按键弹出 , 与之连接的单片机管脚才会重新被拉回高电平 。
K3、K4、K5、K6键为自动复位按键 。
每次按下后 , 会自动弹出 。
单片机管脚只有在按键按下时为低电平 , 按键弹出后重新恢复高电平 。
按键功能参见表3.8 。
表3.8 按键功能表按键键名功能属性K 。

43、1Calendar显示日历自锁K2T显示温度自锁K3FUN功能选择自动复位K4UP数值加一操作自动复位K5DOWN数值减一操作自动复位K6Enter/Snooze确认键/贪睡自动复位K7Alarm闹铃开关自锁按键操作说明如下:K1键:该键为带自锁按键 , 在正常显示时间状态下 , 每次将按键按下 ,LED数码管将显示日期;再次按下 , 按键弹出 , 重新显示时间 。
K2键:该键为带自锁按键 , 在正常显示时间状态下 , 每次将按键按下 , LED数码管将显示环境温度;再次按下 , 按键弹出 , 重新显示时间 。
K3键:该键为自动复位键 , 在正常显示时间状态下 , 第一次按下后 , 开始校对小时 , 以后每次按下都会分别进入对分、秒、闹铃时、闹铃分 。

44、、年、月、日的校对状态 。
K4键:该键为自动复位键 , 在校对状态下 , 每次按动该键 , 都会使相应校对位进行加1操作 。
例如:校对小时状态 , 每按一下 , 小时位加1 , 当加至小时最高值23时 , 再按K4键 , 小时位回0 。
调分、秒、年、月、日与皆之相同 , 只是各位最高值不同 。
K5键:该键为自动复位键 , 与K4键类似 , 不同之处是该键每次按下将使相应校对位进行减1操作 。
K6键:该键为自动复位键 , 在校对状态下 , 按下该键 , 从校对状态返回时间显示状态;在响铃状态下 , 按下该键 , 闹铃进入贪睡状态 。
K7键:该键为带自锁按键 , 按下后闹铃开启 , 弹出后闹铃关闭 。
3.2.5 闹铃电路设计闹铃音乐可以直接采用蜂鸣器闹铃 , 如当前时刻与闹铃时间相同 ,。

45、单片机向蜂鸣器送出高电平 , 蜂鸣器发声 。
采用蜂鸣器闹铃结构简单 , 控制方便 , 但是发出的闹铃声音单一 。
也可以在编程的时候编写一段音乐程序 , 待闹铃时间到时 , 调用该音乐程序给扬声器 , 便响起音乐 。
不过该方法只能做一些简单音乐 , 并且音乐程序会占用很多单片机存储资源 。
还有一种方法是采用录音放音芯片1420做闹铃 , 先对录放音设备录入一段音乐 , 当到设定时间时 , 单片机控制录放音设备放音 。
采用录放音电路 , 铃声可以是预先设定的一段自己喜欢的音乐 , 符合电器设备人性化的要求 。
且1420芯片可以分段录音 , 还具有语音报时功能 。
另外 , 也可以购置一块音乐集成电路 , 加置在单片机和蜂鸣器之间 , 当单片机连接闹铃电路的管脚送出高电平时 , 音 。

46、乐集成电路会给蜂鸣器特定脉冲 , 使蜂鸣器发声 。
此类集成电路体积较小 , 使用方便 , 不足的是音乐简单、单一 。
闹铃的音乐不是本设计中的重点 , 故采用最简单的方法 , 占用单片机一根I/O口P2.0 ,中间用PNP型三极管S9012连接P2.0和蜂鸣器 。
当P2.0引脚为低电平时 , S9012的发射极和集电极导通 , 使蜂鸣器发声 。
当响铃标志位为“1”时 , P2.0送一定频率脉冲 , 使蜂鸣器U11发出声音16 。
如图3.12 。
图3.12 闹铃电路3.2.6 复位电路设计复位是单片机的初始化操作 , 以便使CPU和系统中其他部件都处于一个确定的初始状态 , 并从这个状态开始工作 。
除了进入系统的正常初始化之外 , 当单片机系统在运行出错或操 。

47、作错误使系统处于死锁状态时 , 也可按复位键重新启动 。
复位后 , PC内容初始化为0000H , 使单片机从0000H单元开始执行程序 。
单片机复位后 , 除了PC之外 , 还对片内的特殊功能寄存器有影响 , 它们的复位状态如表3.9所示 。
单片机复位后不影响内部RAM的状态17 。
89C51单片机复位信号的输入端是RST引脚 , 高电平有效 。
其有效时间持续24个时钟周期(2个机器周期)以上 。
RST端的外部复位电路有两种操作方式:上电自动复位和按键手动复位 。
上电自动复位是利用电容储电来实现的 , 如图3.13(a)所示 。
上电瞬间 , RC电路充电 , RST端出现正脉冲 , 随着充电电流的减少 , RST的电位逐渐下降 。
按键手动复位有电平方式和脉 。

48、冲方式两种 。
按键电平复位是相当于RST端通过电阻接高电平 , 如图3.13(b)所示;按键脉冲复位 , 利用RC微分电路产生正脉冲 , 如图3.13(c)所示12 。
出于应用方便 , 本设计采用按键电平复位电路 。
实际电路请参见附录C , 复位按键为K8 。
表3.9 单片机寄存器的复位状态表寄存器复位状态寄存器复位状态PC0000HTCON00HACC00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP1、P3FFHSCON00HIP000000BSBUF不定IE000000BPCON0B(NMOS)TMOD00H00000B(CHMOS)图3.13 上电复位和按键复位电路第 。

49、四章 电子时钟软件设计C51单片机可以应用汇编语言和C语言进行编程 。
, 汇编语言与机器指令一一对应所以用汇编语言编写的程序在单片机里运行起来效率较高 。
C语言程序可读性高 , 更便于理解 。
本设计使用C语言编程 。
4.1 主程序设计第一次上电 , 系统先进行初始化 ,LED显示初始时间“14:28:00” , 并开始走时 。
初始日期为2008年5月12日 , 此刻若按K1键 , LED显示“080512” 。
单片机依次开始调用键盘扫描子程序、DS1302子程序、DS18B20子程序、闹铃子程序 , 经过延时 , 返回程序开头循环运行 。
主程序流程图如图4.1 。
图4.1 多功能电子钟主程序流程图4.2 子程序设计4.2.1 实时时钟日历 。

50、子程序设计该程序主要实现对DS1302写保护、充电 , 对年、月、日、时、分、秒等寄存器的读写操作 。
在读写操作子程序中都执行了关中断指令 , 因为在串行通信时对时序要求比较高 , 而且在此是用I/O口软件模拟串行时钟脉冲 , 所以在通信过程中最好保证传输的连续性 , 不要允许中断 。
其流程图如图4.2 。
图4.2 实时时钟日历子程序流程图DS1302每次上电时自动处于暂停状态 , 必须把秒寄存器的位7置位0 , 时钟才开始计时 。
如果DS1302一直没有掉电 , 则不存在此问题 。
在进行写操作时 , 需要先解除写保护寄存器的“禁止”状态 。
当用多字节模式进行操作时 , 必须写够8字节18 。
源程序见附录A 。
4.2.2 环境温度采集子程序设计DS 。

51、18B20是1wire单线器件 , 它在一根数据线上实现数据的双向传输 , 这就需要一定的协议来对读写数据提出严格的时序要求 , 而AT89C51单片机并不支持单线传输 。
因此 , 必须采用软件的方法来模拟单线的协议时序 。
主机操作单线器件DS18B20必须遵循下面的顺序 。
1. 初始化单线总线上的所有操作均从初始化开始 。
初始化过程如下:主机通过拉低单线480s以上 , 产生复位脉冲 , 然后释放该线 , 进入RX接收模式 。
主机释放总线时 , 会产生一个上升沿 。
单线器件DS18B20检测到该上升沿后 , 延时1560s , 通过拉低总线60240s来产生应答脉冲 。
主机接收到从机的应答脉冲后 , 说明有单线器件在线 。
2. ROM操作命令一旦总线 。

52、主机检测到应答脉冲 , 便可以发起ROM操作命令 。
共有5位ROM操作命令 。
如表4.1 。
表4.1 DS18B20的ROM操作命令命令类型命令字节功能说明Raed Rom33H此命令读取激光ROM中的64位 , 只能用于总线上单个DS18B20器件的情况 , 多挂则会发生数据冲突Match Rom(匹配ROM)55H此命令后跟64位ROM序列号 , 寻址多挂接总线上的DS18B20 。
只有序列号完全匹配的DS18B20才能响应后面的内存操作命令 , 其他不匹配的将等待复位脉冲 。
此命令可用于单挂接或者多挂接总线 。
Skip Rom(跳过ROM)CCH此命令用于单挂接总线系统时 , 可以无需提供64位ROM序列号皆可运行内存操作 。

53、命令 。
如果总线上接多个DS18B20 , 并且在此命令后执行读命令 , 将会发生数据冲突 。
Search Rom(搜索ROM)F0H主机调用此命令 , 通过一个排除法过程 , 可以识别出总线上所有器件的ROM序列号 。
Alarm Search(告警搜索)ECH此命令流程图和Search Rom命令相同 , 但是DS18B20只有在最近的一次温度测量时满足了告警触发条件 , 才会响应此命令 。
3. 内存操作命令在成功执行了ROM操作命令之后 , 才可以使用内存操作命令 。
主机可以提供6种内存操作命令 , 如表4.2 。
表4.2 DS18B20内存操作命令命令类型命令字节功能说明Write Scratchpad(写暂存器)4EH此命令写暂 。

54、存器中地址24的3个字节(TH、TL和配置寄存器)在发起复位脉冲之前 , 3个字节都必须要写 。
Rrad Scratchpad(读暂存器)BEH此命令读取暂存器内容 , 从字节0一直读取到字节8 。
主机可以随时发起复位脉冲以停止此操作 。
Copy Scratchpad(复制暂存器)48H此命令将暂存器中的内容复制进E2RAM , 以便将温度告警触发字节存入非易失内存 。
如果在此命令后产生读时隙 , 那么只要器件在进行复制就会输出0 , 复制完成后 , 再输出1 。
Convert T(温度转换)44H此命令开始温度转换操作 。
如果在此命令后主机产生读时隙 , 那么只要器件在进行温度转换就会输出0 , 转换完成后再输出1 。
Recall E2 。

55、(重调E2存储器)B8H将存储在E2RAM中的温度告警触发值和配置寄存器值重新拷贝到暂存器中 。
此重调操作在DS18B20加电时自动产生 。
Read Power Supply(读供电方式)B4H主机发起此命令后的每个读数据时隙内 , DS18B20发信号通知它的供电方式:0为寄生电源方式 , 1为外部供电方式 。
4. 数据处理DS18B20要求有严格的时序来保证数据的完整 。
在单线DQ上 , 存在复位脉冲、应答脉冲、写“0”、写“1”、读“0”和读“1”几种信号类型 。
其中 , 除了应答脉冲之外 , 均由主机产生 。
而数据位的读和写则是通过使用读、写时隙实现的 。
首先了解写时隙 。
当主机将数据线从高电平拉至低电平时 , 产生写时隙 。


56、有2种类型的写时隙:写“1”和写“0” 。
所有写时隙必须在60s以上(即由高拉低后持续60s以上) , 各个写时隙之间必须保证最短1s的恢复时间 。
DS18B20在DQ线变低后的1560s的窗口对DQ进行采样 , 如果为高电平 , 就为写“1”;如果为低电平 , 就为写“0” 。
对于主机产生写“1”时隙的情况 , 数据线必须先被拉低 , 然后释放 , 在写时隙开始后的15s , 允许DQ线拉至高电平 。
对于主机写“0”时隙的情况 , DQ线必须被拉至低电平且至少保持低电平60s 。
再来了解读时隙 。
当主机从DS18B20读数据时 , 把数据线从高电平拉至低电平 , 产生读时隙 。
数据线DQ必须保持低电平至少1s , 来自DS18B20的输出数据在读时隙下 。

57、降沿之后15s内有效 。
因此 , 在此15s内 , 主机必须停止将DQ引脚置低 。
在读时隙结束时 , DQ引脚将通过外部上拉电阻拉回至高电平 。
所有的读时隙最短必须持续60s , 各个读时隙之间必须保证最短1s的恢复时间 。
图4.3 环境温度采集子程序流程图所有的读写时隙至少需要60s , 且每两个独立的时隙之间至少需要1s的恢复时间 。
在写时序中 , 主机将在拉低总线15s内释放总线 , 并向DS18B20写“1” 。
若主机拉低总线后能保持60s的低电平 , 则向单总线器件写“0” 。
DS18B20仅在主机发出读时隙时才向主机传输数据 , 所以 , 当主机向DS18B20发出读数据命令后 , 必须马上产生读时隙 , 以便DS18B20能传输数据13 。
实 。

58、现环境温度采集转换并读取数据的程序流程图参见图4.3 。
源程序见附录A 。
4.2.3 显示子程序设计用74LS164驱动LED数码管静态显示电路 , 编程也很容易 。
只要将需要显示的数字编辑成对应的BCD码 , 逐位送入74LS164的A、B串行输入端 , 数码管将正常显示 。
关键之处是要实现根据键值显示不同的数字 。
为了方便实现按键显示 , 程序中调用的都是各个标志位 , 通过判断标志位的“真”、“假”来决定显示的内容 。
显示子程序流程图参见图4.4 。
源程序见附录A 。
4.2.4 键盘扫描子程序单片机对键盘扫描的方法有随机扫描方式、定时扫描方式和中断扫描方式 。
在随机扫描方式中 , CPU完成某特定任务后 , 即执行键盘扫描程序 , 以确 。

59、定键盘有无按键输入 , 然后根据按键功能转去执行相应的操作 。
在执行键盘按键规定的功能中不理睬键盘输入 。
定时扫描方式与随机扫描方式基本相同 , 只是利用CPU内的定时中断 , 每隔一定时间扫描有无按键被按下 , 键盘反应速度较快 , 在处理按键功能过程中 , 可以通过键盘命令进行干预 , 如取消、暂停等操作 。
前两种扫描方式均会占用CPU大量时间 。
不管有没有键入操作 , CPU总要在一定的时间内进行扫描 , 这对于单片机控制系统是很不利的16 。
由于本设计中AT89C51单片机在系统中的主要任务是接受DS1302和DS18B20的数据并送出显示 , 完成时钟/日历校对和日期/温度显示控制 。
89C51单片机完全有能力完成以上工作 , 所以采用随 。

60、机扫描键盘方式 , 系统也能够正常运行 。
程序流程如图4.5 。
单片机扫描完键盘 , 得到键值 , 并根据键值转入执行对应任务 , 以实现按键功能 。
如果没有按键按下 , 则程序扫描到Key=FFH , 将键值Key清零 , 返回主程序 。
源程序见附录A 。
4.2.5 闹铃子程序设计闹铃子程序最主要的任务是不断用时钟分(min)与时(hour)同设定的闹铃分(clk_min)与闹铃时(clk_hour)比较 , 只要满足min等于clk_min、hour等于clk_hour , 响铃启动5分钟 , 并根据外部按键执行相应贪睡任务 。
该程序流程图参见图4.6 。
源程序见附录A 。
图4.4 显示子程序流程图图4.5键盘扫描子程序图4.6 闹铃子程序流程 。

61、图第五章 系统调试调试工作分硬件调试和软件调试两部分 , 调试方法介绍如下:首先 , 硬件调试主要是先搭建硬件平台 , 然后利用万用表等工具对电路检查 , 最后应用程序进行功能调试 。
硬件调试比较费时 , 需要细心和耐心 , 也需要熟练掌握电路原理 。
然后 , 可以直接应用一些编辑或仿真软件进行软件调试 , 比如单片机C51编辑软件Keil 。
该软件提供了一个集成开发环境uVision , 它包括C编辑器、宏编辑器、连接器、库管理和一个功能强大的仿真调试器 。
通过编译、运行 , 可以检查程序错误 。
但应用此方法 , 仍需要十分了解所使用元器件的工作方式和管脚连接方式 。
在软件调试过程中要仔细耐心 , 即便是多写或少些一两个字符 , 都无法编译成功 。
而有时往往在Kei 。


    稿源:(未知)

    【傻大方】网址:/a/2021/0707/0022751650.html

    标题:优秀|优秀毕业设计精品]基于单片机的电子钟设计


    上一篇:高中历史新课改八大|高中历史新课改八大“忌讳”

    下一篇:湘潭市|湘潭市某住宅楼筏板大体积砼施工方案