基于c语言单片机智能电子日历课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程名称:单片机课程设计
报告题目:智能电子日历
学生姓名:
所在学院:信息科学与工程学院专业班级:
学生学号:
指导教师:
2013 年12 月25 日
课程设计任务书
摘要
本设计是根据我们所学的单片机课程,按照大纲要求对我们进行的一次课程检验,是进行单片机课程训练的必要任务,也对我们掌握单片机应用有很大的帮助。单片机技术作为电子专业的基础课程之一,对我们将来的工作以与生活和学习都有很密切的联系;近年来随着电子技术和微机计算机的迅速发展,单片机的性能不断更新和提高,应用领域也不断扩大,已经在工业控制、尖端科技、智能仪器、汽车电子系统、办公自动化系统、通信产品等等领域有广泛的应用,成为现代电子系统中最重要的智能化核心器件。
关键词:单片机,电子技术,智能化
目录
一、概述 (5)
二、方案设计与论证 (5)
1.单片机芯片选择 (5)
2.时间计算模块 (5)
3.显示模块 (6)
三、单元电路设计 (6)
1.单片机最小系统电路 (7)
2.数码管电路 (8)
3.按键电路 (9)
四、程序设计 (10)
1.程序总体思路和分析 (10)
2.程序清单 (11)
五、结论与心得 (19)
六、参考文献 (20)
一、概述
本系统以STC89C52单片机为控制核心,通过单片机计时器模拟时间输出,并将时间通过数码管实时显示出来,通过相应的按键调整相应的数值和功能。所以本设计可以分为以下几个模块:显示模块、按键模块、定日输出模块。下面对各个模块进行逐一分析。
二、方案设计与论证
时间计算模块有两种方式,一种利用现成的时间计时芯片实时读取时间,然后显示;第二种是利用STC89C52单片机内部的定时/计数功能,实现时间的计算。
1.单片机芯片选择
方案一:采用89C52作为硬件核心
采用Flash ROM,内部具有4KB ROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在先编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案二:采用AT89S52作为硬件核心
片内ROM全部采用Flash ROM;能以3V的超低压工作,同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成一定的损坏。
所以选择采用AT89S52作为主控制系统。
2.时间计算模块
方案一:DS1302芯片
DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,才用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月、年,一个月小于31天时可以自动调整,且具有闰年补偿功能。工作电压宽带2.5~5.5V。采用双电源供电,可以设置备用电源充电方式,提供了对后备电源进行涓流充电的能力。利用单片机的控制功能就可以实现实时计时的功能,而且消耗的系统资源少,程序简单。
方案二:单片机内部定时器/计数器
STC89C52单片机内部带有定时器/计数功能,此定时功能时通过对外部晶
振的脉冲进行计数,从而达到计时功能,只要使用11.0592MHz的晶振就能实现零误差的计时,因此可以利用此功能实现计时。
从任务要求来看,CPU的系统消耗很少,有足够的内部资源利用定时器实现计时功能和处理其他算法。任务要求不需要有掉电保护功能,这样可以减少工作量和系统成本。
3.显示模块
方案一:使用液晶显示屏显示时间数字
液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以与影响稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强的特点。但由于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,控制器的资源占用较多,其成本也偏高。在使用时,不能有静电干扰,否则易烧坏液晶的显示芯片,不易维护。
方案二:使用传统的LED数码管显示
数码管具有:低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时其精度比较高,称重轻,精度可靠,操作简单。数码管采用BCD编码显示数字,程序编译容易,资源占用较少。根据以上的论述,采用方案二。我们采用八段四位一体数码管动态显示,由于显示位数较多,故应使用显示驱动,在本设计中采用三极管来作为驱动。
4.按键模块
方案一:使用独立式键盘
独立式键盘是指直接用I/O口线构成的单个按键电路。独立式按键电路配置灵活,软件结构简单。
方案二:使用矩阵式键盘
矩阵式键盘是由行线和列线组成,按键位于行、列交叉点上,行线、列线分别连接到按键开关的两端。其特点是简单且不增加成本,这种键盘适合按键数目较多的场合。
根据以上的论述,所以采用方案二。
三、单元电路设计
1.单片机系统介绍
AT89S52是一种低功耗高性能CHMOS 8位单片机,管脚如图所示。
片内含4Kbytes ISP的可反复擦写1000次Flash只读程序存储器,128bytes 的随机存取数据存储器(RAM)。其特点如下:
-兼容MCS-51指令系统;
-最大的工作频率为33MHz;
-具有双工UART串行通道;
-内部集成看门狗计时器,不需要再外接看门狗计时器单元电路;
-双数据指示器;
-支持ISP(在线更新程序)功能,其优势在于改写单片机存储器内的程序不需要把芯从工作环境中剥离;
-电源关闭标识;
-全新的加密算法,使程序的保密性大大加强;
-电压范围宽达4-5.5V,而89C52在低于4.8V或高于5.3V则无法工作;
-烧写寿命长,其标称为1000次,实际至少是1000-10000次,这样有利于初学者反复烧写,减低学习成本;AT89S52 是一种低功耗、高性能的CMOS 8位单片机。它带有8K Flash 可编程和擦除的只读存储器(EPROM),该器件采用ATMEL的高密度非易失性存储器技术制造,与工业上标准的80C51和82C52的指令系统与引脚兼容,片内Flash 集成在一个芯片上,可用与解决复杂的问题,且成本较低。
AT89S52提供了8K字节Flash ,256字节RAM,32线I/O口,3个16位定