用LED数码管显示的秒表设计

合集下载

制作一个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次按下计时功能键,秒表清零六、实验小结在实验的过程中,出现过几次错误,自己对理论知识了解的还不够透彻,所幸,通过自己思考解决了。

LED显示及秒表计时器设计

LED显示及秒表计时器设计

LED秒表计时器实验实验目的:1、掌握QuartusII6.0等EDA工具软件的基本使用;2、熟悉VHDL硬件描述语言编程及其调试方法;3、学习用FPGA控制LED电路实现显示器设计。

实验内容:基于LED显示器可以进行电子表、秒表计时器、出租车计价器、频率计等复杂电路系统设计,本实验以秒表计时器为例,继续介绍Quartus编程环境以及VHDL语言与原理图混合编程应用。

仅给出设计思路和必要的程序,请大家参照LED译码器实验的步骤完成。

本秒表计时器用于体育竞赛及各种要求有较精确时的各领域。

此计时器是用VHDL语言描述的在FPGA上实现。

它具有开关、计时、时钟和显示功能。

计时器的设计功能:(1)精度应大于1/100s(2)计时器的最长计时时间为1小时,在一般的短时间计时应用中,1小时应该足够了。

为此需要一个6位显示器,显示最长时间为59分59.99秒。

(3)设置复位和启/停开关复位开关用来使计时器清0。

启/停开关的使用方法与传统的机械计时器相同,即按一下启/停开关,启动计时器开始计时,再按一下启/停开关计时终止。

复位开关可以在任何情况下使用,即使在计时过程中,只要按一下复位开关,计时进程应立即终止,并对计时器清零。

整体设计方案:为了便于描述,将整个计时控制芯片分成4个子模块:分频器子模块(fpq),十进制计数器子模块(cnt10),六进制计数器子模块(cnt6),和译码显示子模块(decorder4_7),各模块之间信号连接关系的方框图如下:程序设计:各模块程序及生成的符号文件如下:1、分频器子模块fpq模块设计--本程序实现由4MHz晶振分频得到100Hz计数脉冲信号--分频数计算:4000000/100=40000library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity fpq isgeneric(framlenr:integer:=40000);Port (clk:in std_logic;bclk:out std_logic);end fpq;architecture Behavioral of fpq isbeginprocess(clk)variable cnt:integer;beginif rising_edge(clk) thenif cnt>=framlenr then cnt:=0; bclk<='0';elsif cnt>=framlenr/2 then cnt:=cnt+1;bclk<='1';else cnt:=cnt+1; bclk<='0';end if;end if;end process;end Behavioral;生成的符号:2、十进制计数器子模块(cnt10).LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt10 ISPORT (reset,en,clk:IN STD_LOGIC;carry:OUT STD_LOGIC;q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END CNT10;ARCHITECTURE rtl OF cnt10 ISSIGNAL qs :STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL ca :STD_LOGIC;BEGINPROCESS(clk)BEGINIF(clk'EVENT AND clk='1')THENIF(reset='1')THENqs<="0000";ELSIF(en='1') THENIF(qs="1001") THEN --计数到9qs<= "0000";ca<='0';ELSIF(qs="1000") THEN --计数到8qs<= qs+1;ca<='1';ELSE qs<= qs+1;ca<='0';END IF;END IF;END IF;END PROCESS;PROCESS(ca)BEGINq<=qs;carry<=ca AND en;END PROCESS;END rtl;生成的符号:仿真波形:1、六进制计数器子模块(cnt6)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt6 ISPORT (reset,en,clk:IN STD_LOGIC;carry :OUT STD_LOGIC;q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END CNT6;ARCHITECTURE rtl OF cnt6 ISSIGNAL qs :STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL ca :STD_LOGIC;BEGINPROCESS(clk)BEGINIF(clk'EVENT AND clk='1')THENIF(reset='1')THENqs<="0000";ELSIF(en='1')THENIF(qs="0101") THENqs<= "0000";ca<='0';ELSIF(qs="0100") THENqs<= qs+1;ca<='1';ELSEqs<=qs+1;ca<='0';END IF;END IF;END IF;END PROCESS;PROCESS(ca,en)BEGINq<=qs;carry<=ca AND en;END PROCESS;END rtl;生成的符号:仿真波形:4、译码显示子模块(decorder4_7)参考实验一5、顶层文件设计完整的顶层原理图如图所示:按图完成电路设计,编译通过正确后,分配器件管脚,如下表格:分配完管脚信息,再次编译使之生效,最后下载程序到FPGA实验箱进行结果验证。

LED数码管秒表的制作

LED数码管秒表的制作

LED数码管秒表的制作
一、课程设计要求及原始资料:
制作一个LED数码管显示的秒表,用2位数码管显示计时时间,最小计时单位为“百毫秒”,计时范围0.1~9.9s。

当第一次按下并松开计时功能键时,秒表开始计时并显示时间;
当第二次按下并松开计时功能键时,停止计时,计算两次按下计时功能键的时间,并把时间值送入数码管显示;
当第三次按下计时功能键时,秒表清零,等待下一次按下计时功能键。

如果计时到9.9s时,将停止计时,按下计时功能键,秒表清零,再按下重新开始计时。

二、课程设计进度:
三、主要参考文献:
[1]张毅刚.单片机原理及应用[M].北京:高等教育出版社,2010
[2]张毅刚.单片机原理及接口技术[M].北京:人民邮电出版社,2008
[3]张毅刚.基于Proteus的单片机课程的基础实验与课程设计[M].北京:人民邮
电出版社,2013
专业班级学生课程设计工作起止时间
课程设计评语。

LED数码管秒表

LED数码管秒表

单片机课程设计说明书课题名称专业电气工程学生姓名班级学号指导教师完成日期2012年6月10日LED数码管秒表设计目录1 概述----------------------------------------------------------------31.1 总体设计方案------------------------------------------3 1.2 硬件设计与焊接----------------------------------------3 1.3 软件设计方案------------------------------------------32 系统总体方案及硬件设计----------------------------------42.1 硬件总体设计------------------------------------------4 2.2 单片机基本电路设计------------------------------------6 2.3 秒表时间显示电路设计----------------------------------7 2.4 独立按键电路设计--------------------------------------9 2.5 蜂鸣器电路设计---------------------------------------103 软件设计-------------------------------------------------11 3.1 程序设计思路-----------------------------------------11 3.2 秒表程序构成-----------------------------------------11 3.3 源程序代码与流程图-----------------------------------124 实验仿真-------------------------------------------------145 设计总结-------------------------------------------------15附录1-----------------------------------------------------------------16附录2-----------------------------------------------------------------22附录3-----------------------------------------------------------------23盐城工学院课程设计说明书(2012)1 概述1.1 总体设计方案先进行系统板的基本焊接,即先将晶振电路和复位电路焊接完成。

用单片机AT89C51设计一个2位的LED数码显示作为“秒表”—单片机课程设计

用单片机AT89C51设计一个2位的LED数码显示作为“秒表”—单片机课程设计

一、设计题目和要求: (1)二、设计目的: (2)三、设计内容: (2)四、课程设计心得体会 (26)五、参考文献 (27)六、课程设计指导教师评审标准及成绩评定 (28)附件1:秒表原理图(实际接线图) (30)附件2:仿真图1 (31)附件3:仿真图2 (32)一、设计题目和要求:题目三:秒表应用AT89C51的按时器设计一个2位的LED数码显示作为“秒表”:显示时刻为()()〜99s,每秒自动加1,设计个“开始”键,按下“开始”键秒表开始计时。

设计一个“复位”键,按下“复位”键后,秒表从()开始计时。

任务安排:李座负责绘制电路原理图;梁宗林负责搜集资料及电子版整理;付忠林负责程序和仿真。

二、设计目的: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土)V且典型值为5V,最高工作频率为24MHz.AT89C51各部份的组成及功能:中断控制内部总线总线扩展控制器可编程串行口外部中断扩展控制POPl P2 P3 RXD TXD——1.单片机的屮央处置器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部份。

2LED数码显示的秒表

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数码管显示电子秒表设计

设 计 工 作 量
1、汇编或 C51 语言程序设计; 2、在 Proteus 上进行仿真成功; 3、提交一份完整的课程设计说明书,包括封面,中文摘要,目录,正文(正 文主要包括:设计原理、程序设计、程序分析、仿真分析、调试过程,调试 结果等部分) ,参考文献、设计总结等。 起止日期(或时间量) 设计内容(或预期目标) 课题介绍,答疑,收集材料,C51 介绍 设计方案论证,练习编写 C51 程序 程序设计 程序调试、仿真 系统测试并编写设计说明书 备注
《单片机原理及应用》课程设计任务书 1
系(部):电信系 课题名称 1、课题内容: 设 计 内 容 及 要 求 设计一种基于 AT89S52 单片机的电子计时秒表,要求如下: (1) 、能正确显示时间,时钟由八位数码管显示,显示格式为: XX 分 XX 秒XX(十分之一、百分之一)秒。 (2) 、设置一个独立式按键,首次按键计时开始,再次按键暂停,第三 次按键清零。 2、要求: 完成该系统的硬件和软件的设计,在 Proteus 软件上仿真通过,并提 交一篇课程设计说明书。 设 计 工 作 量 1、汇编或 C51 语言程序设计; 2、程序调试; 3、在 Proteus 上进行仿真成功; 4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序 分析、仿真分析、调试过程,参考文献、设计总结等。 起止日期(或时间量) 第一天 进 度 安 排 第二天 第三天~第六天 第六天~第八天 第九天~第十天 设计内容(或预期目标) 课题介绍,答疑,收集材料,C51 介绍 设计方案论证,练习编写 C51 程序 程序设计 程序调试、仿真 系测试并编写设计说明书 备注 专业:2012 级电子信息工程 LED 数码管显示电子秒表设计
教研室 意见


LED数码管动态稳定秒表设计与制作

LED数码管动态稳定秒表设计与制作

LED数码管
LED引脚
6.1.1 LED数码管结构
LED工作原理
从内部结构上看,LED 可分为共阳极和共阴极两种结构。
共阳极LED的8个LED 阳极连接在一起, 作 为公共控制端(com), 阴极作为“段”控制 端。当公共端为高电 平,某段控制端为低 电平时,这段对应的 LED导通并点亮。
共阴极LED的8个LED 阴极连接在一起, 作 为公共控制端(com), 阳极作为“段”控制 端。当公共端为低电 平,某段控制端为高 电平时,这段对应的 LED导通并点亮。
Y 1 0 0 1 0 0 0 1 91H 0 1 1 0 1 1 1 0 6EH
- 1 0 1 1 1 1 1 1 BFH 0 1 0 0 0 0 0 0 40H
. 0 1 1 1 1 1 1 1 7FH 1 0 0 0 0 0 0 0 80H
熄灭 1 1 1 1 1 1 1 1 FFH 0 0 0 0 0 0 0 0 00H
请阅读三段中断服务程序,并写出其功能
void int_0() interrupt 0 {
if(b==0){TR0=0;b=1;} else {TR0=1;b=0;} } void int_1() interrupt 2 { sec=0; msec=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; }
5 1 0 0 1 0 0 1 0 92H 0 1 1 0 1 1 0 1 6DH
6 1 0 0 0 0 0 1 0 82H 0 1 1 1 1 1 0 1 7DH
7 1 1 1 1 1 0 0 0 F8H 0 0 0 0 0 1 1 1 07H
8 1 0 0 0 0 0 0 0 80H 0 1 1 1 1 1 1 1 7FH
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机课程设计说明书用LED 数码管显示的秒表设计专业 电气工程及其自动化学生姓名 刘宁班级 B 电气081学号 0810601114指导教师 张兰红完成日期2011年 6月 26 日目录1、概述 (2)2、课题方案设计 (2)2.1系统总体设计要求 (2)2.2系统模块结构论证 (2)3、系统硬件设计 (3)3.1总体设计 (3)3.2单片机运行的最小系统 (4)3.2.1 52单片机最小系统电路介绍 (4)3.2.2单片机的振荡电路与复位电路 (7)3.3数码管介绍 (8)3.4驱动电路 (9)4、软硬件联调及调试结果 (10)4.1软硬件调试中出现的问题及解决措施 (10)4.2实物图 (11)4.3调试结果 (13)5、结束语 (13)参考文献 (14)附录 (14)附录1:基于单片机的秒表设计原理图 (14)附录2:基于单片机的秒表设计PCB图 (15)附录3:PROTEUS仿真图 (16)附录4:基于单片机的秒表设计C语言程序清单 (17)附录5:基于单片机的秒表设计元器件目录表 (19)1、概述21世纪是一个电子技术和电子元件有更大发展的世纪。

回顾百年来电子技术和电子工业发展的成就,举世瞩目。

作为一个电气专业的大学生,我们不但要有扎实的基础知识、课本知识,还应该有较强的动手能力。

现实也要求我们既精通电子技术理论,更要掌握电子电路设计、实验研究和调试技术。

课程设计就是一个理论联系实际的机会。

本次设计主要完成具备基本功能的电子秒表的理论设计,电子秒表是重要的记时工具,广泛运用于各行各业中。

作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点,不仅可以提高精确度,而且可以大大减轻操作人员的负担,降低错误率。

在设计中应用到数码管,数码管主要用于楼体墙面,广告招牌、高档的DISCO、酒吧、夜总会、会所的门头广告牌等。

特别适合应用于广告牌背景、立交桥、河、湖护栏、建筑物轮廓等大型动感光带之中,可产生彩虹般绚丽的效果。

用护栏管装饰建筑物的轮廓,可以起到突出美彩亮化建筑物的效果。

事实证明,它已经成为照明产品中的一只奇葩,绽放在动感都市。

2、课题方案设计2.1 系统总体设计要求用AT89C52设计一个2位LED数码显示“秒表”,显示时间为00~59秒,每秒自动加一。

另设计一个“开始”按键和一个“复位”按键,一个“暂停”按键。

接上电源后从00开始计时,至59后再回到00,继续循环。

2.2系统模块结构论证1.单片机模块选择方案一:选用飞思卡尔单片机,飞思卡尔单片机功能强大,但是价格相对要高,而且对此不熟悉。

方案二:采用STC89系列单片机,其架构简单,相对熟悉,价格便宜,对设计功能已经足够。

焊接也是比较容易。

因此,选择方案二。

2.电源模块选择方案一:采用交流220V/50HZ电源转换为直流5V电源作为电源模块。

该方案实施简单,电路搭建方便,可作为单片机开发常备电源使用。

方案二:采用干电池串并联到5V作为电源模块。

该方案实施简单,无需搭建电路,但相对方案不够稳定,电池消耗快,带负载后电压降过高,可能无法使系统稳定持续运行。

方案三:采用USB接口电源,该方案简单方便,可以直接和电脑的USB接口相连。

电脑的USB接口属于接口电源,要并联耦合电容进行缓冲。

因此,选择的是方案三。

3.显示模块选择:方案一:采用8段LED数码管作为显示模块核心。

方案二:采用LCD液晶显示器作为显示模块核心。

LED数码管节能环保,显示直观。

因此选择方案一。

4.驱动模块选择:方案一:用与非门逻辑电路作为驱动电路主要元件。

方案二:用PNP型三极管作为驱动电路主要元件。

与非门逻辑电路相对来说较为复杂,PNP三极管只有三个端口且价格也很便宜,因此选择方案二。

3、系统硬件设计3.1总体设计利用单片机定时器/计数器中断设计秒表,从而实现秒的计时。

用两个数码管来显示秒表数据。

增加一个清零按钮,计时结束后可以清零。

通过采用proteus仿真软件来模拟实现。

模拟利用AT89C52单片机、LED数码管以及控件来控制秒表的计数以及计数的开启/暂停/继续与复位。

两位数码管用来显示数据,一位数码管显示个位1~9,满十进一后显示十位的数码管的数字加一,并且个位显示清零重新从零计数。

计秒数码管采用两位的数码管,当计数超过范围是所有数码管全部清零重新计数。

、软硬件设计是设计中不可缺少的,为了满足功能和指标的要求,资源分配如下:晶振采用11.0592MZ的外部晶振频率内存分配:P0口与数码管个位和十位数据输入端相连,控制其段选信号,输出1~9不同字型。

P3口的P3.1、P3.2分别与秒表个位和十位数码管位选连接,控制秒表的计数以及计数的开启/暂停/继续与复位清零。

本设计包含有单片机最小系统模块、复位模块、放大器模块、LED数码管显示模块。

其中最小系统模块由STC89C52、电阻、电容和晶振电路等主要硬件组成。

复位模块由二极管、电阻和复位开关组成。

放大器模块由PNP三极管、电阻组成。

LED数码管显示模块由两位八段数码管组成。

3.2单片机运行的最小系统最小系统模块由STC89C52、电阻、电容和晶振电路等主要硬件组成。

3.2.1 52单片机最小系统电路介绍1. 52单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,52单片机最小系统容值越大需要的复位时间越短。

2. 52单片机最小系统晶振Y1也可以采用11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,52单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。

3. 52单片机最小系统起振电容C2、C3一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好4.P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为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的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

PSEN:外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

3.2.2单片机的振荡电路与复位电路1.振荡电路采用内部时钟方式时,如图所示。

片内的高增益反相放大器通过XTAL1、XTAL2外接作为反馈元件的片外晶体振荡器(呈感性)与电容组成的并联谐振回路构成一个自激振荡器,向内部时钟电路提供振荡时钟。

振荡器的频率主要取决于晶体的振荡频率,一般晶体可在1.2~12MHz之间任选,电容C1、C2可在5~30pF之间选择,电容的大小对振荡频率有微小的影响,可起频率微调作用。

本电路选用的是内部振荡器方式,。

选用内部振荡器比选用外部时钟电路简单并且易于实现。

最重要的是此电路易于调试,而且精度高。

2. 复位电路图3-2 振荡电路复位电路可分为上电复位和外部复位两种方式。

通过某种方式,使单片机内各寄存器的值变为初始状态的操作称为复位。

MCS —52单片机在时钟电路工作以后,在RST/VPD端持续给出2个机器周期的高电平就可以完成复位操作(一般复位正脉冲宽度大于10ms)。

复位分为上电复位和外部复位两种方式。

图3-3 复位电路(a)上电复位电路(b)上电/外部复位电路上电复位是在单片机接通电源时,对单片机的复位。

上电复位电路如图(a)所示。

在上电瞬间RST/VPD端与VCC电位相同,随着电容上电压的逐渐上升,RST/VPD 端电位逐渐下降。

相关文档
最新文档