单片机课设60秒计时器
单片机60秒表课题设计

目录1.实验内容及要求 -----------------------------------------------------21.1实验内容-------------------------------------------------------------2 1.2试验要求-------------------------------------------------------------22.课题研究目的和意义及介绍--------------------------------------------------22.1目的意义-------------------------------------------------------------22.2AT80C5单片机简介-----------------------------------------------------22.3实验仪器-------------------------------------------------------------33.设计思路及描述-----------------------------------------------------------34.硬件设计------------------------------------------------------------------44.1接口电路--------------------------------------------------------------44.2硬件连接图------------------------------------------------------------45.软件设计------------------------------------------------------------------5 5.1数字秒表工作流程图----------------------------------------------------55.2用51单片机实现数字秒表工作源程序-------------------------------------65.2.1程序运行图-----------------------------------------------------------9 6.总结---------------------------------------------------------------------91.实验内容及要求1.1实验内容用AT89C51设计一个秒表,该秒表课可显示0.0~59.9秒的时间,进行相应的单片机硬件电路的设计并进行软件编程。
课程设计_单片机__60秒秒表

目录前言 (2)1.总体设计方案 (3)2硬件设计方案 (3)2.1 电路原理 (3)2.2 电路原理图 (4)3.软件设计(加流程图) (6)3.1函数流程图 (6)3.2 算法描述 (9)3.3源程序 (10)4系统的安装调试 (11)5课程设计总结与体会 (12)6.参考文献 (14)前言单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。
从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。
单片微型计算机简称单片机,是典型的嵌入式微控制器单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
它最早是被用在工业控制领域。
由于单片机在工业控制领域的广泛应用,单片机由仅有CPU的专用处理器芯片发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
本次课程设计要求制作一个秒表,开始时,显示“00”,第1次按下按钮后就开始计时;第2次按按钮后,计时停止;第3次按按钮后,计时归零。
1总体设计方案1.1硬件设计思路将单片机设计成控制器,在M CS51的P0口和P2口都接,P0口接上拉电阻,分别显示十位和个位数字。
60秒倒计时时钟 单片机AT89C51 C语言程序

#include<reg51.h>typedef unsigned char uint8;typedef unsigned int uint16;/*七段共阳管显示定义*/uint8 code dispcode[ ]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};/*定义并初始化变量*/uint8 seconde=59;uint16 mstcnt=0;/*函数声明*/void delay(uint8 k ); //延时子程序void time_pro( ); //时间处理子程序void display( ); //显示子程序/*****************************//*延时子程序*//****************************/void delay (uint8 k){uint8 j;while((k--)!=0){for(j=0;j<125;j++){;}}}/**************************//*时间处理子程序*//**************************/void time_pro( void){if(seconde==0)//秒钟设为59进制{ seconde=59; }}/*****************************//* 显示子程序*//*****************************/void display(void){P1=dispcode[seconde/10]; //显示秒的十位delay(4);P2=dispcode[seconde%10]; //显示秒的个位delay(4);}/**************************//*1s定时定时*//**************************/void timer0(void) interrupt 1 using 0//定时器0方式1,250us中断一次{TH0=0xff;TL0=0x19;TMOD = 0x01;mstcnt++;if(mstcnt==4000){seconde--;mstcnt=0; //注意对计数单元的清零}}/**************************//*主函数*//**************************/void main(void){ P1=0xff; //初始化p0口,全设为1使数码管P2=0xff; //初始化p2口,全设为1使数码管TMOD = 0x01; //time0为定时器,方式1TH0=0xff; //预置计数初值TL0=0x19;EA=1;ET0=1;TR0=1;while (1){time_pro( ); //时间处理display( ); //显示时间}}。
倒计时60秒程序(单片机C51)

倒计时60秒程序(单片机C51)#include#define uint unsigned int#define uchar unsigned charuchar code table[]={0xc0,0xf9,0xa4, 0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};sbit gew=P2^1;sbit shiw=P2^0;sbit k2=P1^0;uchar num,num1=60,num2,shi,ge;void Init(){TMOD=0X01; TH0=(65536-50000)%256; TL0=(65536-50000)%256;EA=1;ET0=1; TR0=1;}void delay(uint xms) //延时子函数{uint i,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}void scankey() //键盘检测子函数{if(k2==0) //检测键是否被按下{delay(5); //延时消除抖动if(k2==0) //重新读取k2的值{num2++; //num2为按次数标志位while(!k2); //等待按键释放if(num2==1) //按键一次计时停止TR0=0;if(num2==2) //按键两次计时开始{TR0=1;}}}}void main() //主函数{Init(); //初始化子函数调用while(1){scankey(); //不断键盘扫描gew=0; //打开数码管个位位选P0=table[ge]; //数码管个位赋值delay(1); //延时送入数据的反应时间gew=1; //关闭数码管个位位选delay(1);shiw=0; //打开数码管十位位选P0=table[shi]; //送入数据delay(1);shiw=1; //关闭数码管十位位选delay(1);}}void Timer0() interrupt 1{TH0=(65536-50000)/256; //定时器重装初值TL0=(65536-50000)%256;num++;if(num==20) //定时器每进行一个周期num加1,运行20个周期即为1s{num=0; //到1秒,num清0重新开始num1--; //倒计时1秒if(num1==0)num1=60;shi=num1%10; //两位数分离赋给数码管十位显示ge=num1%10; //两位数分离赋给数码管个位显示}}。
60秒倒计时器-单片机课程设计

目录一、设计要求 (3)二、设计的作用目的 (3)三、具体设计 (4)1.问题分析 (4)2.总体设计思想 (5)3.具体实现方法 (7)四、Proteus调试过程及现象 (14)五、调试问题及解决方法 (15)六、设计的优缺点分析 (16)七、总结 (16)八、参考文献 (17)一、设计要求由单片机接收小键盘阵列设定倒计时时间,倒计时的范围最大为60分钟,由LED 显示模块显示剩余时间,显示格式为 XX(分):XX(秒).X,精确到0.1s的整数倍。
倒计时到,由蜂鸣器发出报警。
绘制系统硬件接线图,并进行系统仿真和实验。
画出程序流程图并编写程序实现系统功能。
二、设计的作用目的此次设计是我们更进一步了解基本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,巩固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习和工作打好基础,为自己的专业技能打好基础。
通过解决实际问题,巩固和加深“单片机原理与应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。
本次设计注重对单片机工作原理以及键盘控制及显示原理的理解,以便今后自己在单片机领域的学习和开发打下基础,提高自己的动手能力和设计能力,培养创新能力,丰富自己的理论知识,做到理论和实践相结合。
本次设计的重要意义还在于对单片机的内部结构和工作状态做更进一步的了解,同时还对单片机的接口技术,中断技术,存储方式和控制方式作更深层次的了解。
三、具体设计1.问题分析:在电子技术飞速发展的今天,电子产品的人性化和智能化已经非常成熟,其发展前景仍然不可估量。
如今的人们需求的是一种能给自己带来方便的电子产品,当然最好是人性化和智能化的,如何能做到智能化呢?单片机的引入就是一个很好的例子。
单片机又称单片微型计算机,也称为微控制器,是微型计算机的一个重要分支,单片机是20世纪70年代中期发展起来的一种大规模集成电路芯片,是集CPU,RAM,ROM,I/O接口和中断系统于同一硅片上的器件。
课程设计 单片机 60秒秒表

1任务及要求1.1设计任务学会用已经学过的单片机原理与应用的知识, 来设计一个实用性的结构简单化的小型电子产品。
编写一个程序, 实现秒计时器从00—59计时的基本功能。
利用Proteus工具来演示秒计时器的计时。
1.2设计要求利用MCS-51系列单片机作为秒表的主控制器芯片, 在单片机的P0端口和P2端口分别接两个共阴数码管, P0口驱动显示秒时间的十位, P2口驱动显示秒时间的个位。
要求做到性能稳定, 结构简单通俗易懂, 结构模块化, 从而做到节约成本。
(1)熟悉电路, 了解P0和P1口的作用。
(2)熟悉W A VE编译环境。
(3)熟练掌握汇编语言, 调用延时程序。
2设计思想2.1硬件设计将单片机设计成控制器, 在AT89C51的P0口和P2口都接7SEG-COM-CATHODE, P0口接上拉电阻, 分别显示十位和个位数字。
2.2软件设计通过单片机实现控制00-59的计数, 根据设计的要求, 将0到59的数据除以10, 分别取商和余数。
并且当一秒钟到来时, 计数单元加1, 到达60时, 则自动返回到0, 从新秒计数。
同时在计数过程中调用延时程序。
3电路原理与电路图3.1电路原理编写程序对80C51芯片进行初始化, 在编程过程中主要使用延迟程序来实现秒计时器的计时功能。
用Proteus软件来实现秒计时器的仿真, 其中将P0口和P1口分别作为高低位输出端口。
3.2电路原理图图3.1电路原理图4流程图与算法描述4.1函数流程图4.1.1实验系统流程图图4.1.1 实验系统流程示意图4.1.2延时程序流程图图4.1.2 延时程序流程图4.2 算法描述根据设计的要求, 利用单片机控制, 实现秒计数并显示, 具体设计如下:(1)将0到59的数据通过对10整除和对10求余, 将数据的个位和十位分开。
DIV AB(2)加1计数INC @R0(3)延时程序DELAY: MOV R5,#100DELAY2: MOV R6,#20DELAY1: MOV R7,#248DJNZ R7,$DJNZ R6,DELAY1DJNZ R5,DELAY25仿真分析程序采用汇编语言编写, 并用protues软件编译。
单片机课设60秒计时器

.单片机课程设计说明书题目:00—60秒表设计学院:机电工程学院专业:机械设计制造及其自动化学生姓名:xxx学号:xxx指导教师单位:xxx姓名:xxx2013年12月13日摘要60秒计时器以单片机为核心,由计时器,控制器等组成。
系统采用模块化设计,主要分为计时器显示模块和按键控制模块。
每个模块的程序结构简单,任务明确,易于编写、调试和修改。
编程后利用Kcil软件来进行编译,在生成HEX文件装入芯片中,在通过调试实现60s计时功能。
本设计中系统硬件电路主要是由以下几个部分组成:单片机AT89C51、振荡电路、显示电路和按键开关。
该系统具有60s内准确计时和计时清零的功能。
关键字:单片机,计时,显示,60s计时,复位清零目录前言 (1)一、概述 (1)1.1、课程设计任务与目的 (1)1.2、总体方案设计 (2)1.2.1、设计方案框图 (2)1.2.2、硬件方案 (2)1.2.3、软件方案 (2)二、系统硬件设计 (3)2.1、电路总体设计方案 (3)2.2、电路原理图 (3)2.3、各硬件模块设计与制作 (3)2.3.1、AT89C51单片机设计 (3)2.3.2、晶振输入电路设计 (6)2.3.3、复位电路设计 (7)2.3.5、数码管显示部分电路 (8)2.3.6、绘制原理图. (10)2.3.7、生成PCB图 (11)2.3.8、制作PCB板 (11)2.3.9、钻孔,并焊接芯片 (12)2.4、遇到的问题与解决办法 (13)三、系统软件设计 (14)3.1、软件总体设计方案 (14)3.2、程序流程图 (16)3.3、部分重要模块汇编程序: (16)四、系统调试 (17)4.1、软件调试 (17)4.2、硬件调试 (18)五、系统功能 (19)六、总结 (19)七、附录 (19)八、参考文献 (21)前言我们的任务是设计60s秒表计时器,用AT89S51单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加1,秒计数到60时,自动从0开始,实现0到60秒的循环显示的功能。
60秒计时器.做板

单片机课程设计报告实验名称: 60秒计时器60秒计时器实验报告一,实验目的1. 学习8052定时器时间计时处理、按键扫描及LED数码管显示的设计方法。
2. 设计任务及要求点亮两个数码管,并一秒累计一次,最多60次,然后重置。
二,实验要求1.两个数码管从0变到60,一秒变动一次。
2.到60后重置回00。
三,实验基本原理动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。
这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。
选亮数码管采用动态扫描显示。
所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。
利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.05s中断一次并当作一个计数,设定定时1秒的中断计数初值为20,每中断一次中断计数初值加1,当加到20时,则表示1s到了,数码管加1。
四,实验设计分析针对要实现的功能,采用AT89S51单片机进行设计,AT89S52 单片机是一款低功耗,高性能CMOS8位单片机,片内含8KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造。
这样,既能做到经济合理又能实现预期的功能。
在程序方面,采用调用函数,时间,重置,显示等程序一次列出,方便调用,纠错。
五,实验要求实现A.电路设计1. 整体设计此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用2个共阴数码管分别显示十位,个位,通过动态扫描进行显示,从而避免了译码器的使用,同时节约了I/0端口,使电路更加简单。
单片机采用AT89S52系列,这种单片机应用简单、适用。
电路的总体设计框架如下:2. 分块设计模块电路主要分为:显示部分、复位和晶振电路。
2.1 显示部分本实验选用锁存器控制数码管的输出,模块如下:2.3 晶振与复位电路本实验单片机时钟用内部时钟,模块如下:复位电路为手动复位构成,模块如下:B.程序设计B.1 程序总体设计本实验用汇编程序完成. 程序总的流程图如下:NoYes结合电路图,程序设计的整体思路为:接通电源,数码管显示十位、个位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计说明书题目:00—60秒表设计学院:机电工程学院专业:机械设计制造及其自动化学生姓名:xxx学号:xxx指导教师单位:xxx姓名:xxx2013年12月13日摘要60秒计时器以单片机为核心,由计时器,控制器等组成。
系统采用模块化设计,主要分为计时器显示模块和按键控制模块。
每个模块的程序结构简单,任务明确,易于编写、调试和修改。
编程后利用Kcil软件来进行编译,在生成HEX文件装入芯片中,在通过调试实现60s计时功能。
本设计中系统硬件电路主要是由以下几个部分组成:单片机AT89C51、振荡电路、显示电路和按键开关。
该系统具有60s内准确计时和计时清零的功能。
关键字:单片机,计时,显示,60s计时,复位清零目录前言 (1)一、概述 (1)1.1、课程设计任务与目的 (1)1.2、总体方案设计 (2)1.2.1、设计方案框图 (2)1.2.2、硬件方案 (2)1.2.3、软件方案 (2)二、系统硬件设计 (3)2.1、电路总体设计方案 (3)2.2、电路原理图 (3)2.3、各硬件模块设计与制作 (3)2.3.1、AT89C51单片机设计 (3)2.3.2、晶振输入电路设计 (6)2.3.3、复位电路设计 (7)2.3.5、数码管显示部分电路 (8)2.3.6、绘制原理图. (10)2.3.7、生成PCB图 (11)2.3.8、制作PCB板 (11)2.3.9、钻孔,并焊接芯片 (12)2.4、遇到的问题与解决办法 (13)三、系统软件设计 (14)3.1、软件总体设计方案 (14)3.2、程序流程图 (16)3.3、部分重要模块汇编程序: (16)四、系统调试 (17)4.1、软件调试 (17)4.2、硬件调试 (18)五、系统功能 (19)六、总结 (19)七、附录 (19)八、参考文献 (21)前言我们的任务是设计60s秒表计时器,用AT89S51单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加1,秒计数到60时,自动从0开始,实现0到60秒的循环显示的功能。
现代计时器是用数字集成电路做成的现代计时器,与传统的机械钟相比,走时准确、显示直观(有荧光七段数码显示器)、无机械传动装置等优点。
而且钟表的数字化给人们生产生活带来了极大的方便。
广泛用于个人家庭,车站,码头、办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英振荡器的广泛应用,使得数字计时表的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大地方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、校时自动打铃、时间程序自动控制、定是广播、自动启闭路灯、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字计时器及扩大其应用有着非常现实的意义。
一、概述1.1、课程设计任务与目的课程设计任务:00-60秒表设计用AT89S51单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,一秒产生时,秒计数加1,秒计数到60时,自动从0开始。
额外拓展,实现两个按键,一个实现计时暂停,一个实现从0计时。
课程设计目的:课程设计是单片机课程教学的最后一个环节,是对学生进行全面的系统的训练,进行课程设计可以让学生把学过的比较零碎的知识系统化,真正的能够把学过的知识落到实处,能够开发简单的系统,也进一步激发了学生再深一步学习的热情,因此课程设计是必不可少的,是非常必要的。
课程设计是提高学生单片机技术应用能力以及文字总结能力的综合训练环节,是配合单片机课程内容掌握应用得的专门性实践类课程,通过典型实际问题的实际,训练学生的软硬件的综合设计、调试能力以及文字组织能力,建立系统设计概念,加强工程应用思维方式的训练,同时对教学内容做一定的扩充。
通过课程设计,使自己深刻理解并掌握基本概念,掌握单片机的基本应用程序设计及综合应用程序设计的方法,通过做一个综合性训练题目,达到对内容的消化、理解并提高解决问题的能力的目的。
1.2、总体方案设计1.2.1、设计方案框图1.2.2、硬件方案1、制作一个AT89S51最小系统;2、采用两个LED七段数码显示管分别显示秒表的个位和十位;3、P0口输出十位段码,P2口输出个位段码。
1.2.3、软件方案1、因为当晶振频率为12MHz时,选择定时/计时器的模式1;2、时间设定定时/计数器定时时间,累计合适中断次数后执行刷新显示子程序;3、每隔1s秒计数加1,秒计数到60自动从0开始,循环不止。
二、系统硬件设计2.1、电路总体设计方案最小系统应符合以下要求:(1)引出4个I/O端口,便于硬件拓展,同时接入排阻以满足更多的使用要求(2)在上电自动复位的基础上添加按键复位功能,以提高系统的可控性;(3)采用按钮开关、继电器与稳压二极管构成电源电路,以提高系统的稳定性;(4)具有专门的编程端口;(5)采用内部时钟电路。
2.2、电路原理图2.3、各硬件模块设计与制作2.3.1、AT89C51单片机设计AT89C51是一个低功耗高性能CMOS 8位单片机,片内含4k Bytes ISP In-system programmable 的可反复擦写1000次的Flash,只读程序存储器器件采用ATMEL公司的高密度非易失性存储技术,制造兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案,AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图所示:主要特性:·与MCS-51 兼容·4K字节可编程闪烁存储器·寿命1000写擦循环·数据保留时间10年·全静态工作0Hz-24MHz·三级程序存储器锁定·128×8位内部RAM·32可编程IO线·两个16位定时器计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路管脚说明:(1)电源与时钟引脚Vcc:电源接入引脚Vss:接地引脚XTAL1:晶振震荡器接入的一个引脚采用外部振荡器时此引脚接地XTAL2:晶体振荡器的另一个引脚(采用外部振荡器时此引脚作为外部振荡器信号的输入端)(2)控制线引脚RST/Vpd:复位信号输入引脚备用电源输入引脚ALE:地址锁存允许信号输出引脚编程脉冲输入引脚EA:内外存储器选择引脚片外EPROM编程电压输入引脚PSEN:外部程序存储器选通信号输出引脚(3)并行IO引脚(4)P00-P07:一般IO口引脚或数据低位地址总线复用引脚(5)P10-P17:一般IO口引脚(6)P20-P27:一般IO口引脚或高位地址总线引脚(7)P30-P37:一般IO口引脚或第二功能引脚内部振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器,石晶振荡和陶瓷振荡均可采用如采用,如果采用外部时钟源驱动器件,XTAL2应不接有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
P0口(P0.0-P0.7):P0口是一个8位漏极开路型双向I/O端口。
P0口可做通用I/O口使用,但在端口进行输入操作前,应先向端口的输出锁存器写“1”。
在CPU访问片外存储器时,P0口自动作为地址/数据复用总线。
在编程时,由P0口输入指令字节,而在验证程序时,P0口输出指令字节(验证时应外接上拉电阻)。
P0口能以吸收电流的方式驱动8个LS型TTL负载。
P1口(P1.0-P1.7):P1口是一个内部带上拉电阻的8为准双向I/O端口。
当P1输出高电平是,能向外部提供拉电流负载,因此,不需再外接上拉电阻。
当端口用作输入时,也应先向端口的输出锁存器写入“1”。
在编程和验证程序时,P1口用来输入低8位地址。
P1口能驱动4个LS型TTL负载。
P2口(P2.0-P2.7):P2口也是一个内部带上拉电阻的8位准双向I/O端口。
当CPU访问外部存储器时,P2口自动用作输出高8位地址,与P0低8位地址一起形成外部存储器的16位地址总线。
此时,P2口不再作为通用I/O口使用。
P2口可驱动4个LS型TTL负载。
在编程和验证程序时,P2口用作接收高8为地址。
P3口(P3.0-P3.7):P3口是一个内部带上拉电阻的8位多功能双向I/O端口。
P3口除了作通用I/O端口外,其主要功能是它的各位还具有第二功能。
无论P3口作通用输入框还是作第二输入功能口使用,相应位的输出锁存器和第二输出功能段都应置“1”。
P3口能驱动4个LS型TTL负载。
P3口作为第二功能使用时各引脚定义如下: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:外RAM写选通信号输出端;P3.7 ——RD:外RAM读选通信号输出端。
为便于硬件拓展以及满足更多的使用有求,在P0、P2口处分别接1KΩ和2.2KΩ的上拉电阻,并在每个端口出添加VCC和GND引脚。
2.3.2、晶振输入电路设计单片机必须在时钟的驱动下才能工作,在单片机内部有一个时钟振荡电路,只要外界一个振荡源就能产生一定的时钟信号,送到单片机内部的各个单元,决定单片机的工作速度。
时钟电路如下图AT89C51单片机内部的振荡电路是一个高增益反向放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。
单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。
AT89C51的时钟产生方式有两种:内部时钟电方式和外部时钟方式。
由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。
即利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路产生自激振荡。
最常用的是在XTAL1和XTAL2之间接晶体振荡器与电路构成稳定的自激振荡器,如图电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为12MHz的石英晶体,电容器一般选择30μF左右。
2.3.3、复位电路设计本设计中AT89C51是采用上电自动复位和按键复位两种方式。
复位电路可将单片机的各状态都恢复到初始化状态。
单片机的RES脚为硬件复位端,只要将持续高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态。