电子万年历
- 格式:doc
- 大小:151.00 KB
- 文档页数:19
电子万年历课程设计一、课程目标知识目标:1. 学生能够理解电子万年历的基本原理和组成部分。
2. 学生掌握电子万年历的日期、时间设置及调整方法。
3. 学生了解电子万年历在不同场合的应用和功能。
技能目标:1. 学生能够独立完成电子万年历的组装和调试。
2. 学生通过实际操作,学会使用编程软件编写简单的程序,实现电子万年历的基本功能。
3. 学生具备分析电子万年历故障并进行排除的能力。
情感态度价值观目标:1. 学生培养对电子万年历的兴趣,激发学习电子技术和编程的热情。
2. 学生在合作学习中,培养团队协作能力和沟通表达能力。
3. 学生认识到电子万年历在现代生活中的重要作用,增强对科技创新的认识。
课程性质:本课程为实践性较强的信息技术课程,结合电子技术和编程知识,培养学生的动手能力和创新能力。
学生特点:五年级学生具备一定的电子技术基础和编程兴趣,好奇心强,喜欢动手操作。
教学要求:教师应关注学生的个体差异,采用分层教学,引导学生主动探索、实践,提高学生的综合素养。
在教学过程中,注重目标分解,确保学生能够达到预期学习成果。
二、教学内容1. 电子万年历的原理与结构- 介绍电子万年历的组成及工作原理- 分析电子万年历的核心元件及其功能2. 电子万年历的组装与调试- 指导学生进行电子万年历的组装- 教授调试方法,确保电子万年历正常运行3. 编程软件的使用- 介绍编程软件的基本操作和功能- 演示如何编写程序,实现电子万年历的基本功能4. 电子万年历的应用与拓展- 讲解电子万年历在不同场合的应用- 探讨电子万年历的拓展功能及其实现方法5. 故障分析与排除- 分析电子万年历可能出现的故障- 教授排除故障的方法和技巧教学内容安排与进度:第一课时:电子万年历原理与结构介绍第二课时:电子万年历组装与调试第三课时:编程软件使用及基本程序编写第四课时:电子万年历应用与拓展第五课时:故障分析与排除教材章节关联:本教学内容与课本第四章“电子时钟与万年历”相关,涉及电子万年历的原理、组装、编程及应用等方面的知识。
电子万年历设计摘要随着现代生活节奏的不断加快,时间对于我们每个人来说也越来越重要,我们都需要有工具来度量时间。
电子万年历作为一种应用广泛的日常计时工具,由于它具有读取方便、显示直观、价格低廉等诸多优点,在当代社会中的应用也越来越广泛,大大方便了人们的生活和工作。
本设计是基于单片机技术原理,采用AT89S52单片机芯片作为主控制器,并采用时钟芯片DS1302来实现时钟,通过硬件电路的制作及软件程序的编制,利用单片机的控制作用通过共阳极数码管显示时间,实现显示阳历的年、月、日、星期、时、分、秒以及阴历的月、日的功能,还具有掉电继续计时的功能。
本设计主要由按键模块、显示模块、DS1302时钟模块、AT89S52主控制系统组成,其中按键电路采用3个按键构成独立连接式键盘,显示电路采用19个共阳极数码管构成,并利用74LS164译码器将二进制代码转化为对应的高低电平信号,并利用74LS138芯片来实现数码管的动态选择。
时钟模块采用DS1302芯片,它的使用寿命长、误差小,满足电子万年历需要精确计时的要求。
关键词:AT89S52,DS1302,数码管,译码器THE DESIGN OF ELECTRONIC CALENDARABSTRACTAs the pace of modern life continues to increase,time is becoming more and more important for us. We all need the tools to measure time. As a widely used timing tool, Electronic calendar has many advantages, such as easy to read, direct display and low cost. In modern society, it is becoming more and more extensive and makes our life and work easier.This design is based on principles of single-chip computer, using chip AT89S52 as the core controller and clock chip DS1302 as the clock. By combining the hardware circuits and software programs preparation, using common anode LED to display time under the control of single-chip computer. It can display the date of solar calendar and lunar calendar. It can continue to measure time after power lost.This design consists of four main parts, including key module, display module, DS1302 clock module and AT89S52 master control system. Buttons circuit uses three buttons to make up the independent keyboard. Display circuit consists of 19 common anodes LED. It uses 74LS164 to translate binary code into the corresponding high level signal and uses 74ls138 to choose the corresponding digital tube. The clock module uses clock chip DS1302, DS1302 meets the requirement of accurate timekeeping because of its long service life and small error.KEY WORDS:AT89S52,DS1302,Digital tube,Decoder目录前言 (1)第1章系统设计方案的选择 (3)§1.1电子万年历的设计意义 (3)§1.2 国内外同类设计的发展概况 (3)§1.3 设计要求 (4)§1.4 设计方案的选择与论证 (5)§1.4.1 单片机芯片的选择 (5)§1.4.2 时钟芯片的选择 (5)§1.4.3 显示模块的选择 (6)§1.4.4 键盘模块的选择 (6)§1.5 本设计的最终方案 (6)第2章系统的硬件设计与实现 (7)§2.1 电路设计总框图 (7)§2.2 系统的硬件概述 (7)§2.3 主要单元电路的设计 (8)§2.3.1 AT89S52主控制系统设计 (8)§2.3.2 键盘模块设计 (13)§2.3.3 时钟模块设计 (14)§2.3.4 显示模块的设计 (18)第3章系统的软件设计 (23)§3.1 主程序流程图 (23)§3.2 阳历程序设计 (24)§3.2.1 DS1302初始化 (24)§3.2.2 BCD码转化为十进制子程序 (27)§3.3 时间调整程序的设计 (27)§3.4 阴历程序的设计 (29)§3.4.1 计算阳历天数的程序设计 (29)§3.4.2 阳历转阴历程序 (32)结论 (33)参考文献 (34)致谢 (36)附录 (37)前言在当代繁忙的工作与生活中,时间与我们每个人都有非常密切的关系,每个人都受到时间的影响。
日一二三四五六日一二三四五六日一二三四五六12345612312元旦廿⼀廿⼆廿三廿四小寒廿⼆廿三廿四廿⼀廿⼆78910111213456789103456789廿六廿七三九廿九⼗⼆月初⼆初三立春六九廿七廿⼋廿九除⼣春节九九廿四惊蛰廿六廿七廿⼋廿九141516171819201112131415161710111213141516初四初五初六初七四九初九⼤寒初⼆初三初四七九初六初七初⼋⼆月龙头初三初四初五初六初七212223242526271819202122232417181920212223⼗⼀⼗⼆⼗三⼗四⼗五⼗六五九初九雨⽔⼗⼀⼗⼆⼗三⼋九元宵初⼋初九初⼗春分⼗⼆⼗三⼗四28293031252627282924252627282930⼗⼋⼗九⼆⼗廿⼀⼗六⼗七⼗⼋⼗九⼆⼗⼗五⼗六⼗七⼗⼋⼗九⼆⼗廿⼀31廿⼆日一二三四五六日一二三四五六日一二三四五六12345612341廿三廿四寒食清明廿七廿⼋劳动廿四廿五廿六⼉童789101112135678910112345678廿九三⼗三月初⼆上巳初四初五立夏廿⼋廿九四月初⼆初三初四廿六廿七廿⼋芒种五月初⼆初三14151617181920121314151617189101112131415初六初七初⼋初九初⼗⾕雨⼗⼆护⼠初六初七初⼋初九初⼗⼗⼀初四端午初六初七初⼋初九初⼗212223242526271920212223242516171819202122⼗三⼗四⼗五⼗六⼗七⼗⼋⼗九⼗⼆小满⼗四⼗五⼗六⼗七⼗⼋⼗⼀⼗⼆⼗三⼗四⼗五夏⾄⼗七28293026272829303123242526272829⼆⼗廿⼀廿⼆⼗九⼆⼗廿⼀廿⼆廿三廿四⼗⼋⼗九⼆⼗廿⼀廿⼆廿三廿四30廿五日一二三四五六日一二三四五六日一二三四五六1234561231234567廿六廿七廿⼋廿九三⼗小暑廿七廿⼋廿九廿九三⼗⼋月初⼆初三初四白露7891011121345678910891011121314初⼆初三初四初五初六初七初⼋七月初⼆初三立秋初五初六七⼣初六初七初⼋初九初⼗⼗⼀⼗⼆141516171819201112131415161715161718192021初九初伏⼗⼀⼗⼆⼗三⼗四⼗五初⼋初九初⼗末伏⼗⼆⼗三⼗四⼗三⼗四中秋⼗六⼗七⼗⼋⼗九212223242526271819202122232422232425262728⼗六⼤暑⼗⼋⼗九中伏廿⼀廿⼆中元⼗六⼗七⼗⼋处暑⼆⼗出伏秋分廿⼀廿⼆廿三廿四廿五廿六28293031252627282930312930廿三廿四廿五廿六廿⼆廿三廿四廿五廿六廿七廿⼋廿七廿⼋日一二三四五六日一二三四五六日一二三四五六123456121234567国庆三⼗九月初⼆初三初四⼗月初⼆⼗⼀月初⼆初三初四初五⼤雪初七789101112133456789891011121314初五寒露初七初⼋重阳初⼗⼗⼀初三初四初五初六立冬初⼋初九初⼋初九初⼗⼗⼀⼗⼆⼗三⼗四141516171819201011121314151615161718192021⼗⼆⼗三⼗四⼗五⼗六⼗七⼗⼋初⼗⼗⼀⼗⼆⼗三⼗四下元⼗六⼗五⼗六⼗七⼗⼋⼗九⼆⼗冬⾄212223242526271718192021222322232425262728⼗九⼆⼗霜降廿⼆廿三廿四廿五⼗七⼗⼋⼗九⼆⼗廿⼀小雪廿三廿⼆廿三廿四圣诞 廿六廿七廿⼋2829303124252627282930293031廿六廿七廿⼋廿九廿四廿五廿六廿七感恩廿九三⼗廿九三⼗⼗⼆月2 0 2 4 「甲辰龙年」2024 一月 January2024 二月 February2024 三月 March2024 四月 April2024 五月 May2024 六月 June2024 七月 July2024 八月 August2024 九月 September2024 十二月 December2024 十一月 November2024 十月 October。
目录1. 系统总体设计 0功能说明 0任务分配情况 (1)系统工作流程 (1)2.硬件设计 (1)MSP430F5438A芯片简介 (1)矩阵键盘模块 (2)矩阵键盘介绍 (2)矩阵键盘实物图 (3)矩阵键盘与MSP430F5438A接口电路 (3)液晶12864模块 (3)液晶介绍 (3)液晶与MSP430F5438A接口电路 (4)DS1302实时时钟芯片模块 (5)DS1302实时时钟芯片简介 (5)DS1302实时时钟芯片实物图 (6)DS1302实时时钟芯片与MSP430F5438A接口电路 (6)SPI协议简介 (7)DS18B20温度芯片模块 (7)DS18B20温度芯片简介 (7)DS18B20温度芯片实物图 (8)DS18B20温度芯片与MSP430F5438A接口电路 (8)单总线协议简介 (9)3. 软件设计 (9)系统总体设计 (10)系统流程图 (10)矩阵键盘模块 (11)按键进入修改界面 (11)按键选择修改内容 (11)按键修改时间 (12)液晶模块 (13)DS1302实时时钟芯片模块 (14)DS1302的初始化 (14)DS1302的读写 (14)DS18B20温度芯片模块 (15)DS18B20初始化 (15)DS18B20写操作 (16)DS18B20读操作 (16)芯片值转化为显示值模块 (17)4.实验结果 (17)整体图 (17)运行过程 (17)5. 缺陷与调试 (21)调试过程 (21)程序的缺陷 (22)6. 实验心得 (22)7. 附录 (22)1.系统总体设计1.1功能说明本次课程设计的要求是制作一个电子万年历,要求在显示屏上显示年、月、日、时、分、秒、周、温度等信息,并且能够自行修改相关信息,且在修改信息时时钟停振。
根据要求所设计的系统的总体框架如图1所示:矩阵键盘MSP430F5338ADS1302 12864 DS18B20时钟芯片显示屏温度芯片图1 系统总体框架图1、单片机最小系统要求系统设计使用Texas Instrument公司的MSP430F5438A单片机作为系统的核心控制器。
电子万年历源程序IO口程序#include <reg52.h>//*****数码管引脚*****sbit L1 = P2^0;sbit L2 = P2^1;sbit L3 = P2^2;sbit LEDC= P2^3;#define LED_DA TA P0//按键接口定义#define K_Port P2sbit K_D = P3^3; //外部中断1//*****PCF8563接口定义****sbit PCF8563CLK=P1^0;sbit PCF8563SDA=P1^1;// 24c02接口定义sbit E2PCLK=P1^5;sbit E2PSDA=P1^6;//蜂鸣器接口定义sbit BEEP = P1^2主程序#include <main.h>void Delay_1ms(unsigned int time){unsigned char temp;while(time--)for(temp=127;temp>0;temp--)_nop_();}//系统初始化void Sys_Init(){TMOD=0x01;TH0=(65535-20000)/256;//给定时器初值。
TL0=(65535-20000)%256;TR0=1;//启动定时器T0ET0=1;//允许T0中断EA=1;LEDC=0; //138正常工作Beep_Flag=1;//闹铃开}//刷新数码管显示void Fresh_Display(){static unsigned char Num;unsigned char temp;static unsigned int Flash_Time;Num++;if(Num>=8)Num=0;LED_DATA=0x00; //P0口全部为零if(Num==0){L3=1;L2=1;L1=1; //第八个数码管亮}else if(Num==1){L3=1;L2=1;L1=0;//第七个数码管亮}else if(Num==2){L3=1;L2=0;L1=1;//第六个数码管亮}else if(Num==3){L3=1;L2=0;L1=0;//第五个数码管亮}else if(Num==4){L3=0;L2=1;L1=1;//第四个数码管亮}else if(Num==5){L3=0;L2=1;L1=0;//第二个数码管亮}else if(Num==6){L3=0;L2=0;L1=1;//第一个数码管亮}else if(Num==7){L3=0;L2=0;L1=0;//第零个数码亮}Flash_Time++;LED_ON=0xff;if(Flash_Time<200){LED_ON=~Flash_Number;}else if(Flash_Time>400)Flash_Time=0;temp=(1<<Num);if( ( LED_ON & temp)>0 ){if((Beep_Flag==1)&&(Num==0))LED_DATA=Dis_Tab[Dis_Buffer[Num] ]+0x20;elseLED_DATA=Dis_Tab[Dis_Buffer[Num] ];}elseLED_DA TA=0x00;}void Test_Ring() //这个函数有什么作用?{unsigned char i,temp_m,temp_h;temp_m=(F8563RWBuff[2]>>4)*10+(F8563 RWBuff[2]&0x0f); //分temp_h=(F8563RWBuff[3]>>4)*10+(F8563R WBuff[3]&0x0f); //时for(i=0;i<5;i++){if((temp_m==Ring_Buffer[i][0])&&(tem p_h==Ring_Buffer[i][1])){Ringing=1;//Ring_Buffer[i][1]和Ring_Buffer[i][0]break;}elseRinging=0;}}//定时器0 2.5ms中断void Timer0()interrupt 1{static unsigned char key_Down_Time; TH0=(65535-2500)/256;TL0=(65535-2500)%256;Fresh_Display(); //动态扫描数码管if(K_D==0) //扫描按键{key_Down_Time++;if(key_Down_Time>3){Key_Value=K_Port>>5;if(Key_Bak==10) //对于前一次按键值,怎么处理?{Key_Flag=1;//置按键标志位。
基于单片机的万年历设计报告一、研究意义随着当今世界经济的快速发展和信息化时代的来临,各种各样的小型智能家电产品陆续出现在我们的生活当中。
日历是人们不可或缺的日常用品。
但一般日历都为纸制用品,使用不便,寿命不长。
电子万年历采用智能电子控制和显示技术,改善了纸制日历的缺陷。
本设计以AT89S52单片机为核心,构成单片机控制电路,AT89C52是一种带8K字节闪速可编程可擦除只读存储器(PEROM)的低电压、高性能CMOS 8位为控制器。
该器件采用ATMEL 非易失存储器制造技术制造,与工业标准的80C51和80C52指令集和输出管脚相兼容。
结合DS1302时钟芯片和24C02 FLASH存储器,完成时间的自动调整和掉电保护,全部信息用液晶显示。
时间、日期调整由三个按键来实现,并可对闹铃开关进行设置。
日历能显示阳历和阴历年、月、日以及星期、时、分、秒。
在显示阴历月份时,能标明是否闰月。
二、总体方案设计本设计以AT89S52单片机为核心,构成单片机控制电路,结合DS1302时钟芯片和24C02 FLASH存储器,显示阳历的年、月、日、星期、时、分、秒和阴历的年、月、日,在显示阴历时间时,能标明是否闰月,同时完成对它们的自动调整和掉电保护,全部信息用液晶显示出来。
输入接口由三个按键来实现,用这三个按键可以对日期和时间进行调整,并可以对闹铃的开关和闹铃的时间进行设置。
闹铃功能通过蜂鸣器来实现。
软件控制程序实现所有的功能。
整机电路使用+5V稳压电源,可稳定工作。
系统框图如图2-1所示,其软硬件设计简单,时间记录准确,可广泛应用于长时间连续显示的系统中。
三、系统硬件设计按照系统设计功能的要求,初步确定设计系统由主控模块、时钟模块、存储模块、键盘接口模块、显示模块和闹铃模块共6个模块组成,电路系统构成框图如图3-1所示。
主控芯片使用52系列AT89S52单片机,时钟芯片使用美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片DS1302,存储模块采用美国ATMEL公司生产的低功耗CMOS串行EEPROM存储芯片AT24C02。
摘要本设计是电子万年历。
具备三个功能:能显示年月日时分秒及星期信息,并具有可调整日期和时间功能。
我选用的是单片机8052来实现电子万年历的功能。
该电子万年历能够成功实现时钟运行,调整,显示年月日时分秒及星期,温度等信息。
该电子万年历使用12MHZ晶振与单片机8052相连接,通过软件编程的方法实现了以24小时为一个周期同时显示小时,分钟和秒的要求。
利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。
同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。
电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。
若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。
若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,么就降低了硬件电路的复杂性,而且其成本也有所降低,更适合我们大学生自主研发。
所以在该设计与制作中我选用了单片机8052,它是低功耗、高性能的CMOS型8位单片机。
片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。
另外, 单片机8052的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。
因此,采用单片机8052原理制作的电子万年历,不仅仅在原理上能够成功实现计时等功能,也更经济,更适用,更符合我们实际生活的需要,对我们大学生来说也更加有用。
目录1 概述 (3)1.1单片机原理及应用简介 (3)1.2系统硬件设计 (4)1.3结构原理与比较 (6)2 系统总体方案及硬件设计 (8)2.1系统总体方案 (8)2.2硬件电路的总体框图设计 (10)2.3硬件电路原理图设计 (11)3 软件设计 (12)3.1主程序流程图 (12)3.2显示模块流程图 (12)4 Proteus软件仿真 (14)4.1Proteus ISIS简介 (14)4.2仿真过程 (15)4.3仿真结果 (15)5 课程设计体会 (17)参考文献 (18)附1:源程序代码 (29)附2:系统原理图 (26)1 概述1.1单片机原理及应用简介随着国内超大规模集成电路的出现,微处理器及其外围芯片有了迅速的发展。
保密类别编号毕业论文基于单片机的电子万年历的设计与实现摘要电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行.它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。
该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。
本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能.在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。
在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现.在编写程序过程中发现以现有的相关知识要独自完成编写任务困难重重,在老师和同学的帮助下才完成了程序部分的编写.关键词:单片机万年历DS1302 STC89C52第1章绪论 (1)1。
1 课题研究的背景 (1)1。
2 国内外关于该论题的研究现状和发展趋势 (1)1。
3 本课题研究的目的 (1)第2章系统基本方案选择和论证 (1)2。
1 单片机芯片的选择 (1)2.2 显示模块选择方案和论证 (1)2.3 时钟芯片的选择方案和论证 (1)2。
4 温度传感器的选择方案与论证 (2)第3章系统的硬件设计与实现 (3)3.1电路设计框图 (3)3.2 主要单元电路的设计 (4)3.3 单片机中断系统 (5)3.4 温度采集模块设计 (8)3。
5显示模块的设计 (9)3.6系统的软件设计 (10)结论1。
硬件测试 (12)2.软件测试 (12)参考文献 (13)附录 (14)后记 (16)第1章绪论1.1 课题研究的背景随着微电子技术和超大规模集成电路技术的不断发展家用电子产品不但种类日益丰富而且变得更加经济实用。
河南理工大学万方科技学院单片机实验设计姓名:李浩学号:0628040052专业班级:06计算机科学与技术-1班指导老师:苏百顺2008年月日摘要本设计是电子万年历。
具备三个功能:能显示:年、月、日、时、分、秒及星期信息,并具有可调整日期和时间功能。
我选用的是单片机8052来实现电子万年历的功能。
该电子万年历能够成功实现时钟运行,调整,显示年月日时分秒及星期,温度等信息。
该电子万年历使用12MHZ晶振与单片机8052相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。
利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。
同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。
电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。
若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。
若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们大学生自主研发。
所以在该设计与制作中我选用了单片机8052,它是低功耗、高性能的CMOS型8位单片机。
片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。
另外, 单片机8052的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。
因此,采用单片机8052原理制作的电子万年历,不仅仅在原理上能够成功实现计时等功能,也更经济,更适用,更符合我们实际生活的需要,对我们大学生来说也更加有用。
目录1 概述1.1单片机原理及应用简介1.2系统硬件设计1.3结构原理与比较2 系统总体方案及硬件设计2.1系统总体方案2.2硬件电路的总体框图设计2.3硬件电路原理图设计3 软件设计3.1主程序流程图3.2显示模块流程图4 Proteus软件仿真4.1仿真过程4.2仿真结果5课程设计体会参考文献附1:源程序代码附1 概述1.1单片机原理及应用简介随着国内超大规模集成电路的出现,微处理器及其外围芯片有了迅速的发展。
集成技术的最新发展之一是将CPU和外围芯片,如程序存储器、数据存储器、并行、串行I/O口、定时/计数器、中断控制器及其他控制部件集成在一个芯片之中,制成单片计算机(Single-Chip Microcomputer)。
而近年来推出的一些高档单片机还包括有许多特殊功能单元,如A/D、D/A转换器、调制解调器、通信控制器、锁相环、DMA、浮点运算单元等。
因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统,如工业控制系统、数据采集系统、自动测试系统、万年历电子表等。
单片机的出现,并在各个技术领域中得到如此迅猛的发展,与单片机构成计算机应用系统所形成的下述特点有关:1、单片机构成的应用系统有较大的可靠性。
这些可靠性的获得除了依靠单片机芯片本身的高可靠性以及应用有最少的联接外,还可以方便地采用软、硬件技术。
2、系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统,应用系统有较高的软、硬件利用系数。
3、由于构成的应用系统是一个计算机系统,相当多的测、控功能由软件实现,故具有柔性特征,不须改变硬件系统就能适当地改变系统功能。
4、有优异的性能、价格比。
可以说,对于广大的电子应用专业技术人员,目前国和内国外面临的单片机应用技术,如同60年代面临晶体管技术,70年代面临数字集成电路一样。
单片机和可编程门阵列相结合,构成新一代电子应用技术是不可能回避的一项新型的工程应用技术。
单片机是微型计算机的一个重要分枝,单片机是把中央处理器、随机存储器、只读存储器、定时器/计数器、并行接口接口、串行接口、A/D转换器等主要计算机部件,集中在一块集成电路芯片上。
虽然只是一个芯片,但从功能上它就相当于一台完整的微机。
随着科学技术的迅猛发展,单片计集成度高、体积小、运算速度快、功耗低、运行可靠、价格低廉等诸多优点,越来越显现出来。
目前可以说单片机已经渗透到我们的生活的各个领域,在工业方面:像过程控制、数据采集,机电一体化、智能化仪器仪表,特别在军事武器控制方面尤为突出。
在日常生活方面,我们使用彩电、洗衣机、电冰箱,录放机、VCD、照相机、手机、高级定时闹钟以及公共汽车上的报站器等等可以说举不胜举。
把单片机的诞生称为计算机发展史上的一个重要里程碑并不过分。
单片机的应用,使许多领域的技术水平和自动化程度大大提高。
可以说当今世界正在经受一场以单片机技术为标志的新技术革命浪潮的冲击。
人们需要掌握单片机知识,跨入单片机应用与开发领域的大门。
我们作为理工科的大学生,学习单片机课程尤其显得越来越重要。
1.2系统硬件设计8052 是标准的40引脚双列直插式集成电路芯片,引脚分布请参照----单片机引脚图图1:图1 8052引脚P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。
P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。
P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。
P3.0~P3.7 P2口8位双向口线(在引脚的10~17号端子)。
8052芯片管脚说明:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH 编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如表1所示:表1 特殊功能口P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
一般情况下,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSE N 信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000 H- FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FL ASH 编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
1.3结构原理与比较电子万年历既可以通过纯硬件实现,也可以通过软硬件结合实现,根据电子时钟中核心部件——秒信号的产生原理,通常有以下三种形式:1采用NE555时基电路的实现形式其核心部分555的秒脉冲发生器如图2所示:图2 基于555的秒脉冲发生器采用NE555时基电路或其他振荡电路产生秒脉冲信号,作为秒加法电路的时钟信号或微处理器的外部中断输入信号,可构成电子钟。
由555构成的秒脉冲的频率F=1.443/(RA+2RB)×C,发生器电路见图1-1。
输出的脉冲信号VO的频率为精确的1Hz。
可通过调节这3个参数,使输出VO2采用石英钟专用芯片的实现形式采用石英钟专用计时芯片实现的电子钟,具有实现简单、计时精度高的特点。
石英计时芯片(简称“机芯”)比较多,常见型号的有STP5512F、SM5546A和D60400等。
现结合康巴丝石英钟常用的5512F型为例作一简单介绍。
利用5512F的2秒输出信号作为秒加法电路的计数脉冲,可实现电子时钟。
5512F的引脚图如图5512F3所示:图3 5512F的引脚图其中,引脚7、8为外接晶振及振荡电路,引脚1接电源正极,电源为1.5V,引脚3、4原为指针用步进电机线圈的输出驱动,这里可用3脚作为脉冲输出,频率决定于外接晶振的频率。
3采用基于微处理器的实现形式利用微处理器的智能性,可方便实现具有智能的电子钟。
由于微处理器均具有时钟振荡系统,利用系统时钟借助微处理器的定时/计数器可实现电子钟功能。
虽然,系统时钟的误差较大,电子钟的累积误差也可能较大,但可以通过误差修正软件加以修正。
在总体设计思路中,我将其与过去学习过的数字电路进行了比较,决定采用8052进行设计。
2 系统总体方案及硬件设计2.1系统总体方案我选用的是单片机(8052)来实现电子万年历的功能。
共具备两个功能:(1)显示年月日及分秒信息(2)具有可调整日期和时间功能。
该电子万年历能够成功实现时钟运行,调整功能,且精确度经调试一天的误差在2S内。
1微处理器在设计过程中我使用12MHZ晶振与单片机8052相连接,通过软件编程的方法实现了以24小时为一个周期同时显示小时,分钟和秒的要求,该定时闹钟设有九个按键,使之具备了校时、定时功能。