用LED数码管显示的秒表设计
制作一个LED数码管显示的秒表

计算机科学与工程系实验报告实验题目:制作一个LED数码管显示的秒表班级:姓名:学号:日期:一、实验目的掌握单片机使用定时计数器控制LED数码管的设计与软件编程二、实验要求1、用2位数码管显示计时时间,最小计时单位为“百毫秒”,计时范围0.1~9.9s;2、当第1次按下并松开计时功能键时,秒表开始计时并显示时间;3、第2次按下并松开计时功能键时,停止计时,计算两次按下计时功能键的时间,并在数码管上显示;4、第3次按下计时功能键,秒表清0,再按1次计时功能键,重新开始计时。
5、如果计时到9.9s时,将停止计时,按下计时功能键,秒表清零,再按下重新开始计时。
三、实验要求提交的实验报告中应包括:电路原理图、实验设计思路、C51源程序(含注释语句)、运行效果(含运行截图与说明)、实验小结三、硬件电路原理图的设计四、编程思路及C51源程序编程思路:使用外中断服务处理程序处理按键,内部设计一个计数器,记录按键按下的次数,根据按键次数完成相应的功能。
用数码管显示计时时间,根据按键的次数以及其功能来显示数字。
#include<reg51.h> //包含8051单片机寄存器定义的头文件unsigned char code discode1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef} unsigned char code discode2[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsigned char timer=0; //记录中断次数unsigned char second; //存储秒数unsigned char key=0; //记录按键次数main() //主函数{TMOD=0x01; //定时器T0方式1定时ET0=1; // 允许定时器T0中断EA=1; // 总中断允许second=0; //设初始值P0=discode1[second/10]; //显示秒位P2=discode2[second%10]; //显示0.1S位while(1) //循环{if((P3&0x80)==0x00) //当按键被按下时{key++; //按键次数加一switch(key) //根据按键次数分三种情况{case 1: //第一次按下为启动秒表表示TH0=0xee; //TL0=0x00; //TR0=1; //break; //case 2: //按下两次暂停秒表TR0=0; //break; //case 3: //按下三次秒表清零key=0; //second=0; //P0=discode1[second/10]; //P2=discode2[second%10]; //break;}while((P3&0x80)==0x00); //如果按键时间过长在此循环}}}}void int_t0() interrupt 1 using 0 //定时器T0中断子程序{TR0=0; //停止计时,执行以下操作(计时出现误差)TH0=0xee; //向TH0写入初值的高8位TL0=0x00; //向TL0写入初值的低8位,定时5mstimer++; //记录中断次数if (timer==20) //中断20次,20*5ms=100ms=0.1s{timer=0; //中断次数清0second++; //加0.1sP0=discode1[second/10]; //根据计时时间,即时显示秒位P2=discode2[second%10]; //根据计时时间,即时显示0.1s位}if(second==99) //当计时到9.9s时{TR0=0; //停止计时second=0; //秒数清0key=2; //按键数置2,当再次按下按键时,key++,即key=3,秒表清0复原}else //计时不到9.9s时{TR0=1; //继续计时}}五、仿真运行效果展示1、第一次按键,秒表开始计时,并计时到9.92、2次按键,停止计时,将计时的时间值送到数码管显示3、第3次按下计时功能键,秒表清零六、实验小结在实验的过程中,出现过几次错误,自己对理论知识了解的还不够透彻,所幸,通过自己思考解决了。
基于AT89C51单片机的一个2位的LED数码显示作为“秒表”设计【基于单片机系统的00-99s的定时器】

基于AT89C51单片机的一个2位的LED数码显示作为“秒表”设计【基于单片机系统的00-99s的定时器】工程技术学院课程设计题目:用单片机AT89C51设计一个2位的LED数码显示作为“秒表”专业:电气工程及其自动化年级: 2009级学号: 20091447 20091414 20091444姓名:付忠林梁宗林李座指导教师:杨彦鑫日期: 7>2012年12月12日云南农业大学工程技术学院目录设计题目和要求 (3)设计目的 (4)设计内容 (5)课程设计心得体会 (21)参考文献 (22)课程设计指导教师评审标准及成绩评定 (23)附件 (24)一、设计题目和要求:题目三:秒表应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。
设计一个“复位”键,按下“复位”键后,秒表从0开始计时。
任务安排:李座负责绘制电路原理图;梁宗林负责收集资料及电子版整理;付忠林负责程序和仿真。
二、设计目的:1.进一步掌握AT89C51单片机的结构和工作原理;2.掌握单片机的接口技术及外围芯片的工作原理及控制方法;3.进一步掌握单片机程序编写及程序调试过程,掌握模块化程序设计方法;4.掌握PROTEUS仿真软件的使用方法;5.掌握LED数码管原理及使用方法。
6.掌握定时器、外部中断的设置和编程原理。
7.通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
8.该课程设计通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、复位功能,并同时可以用数码管显示。
三、设计内容:了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到1秒。
AT89C51单片机的主要工作特性:??内含4KB的FLASH存储器,擦写次数1000次;??内含28字节的RAM;??具有32根可编程I/O线;??具有2个16位可编程定时器;??具有6个中断源、5个中断矢量、2级优先权的中断结构;??具有1个全双工的可编程串行通信接口;??具有一个数据指针DPTR;??两种低功耗工作模式,即空闲模式和掉电模式;??具有可编程的3级程序锁定定位;AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz.AT89C51各部分的组成及功能:中央处理器1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。
2LED数码显示的秒表

三、设计内容
• 了解芯片的工作原理和工作方式,使用该芯片对LED数码 管进行显示控制,实现用单片机的端口控制数码管,显示 分、秒,并能用按钮实现秒表起动、停止、清零功能,精 确到1秒。
四、主电路设计
五、主程序流程图
六、秒表汇编程序
• • • • • • • • • • • • • • • • • • • • K_S BIT P1.0 Z_T BIT P1.1 Q_L BIT P1.2 F_W QU 34H ORG 00H SJMP START ORG 0BH LJMP INT_T0 START:MOV DPTR,#TABLE MOV SECOND,#0 MOV TCNT,#0 MOV TMOD,#01H SETB P1.0 SETB P1.1 SETB P1.2 SETB P1.3 JB K_S,$ MOV TH0,#3CH • • • • • • • • • • • • • • • • • • • MOV TL0,#0B0H MOV IE,#82H SETB TR0 A1: LCALL DISPLAY MOV A,SECOND CJNE A,#99,A1 CLEAR: MOV SECOND,#0 INT_T0: JNB Z_T,ZT NEXT: MOV TH0,#3CH MOV TL0,0B0H INC TCNT MOV A,TCNT CJNE A,#20,RETUNE INC SECOND MOV TCNT,#0 MOV A,SECOND CJNE A,#99,RETUNE MOV SECOND,#0 RETUNE:RET1
2位LED数码显示的秒表
组员:42912118 严磊 42912139 蔡则豹
秒表的设计
• • • • • 一、AT89C51单片机 二、设计题目和要求 三、设计内容 四、主电路设计 五、主程序流程图
用LED数码管显示的秒表设计

课程设计说明书用LED数码管显示的秒表设计专业新能源科学与工程学生姓名班级学号指导教师完成日期用LED数码管显示的秒表设计摘要:对采用LED数码管显示的秒表进行了设计。
所设计的秒表,可通过两位数码管显示00-59。
每秒自动加一。
在对系统功能分析的基础上,采用AT89C52单片机。
相对而言比较简单,贴近书本,比较熟悉。
对所要实现的功能也能很好地满足,焊接也比较简单。
设计主要采用硬件和软件两部分。
硬件包含数码管按钮模块、单片机控制模块、数码管显示模块、驱动电流放大模块。
按钮模块采用独立式按键,控制模块选用AT89C52单片机,显示模块采用两位数码管,放大模块选用NPN三极管。
软件采用模块化的程序,分为主程序和定时器计时服务子程序。
在多孔板上制作了LED数码管显示的秒表,使用protus完成了系统仿真,对硬件和软件部分分别进行了调试,进行了软硬件联调,最后调试成功样机实物,完成了毕业设计任务书的要求。
关键词:单片机;数码管;秒表A stopwatch design with LED digital tube displayAbstract: For the LED digital tube display of a stopwatch is used for design. The stopwatch, designed by two digital tube display 00 ~ 59. Automatically add a per second.On the basis of the analysis of system function, using the AT89C52 single chip microcomputer. Relatively simple, close to the book, familiar with. To in order to realize the function also can well satisfy, welding is more simple. The design mainly adopts two parts of hardware and software. Hardware consists of digital tube button module, single-chip microcomputer control module, digital tube display module, the drive current amplifier module. Button module USES the independent type key, choose AT89C52 single chip microcomputer control module, using two digital tube display module, amplifier module selects the NPN transistor. Software adopts the modular program, main program and timer timing service subroutine.On the perforated plate made of LED digital tube display a stopwatch, use protus completed system simulation, the hardware and the software part, has carried on the debugging, the software and hardware alignment, the final debugging success physical prototype, completed the graduation design specification requirements.Key Words:Single chip microcomputer; Digital tube; A stopwatch.用LED数码管显示的秒表设计目录1. 概述 (1)1.1 课题研究背景与意义 (1)1.2 课题设计内容 (1)2. 系统设计 (1)2.1 设计方案论证 (1)2.2 系统硬件设计 (2)2.2.1 主控模块 (2)2.2.2 秒表按钮模块 (4)2.2.3 LED数码管显示模块 (5)2.2.4 放大模块 (6)2.3.1 主程序模块 (6)2.3.2 定时器中断程序 (6)3. 系统调试 (8)3.1 硬件调试 (8)3.1.1 静态检查 (8)3.1.2 通电检查 (8)3.2 软件调试及软硬件联调 (8)3.2.1仿真调试 (8)3.2.2 实物调试 (9)3.2.3 实验结果 (9)4. 结束语 (11)附录1:用LED数码管显示的秒表设计原理图图纸 (15)附录2:用LED数码管显示的秒表设计的元器件目录表 (16)附录3:用LED数码管显示的秒表设计程序清单 (17)盐城工学院课程设计说明书( 2015)用LED数码管显示的秒表设计1.概述1.1 课题研究背景与意义随着电子技术的发展,电子技术在各个领域的运用也越来越广泛。
LED数码管秒表的制作

LED数码管秒表的制作
一、课程设计要求及原始资料:
制作一个LED数码管显示的秒表,用2位数码管显示计时时间,最小计时单位为“百毫秒”,计时范围0.1~9.9s。
当第一次按下并松开计时功能键时,秒表开始计时并显示时间;
当第二次按下并松开计时功能键时,停止计时,计算两次按下计时功能键的时间,并把时间值送入数码管显示;
当第三次按下计时功能键时,秒表清零,等待下一次按下计时功能键。
如果计时到9.9s时,将停止计时,按下计时功能键,秒表清零,再按下重新开始计时。
二、课程设计进度:
三、主要参考文献:
[1]张毅刚.单片机原理及应用[M].北京:高等教育出版社,2010
[2]张毅刚.单片机原理及接口技术[M].北京:人民邮电出版社,2008
[3]张毅刚.基于Proteus的单片机课程的基础实验与课程设计[M].北京:人民邮
电出版社,2013
专业班级学生课程设计工作起止时间
课程设计评语。
59分59秒秒表VHDL

秒表的实验报告一、试验要求:设计一个秒表,计时范围为0 59分59秒,精度为百分之一秒;能同时显示分秒信息(LED数码管)。
秒表的逻辑结构主要由、显示译码器、分频器、十进制计数器和六进制计数器组成。
在整个秒表中最关键是如何获得一个精确的100Hz计时脉冲,除此之外,整个秒表还需要一个启动信号和一个归零信号,以便能够随时启动及停止。
秒表有六个输出显示,分别为百分之一秒,十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之对应,6个个计数器全为BCD码输出,这样便于同时显示译码器的连接。
二、实验目的:1、四个十进制计数器:用来分别对百分之一秒、十分之秒、秒和分进行计数;2、两个6进制计数器:用来分别对十秒何时分进行计数;3、分频率器:用来产生100Hz的计数脉冲;4、显示译码器:完成对显示译码的控制。
三、硬件要求:1、主芯片EP2C8Q208;2、6位八段扫描共阳极数码显示管;3、二个按键开关(归零,启动)。
四、实验内容及步骤:1、根据电路特点,将此设计电路分成若干模块,规定每个模块的功能和各个模块之间的接口,然后再将各个模块和起来联试。
2、了解软件各元件管理层次含义,以及模块元件之间的连接概念,对不同目录下的统一设计如何融合。
3、适配划分前后的仿真内容有何不同概念,仿真信号对象有何不同。
4、安适配划分的管脚定位,同相关功能块元件之间的连接概念。
5、所有模块用VHDL语言描述。
五、实验源代码如下:1.分频器代码:将50MHz脉冲变成100Hzlibrary ieee;use ieee.std_logic_1164.all;entity div isport(clr,clk: in bit;q: buffer bit;q1:buffer bit);end div;architecture a of div issignal counter1:integer range 0 to 24999;signal counter2:integer range 0 to 4;beginprocess(clr,clk)beginif (clk='1' and clk'event) thenif clr='0' thencounter1<=0;elsif counter1=24999 thencounter1<=0;q<= not q;elsecounter1<=counter1+1;end if;end if;end process;process(q)beginif(q'event and q='1') thenif clr='0' thencounter2<=0;elsif counter2=4 thencounter2<=0;q1<=not q1;elsecounter2<=counter2+1;end if;end if;end process;end a;2.十进制计数器代码:原理为加法计数器,计数十时由cout进位library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count10 isport(clr,start,clk: in bit;cout: out bit;daout: out std_logic_vector(3 downto 0));end count10;architecture a of count10 issignal temp:std_logic_vector(3 downto 0);beginprocess(clk,clr)beginif clr='0' thentemp<="0000";cout<='0';elsif (clk'event and clk='1') thenif start='0' thenif temp>="1001" thentemp<="0000";cout<='1';elsetemp<=temp+1;cout<='0';end if;end if;end if;daout<=temp;end process;end a;3.六进制计数器代码:原理为加法计数器,计数六时由cout进位。
第9章 用LED数码管显示的秒表设计

图9-4 定时器中断程序
程序清单见课程设计指导书或配套仿真软件
5
9.4 仿真与实验结果
图9-5 按下Stop按键时的仿真结果
6
9.4 仿真与实验结果
图9-6 按下S 用LED数码管显示的秒表设计
9.1 项目任务 9.2 硬件设计 9.3 程序设计 9.4 仿真与实验结果
1
秒表是一个重要的计时工具,可用于比赛计时、实验研究以及生 活计时等。
2
9.1 项目任务
用STC89C52单片机与两位数码管设计并制作一个秒表,实现 电子秒表的基本功能,显示时间为00~59,每秒自动加1,至59 秒后再回到00,继续循环。运用“开始”、“暂停”、“复位” 按键实现对秒表计时控制。
3
9.2 硬件设计
图9-2 LED数码管显示的秒表设计电路原理图 4
9.3 程序设计
开始 定时器初始化 开中断、开始计时
1秒时间到? N
Y 1秒标志位清0,秒加1
秒=60? N
停止键按下? N
继续计时?
Y 秒计数器清零 Y
停止计时 结束
开始 定时器重新置初值 50ms中断次数加1
结束
显示秒
图9-3 主程序流程图
LED数码管秒表的CAD

电子线路CAD训练报告专业新能源科学与工程学生姓名陈家蓓班级能源131学号1310604123指导教师张兰红完成日期2016年1月22日目录1 训练目的 (1)2 训练内容 (1)3 训练要求 (1)4 电路原理图的绘制 (1)4.1原理图的设计流程 (2)4.2建立元件库的过程 (3)4.2.1创建原理图元件库文件 (3)4.2.2添加元件 (3)4.2.3提取原理图文件 (4)5 PCB图的绘制 (4)5.1 PCB图的设计流程 (4)5.2 PCB图建立元件库的过程 (5)6 调试与实验结果 (7)6.1 静态检查 (7)6.2 通电检查 (8)6.3 实验结果 (9)7. 结束语 (10)附录1:用LED数码管显示的秒表设计电路原理图 (12)附录2:用LED数码管显示的秒表设计PCB图 (13)附录3:用LED数码管显示的秒表设计元器件目录表 (14)电子线路C AD训练1训练目的(1) 掌握Altium Designer软件的操作。
(2) 学会用SCH原理图来描述电路,深入理解电路设计的流程和方法,掌握简单PCB板绘制方法和设计生产工艺,通过训练,能够独立进行电路图的绘制。
(3) 掌握焊接技术,简单电路元器件装配(4) 培养从事科学实验的技能、技巧,提高分析和解决问题的能力,培养学生的实践和创新能力。
2 训练内容(1) 针对“用LED数码管显示的秒表设计”,用Altium Design软件设计电路原理图与PCB图各一张。
(2) 将所设计的PCB板交给厂家加工。
(3) 借助于单片机课程设计时所做的Proteus仿真、C51设计软件和多孔板实物,在加工好的PCB板上焊接、调试,获得调试成功的实物一份。
3 训练要求运用Altium Designer软件绘制课题的SCH电路原理图,建立SCH库文件,生成网络表并能够分析网络表,建立PCB文件并设置相应的工作环境,建立PCB库文件并能够封装,正确地导入网络表,对PCB进行布局布线,最后导出导入文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计说明书用LED 数码管显示的秒表设计专业 电气工程及其自动化学生姓名 刘宁班级 B 电气081学号 04指导教师 张兰红完成日期2011年 6月 26 日目录1、概述 (2)2、课题方案设计 (2)系统总体设计要求 (2)系统模块结构论证 (2)3、系统硬件设计 (3)总体设计 (3)单片机运行的最小系统 (4)52单片机最小系统电路介绍 (4)单片机的振荡电路与复位电路 (7)数码管介绍 (8)驱动电路 (9)4、软硬件联调及调试结果 (10)软硬件调试中出现的问题及解决措施 (10)实物图 (11)调试结果 (13)5、结束语 (13)参考文献 (14)附录 (14)附录1:基于单片机的秒表设计原理图 (14)附录2:基于单片机的秒表设计PCB图 (15)附录3:PROTEUS仿真图 (16)附录4:基于单片机的秒表设计C语言程序清单 (17)附录5:基于单片机的秒表设计元器件目录表 (19)1、概述21世纪是一个电子技术和电子元件有更大发展的世纪。
回顾百年来电子技术和电子工业发展的成就,举世瞩目。
作为一个电气专业的大学生,我们不但要有扎实的基础知识、课本知识,还应该有较强的动手能力。
现实也要求我们既精通电子技术理论,更要掌握电子电路设计、实验研究和调试技术。
课程设计就是一个理论联系实际的机会。
本次设计主要完成具备基本功能的电子秒表的理论设计,电子秒表是重要的记时工具,广泛运用于各行各业中。
作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点,不仅可以提高精确度,而且可以大大减轻操作人员的负担,降低错误率。
在设计中应用到数码管,数码管主要用于楼体墙面,广告招牌、高档的DISCO、酒吧、夜总会、会所的门头广告牌等。
特别适合应用于广告牌背景、立交桥、河、湖护栏、建筑物轮廓等大型动感光带之中,可产生彩虹般绚丽的效果。
用护栏管装饰建筑物的轮廓,可以起到突出美彩亮化建筑物的效果。
事实证明,它已经成为照明产品中的一只奇葩,绽放在动感都市。
2、课题方案设计系统总体设计要求用AT89C52设计一个2位LED数码显示“秒表”,显示时间为00~59秒,每秒自动加一。
另设计一个“开始”按键和一个“复位”按键,一个“暂停”按键。
接上电源后从00开始计时,至59后再回到00,继续循环。
系统模块结构论证1.单片机模块选择方案一:选用飞思卡尔单片机,飞思卡尔单片机功能强大,但是价格相对要高,而且对此不熟悉。
方案二:采用STC89系列单片机,其架构简单,相对熟悉,价格便宜,对设计功能已经足够。
焊接也是比较容易。
因此,选择方案二。
2.电源模块选择方案一:采用交流220V/50HZ电源转换为直流5V电源作为电源模块。
该方案实施简单,电路搭建方便,可作为单片机开发常备电源使用。
方案二:采用干电池串并联到5V作为电源模块。
该方案实施简单,无需搭建电路,但相对方案不够稳定,电池消耗快,带负载后电压降过高,可能无法使系统稳定持续运行。
方案三:采用USB接口电源,该方案简单方便,可以直接和电脑的USB接口相连。
电脑的USB接口属于接口电源,要并联耦合电容进行缓冲。
因此,选择的是方案三。
3.显示模块选择:方案一:采用8段LED数码管作为显示模块核心。
方案二:采用LCD液晶显示器作为显示模块核心。
LED数码管节能环保,显示直观。
因此选择方案一。
4.驱动模块选择:方案一:用与非门逻辑电路作为驱动电路主要元件。
方案二:用PNP型三极管作为驱动电路主要元件。
与非门逻辑电路相对来说较为复杂,PNP三极管只有三个端口且价格也很便宜,因此选择方案二。
3、系统硬件设计总体设计利用单片机定时器/计数器中断设计秒表,从而实现秒的计时。
用两个数码管来显示秒表数据。
增加一个清零按钮,计时结束后可以清零。
通过采用proteus仿真软件来模拟实现。
模拟利用AT89C52单片机、LED数码管以及控件来控制秒表的计数以及计数的开启/暂停/继续与复位。
两位数码管用来显示数据,一位数码管显示个位1~9,满十进一后显示十位的数码管的数字加一,并且个位显示清零重新从零计数。
计秒数码管采用两位的数码管,当计数超过范围是所有数码管全部清零重新计数。
、软硬件设计是设计中不可缺少的,为了满足功能和指标的要求,资源分配如下:晶振采用的外部晶振频率内存分配:P0口与数码管个位和十位数据输入端相连,控制其段选信号,输出1~9不同字型。
P3口的、分别与秒表个位和十位数码管位选连接,控制秒表的计数以及计数的开启/暂停/继续与复位清零。
本设计包含有单片机最小系统模块、复位模块、放大器模块、LED数码管显示模块。
其中最小系统模块由STC89C52、电阻、电容和晶振电路等主要硬件组成。
复位模块由二极管、电阻和复位开关组成。
放大器模块由PNP三极管、电阻组成。
LED数码管显示模块由两位八段数码管组成。
单片机运行的最小系统最小系统模块由STC89C52、电阻、电容和晶振电路等主要硬件组成。
52单片机最小系统电路介绍1. 52单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,52单片机最小系统容值越大需要的复位时间越短。
2. 52单片机最小系统晶振Y1也可以采用,在正常工作的情况下可以采用更高频率的晶振,52单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。
3. 52单片机最小系统起振电容C2、C3一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。
设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。
计数值N乘以机器周期Tcy就是定时时间t。
设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。
在每个机器周期的S5P2期间采样T0、T1引脚电平。
当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。
由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。
当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2 ms。
标识符号地址寄存器名称P3 0B0H I/O口3寄存器PCON 87H 电源控制及波特率选择寄存器SCON 98H 串行口控制寄存器SBUF 99H 串行数据缓冲寄存器TCON 88H 定时控制寄存器TMOD 89H 定时器方式选择寄存器TL0 8AH 定时器0低8位TH0 8CH 定时器0高8位TL1 8BH 定时器1低8位TH1 8DH 定时器1高8位图3-1 89c52系列单片机管脚图89C52管脚说明: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的一些特殊功能口,如下表所示:口管脚备选功能RXD(串行输入口)TXD(串行输出口)/INT0(外部中断0)/INT1(外部中断1)T0(记时器0外部输入)T1(记时器1外部输入)/WR(外部数据存储器写选通)/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
单片机的振荡电路与复位电路1.振荡电路采用内部时钟方式时,如图所示。
片内的高增益反相放大器通过XTAL1、XTAL2外接作为反馈元件的片外晶体振荡器(呈感性)与电容组成的并联谐振回路构成一个自激振荡器,向内部时钟电路提供振荡时钟。
振荡器的频率主要取决于晶体的振荡频率,一般晶体可在~12MHz之间任选,电容C1、C2可在5~30pF之间选择,电容的大小对振荡频率有微小的影响,可起频率微调作用。
本电路选用的是内部振荡器方式,。
选用内部振荡器比选用外部时钟电路简单并且易于实现。
最重要的是此电路易于调试,而且精度高。
2. 复位电路图3-2 振荡电路复位电路可分为上电复位和外部复位两种方式。
通过某种方式,使单片机内各寄存器的值变为初始状态的操作称为复位。
MCS —52单片机在时钟电路工作以后,在RST/VPD端持续给出2个机器周期的高电平就可以完成复位操作(一般复位正脉冲宽度大于10ms)。
复位分为上电复位和外部复位两种方式。
图3-3 复位电路(a)上电复位电路(b)上电/外部复位电路上电复位是在单片机接通电源时,对单片机的复位。
上电复位电路如图(a)所示。
在上电瞬间RST/VPD端与VCC电位相同,随着电容上电压的逐渐上升,RST/VPD端电位逐渐下降。
上电复位所需的最短时间是振荡器振荡建立时间加2个机器周期。
复位电路的阻容参数通常由实验调整。
图(a)参考电路中,电路参数C取22uF,R取1Kq,可在RST/VPD端提供足够的高电平脉冲,使单片机能够可靠地上电自动复位。