当前位置:文档之家› 单片机课程设计6位数字显示计时(DOC)

单片机课程设计6位数字显示计时(DOC)

单片机课程设计报告书课题: 6 位数显频率计数器院(系):机电工程学院专业:机械设计制造及其自动化姓名:学号:2014年1月14日目录一、前言----------------------------------------------------1.1、课程设计任务------------------------------------------------1.2、课程设计任务完成要求------------------------1.3、设计目的-----------------------------------------------------二、方案提出与论证-------------------------------------2.1频率测量原理与方法-----------------------------------三、系统硬件设计----------------------------------------3.1电路原理图总图-------------------------------------------------3.1.1电源供电电路--------------------------------------------------3.1.2 单片机时钟电路----------------------------------------------3.1.3单片机复位电路-----------------------------------------------3.1.4显示及驱动电路-----------------------------------------------3 .2 AT89C51单片机芯片的功能及其参数------------------四、系统软件设计----------------------------------------4.1软件流程图-------------------------------------------------------4.2程序调试及误差分析-------------------------------------------五、制作PCB板及焊接元件调试--------------------六、元器件明细表----------------------------------------七、实验总结-------------------------------八、参考文献----------------------------------------------题目四:6位数显频率计数器一前言数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。

在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,会被经常使用到。

1.1、课程设计任务任务要求: 1、要求能够对0-25KHZ的脉冲信号频率进行准确计数,计数误差不超过±2HZ。

2、计数的频率结果通过6位动态数码管显示出来。

分析:本课程设计主要任务是设计一个频率计数器,其主要功能如下:利用AT89C51单片机的T0、T1的定时计数器功能,来完成对输入的信号进行频率计数,计数的频率结果通过6位动态数码管显示出来。

要求能够对0-25KHZ的信号频率进行准确计数,计数误差不超过±2HZ。

1.2、课程设计任务完成要求1、根据题目要求设计控制系统。

2、完成硬件系统的制作。

3、完成软件的编写及调试(先用PROTEUS软件仿真)。

4、完成的控制系统能达到题目的要求。

5、完成2000字以上的课程设计报告1.3、设计目的:A、熟悉和掌握51单片机的原理、结构和应用;B、用PROTEL进行电路的设计,进一步了解相关软件的功能以及设计的一些规则;C、熟悉用C语言进行程序设计的一般方法、步骤和应用;D、积极发扬团队精神和集体荣誉感,互相协作、互相帮助;E、熟悉电路的调试的接线方法和调试方法及其原理F、锻炼自己的实践和动手能力,为以后能更快的投入工作而做准备;二、方案提出与论证2.1频率测量原理与方法方案一:直接测频法。

把被测频率信号经过脉冲形成电路后加到闸门的一个输入端,只有在闸门开通时间1秒内,被计数的脉冲被送到计数器进行计数。

设计数器的值为N,由频率定义式计算得到被测信号频率为f=N/T=N。

方案二:测量周期法。

将被测量信号经过过零检测后转换成方波信号,利用单片机查询两个下降沿,在此期间根据晶体振荡器产生的时钟经过12分频的脉冲送计数器进行计数,设计数值为N,送入计数器的时钟周期为T,则得被测量信号的周期值为NT,然后取其倒数即为被测量信号的频率(1/NT) 。

理论上分析:采用直接测频法在测量低频段信号时的相对测量误差较大,但在高频段测量信号的频率有较高的精度。

如果采用测频法测量低频段频率信号,要想提高精确度,势必会大幅度增加闸门开通时间T,时效性较差。

相反,采用测量信号周期然后取其倒数的方法在低频段测量时精度很高。

但是本题目要求误差为±2HZ,经过试验分析,加上必要的软件编程的措施,可以直接用高频的测法,在高频段,误差与示波器的显示频率基本一致,低频时,误差小于±0.5HZ,满足题目的要求!52单片机中断的进入都是需要一定的时间的,如果我们没有把这个考虑进去,直接进行软件的设计,误差达到了±20HZ。

不满足题目的要求!因而在编程的时候,把中断事件也考虑进去!这样可以使得误差减小!三、系统硬件设计3.1电路原理图总图3.1.1电源供电电路3.1.2 单片机时钟电路如图所示是采用内部振荡方式使8052单片机产生时钟信号,在单片机芯片的X1和X2引脚两端跨接石英晶体振荡器和两个电容构成稳定的自激振荡电路,其中电容对振荡频率起微调作用。

晶振频率为12MHZ。

3.1.3单片机复位电路复位是单片机的初始化操作。

其功能是使CPU从0000H单元开始执行程序。

除了使系统正常初始化外,当程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动。

如图为按键手动复位方式,通过复位端经电阻和电源+5V接通实现复位功能,兼备上电复位功能。

3.1.4显示及驱动电路共阳四位LED数码管三极管放大电路10K上拉电阻驱动电路该系统采用两个四位 LED共阳极显示器动态显示6位数。

当某一字段发光二极管的阴极极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

要使数码管正常发光一般都要加驱动电路,不加驱动电路是很暗的(特别是共阴极数码管)。

经计算本次设计需采用上拉电阻+三极管放大器来驱动整个发光电路,在三极管基极加以分压限流电阻,以防止数码管因电流过大而烧坏。

确保了试验器件的安全。

3 .2 AT89C51单片机芯片的功能及其参数AT89C51是一个有40个引脚的芯片,引脚配置如下图所示。

与8031相比,AT89C51自带4K的ROM和128B的RAM,因此编写中小型系统就无需任何硬件进行扩展。

AT89C51引脚配置AT89C51芯片的40个引脚功能为:VCC:电源电压。

GND:接地。

RST:复位输入。

当RST变为高电平并保持2个机器周期时,所有I/O引脚复位至“1”。

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

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

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

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

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

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

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

P0口:8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:8位双向I/O口。

引脚P1.2~P1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。

P1.0和P1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(AIN0)和反向输入(AIN1),P1口输出缓冲器能接收20mA电流,并能直接驱动LED显示器;P1口引脚写入“1”后,可用作输入。

在闪速编程与编程校验期间,P1口也可接收编码数据。

P2口:带内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:引脚P3.0~P3.7为带内部上拉的双向I/0引脚。

P3口的输出缓冲器能接收20mA的灌电流;P3口写入“1”后,内部上拉,可用输入。

P3口也可用作特殊功能口,其功能见表1。

P3口同时也可为闪速存储器编程和编程校验接收控制信号。

表3-1 P3口特殊功能P3口引脚特殊功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 (外部中断0)P3.3 (外部中断1)P3.4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)四、系统软件设计4.1软件流程图1 设计思路及原理单片机当工作方式寄存器TMOD的C/T位=1时为计数方式,多路开关与定时器0的外部引脚连通,外部计数脉冲由引脚输入。

相关主题