基于单片机数字时钟设计开题报告
本科系列单片机电子闹钟设计方案开题报告

单片机的功能:是自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同[2]。
脉冲电路及显示电路利用外部电路实现。数字时钟的设计包括秒计数器、分计数器、时计数器、动态扫描显示电路、报时电路、七段显示译码电路的设计,最后进行数字钟的总体设计。
多功能数字时钟电路由秒、分、时、日、月、年6个计数模块和1个报警模块、1个闹钟判断处理模块、1个时间数据动态扫描模块、1个显示译码模块组成[12]。
二、报时系统的发展和现状
数字时钟的报时系统是一种实现时、分、秒计时与报时的装置,与机械式报时时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,已得到广泛的使用。数字时钟的设计方法有许多种,例如,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等等。这些方法都各有其特点。
单片机是一种集成的电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统[1]。
单片机数字钟的开题报告

单片机数字钟的开题报告单片机数字钟的开题报告一、项目背景随着科技的不断发展,数字化产品在我们的日常生活中扮演着越来越重要的角色。
其中,数字钟作为一种常见的电子产品,广泛应用于各个领域。
本项目旨在设计并制作一款基于单片机的数字钟,以满足人们对时间的准确度和便捷性的需求。
二、项目目标1. 设计一款数字钟的硬件电路,包括时钟模块、显示模块和控制模块。
2. 利用单片机进行时钟的计时和显示,实现时间的准确性和稳定性。
3. 提供人性化的操作界面,方便用户进行时间的设置和调整。
三、项目技术方案1. 硬件设计:a. 时钟模块:采用晶振作为时钟源,通过频率分频实现精确的时钟信号。
b. 显示模块:使用数码管或液晶显示屏,通过控制电平的变化显示时间信息。
c. 控制模块:选择合适的单片机作为控制核心,通过编程实现时间的计时和显示控制。
2. 软件设计:a. 编程语言:选择C语言作为开发语言,结合单片机的开发环境进行程序编写。
b. 时间计算:利用单片机内部的定时器进行时间的精确计时,并进行相关的时间处理和显示控制。
c. 用户界面:设计简洁明了的操作界面,通过按键或旋钮等方式进行时间的设置和调整。
四、项目进度安排1. 需求分析:明确用户对数字钟的基本需求和功能要求,制定详细的项目计划。
2. 硬件设计:完成时钟模块、显示模块和控制模块的电路设计和组装。
3. 软件设计:编写单片机的程序代码,实现时间的计时、显示和控制功能。
4. 调试测试:对硬件电路和软件程序进行综合测试,确保数字钟的正常运行。
5. 优化改进:根据测试结果和用户反馈,对数字钟的性能和功能进行优化和改进。
6. 完成验收:完成数字钟的最终调试和测试,准备项目验收报告。
五、项目预期成果1. 完成一款功能完善、性能稳定的数字钟产品。
2. 提供详细的设计文档和操作手册,方便用户了解和使用数字钟。
3. 积累相关硬件设计和单片机编程的经验,为未来类似项目的开展提供参考。
六、项目存在的挑战和解决方案1. 硬件电路的设计和组装可能存在一定的难度,需要仔细调试和排查故障。
基于单片机的带温度显示的数字钟设计(c51语言编程)【开题报告】

开题报告电气工程及其自动化基于单片机的带温度显示的数字钟设计(c51语言编程)一、课题研究意义及现状1980年因特尔公司推出了MCS-51单片机,近30年来,其衍生系列不断出现,从Atmel加入FLASH ROM,到philips加入各种外设,再到后来的Cygnal推出C8051F,使得以8051为核心的单片机在各个发展阶段的低端产品应用中始终扮演着一个重要的角色,其地位不断升高,资源越来越丰富,历经30年仍在生机勃勃地发展,甚至在SoC时代仍占有重要的一席之地。
单片机具有体积小、功能强、低功耗、可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域智能仪表、机电一体化、实时控制、国防工业普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。
C语言已经成为当前举世公认的高效简洁而又贴近硬件的编程语言之一。
将C语言向单片机8051上移植十余20世纪80年代的中后期,经过几十年的努力,C语言已成为专业化单片机上的实用高级语言。
C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。
此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。
与汇编语言相比,C51在功能、结构、可读性、可维护性上有明显的优势,因而易学易用。
另外C51可以缩短开发周期,降低成本,可靠性,可移植性好。
因此,使用C语言进行程序设计已成为软件开发的一个主流,用C语言进行8051单片机程序设计是单片机开发与应用的必然趋势。
随着人们生活水平的提高,对物质需求也越来越高,人们已不再满足于钟表原先简单的报时功能,希望出现一些新的功能,诸如环境温度显示、日历的显示、重要日期倒计时、显示跑表功能等,用以带来更大的方便。
而所有这些,又都是以数字化的电子时钟为基础的,不仅应用了数字电路技术,而且还加入了需要模拟电路技术和单片机技术。
单片机实验报告数字时钟设计报告

单片机实验报告数字时钟设计报告一、实验目的本次单片机实验的目的是设计并实现一个基于单片机的数字时钟。
通过该实验,深入了解单片机的工作原理和编程方法,掌握定时器、中断、数码管显示等功能的应用,提高综合运用知识解决实际问题的能力。
二、实验原理1、单片机选择本次实验选用了常见的 51 系列单片机,如 STC89C52。
它具有丰富的资源和易于编程的特点,能够满足数字时钟的设计需求。
2、时钟计时原理数字时钟的核心是准确的计时功能。
通过单片机内部的定时器,设定合适的定时时间间隔,不断累加计时变量,实现秒、分、时的计时。
3、数码管显示原理采用共阳或共阴数码管来显示时间数字。
通过单片机的 I/O 口控制数码管的段选和位选信号,使数码管显示相应的数字。
4、按键控制原理设置按键用于调整时间。
通过检测按键的按下状态,进入相应的时间调整模式。
三、实验设备与材料1、单片机开发板2、数码管3、按键4、杜邦线若干5、电脑及编程软件(如 Keil)四、实验步骤1、硬件连接将数码管、按键与单片机开发板的相应引脚通过杜邦线连接起来。
确保连接正确可靠,避免短路或断路。
2、软件编程(1)初始化单片机的定时器、中断、I/O 口等。
(2)编写定时器中断服务程序,实现秒的计时。
(3)设计计时算法,将秒转换为分、时,并进行进位处理。
(4)编写数码管显示程序,将时间数据转换为数码管的段选和位选信号进行显示。
(5)添加按键检测程序,实现时间的调整功能。
3、编译与下载使用编程软件将编写好的程序编译生成可执行文件,并下载到单片机中进行运行测试。
五、程序设计以下是本次数字时钟设计的主要程序代码片段:```cinclude <reg52h>//定义数码管段选码unsigned char code SEG_CODE ={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};//定义数码管位选码unsigned char code BIT_CODE ={0x01, 0x02, 0x04, 0x08, 0x10,0x20, 0x40, 0x80};//定义时间变量unsigned int second = 0, minute = 0, hour = 0;//定时器初始化函数void Timer_Init(){TMOD = 0x01; //定时器 0 工作在方式 1 TH0 =(65536 50000) / 256; //定时 50ms TL0 =(65536 50000) % 256;EA = 1; //开总中断ET0 = 1; //开定时器 0 中断TR0 = 1; //启动定时器 0}//定时器 0 中断服务函数void Timer0_ISR() interrupt 1{TH0 =(65536 50000) / 256;TL0 =(65536 50000) % 256;second++;if (second == 60){second = 0;minute++;if (minute == 60){minute = 0;hour++;if (hour == 24){hour = 0;}}}}//数码管显示函数void Display(){unsigned char i;for (i = 0; i < 8; i++)P2 = BIT_CODEi;if (i == 0){P0 = SEG_CODEhour / 10;}else if (i == 1){P0 = SEG_CODEhour % 10;}else if (i == 2){P0 = 0xBF; //显示“”}else if (i == 3){P0 = SEG_CODEminute / 10;else if (i == 4){P0 = SEG_CODEminute % 10;}else if (i == 5){P0 = 0xBF; //显示“”}else if (i == 6){P0 = SEG_CODEsecond / 10;}else if (i == 7){P0 = SEG_CODEsecond % 10;}delay_ms(1);//适当延时,防止闪烁}}//主函数void main(){Timer_Init();while (1){Display();}}```六、实验结果与分析1、实验结果将程序下载到单片机后,数字时钟能够正常运行,准确显示时、分、秒,并且通过按键可以进行时间的调整。
基于单片机的多功能电子时钟系统设计》开题报告

6.调试与实验分析
7.结论
致谢词
参考文献
指导教师意见:
签字:
年月日
分院审批意见:
签章:
年月日
毕业设计(论文)开题报告
学生姓名
耿聪
学号
班级
所属院系专业
指导教师1
职称
所在部门
指导教师2
职称
所在部门
毕业设计(论文)题目
基于单片机的多功能电子时钟系统设计
题目类型
工程设计(项目)□√
论文类□
作品设计类□
其他□
1、选题简介、意义
课题简介:
随着社会的发展,人类科技的进步,人们认识时间从观太阳转动、沙漏及摆钟到现在的电子钟,这一发展过程中电子时钟的出现使人们认识时间更加的方便,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点 ,从而广泛应用于人们日常的生活之中。但现今市场上常用的一些普通电子时钟功能单一,不具备时间校准,报时和闹钟及阴阳历,节气显示等功能,这些在一定的情况下无法满足我们的生活和工作的需要,因此开发设计一种既满足上述要求又性价比较高的多功能时钟,成为了我们目前急需解决的问题。
4.调试电子钟的各项功能的实现情况;
3、设计(论文பைடு நூலகம்体系、结构(大纲)
1.绪论
2.单片机介绍
3.总体方案及原理
4.系统硬件电路
4.1最小系统
4.2时钟模块电路
4.3温度传感器模块电路
4. 4液晶显示模块
4. 5按键模块
5.系统软件设计
5.1 main模块
5.2 lcd1602.H模块
5.3key模块
具有目前市场上普通电子钟所具有的时间显示调节功能,而且具有时间校准,生日提醒及阴阳历、节气显示等功能在基于单片机控制基本原理下,从硬件电路的设计开始,到电路的焊接,再到运用单片机进行安装,以及计算机语言进行编程,实现了所述所有功能。经过测试,该硬件电路非常可靠,满足所需要求,系统各个性能指标也良好。通过实物装置测试实验结果表明系统运行效果良好,达到预期功能,适用于家庭、教室、营业厅等场合。
基于单片机的电子时钟设计开题报告

开题报告基于单片机的电子时钟设计一、选题的背景、意义1. 1 选题的发展背景:单片机的发展:第一阶段(1974 年-1976 年):单片机初级阶段。
因工艺限制,单片机采用双片的形式而且功能比较简单。
例如,仙童公司生产的F8 单片机,实际上只是包括了8 位CPU、64B 的 RAM 和 2 个并行口。
因此,还需加 1 块 3851(由 1KB 的ROM、定时器/计数器和 2 个并行 I/O 口构成)才能组成 1 台完整的计算机。
第二阶段(1976 年-1978 年):低性能单片机阶段。
以 Intel 公司制造的 MCS-48 单片机为代表,这种单片机内集成有 8 位 CPU、并行I/O 口、8 位定时器/计数器、R AM 和ROM 等,但是不足之处是无串行口,中断处理比较简单,片内RAM 和R OM 容量较小且寻址范围不大于 4KB。
第三阶段(1978 年-现在):高性能单片机阶段。
这个阶段推出的单片机普遍带有串行口I/O 口,多级中断系统,16 位定时器/计数器,片内 ROM、RAM 容量加大,且寻址范围可达 64KB ,有的片内还带有 A/D 转换器。
这类单片机的典型代表是:Intel 公司的MCS-51 系列、Motorola 公司的6801 和Zilog 公司的Z8 等。
由于这类单片机的性能性价比高,所以仍被广泛应用,是目前应用数量较多的单片机。
第四阶段(1982 年-现在):8 位单片机巩固发展及 16 位单片机、32 位单片机推出阶段。
此阶段的主要特征是一方面发展 16 位单片机、32 位单片机及专用型单片机;另一方面不断完善高档 8 位单片机,改善其结构,以满足不同的用户需要。
16 位单片机的典型产品如 Intel 公司生产的 MCS-96 系列单片机,其集成度已达 120000 管子/ 片,主振为 12MHz,片内 RAM 为 232B,ROM 为 8KB,中断处理为 8 级,而且片内带有多通道10 位A/D 转换器和高速输入/输出不见(HS I/HS O),实时处理的能力很强。
单片机数字时钟设计开题报告(一)

单片机数字时钟设计开题报告(一)单片机数字时钟设计开题报告一、项目简介本项目旨在设计并实现一款基于单片机的数字时钟。
通过使用单片机控制模块,对计时功能进行实时显示,并可设定闹钟功能。
用户可以通过操作按键进行时间的调整和设置闹钟。
二、项目目标1. 实时显示时间通过单片机控制模块,实时采集当前时间信息,并将其显示在LED数码管上。
2. 设置与调整时间通过按键操作,用户可以调整时钟的时、分和秒。
同时,还能实现对日期、月份和年份的调整。
3. 实现闹钟功能用户可以通过设定闹钟时间,并在闹钟时间到达时,触发闹钟功能,例如发出声音或者闪烁指示灯。
4. 提供电池备份功能设计电路使得时钟能够在停电或掉电时依然保持运行,以免时间信息丢失。
三、项目实施步骤1. 需求分析根据项目目标,分析设计所需的硬件和软件功能,明确开发的需求和功能列表。
2. 硬件设计设计所需的电路结构和连接方式,包括单片机、按键、数码管、发声器和电池备份等组件。
3. 软件设计编写嵌入式软件代码,实现时钟的实时显示、时间调整和闹钟功能等。
4. 测试与调试对硬件和软件进行整体测试,验证功能的正确性和稳定性,并进行调试修正。
5. 性能优化针对项目实施过程中发现的问题,进行性能优化,改善用户体验。
四、项目进度安排1.需求分析和功能设计:2天2.硬件设计和搭建:3天3.软件编写和调试:5天4.测试与性能优化:2天5.报告撰写和项目总结:1天五、预期成果1.完成一款符合需求的单片机数字时钟设计2.实现计时、日期和闹钟功能3.确保数字时钟在停电或掉电情况下能够继续运行4.撰写完整的项目报告,总结设计过程和结果以上为本次单片机数字时钟设计开题报告。
在接下来的项目实施过程中,我们将遵循预定的进度安排,并努力完成项目目标。
期待在后续报告中向大家展示我们的成果!六、风险与挑战1. 技术挑战单片机数字时钟设计涉及到硬件和软件的结合,需要对单片机的原理和操作进行深入理解和掌握。
基于单片机的万年历时钟设计【开题报告】

毕业设计开题报告测控技术与仪器基于单片机的万年历时钟设计1选题的背景、意义在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响。
为了更好的利用我们自己的时间,需要一款灵活、稳定而又功能强大的自动定时控制系统,以规范本单位的作息时间或定时控制一些设备。
目前,市面上出现的一些时控设备或功能单一,或使用烦琐,或价格昂贵,总有一些不尽如人意的地方[1]。
我们必须对时间有一个度量,因此产生了钟表。
钟表的发展是非常迅速的,17 世纪中叶, 由荷兰人C. Huygens来发明的第一个钟摆与以前任何计时装置相比, 摆钟的精确度提高了上百倍,而他随后发明的螺旋平衡弹簧,又进一步提高精度、减小体积, 导致了怀表的出现。
然而再好的摆钟,其精度也只能达到每年误差不超过一秒[2]。
1939年出现了利用石英晶体振动计时的石英钟, 每天误差只有千分之二秒, 到二次大战后精度提高到30 年才差一秒。
很快, 测年的技术又推进到原子层面, 1948 年出现第一台原子钟, 1955年又发明了铯原子钟, 利用Cs133原子的共振频率计时,现在精度已经高达每天只差十亿分之一秒[2]。
从刚开始的机械式钟表到现在普遍用到的数字式钟表,即使现在钟表千奇百怪,但是它们都只是完成一种功能——计时功能,只是工作原理不同而已,在人们的使用过程中,逐渐发现了钟表的功能太单一,无法更大程度上的满足人们的需求。
发展到现在人们广泛使用的万年历。
万年历在家庭居室、学校、车站和广场使用越来越广泛,给人们的生活、学习、工作带来极大的方便[3]。
电子万年历具有信息量大、直观清晰、经济实用等优点,正成为家庭、商场、公共场所等新的消费热点,具有重要的开发价值[4]。
随着科技的不断发展,家用电子产品不但种类日益丰富,而且变得更加经济实用,,功能也越来越齐全,除了公历年月、日、时分秒、星期显示及闹铃外,又增加了农历、温度、24节气及l2生肖等显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计(论文)材料之二(2)本科毕业设计(论文)开题报告题目:基于单片机数字时钟设计The Design of Digital Clock Based OnA Singlechip课题类型:设计□实验研究□论文□学生姓名:专业班级:学号:教学单位:指导教师:开题时间: 2013年月日2013年月日一、毕业设计(论文)容及研究意义(价值)1.设计(论文)容本论文主要研究基于单片机的数字时钟设计。
当程序执行后,显示计时时间。
设置4个操作键:K1:设置键;K2:上调键;K3:下调键;K4:确定键。
电子钟的格式为:XX.XX.XX ,由左向右分别为:时、分、秒。
完成显示由秒01一直加1至59,再恢复为00;分加1,由00至01,一直加1至59,再恢复00;时加1,时由00加至23之后秒、分、时全部清清零。
该钟使用T0作250us的定时中断。
走时调整:走时过程中直接调整且不影响走时准确性,按下时间选择键对“时、分、秒”显示进行调整,每按一下时间加,即加1,时间减,即减1。
附加功能:星期,年、月、日,温度检测。
本设计的主要容:1、了解单片机技术的背景及发展现状,熟悉数字时钟各模块的工作原理;2、选择适当的芯片和元器件,确定系统电路,绘制电路原理图,尤其是各接口电路;3、熟悉单片机使用方法和C语言的编程规则,编写出相应模块的应用程序;4、分别在各自的模块中调试出对应的功能,在Proteus 软件上进行仿真。
2.研究意义及价值20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。
忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。
但是,一旦重要事情,一时的耽误可能酿成大祸。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路装化等几个方面发展。
下面是单片机的主要发展趋势。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
二、毕业设计(论文)研究现状和发展趋势(文献综述)目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,录像机、摄像机,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
单片机在多功能数字钟中的应用已是非常普遍的,人们对数字钟的功能及工作顺序都非常熟悉。
但是却很少知道它的部结构以及工作原理。
由单片机作为数字钟的核心控制器,可以通过它的时钟信号进行时实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。
通过键盘可以进行定时、校时功能。
输出设备显示器可以用液晶显示技术和数码管显示技术。
三、毕业设计(论文)研究方案及工作计划(含工作重点与难点及拟采用的途径)1、研究方案本设计采用型号为AT89C52的单片机。
器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-52指令系统,片置通用8位中央处理器和Flash 存储单元,采用7段LED 数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用12MHz 的晶振产生振荡脉冲,定时器计数。
2、工作重点与难点本次设计的单片机数字时钟系统中,其难点主要来源包括晶体频率误差,定时器溢出误差,延迟误差的降低。
晶体频率产生震荡,容易产生走时误差;定时器溢出的时间误差,本应这一秒溢出,但却在下一秒溢出,造成走时误差;延迟时间过长或过短,都会造成与基准时间产生偏差,造成走时误差。
因此,在选用芯片、器件、硬件时注意它们的性能优劣;烧入程序后,LED液晶显示屏不显示或者亮度不好。
不显示时首先使用万用表对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏的现象。
若无此问题查看烧写的程序是否正确无误,对程序进行认真修改。
当显示亮度不好时一遍旋转10K欧的滑动变阻器,一遍观看LED 显示屏,直到看到合适的亮度为止。
经过多次的反复调试试与分析,可以对电路的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力。
3、工作计划四、主要参考文献(不少于10篇,期刊类文献不少于7篇,应有一定数量的外文文献,至少附一篇引用的外文文献(3个页面以上)及其译文)[1]王法能. 单片机原理及应用[M]. 科学,2004[2] 宁. 单片机技术应用基础[M]. :信息职业技术学院, 2005[3] 勇. 数字电路 [M]. 电子工业, 2005[4] 子文. 单片机原理及应用[M]. 电子科技大学2006[5]岂兴明,唐杰等 .51单片机编程基础与开发实例详解[M]. 人民邮电,2008[6] 毅刚. 新编MCS-51单片机应用设计[M]. : 工业大学, 2003[7] 朱定华,等. 单片微机原理与应用[M]. : 清华大学, :交通大学出版,2003[8] Ling Zhenbao, Wang Jun, Qiu Chunling. Study of Measurement for the Anomalous Solid Matter[C]. The Sixth International Conference on Measurement and Control of Granular Materials.2003:181-184.[9] 8-bit Microcontroller With 8K Bytes in-system programble Flash AT89S52. ATMEL, 2001.[10] 8-bit Microcontroller With 20K Bytes Flash AT89C55WD.ATMEL,2000.[11] 期刊:[ISSN 1009-623X] . 单片机与嵌入式系统应用 : 航空航天大学,2001附英文文献及译文8-bit Microcontroller With 8K Byte Flash AT89C52FeaturesCompatible with MCS-51™ Products8K Bytes of In-System Reprogrammable Flash MemoryEndurance: 1,000 Write/Erase CyclesFully Static Operation: 0 Hz to 24 MHzThree-level Program Memory Lock256 x 8-bit Internal RAM32 Programmable I/O LinesThree 16-bit Timer/CountersEight Interrupt SourcesProgrammable Serial ChannelLow-power Idle and Power-down ModesDescriptionThe AT89C52 is a low-power, high-performance CMOS 8-bit microcomputer with 8K bytes of Flash programmable and erasable read only memory (PEROM). The device is manufactured using Atmel’s high-density nonvolatile memory technology and is compatible with the industry-standard 80C51 and 80C52 instruction set and pin out. The on-chip Flash allows the program memory to be reprogrammed in-system or by a conventional nonvolatile memory programmer. By combining a versatile 8-bit CPU with Flash on a monolithic chip, the Atmel AT89C52 is a powerful microcomputer which provides a highly-flexible and cost-effective solution to many embedded control applications.Pin ConfigurationsBlock DiagramPin DescriptionVCCSupply voltage.GNDGround.Port 0Port 0 is an 8-bit open drain bi-directional I/O port. As an output port, each pin can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high-impedance inputs. Port 0 can also be configured to be the multiplexed low-order address/data bus during accesses to external program and data memory. In this mode, P0 has internal pull-ups. Port 0 also receives the code bytes during Flash programming and outputs the code bytes during program verification. External pull-ups are required during program verification.Port 1Port 1 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 1 output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins, they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 1 pins that are externally being pulled low will source current (IIL) because of the internalpull-ups. In addition, P1.0 and P1.1 can be configured to be the timer/counter 2 external count input (P1.0/T2) and the timer/counter 2 trigger input (P1.1/T2EX), respectively, as shown in the following table. Port 1 also receives the low-order address bytes during Flash programming and verification.Port 2Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 2 output buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins, they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups. Port 2 emits the high-order address byte during fetches from external program memory and during accesses to external data memories that use 16-bit addresses (MOVX DPTR). In this application, Port 2 uses strong internal pull-ups when emitting 1s. During accesses to external data memories that use 8-bit addresses (MOVX RI), Port 2 emits the contents of the P2 Special Function Register. Port 2 also receives the high-order address bits and some control signals during Flash programming and verification.Port 3Port 3 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 3 output buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins, they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled low will source current (IIL) because of the pull-ups. Port 3 also serves the functions of various special features of the AT89C51, as shown in the following table. Port 3 also receives some control signals for Flash programming and verification.RSTReset input. A high on this pin for two machine cycles while the oscillator is running resets the device.ALE/PROGAddress Latch Enable is an output pulse for latching the low byte of the address during accesses to external memory. This pin is also the program pulse input (PROG) during Flash programming. In normal operation, ALE is emitted at a constant rate of 1/6 the oscillator frequency and may be used for external timing or clocking purposes. Note, however, that one ALE pulse is skipped during each access to external data memory. If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With the bit set, ALE is active only during a MOVX or MOVC instruction. Otherwise, the pin is weakly pulled high. Setting the ALE-disable bit has no effect if the microcontroller is in external execution mode.PSENProgram Store Enable is the read strobe to external program memory. When the AT89C52 is executing code from external program memory, PSEN is activated twice each machine cycle, except that two PSEN activations are skipped during each access to external data memory.EA/VPPExternal Access Enable. EA must be strapped to GND in order to enable the device to fetch code from external program memory locations starting at 0000H up to FFFFH. Note, however, that if lock bit 1 is programmed, EA will be internally latched on reset. EA should be strapped to VCC for internal program executions. This pin also receives the 12-volt programming enable voltage (VPP ) during Flash programming when 12-volt programming is selected.XTAL1Input to the inverting oscillator amplifier and input to the internal clock operating circuit.XTAL2Output from the inverting oscillator amplifier.Special Function RegistersA map of the on-chip memory area called the Special Function Register (SFR) space is shown in the Table 1.Note that not all of the addresses are occupied, and unoccupied addresses may not be implemented on the chip. Read accesses to these addresses will in general return random data, and write accesses will have an indeterminate effect. User software should not write 1s to these unlisted locations, since they may be used in future products to invoke new features. In that case, the reset or inactive values of the new bits will always be 0.Timer 2 RegistersControl and status bits are contained in registers T2CON and T2MOD for Timer 2. The register pair (RCAP2H, RCAP2L) are the Capture/Reload registers for Timer 2 in 16-bit capture mode or 16-bit auto-reload mode.Interrupt RegistersThe individual interrupt enable bits are in the IE register. Two priorities can be set for each of the six interrupt sources in the IP register.Data MemoryThe AT89C52 implements 256 bytes of on-chip RAM. The upper 128 bytes occupy a parallel address space to the Special Function Registers. That means the upper 128 bytes have the same addresses as the SFR space but are physically separate from SFR space.When an instruction accesses an internal location above address 7FH, the address mode used in the instruction specifies whether the CPU accesses the upper 128 bytes of RAM or the SFR space. Instructions that use direct addressing access SFR space. For example, the following direct addressing instruction accesses the SFR at location 0A0H .MOV 0A0H, #dataInstructions that use indirect addressing access the upper 128 bytes of RAM. For example, the following indirect addressing instruction, where R0 contains 0A0H, accesses the data byte at address 0A0H, rather than P2 (whose address is 0A0H).MOV R0, #dataNote that stack operations are examples of indirect addressing, so the upper 128 bytes of data RAM are available as stack space.Timer 0 and 1Timer 0 and Timer 1 in the AT89C52 operate the same way as Timer 0 and Timer 1 in the AT89C51.Timer 2Timer 2 is a 16-bit Timer/Counter that can operate as either a timer or an event counter. The type of operation is selected by bit C/T2 in the SFR T2CON.Timer 2 has three operating modes: capture, auto-reload (up or down counting), and baud rate generator. The modes are selected by bits in T2CON, as shown in Table 3.Timer 2 consists of two 8-bit registers, TH2 and TL2. In the Timer function, the TL2 register is incremented every machine cycle. Since a machine cycle consists of 12 oscillator periods, the count rate is 1/12 of the oscillator frequency.In the Counter function, the register is incremented in response to a 1-to-0 transition at its corresponding external input pin, T2. In this function, the external input is sampled during S5P2 of every machine cycle. When the samples show a high in one cycle and a low in the next cycle, the count is incremented. The new count value appears in the register during S3P1 of the cycle following the one in which the transition was detected. Since two machine cycles (24 oscillator periods) are required to recognize a 1-to-0 transition, the maximum count rate is 1/24 of the oscillator frequency. To ensure that a given level is sampled at least once before it changes, the level should be held for at least one full machine cycle.Capture ModeIn the capture mode, two options are selected by bit EXEN2 in T2CON. If EXEN2 = 0, Timer 2 is a 16-bit timer or counter which upon overflow sets bit TF2 in T2CON.This bit can then be used to generate an interrupt. If EXEN2 = 1, Timer 2 performs the same operation, but a 1-to-0 transition at external input T2EX also causes the current value in TH2 and TL2 to be captured into RCAP2H and RCAP2L, respectively. In addition, the transition at T2EX causes bit EXF2 in T2CON to be set. The EXF2 bit, like TF2 can generate an interrupt. The capture mode is illustrated in Figure 1.Auto-reload (Up or Down Counter)Timer 2 can be programmed to count up or down when configured in its 16-bit auto-reload mode. This feature is invoked by the DCEN (Down Counter Enable) bit located in the SFR T2MOD. Upon reset, the DCEN bit is set to 0 so that timer 2 will default to count up. When DCEN is set, Timer 2 can count up or down, depending on the value of the T2EX pin.Figure 2 shows Timer 2 automatically counting up when DCEN = 0. In this mode, two options are selected by bit EXEN2 in T2CON. If EXEN2 = 0, Timer 2 counts up to 0FFFFH and then sets the TF2 bit upon overflow. The overflow also causes the timer registers to be reloaded with the 16-bit value in RCAP2H and RCAP2L. The values in Timer in Capture ModeRCAP2H and RCAP2L are preset by software. If EXEN2 = 1, a 16-bit reload can be triggered either by an overflow or by a 1-to-0 transition at external input T2EX. This transition also sets the EXF2 bit. Both the TF2 and EXF2 bits can generate an interrupt if enabled.Setting the DCEN bit enables Timer 2 to count up or down, as shown in Figure 3. In this mode, the T2EX pin controls the direction of the count. A logic 1 at T2EX makes Timer 2 count up. The timer will overflow at 0FFFFH and set the TF2 bit. This overflow also causes the 16-bit value in RCAP2H and RCAP2L to be reloaded into the timer registers, TH2 and TL2, respectively.A logic 0 at T2EX makes Timer 2 count down. The timer underflows when TH2 and TL2 equal the values stored in RCAP2H and RCAP2L. The underflow sets the TF2 bit and causes 0FFFFH to be reloaded into the timer registers. The EXF2 bittoggles whenever Timer 2 overflows or underflows and can be used as a 17th bit of resolution. In this operating mode, EXF2 does not flag an interrupt.文献译文:8位8字节闪存单片机AT89C52主要性能与MCS-51单片机产品兼容●8K字节在系统可编程Flash存储器●1000次擦写周期●全静态操作:0Hz~24Hz●三级加密程序存储器●256×8位部存储器●32个可编程I/O口线●三个16位定时器/计数器●八个中断源●可编程串行通道●低功耗空闲和掉电模式功能特性描述AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K置可编程闪存。