基于单片机的数字电子钟毕业论文

上传人:无*** 文档编号:41210151 上传时间:2021-11-19 格式:DOC 页数:41 大小:507.17KB
收藏 版权申诉 举报 下载
基于单片机的数字电子钟毕业论文_第1页
第1页 / 共41页
基于单片机的数字电子钟毕业论文_第2页
第2页 / 共41页
基于单片机的数字电子钟毕业论文_第3页
第3页 / 共41页
资源描述:

《基于单片机的数字电子钟毕业论文》由会员分享,可在线阅读,更多相关《基于单片机的数字电子钟毕业论文(41页珍藏版)》请在装配图网上搜索。

1、JIU JIANG UNIVERSITY 毕毕 业业 论论 文文 (设设 计计)题 目 基于单片机的数字电子钟 英文题目 Digital clock based on MCU 院 系 电子工程学院 专 业 电子信息工程 姓 名 胡祥 年 级 2011 级(A112225) 指导教师 吴红莲 二零一四年十二月九江学院九江学院I摘要摘要当今社会数字钟应用非常普遍,像日常家用最普通的时钟,用于计时和设置闹钟,虽然功能较少,但是却是我们最重最实用的电子产品之一。这次我要做的就是这个虽然相对简单但是却十分具有意义的具有校准时间和计时的数字电子钟。由 MCS-51 单片机作为数字电子钟的核心控制器,数码管

2、作为显示模块,可以显示我们需要的“时,分,秒”。按键作为调节时间的模块,通过按键我们可以进行时间校准,定时功能。讲完硬件这个最基本最重要的东西之后,接下来我们讲讲软件方面,软件可以说是一个电子产品的灵魂,通过编程我们可以扩展更多的更实用的功能。像苹果公司推出的第一款智能手表就是以电子钟作为基础再加入了更多编程。相信我也可以把基础东西做的如此优秀。【关键词关键词】MCS-51,单片机,数码管 AbstractDigital clock is widely used in todays society,like the daily household most oridinary clock,it

3、 can be used for time and set the alarm,Although it is less functional,But it is our most heavy one of the most practical electronic products.This is what I want to do this while the digital electronic clock with time calibrating and timing is relatively simple but very meaningful.Digital clock is t

4、he microcontroller MCS-51 as the core component,digital tube as display module,it can shows“hours,minutes,seconds”.Key as the adjusting time module,through the button we can calibrate time.Finished the hardware of the most basic and the most important thing,next we talk about the software,the softwa

5、re can be said to be a grateful electronic products of the soul,through software programming we can expand more practical function.Apple Corp launched the rirst intelligent Appwatch is based on the electronic clock and adding more programming.I believe i can get things done so good foundation.keywor

6、ds MCS-51,MCU,Digital tube九江学院I摘 要.IIABSTRACT.II前 言.II第 1 章 绪论.II1.1 单片机的认识.II1.2 单片机的发展史及趋势.II第 2 章各个模块介绍及作用.II2.1 8051 单片机模块.II2.2 数码管显示模块.II2.2.1 数码管的介绍.II2.2.2 多位数码管显示原理.II2.3 电子钟实现系统框图.II2.4 电子钟系统原理图.II第 3 章软件开发 KEIL C51 的介绍.II第 4 章硬件仿真 PROTUS 的介绍.II第 5 章硬件电路设计.II5.1 电源电路.II5.2 按键电路.III5.2.1 复位

7、电路.III5.2.2 调节电路.III5.3 数码管显示电路.III5.4 时钟电路.III第 6 章系统软件设计.III6.1 程序流程图.III6.1.1 电子钟系统主程序流程图.III6.1.2 电子钟系统中断程序流程图.III6.2 应用程序设计.III第 7 章 电路仿真设计.III结束语.III参考文献.III致 谢.III九江学院II前言前言自从单片机问世后,由于因特尔公司的 MCS-51 系列单片机成熟稳定功能齐全易学好用,不但具有较多的 I/O 引脚,较大的内存空间,较快的运算速度,还提供全双工的串行接口。由于接线简单,体积小巧,作用甚广,所以被广泛应用于家电产品,事务机器

8、,医疗器械以及汽车中,如微波炉,电磁炉,复印机,传真机,汽车电子点火等,都是单片机的功劳.这次我做的课题是日常生活中的数字电子钟,我们都知道“时”是二十四小时制,“分”是六十进制,“秒”也是六十进制的,具有最平常的时钟所具有的功能,在此基础上我拓展了定时闹钟功能,并且添加时钟万年历使得这个数字时钟更加智能并且更加人性化。九江学院III第第 1 1 章章 绪论绪论1.1 单片机的认识单片微型计算机简称为单片机,又称为微控制器,是微型计算机的一个重要分支。单片机利用半导体集成技术将中央处理单元 CPU 和一定容量的数据存储器 RAM、程序存储器 ROM、定时器/计数器 T/C、并行输入输出接口 I

9、/O 和串行通信接口等多个功能部件集成在一块芯片上,是一台具有完整计算机功能的大规模集成电路。单片机外部只要接上少许器件即可动作,所以接线简单,可靠性高,不论装配或检修都容易,由于外部器件甚少所以非常适合用于学习,并且价格低廉。现在市面上主要都是因特尔公司生产的 MCS 系列的单片机。其中又以 51 单片机尤为突出,目前它广泛用于教学方面。九江学院IV1.2 单片机的发展史及趋势单片机的发展可分为 5 个阶段:第一阶段为初级阶段。由于当时工艺技术的简单,此时的单片机一般都是采用双片形式。功能也相对比较简单。第二阶段为低性能阶段。此时的单片机不仅小而且全。主要就是英特尔公司推出的 MCS-48

10、系列单片机。它是一个真正的 8 位单片微机,此时英特尔把单片机推向市场的广泛使用。就此促进了单片机的改革。第三阶段为高性能阶段。此时的单片机不仅种类繁多而且功能齐全,一般片内 RAM、ROM 都相对增大,寻址范围达到 64K,并配有串行口,还可以进行多级中断处理。如英特尔公司的 MCS-51 系列单片机。第四阶段为 16 位单片机阶段。芯片集成度高达 12 万只晶体管(片)。其最大特点是增加了内部资源,实时处理能力更强。第五阶段单片机在集成度,功能实现,运算速度,可靠性等方面向更高水平发展。单片机从之前的简单向复杂化发展。近几年一些公司推出了以 MCS-51 为内核,独具特色而性能卓越的新型系

11、列单片机,从各种新型单片机的性能上可以看出,单片机正朝着多层次用户的多品种、多规格、高性能的方向发展,高档单片机性能不断提高,如 CPU 功能加强,内部资源的增加,寻址范围的增加,并且单片机的体积会越来越小,功耗越来越低,价格会越来越低。这些是现在可预见的。九江学院V第第 2 2 章章 各个模块介绍及作用各个模块介绍及作用2.1 8051 单片机模块(1)中央处理器 CPU 是单片机最核心的部分,他能够实现算术运算与逻辑运算的运算器和协调工作的控制器两部分电路。运算器包括 ALU(算术逻辑单元)、ACC(累加器 A)、PSW(程序状态寄存器)、寄存器 B 及暂存器 TMP1 和暂存器 TMP2

12、 等。控制器包括 PC(程序控制器)、PC 增 1、指令寄存器、指令译码器及即使控制器等。(2)内部数据存储器包括 128B RAM 和 RAM 地址寄存器等。实际上,8051内部有 256 个 RAM,其中的后 128 个单元 RAM 被特殊功能寄存器使用,用户可以通过特殊功能寄存器去使用它;前 128 个单元 RAM 用户直接使用。通常所说的 RAM 单元指的是前 128 单元,称为“内部 RAM”或“片内 RAM”。(3)内部程序存储器。8051 内部含有 4KB ROM 单元,之所以称为程序存储器是因为它一般用来存放程序和原始数据,简称“内部 ROM”或“片内 ROM”。(4)并行 I

13、/O 口。8051 提供 4 个 8 位 I/O 口,分别为 P0、P1、P2 和 P3,实现数据的输入与输出。在系统扩展时,P2 和 P0 口作为地址总线,最大寻址空间达 64KB,P0 作为数据总线。(5)定时器/计数器。8051 内部有两个 16 位定时器/计数器,用以实现定时和计数功能。(6)串行口。8051 内部有一个全双工的串行口,可实现数据的串行传输。(7)中断控制。8051 内部提供了 5 个中断源,可分为两个优先级别处理。(8)时钟电路。一般都是通过外接石英晶体和微调电容,石英晶体可以通过物理形变产生时钟脉冲序列。XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。九

14、江学院VI2.2 数码管显示模块2.2.1 数码管的介绍 图 2-2-1 数码管介绍LED 数码管是日常生活中最常见的一种显示器件,由于其体积小,能耗低并且成本十分小,我们可以利用其许多的优点为我们做很多有趣的是,例如七段数码管就是通过几个数码管拼接在一起形成的用来显示数字的很有用的器件,我们还可以通过拼接显示字母汉字等等。按内部连接方式数码管可分为共阴数码管和共阳数码管。而且数码管有多种多样的颜色,包括黄色,红色,绿色都是我们生活中最常见的颜色。总而言之,缺少 LED 我们的世界就没有光明存在。 图 2-2-2 共阴极数码管 图 2-2-3 共阳极数码管九江学院VII由于八个发光二极管共有

15、16 个引脚,为了减少数码管的引脚数,在数码管内部将八个发光二极管正极或负极引脚连接起来,接成一个公共端(COM),根据公共端是发光二极管正极还是负极,可分为共阴极接法(图 2-3)和共阳极接法(图 2-4)。对于共阳极接法的数码管,需要给发光二极管加低电平才能发光;而对于共阴极接法的数码管,需要给发光二极管加高电平才能发光。2.2.2 多位数码管显示原理多位 LED 数码管采用了扫描显示方式,又称为动态驱动方式,是将所有数码管八位显示笔划“A,B,C,D,E,F,G,DP”同名端连在一起。多位数码管数字是一位一位显示出来的,通过控制公共极选通控制电路,就可以选定要点亮的数码管。这个就是我们所

16、说的位选,只要这时我们再输入我们需要显示数字的字形码,我们选中的数码管就会现实我们需要的数字,其他数码管的显示是由于人眼视觉暂留效应,这是需要一定时间的,我们就是通过这段时间再去选其它位,之后在一样的输入我们需要的字形码,这样我们就可以随便显示多少位的数码管了并且随便现实我们需要现实的数字或字符了。九江学院VIII2.3 电子钟实现系统框图数字电子钟实现系统框图如图 2.3,它由单片机 8051 作为核心控制元件,蜂鸣器电路,晶振电路,复位电路,按键电路,数码管驱动及显示电路这几个模块组成。对于时钟显示我们采用动态扫描方式,可以降低系统功耗,并且达到预期效果,单片机控制显示时分秒的显示。 图

17、2-3 系统实现框图蜂鸣器电路 晶振电路单片机数码管驱动显示电路 复位电路 按键电路九江学院IX2.4 数字钟系统原理图 图 2-4 数字钟原理图电子钟系统原理图如图 2.4 所示,单片机的管脚分配:P0 口为数码管的数据信号口,P3 口为数码管的位选信号,P1.0、P1.1、P1.2、P1.3 为键盘的输入信号。电子钟时钟系统设计原理图说明:八位数码管显示的字样 XX.XX.XX,对应的是时-分-秒。4 个按键分别为 SECOND:秒设置;MINUTE:分设置;HOUR:时设置;ALARM SET:定时设置键。如果到了设定的时间蜂鸣器工作,发出响声。九江学院X第第 3 3 章章 软件开发软件

18、开发 KEILKEIL C51C51 的介绍的介绍KEIL C51 是美国 KEIL SOFTWARE 公司出品的 51 系列兼容单片机 C 语言软件开发系统。C51 工具包的 UVISION 与 ISHELL 分别是 C51 FOR WINDOWS 和 FOR DOS的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用 IDE 本身或其他编译器编辑 C 或汇编源文件。然后分别由C51 及 A51 编译器编译生成目标文件(.OBJ)。目标文件可由 LIB51 创建生成库文件,也可以与库文件一起经 BL51 连接定位生成绝对目标文件(.ABS)。ABS 文件

19、由 OH51 转换成标准的 HEX 文件,以供调试器 DSCOPE51 或 TSCOPE51 使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可直接写入程序存储器中。九江学院XI第第 4 4 章章 硬件仿真硬件仿真 PROTUSPROTUS 的介绍的介绍PROTEUS 软件是英国公司出版社的 EDA 工具软件,它是目前最好的模拟单片机外围器件工具。PROTEUS 软件具有其他 EDA 工具软件的功能,例如:原理布图,PCB 自动或人工布图,SPICE 电路仿真。其具有的革命性特点是其他软件所不具备的,像互动的电路仿真和仿真 51 系列、AVR、PIC 等常用的 MCU 及外围电路

20、(如 LCD、RAM、ROM、键盘、马达、LED、AD/DA、部分 SPI 器件、部分IIC 器件等)。它的应用范围十分广泛,十分适合我们初级教学,应该说没有任何软件能够代替它在教学方面的优势。九江学院XII第第 5 5 章章 硬件电路设计硬件电路设计5.1 电源电路电源电路负责向单片机供电。我们都知道 51 单片机工作电压为 4.0V-5.5V,所以一般都是电源选择 5V 直流电源。但是我们日常生活都是 220V 电压,这就需要将 220V 交流电转化成为 5V 的直流电压。有两个方法可以实现 5V 电压,一个是采用变压器,桥式整流器,电容,稳压器构成一个电路,通过变压器可以将 220V 电

21、压变为 5V,在通过桥式整流器整流,电容器滤波,稳压器可以稳定输出电压。这样我们就得到了稳定的 5V 直流电压。还有一个方法得到 5V 电压是电脑的 USB 输出,这个最为简单。九江学院XIII5.2 按键电路5.2.1 复位电路51 单片机的复位是由外部的复位电路来实现的。复位引脚 REST 通过一个触发器与复位电路连接。上电复位电路是一种简单的复位电路,只要在 REST 复位引脚接一个电容到 VCC,一个电阻接地即可,刚开机时因为 VCC 上有 5V 电压,因为电容两端电压不能突变的特性,REST 脚的电压也被拉到 5V,但是因为REST 脚又通过电阻下拉,电阻两端有电压差,电容缓慢通过电

22、阻对地放电,所以电压缓慢降低最后变成低电平。 5.2.1 复位电路5.2.2 调节电路按键开关状态通过一定的电路转换为高低电平状态。按键按下和释放都要经过一定的过程才能达到稳定,这就是我们通常说的按键抖动,我们需要解决按键抖动这个对实验有一定影响的因素,我采用的是独立式按键用来消抖。直接用 I/O 口线构成单个按键电路,每个按键占用一条 I/O 口线,每个按键工作状态不会彼此产生影响。并且我设置了四个按键,用来进行调时以及定时用。P1.0 低电平时表示有按键按下,就进行时钟的调秒,高电平时停止调节。九江学院XIVP1.1 低电平时表示有按键按下,就进行时钟的调分,高电平时停止调节。P1.2 低

23、电平时表示有按键按下,就进行时钟的调时,高电平时停止调节。P1.3 低电平时表示有按键按下,就进行时钟的定时,高电平时停止调节。 5.3 数码管显示电路 由于也要显示数字电子钟的所有功能,所以我们需要八个数码管,最左边两个用来显示时钟的时,之后第三个横杠代表间隔,中间显示时钟的分,再横杠间隔,之后就是时钟的秒。通过这样设计可以很好的显示出时钟的我们需要的时钟功能。之后就是处理器做的事情了。九江学院XV 5.4 时钟电路 时钟是单片机的最重要的核心部件之一,因为单片机所有的部件都是根据单片机内的时钟脉冲发出信号然后才开始稳定的工作,时钟的稳定工作单片机才可以稳定工作,所以时钟电路是相当重要的电路

24、。还有时钟频率的不同决定了单片机工作的效率,时钟频率越高工作越快反之亦然。常见的时钟电路由两种方式组成:一种是内部时钟方式,另一种是外部时钟方式。 5.4 时钟电路九江学院XVI第第 6 6 章章 系统软件设计系统软件设计6.1 程序流程图6.1.1 电子钟系统主程序流程图YN NY6.1.2 电子钟系统中断程序流程图初始化开始进入功能程序调用显示子程序调用显示子程序键按下整点到?九江学院XVII定时器 T0 用于时间计时定时溢出周期为 50ms,中断进入后先进行定时中断初值校正,当中断累计 20 次时,对秒计数单元进行加 1 操作。时钟计数单元地址秒,分,时分别在 70H-71H、76H-7

25、7H、78H-79H 中,最大计时值为 23 时59 分 59 秒。在计数单元采用十进制 BCD 码计数,满 10 进位。 定时器 T1 中断程序用于指示时间调整单元数字的闪亮或秒表技术,在时间T0 中断保护现场定时初值校正恢复现场,中断返回加 1s 处理1s 到?九江学院XVIII调整状态下,每过 0.3s 左右,将对应调整单元的显示数据换成“熄灯符”数据(#0AH)。这样,在调整时间时,对应调整单元的显示数据会间隔闪亮。在作秒表计时时,每 10s 中断一次,计数单元加 1,每 100s 次为 1s。秒表计数单元地址在 60H-61H(10ms)、62H-63H(秒)、64H-65H(分)中

26、,最大计数值为99 分 59.99 秒。 T1 中断保护现场秒表/闪烁恢复现场,中断返回加 10ms 处理闪烁处理九江学院XIX6.2 应用程序设计#include #define SEG_DAT P0#define SEG_BIT P2#define DS_DAT P0#define DS_SEC 0 x00#define DS_MIN 0 x02#define DS_HOR 0 x04#define DS_WEK 0 x06#define DS_DAY 0 x07#define DS_MON 0 x08#define DS_YER 0 x09#define DS_R_A 0 x0A#def

27、ine DS_R_B 0 x0B#define DS_R_C 0 x0C#define DS_R_D 0 x0D#define DS_Y_S 0 x0E /年千百位#define CNT_M 30 /控制闪烁速度,为偶数#define BCD_DEC(X) (X & 0 xF0) 4) * 10 + (X & 0 x0F)#define DEC_BCD(X) (X / 10) 4) | (X % 10)sbit DS_DS = P30;sbit DS_RW = P31;sbit DS_AS = P32;sbit DS_CS = P33; sbit KEY1 = P10;sbit

28、 KEY2 = P11;sbit KEY3 = P12;sbit KEY4 = P13;unsigned char dispMode = 0; /显示模式九江学院XXunsigned char modify = 0; /修改模式unsigned char count = 0; /修改模式下闪烁计数unsigned char DIS6;unsigned char code C_DAT= 0 xC0,/*0*/ 0 xF9,/*1*/ 0 xA4,/*2*/ 0 xB0,/*3*/ 0 x99,/*4*/ 0 x92,/*5*/ 0 x82,/*6*/ 0 xF8,/*7*/ 0 x80,/*8*

29、/ 0 x90,/*9*/ 0 xBF,/*-*/;unsigned char code C_BIT=0 xDF,0 xEF,0 xF7,0 xFB,0 xFD,0 xFE;void Delay(unsigned int t) unsigned int a,b; for (a=0; at; a+) for (b=0; b 4; DIS1 = C_DATi & 0 x0F & 0 x7F; i = DS12887_Read(DS_MIN); DIS2 = C_DATi 4; DIS3 = C_DATi & 0 x0F & 0 x7F; i = DS12887_Re

30、ad(DS_SEC); DIS4 = C_DATi 4; DIS5 = C_DATi & 0 x0F & 0 x7F; if (modify != 0 & count CNT_M) /修改模式 123 下闪烁 DIS2 * (modify - 1) = 0 xFF; DIS2 * (modify - 1) + 1 = 0 xFF; else if (dispMode = 1) /显示模式 1 年 九江学院XXIII DIS0 = 0 xFF; i = DS12887_Read(DS_Y_S); /年高两位,在 RAM里 0 x0E DIS1 = C_DATi 4; DI

31、S2 = C_DATi & 0 x0F; i = DS12887_Read(DS_YER); /年低两位 DIS3 = C_DATi 4; DIS4 = C_DATi & 0 x0F; DIS5 = 0 xFF; if (modify != 0 & count CNT_M) /修改模式 45 下闪烁 DIS2 * (modify - 4) + 1 = 0 xFF; DIS2 * (modify - 4) + 2 = 0 xFF; else if (dispMode = 2) /显示模式 2,月日 星期 i = DS12887_Read(DS_MON); /月 if (i

32、 4; DIS1 = C_DATi & 0 x0F & 0 x7F; /显示小数点 i = DS12887_Read(DS_DAY); /日 DIS2 = C_DATi 4; DIS3 = C_DATi & 0 x0F; i = DS12887_Read(DS_WEK); /星期 DIS4 = C_DAT10; /用-隔开 DIS5 = C_DAT(i - 1) & 0 x0F; /17,第一天是九江学院XXIV星期天 if (modify != 0 & count CNT_M) /修改模式 789 下闪烁 if (modify != 9) /星期修改时

33、,-不闪烁 DIS2 * (modify - 7) = 0 xFF; DIS2 * (modify - 7) + 1 = 0 xFF; for (i=0; i 2 * CNT_M)count = 0; /*计算当月的天数*/unsigned char getDay(void) unsigned char tYear,tMonth; tYear = BCD_DEC(DS12887_Read(DS_YER); /当前年 tMonth = BCD_DEC(DS12887_Read(DS_MON);/当前月 switch (tMonth) 九江学院XXV case 1: case 3: case 5:

34、 case 7: case 8: case 10: case 12:return 31; /1、3、5、7、8、10、12 月均为 31 天 case 4: case 6: case 9: case 11:return 30; /4、6、9、11 月均为 30 天 case 2: if (tYear%4=0) /2 月闰年为 29 天 return 29; else return 28; /平年为 28 天 default: return 0; void Key(void) unsigned char i; P1 = 0 xFF; if (KEY1 = 0) /显示模式更改 Delay(10)

35、; if (KEY1 = 0)九江学院XXVI if (modify)/修改模式下用于退出修改modify = 0;else DS12887_Write(DS_R_B, 0 x62);dispMode+;if (dispMode 2)dispMode = 0; while (KEY1 = 0) Display(); if (KEY2 = 0) /修改模式 Delay(10); if (KEY2 = 0) if (modify = 0) /时分秒 123,年 45,月日星期789 modify = 3 * dispMode + 1; DS12887_Write(DS_R_B, 0 xE2); e

36、lse modify+; switch (dispMode) /根据显示模式确定 modify 初值 case 0:九江学院XXVII case 2: if (modify (3 * dispMode + 3) /时分秒,日星期模式下每个是 3 位 modify = 0; DS12887_Write(DS_R_B, 0 x62); break; case 1: if (modify (3 * dispMode + 2) /年模式下是 2 位 modify = 0; DS12887_Write(DS_R_B, 0 x62); break; while (KEY2 = 0) Display();

37、if (KEY3 = 0) /+ Delay(10); if (KEY3 = 0) switch (modify) 九江学院XXVIII case 1: /时 i = BCD_DEC(DS12887_Read(DS_HOR); i+; if (i 23) i = 0; DS12887_Write(DS_HOR, DEC_BCD(i); break; case 2: /分 i = BCD_DEC(DS12887_Read(DS_MIN); i+; if (i 59) i = 0; DS12887_Write(DS_MIN, DEC_BCD(i); break; case 3: /秒 i = BC

38、D_DEC(DS12887_Read(DS_SEC); i+; if (i 59) i = 0; DS12887_Write(DS_SEC, DEC_BCD(i); break; case 4: /年高两位 i = BCD_DEC(DS12887_Read(DS_Y_S); i+; if (i 21) i = 19; DS12887_Write(DS_Y_S, DEC_BCD(i); break; case 5: /年低两位九江学院XXIX i = BCD_DEC(DS12887_Read(DS_YER); i+; if (i 99) i = 0; DS12887_Write(DS_YER,

39、DEC_BCD(i); break; case 7: /月 i = BCD_DEC(DS12887_Read(DS_MON); i+; if (i 12) i = 1; DS12887_Write(DS_MON, DEC_BCD(i); break; case 8: /日 i = BCD_DEC(DS12887_Read(DS_DAY); i+; if (i getDay() i = 1; DS12887_Write(DS_DAY, DEC_BCD(i); break; case 9: /星期 i = BCD_DEC(DS12887_Read(DS_WEK); i+; if (i 7) i =

40、 1; DS12887_Write(DS_WEK, DEC_BCD(i); break; 九江学院XXX while (KEY3 = 0) Display(); if (KEY4 = 0) /- Delay(10); if (KEY4 = 0) switch (modify) case 1: /时 i = BCD_DEC(DS12887_Read(DS_HOR); if (i = 0) i = 24; i-; DS12887_Write(DS_HOR, DEC_BCD(i); break; case 2: /分 i = BCD_DEC(DS12887_Read(DS_MIN); if (i =

41、 0) i = 60; i-; DS12887_Write(DS_MIN, DEC_BCD(i); break; case 3: /秒 i = BCD_DEC(DS12887_Read(DS_SEC); if (i = 0) i = 60; i-;九江学院XXXI DS12887_Write(DS_SEC, DEC_BCD(i); break; case 4: /年高两位 i = BCD_DEC(DS12887_Read(DS_Y_S); if (i = 19) i = 22; i-; DS12887_Write(DS_Y_S, DEC_BCD(i); break; case 5: /年低两位

42、 i = BCD_DEC(DS12887_Read(DS_YER); if (i = 0) i = 99; else i-; DS12887_Write(DS_YER, DEC_BCD(i); break; case 7: /月 i = BCD_DEC(DS12887_Read(DS_MON); if (i = 1) i = 12; else i-; DS12887_Write(DS_MON, DEC_BCD(i); break; case 8: /日 i = BCD_DEC(DS12887_Read(DS_DAY); if (i = 1) i = getDay();九江学院XXXII els

43、e i-; DS12887_Write(DS_DAY, DEC_BCD(i); break; case 9: /星期 i = BCD_DEC(DS12887_Read(DS_WEK); if (i = 1) i = 7; else i-; DS12887_Write(DS_WEK, DEC_BCD(i); break; while (KEY4 = 0) Display(); void main (void) unsigned char i; DS12887_Init(); while (1) Key(); Display();九江学院XXXIII 九江学院XXXIV第第 7 7 章章 电路仿真

44、设计电路仿真设计通过本次毕业的设计,我们再次重新温习了一边如何使用 Protues 的具体方法。Protues 软件为我们提供了我们现学的所有元器件,可以说是应有尽有。例如给我们提供的 8051 单片机、DS12887 芯片、八位七段数码管、电阻、电容及晶振的等所需器件,利用鼠标指针将其按电路原理图连接起来就可以得到我们需要的现象仿真图,再分别设置各个器件的参数。这样原理图就绘制完成,如图 7.1 所示: 7.1 电路仿真图九江学院XXXV结束语结束语在这里先感谢我的带队吴红莲老师,感谢您百忙之中抽出时间来给我们进行指导,其次主要是后期的修改整理需要大量的时间。 这次的毕业设计主要是通过 51 单片机来实现的,由于平时就学习了一个学期的单片机基础让我对单片机有初步了解,并且通过查询资料使我对 51 单片机有更加深入的了解。对于显示模块我用到的数码管,我也经过查找资料对其有了一定程度的了解,例如共阴极和共阳极,还有动态显示。总之通过自己找资料发现自己很多不足,以后进入社会也需要多多看书来弥补自己的缺点。越是想知道就越发现自己越无知。九江学院XXXVI九江学院XXXVII九江学院XXXVIII

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!