单片机频率计数器 湖南工程学院课设
单片机课设频率计数器

等级:课程设计课程名称单片机原理及应用课题名称频率计数器专业电子信息工程班级1302学号0218姓名许聪指导老师寻大勇等2016年3月25日电气信息学院课程设计任务书课题名称频率计数器姓名许聪专业电子信息班级1302 学号18指导老师寻大勇课程设计时间2016年3月14日-2016年3月25日教研室意见意见:审核人:一、任务及要求设计任务:本课题以单片机为核心,设计和制作一个频率计数器,来完成对输入的信号进行频率计数,计数的频率结果能够显示出来。
要求能够对0-250KHz的信号频率进行准确计数,计数误差不超过±1HZ。
设计要求:(1)确定系统设计方案;(2)进行系统的硬件设计;(3)完成应用程序设计;(4) 应用系统的硬件和软件的调试。
二、进度安排第一周:周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。
周二~周三:完成硬件设计和电路连接周四~周日:完成软件设计第二周:周一~周三:程序调试周四~周五:设计报告撰写。
周五进行答辩和设计结果检查。
三、参考资料1、王迎旭等.单片机原理及及应用. 2版.机械工业出版社,20122、胡汉才.单片机原理及其接口技术.3版.清华大学出版社,2010.3、戴灿金.51单片机及其C语言程序设计开发实例.清华大学出版社,2010目录第1章设计任务及要求 (1)设计任务 (1)设计要求 (1)第2章系统方案设计 (1)基本设计原理 (1)方案整体框图 (2)第3章系统硬件电路设计 (2)复位电路 (2)晶振电路 (3)LED数码管显示电路 (3)第4章系统软件设计 (4)主程序流程图 (4)初始化模块 (5)信号频率测量模块 (5)数码管显示模块 (5)程序中断模块 (6)数码管扫描模块 (7)第5章系统仿真及调试 (7)C程序编译 (8)Proteus仿真 (9)心得体会 (9)参考文献 (10)附录A 仿真总图 (12)附录B 程序清单 (13)第1章设计任务及要求设计任务:本课题以单片机为核心,设计和制作一个频率计数器,来完成对输入的信号进行频率计数,计数的频率结果能够显示出来。
单片机数字频率计课程设计

单片机数字频率计课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解数字频率计的工作机制。
2. 使学生能够运用单片机编程实现数字频率计的功能,包括计时、计数和显示。
3. 让学生了解数字频率计在实际应用中的重要性,如信号处理、电子测量等领域。
技能目标:1. 培养学生运用单片机进行数字频率计设计和编程的能力。
2. 培养学生运用相关软件(如Keil、Proteus等)进行电路仿真和调试的能力。
3. 提高学生的动手实践能力,学会在实际操作中发现问题、解决问题。
情感态度价值观目标:1. 激发学生对电子技术和单片机编程的兴趣,培养其创新精神和实践能力。
2. 培养学生严谨的科学态度,注重实验数据的准确性和可靠性。
3. 增强学生的团队协作意识,学会在项目合作中相互支持、共同进步。
课程性质:本课程为实践性较强的课程,要求学生在掌握理论知识的基础上,进行实际操作和项目实践。
学生特点:学生具备一定的单片机基础知识,对编程和电路设计有一定了解,但实际操作能力有待提高。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,以项目为导向,培养学生的动手实践能力和创新能力。
通过课程学习,使学生能够独立完成单片机数字频率计的设计和编程任务,达到课程目标所要求的具体学习成果。
二、教学内容1. 理论知识:- 单片机原理和结构:介绍单片机的内部组成、工作原理及性能特点。
- 数字频率计原理:讲解频率的概念、测量原理及其在电子测量中的应用。
- 编程语言:回顾C语言基础知识,重点掌握单片机编程相关语法。
2. 实践操作:- 电路设计:学习使用Proteus软件设计数字频率计电路,包括单片机、计数器、显示模块等。
- 程序编写:运用Keil软件编写数字频率计程序,实现计数、计时和显示功能。
- 仿真调试:在Proteus环境下进行电路仿真,调试程序,确保其正常运行。
3. 教学大纲:- 第一周:回顾单片机原理和结构,学习数字频率计原理。
《单片机技术》课程设计课题任务书(计算器)

(2)、显示程序模块
(3)、键盘程序模块
(4)、各种计算程序模块
三、设计要求
该计算器上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。能实现(1)基本的加、减、乘、除、平方、开方;(2)三角函数运算;(3)十进制、十六进制转换运算;(4)其它功能。
主要参考资料
[1]李广弟.单片机基础[M].第3版.北京:北京航空航天大学出版社,2003.6.
[2]李全利.单片机原理及应用(C51编程)[M].北京:高等教育出版社,2012.12.
[3]马忠梅.单片机的C语言应用程序设计[M].第4版.北京:北京航空航天大学出版社,2003.6.
[4]李光飞.单片机C程序设计指导[M].北京:北京航空航天大学出版社,2003.01.
[5]李光飞.单片机课程设计实例指导[M].北京:北京航空航天大学出版社,2004.9.
湖南工学院《单片机技术》课程设计课题任务书
学院:电气与信息工程学院专业:电气1301~2
指导教师
王韧
学生姓名
课题名称
计算器
内容及任务
一、设计任务
设计一个具有特定功能的计算器。
二、设计内容
1、计算器的硬件系统
(1)、单片机最小系统模块
(2)、供电模块
(3)、显示模块
(4)、键盘模块
2、计算器的软件系统
教研室
意见
教研室主任:(签字)
年月日
单片机频率计课程设计

单片机频率计课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其内部结构和功能。
2. 学生能掌握频率计的设计原理,理解并运用相关电路知识。
3. 学生能了解并掌握编程语言在单片机应用中的基本使用方法。
技能目标:1. 学生能运用所学知识,设计并搭建一个简单的单片机频率计电路。
2. 学生能编写程序,实现对频率计的功能控制,进行基本的数据测量。
3. 学生能通过实验过程,培养动手操作能力、问题解决能力和团队协作能力。
情感态度价值观目标:1. 学生通过课程学习,培养对单片机及电子技术的兴趣,激发创新思维。
2. 学生能认识到单片机技术在现实生活中的应用价值,增强学以致用的意识。
3. 学生在课程实践过程中,培养严谨、细致的科学态度,提高对科学研究的尊重和热爱。
课程性质分析:本课程为实践性较强的电子技术课程,旨在通过单片机频率计的设计与实现,使学生在实践中掌握单片机技术的基本原理和应用。
学生特点分析:学生处于高年级阶段,已具备一定的电子技术基础知识,具有较强的学习能力和动手能力,对实际操作有较高的兴趣。
教学要求分析:根据课程性质和学生特点,要求课程目标具体、可衡量,注重理论与实践相结合,培养学生的实际操作能力和创新思维能力。
通过分解课程目标为具体学习成果,为后续教学设计和评估提供依据。
二、教学内容本课程教学内容围绕单片机频率计的设计与实现,结合以下章节进行组织:1. 单片机基础理论:介绍单片机的内部结构、工作原理和功能特点,重点讲解单片机的时钟系统、I/O口控制、中断系统等基础知识。
2. 频率计原理:讲解频率计的基本原理,包括信号发生器、计数器、时钟脉冲等组成部分,以及频率测量的基本方法。
3. 电路设计与搭建:指导学生运用所学知识,设计并搭建一个简单的单片机频率计电路,包括单片机选型、外围电路设计、元器件选型等。
4. 编程与调试:教授编程语言基础,如C语言、汇编语言等,指导学生编写单片机程序,实现对频率计的功能控制,并进行程序调试。
湖南工程学院单片机-计分器设计

湖南工程学院应用技术学院课程设计课程名称单片机原理及应用课题名称比赛计分器设计专业电气工程及其自动化班级电气1181 班学号************姓名彭重磊指导教师汪超、赵葵银、周向红等2014 年 5 月23 日湖南工程学院应用技术学院课程设计任务书课程名称:单片机原理与应用题目:比赛计分器设计专业班级:电气1181学生姓名:***学号:************指导老师:**审批:任务书下达日期2014年5月12日设计完成日期2014年5月23日目录第1章系统概述 (1)1.1系统功能 (1)1.2设计要求 (1)1.3设计内容 (1)1.4 按键设置 (2)第2章系统方案设计 (3)2.1 系统组成框图 (3)2.2 软件设计流程 (4)第3章系统硬件设计 (5)3.1单片机选型及确定 (5)3.2单片机与键盘接口电路 (6)3.3单片机与显示接口电路 (6)第4章系统软件设计 (7)4.1主程序设计 (7)4.2各子程序设计 (8)4.2.1 初始化子程序 (8)4.2.2 延时子程序 (8)4.2.3 按键判断程序 (8)4.2.4 数码管显示之程序 (12)第5章系统调试 (16)5.1 系统仿真调试 (16)5.2 实物调试 (18)参考文献 (21)第1章系统概述1.1系统功能设计一个甲、乙两队比赛计分器,主要用于各种体育比赛记录分数。
采用键盘作为输入,使用LED数码管进行显示。
基于以上思路,本次设计使用80C51实现一基于单片机的电子计分器的设计,其主要具有如下功能:(1)用户两个按钮对各队的分数加减操作,本系统中可分别对两队比分进行加1、加2、加3和减1,减2,减3操作,并且可以同步显示对应的LED灯亮。
(2)比分通过8个8段共阴极数码管显示器进行显示,每队比分显示三位,中间使用了两位显示分隔符,实际只使用数码的了8段中7段。
(4)具有复位功能,通过复位键实现。
(5)预置分按钮可以实现直接置入一个相同分数,然后通过加减可以达到置入想要显示的两队的初始分数。
单片机频率计数器课程设计教材

课程设计报告课程名称:单片机课程设计题目:基于单片机的频率计数器设计学院:环境与化学工程系:过程装备与测控工程专业:班级:学号:学生姓名:起讫日期:指导教师:摘要数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
它是一种用十进制数字,显示被测信号频率的数字测量仪器。
它的基本功能是测量正弦信号,方波信号以及其他各种单位时间内变化的物理量。
本课程设计主要设计一个简易的频率计,来实现信号在0-9999HZ范围内周期变化的方波频率的测定。
该文主要介绍了基于STC89C52 单片机频率计的设计方案和实现方法,该系统主要由硬件和软件两部分组成,其中重点给出了具体硬件电路图和软件流程图以及具体工作原理。
硬件部分通过洞洞板的布线设计帮助,可以确保焊接时尽量少的飞线和出错。
软件通过keil µvision编译及调试,其中在P1.7口编入了一个5500HZ的方波,用以仿真调试该频率计的软硬件功能是否能够实现输出频率的功能。
另外,本设计多增加了一个按键功能,通过一个按键来控制定时计数器的开始和关闭。
该频率计还带有3*3的矩阵键盘,可以作为扩展应用区,通过编程实现。
本设计中用的是LED共阴数码管,输出频率时采用的事动态显示的方法。
关键词:频率计;单片机;动态显示目录一、频率计数器的设计任务和要求 (1)1.1 频率计数器的设计任务 (1)1.2 设计要求及发挥部分 (1)二、方案的总体设计 (1)2.1 方案的设计 (1)2.2 方案的整体框图 (2)2.3 方案的说明 (2)三、硬件设计 (2)3.1 单片机的最小系统 (2)3.1.1 上电复位电路 (2)3.1.2 晶振电路 (3)3.2 LED数码管显示电路 (3)3.3 整体电路 (4)四、软件设计 (4)4.1 程序流程图 (5)4.2 初始化子函数 (5)4.3 延时子函数 (5)4.4 中断子函数 (5)五、系统的调试和说明 (6)5.1 C程序的说明 (6)5.2 C程序编译的结果 (6)5.3 实物图 (7)六、设计总结与心得体会 (8)6.1设计总结 (8)6.2 设计心得 (9)七、参考文献 (9)附录 (10)一、频率计数器的设计任务和要求1.1 频率计数器的设计任务本课程设计任务主要是基于单片机系统,通过软件、硬件的调试,完成一个具有计数功能的频率计数器。
湖南工学院单片机课程设计数字温度计设计

《单片机技术》课程设计说明书数字温度计院、部:电气与信息工程学院学生姓名:郭攀飞指导教师:凌云职称讲师专业:通信工程班级:通信工程1202班完成时间:2015-1-3《单片机技术》课程设计任务书一、设计题目:数字温度计。
二、适用班级:电子1201-1202,通信1201-1202三、指导教师:凌云四、设计目的与任务:学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机技术》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。
五、设计内容与要求设计内容1、数字电子钟设计一个具有特定功能的电子钟。
该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。
2、数字频率计设计一个能够测量周期性矩形波信号的频率、周期、脉宽、占空比的频率计。
该频率计上电或按键复位后能自动显示系统提示符“P.”,进入测量准备状态。
按频率测量键则测量频率;按周期测量键则测量周期;按脉宽测量键则测量脉宽;按占空比测量键则测量占空比。
3、数字电压表设计一个能够测量直流电压的数字电压表。
测量电压范围0~5V,测量精度小数点后两位。
该电压表上电或按键复位后能自动显示系统提示符“P.”,进入测量准备状态,按测量开始键则开始测量,并将测量值显示在显示器上,按测量结束键则自动返回“P.”状态。
4、交通灯设计一个具有特定功能的十字路口交通灯。
该交通灯上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
按开始键则开始工作,按结束键则返回“P.”状态。
要求甲车道和乙车道两条交叉道路上的车辆交替运行,甲车道为主车道,每次通车时间为60秒,乙车道为次车道,每次通车时间为30秒,要求黄灯亮3秒,并且1秒闪烁一次。
单片机课程设计-频率计数器

《频率计数器》课程设计说明书专业班级:12级电信(3)班姓名:徐丰陈宇轩张旭鹏学号:080212124 080212116 0802105指导老师:唐飞物理与电气工程学院2014年6月8日目录1、课程设计的目的和任务 (3)1.1、单片机频率计数器课程设计的概述 (3)1.1.1、课程设计题目 (3)1.1.2、课程设计的难点 (3)1.1.3、课程设计内容提要 (3)1.1.4、课程设计的意义 (3)1.1.5、课程设计仪器 (4)1.2、课程设计的思路及描述 (4)1.3、课程设计的任务和要求 (4)1.3.1、设计指标 (4)1.3.2、设计要求 (4)2、系统硬件方案设计 (5)2.1、系统方框图 (6)2.2、电路原理图 (6)3、系统软件设计 (6)3.1、电路原理逻辑图 (6)3.2、程序流程图 (7)4、心得体会 (10)参考文献 (10)附录 (12)1.1、单片机频率计数器课程设计的概述1.1.1、课程设计题目频率计数器设计—用STC89C52RC设计一个频率计数器LED 数码管显示,设定时间一秒,一秒内波形重复的个数记为频率,定义了一个按键,功能:清零开始测频率。
1.1.2、课程设计的难点单片机频率计数器需要解决四个主要问题,一是有关单片机定时器的使用;二是如何实现LED数码管的动态显示;三是如何通过键盘控制;四是如何设置外部中断。
1.1.3、课程设计内容提要本课程利用单片机的定时器/计数器定时和计数的原理,结合集成电路芯片8051、LED数码管以及按键来设计频率计。
将软硬件有机地结合起来,使得系统能够正确地进行频率的测试,数码管能正确显示读数。
其中课程设计有一个按键:按键按下即对数码管清零测频率。
1.1.4、课程设计的意义1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。
2)掌握定时器、外部中断的设置和编程原理。
3)通过此次课程设计能够将单片机软硬件接合起来,对程序进行编辑,校验。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章概述 (1)1.1设计内容 (1)1.2设计要求 (1)1.3设计目的 (1)第2章设计方案 (2)2.1 测频原理 (2)2.2 设计总体思路 (2)第3章各模块硬件设计及说明 (3)3.1 单片机的选择与说明 (3)3.2 方波发生器电路设计 (4)3.3 晶振电路的设计 (4)3.4 复位电路设计 (5)3.5 数码管显示电路设计 (6)第4章软件部分的设计 (8)4.1 软件设计思路 (8)4.2 软件设计流程图 (9)4.3 源程序编写 (9)第5章系统的仿真与调试 (12)第6章总结与体会 (14)参考文献 (15)附录:频率计数器电路图 (16)第1章概述1.1设计内容以单片机为核心,设计和制作一个频率计数器,来完成对输入的信号进行频率计数,计数的频率结果通过6位动态数码管显示出来。
要求能够对0-250KHZ 的信号频率进行准确计数,计数误差不超过±1HZ。
1.2设计要求(1)设计方案要合理、正确;(2)系统硬件设计;(3)完成必要元器件选择;(4)系统软件设计及调试;(5)写出设计报告。
1.3设计目的(1)了解定时、计数器的结构及其工作原理;(2)掌握单片机的定时、计数器的控制方式;(3)掌握应用单片机进行频率测试控制的原理;(4)能根据设计任务要求编制数显频率计数器的程序,理解程序对计数器的控制原理;(5)会利用电路仿真软件绘制数显频率计数器的电路原理图;(6)会用KeilC51软件对源程序进行编译调试及与Proteus软件联调,实现电路仿真。
第2章设计方案2.1 测频原理以被测信号整形后的方波脉冲作为控制闸门信号, 采用单片机内部的定时器计数器进行计数。
方波脉冲的上升沿到达, 定时器计数器开始从零启动计数, 每一机器周期, 计数器加1, 直到方波脉冲的下降沿到达, 计数器则停止计数, 此时, 计数器内存储的是脉宽的机器周期数的2倍。
由于单片机内部振荡频率很高, 故允许有一个机器周期的量化误差。
设定时器计数器内存储的机器周期数为N, 机器周期为Tc, 则信号周期为T=2N×Tc (1) 于是,信号频率为f=1/T=1/(2N×Tc) (2) 2.2 设计总体思路在设计频率计数器前,需要先设计一个简单的输入信号发生器,在本课题我们选择设计一个简易的方波发生器,频率可以自行调整。
频率计数器的设计包括频率计数和显示电路的的设计,频率计数需包含复位,译码功能,显示电路的功能要求能通过6位动态数码管将计数频率的结果显示出来。
频率计数器的设计需先利用相应的编程软件设计出程序,编译通过后在利用仿真软件仿真出正确的结果。
总设计框图如下:频率计数器总设计框图第3章各模块硬件设计及说明3.1 单片机的选择与说明在本课题中使用的是AT89C51单片机。
一般的OTP产品,一旦错误编程就成了废品,而ATMEL公司89系列单片机内部采用了Flash存储器,所以,错误编程之后仍可以重新编程,直到正确为止。
其次是它可反复进行系统试验。
用89系列单片机设计的系统,可以反复进行系统试验,每次试验可以编入不同的程序,这样就可以保证用户的系统设计达到最优,而且还可以随用户的需要和发展进行修改,使系统能不断追随用户的最新要求。
本次课程设计我选择AT89C51单片机。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,1.主要特性:与MCS-51 兼容;4K字节可编程FLASH存储器;寿命:1000写/擦循环;数据保留时间:10年;全静态工作:0Hz-24MHz;三级程序存储器锁定;128×8位内部RAM;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的闲置和掉电模式;片内振荡器和时钟电路。
2.振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
3.芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
AT89C51的引脚分布:AT89C51的引脚分布3.2 方波发生器电路设计如下图:在P3.2输入频率可调方波。
方波发生器3.3 晶振电路的设计在MCS-51芯片内部有一个高增益反相放大器,其输入端为XTAL1,其输出端为引脚XTAL2。
而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟电路,如下图所示:时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。
一般地,电容C1和C2取30pF左右,晶振的振荡频率范围为1.2—12MHz。
晶体振荡频率高,系统的时钟频率也高,单片机运行速度也就越快。
MCS-51在通常应用情况下,使用振荡频率为6MHz或12MHz。
晶振电路3.4 复位电路设计根据应用的要求,复位操作有两种基本形式:上电复位和上电或开关复位。
当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
上电复位要求接通电源后,自动实现复位操作。
电容C3和电阻R9对电源十5V来说构成微分电路。
如下图复位电路所示。
要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。
由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。
当单片机已在运行当中时,按下复位键RST后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。
本系统的复位电路采用上电复位。
RET按键可以选择专门的复位按键,也可以选择轻触开关。
复位电路3.5 数码管显示电路设计首先介绍一下显示器的显示接口,按驱动方式分为静态显示和动态显示两种显示方式。
对于多为显示器,通常都是采用动态显示,既逐个地循环地点亮各位显示器。
这样虽然在任一时刻只有一位显示器被点亮,但是由于人眼具有视觉残留效应,看起来与全部点亮效果一样。
为了实现LED显示器的动态扫描,除了要给显示器提供段的输入之外,还有对显示器选择位的控制,这就是通常说的段控和位控。
因此,多位LED显示器接口电路需要有两个输出口,其中一个用于8条段控线;另一个用于输出位控线,位控线的数目等于显示器的数目。
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O 线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
如下图所示:AT89C51的P0-P0.6分别连接数码管的A-G引脚,P0.7连接DP端,低电平有效。
P1.0-P1.2输出数码管的位码,控制6个数码管,高电平有效。
由于由P0口输出的是二进制码,故要使用译码器74LS138进行译码,产生6个输出端,控制6个数码管的状态。
数码管显示电路译码电路第4章软件部分的设计4.1 软件设计思路在计数器工作方式下,加至外部引脚的待测信号发生从1到0的跳变时计数器加1。
外部输入在每个机器周期被采样一次,这样检测一次从1到0的跳变至少需要2个机器周期(24个振荡周期),所以最大计数速率为时钟频率的1/24(使用12MHz时钟,最大计数速率为500kHz),也就是说,使用12MHz时钟的AT89C51单片机设计的频率计数器系统,所测信号的频率不能大于500kHz,若大于则必须通过分频器分频才能测试,而本次任务的要求是对0-300kHz的信号进行测量,所以可以直接进行。
利用AT89C51单片机的TO,T1的定时/计数器功能,来完成对输入的信号进行频率计数。
设置定时器0工作方式1,定时1s,并产生方波信号从P1.1引脚输出。
设置定时器1工作在计数方式1,对输入脉冲进行计数,溢出产生中断。
将定时器1中断定义为优先。
由于16位二进制加法计数器的最大计数值为65535,1s之内可能会产生多次溢出,所以需要在中断处理程序里对中断次数进行计数。
1s到后,将中断次数和计数器里的数值取出进行综合处理,处理后的数据送显示。
定时器T0的计数初值:由于定时器T0工作在定时方式时最大的定时时间大约为65ms,若要定时1s,可以采用定时10ms,中断100次来完成1s的定时。
对于定时10ms来说,用定时器方式1可实现。
机器周期为:Tp=12/晶振频率=12/12MHz=1μs计数初值为:X=2^n-Tc=2^16-50000=15536=3CB0H故THO=3CH,TL0=E0H。
信号频率的计算:T1工作在计数方式时最大的计数值为2^16,假设1s内溢出C1次,最后未溢出的计数值为C2,F=C1*2^16+C2=C1*65536+(TH1*256+TL1)。
4.2 软件设计流程图软件设计流程图4.3 源程序编写#include <REG52.H>unsigned long g_iCnt=0,g_CntLock;unsigned char g_cdisnum[6];code unsigned char g_cDistable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char cnt10ms=0;//延时void delay(unsigned int cnt){while(--cnt);}/*------------------------------------------------定时器初始化子程序------------------------------------------------*/void Init_Timer0(void){TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响TH0=0x3C; //给定初值,这里使用定时器最大值从0开始计数一直到10ms溢出 TL0=0xB0;EA=1; //总中断打开ET0=1; //定时器中断打开TR0=1; //定时器开关打开}void ShowToSeg(unsigned long uiNumber){static unsigned long PreuiNumber;if(PreuiNumber != uiNumber){g_cdisnum[0]=uiNumber/100000; //把计算数字的每个位存入数组。