对外部脉冲计数系统的设计计数器课程设计(单片机)

合集下载

【报告】单片机定时器计数器实验报告

【报告】单片机定时器计数器实验报告

【关键字】报告单片机定时器计数器实验报告篇一:单片机计数器实验报告计数器实验报告㈠实验目的1. 学习单片机内部定时/计数器的使用和编程方法;2. 进一步掌握中断处理程序的编程方法。

㈡实验器材1. 2. 3. 4. 5.G6W仿真器一台MCS—51实验板一台PC机一台电源一台信号发生器一台㈢实验内容及要求8051内部定时计数器,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数,使用8051的T1作定时器,50ms中断一次,看T0内每50ms来了多少脉冲,将计数值送显(通过LED发光二极管8421码来表示),1秒后再次测试。

㈣实验说明1. 本实验中内部计数器其计数器的作用,外部事件计数器脉冲由P3.4引入定时器T0。

单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变,这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样,同时这就决定了输入波形的频率不能超过机器周期频率。

2. 计数脉冲由信号发生器输入(从T0端接入)。

3. 计数值通过发光二极管显示,要求:显示两位,十位用L4~L1的8421码表示,个位用L8~L5的8421码表示4. 将脉搏检查模块接入电路中,对脉搏进行计数,计算出每分钟脉搏跳动次数并显示㈤实验框图(见下页)程序源代码ORG 00000H LJMP MAINORG 001BH AJMP MAIN1 MAIN:MOV SP,#60HMOV TMOD,#15H MOV 20H,#14H MOV TL1,#0B0H MOV TH1,#3CHMOV TL0,#00H;T0的中断入口地址;设置T1做定时器,T0做计数器,都于方式1工作;装入中断次数;装入计数值低8位;装入计数值高8位MOV TH0,#00HSETB TR1 ;启动定时器T1 SETB TR0 ;启动计数器T0 SETB ET1 ;允许T1中断SETB EA ;允许CPU中断SJMP $;等待中断MAIN1: PUSH PSW PUSH ACC CLR TR0CLR TR1 MOV TL1,#0B0H MOV TH1,#3CHDJNZ 20H,RETUNT MOV 20H ,#14HSHOW: MOV R0,TH0 MOV R1,TL0MOV A,R1 MOV B,#0AH DIV ABMOV C,ACC.3MOV P1.0,C MOV C,ACC.2 MOV P1.1,C MOV C,ACC.1 MOV P1.2,C MOV C,ACC.0 MOV P1.3,CMOV A,B MOV C,ACC.3MOV P1.4,C MOV C,ACC.2 MOV P1.5,C MOV C,ACC.1 MOV P1.6,C MOV C,ACC.0MOV P1.7,C ;保护现场;装入计数值低8位;装入计数值高8位,50ms;允许T1中断;未到1s,继续计时;1s到重新开始;显示计数器T0的值;读计数器当前值;将计数值转为十进制;显示部分,将A中保存的十位赋给L0~L3 将B中保存的各位转移到A中;将个位的数字显示在L4~L7上;RETUNT:MOV TL0,#00H;将计数器T0清零MOV TH0,#00HSETB TR0SETB TR1POP ACCPOP PSWRETI ;中断返回在频率为1000HZ时,L0~L7显示为50;频率为300HZ时,L0~L7显示为15,结果正确,程序可以正确运行。

单片机课程设计题目及答案

单片机课程设计题目及答案

题目1 智能电子钟(LCD 显示)题目2 电子时钟(LCD 显示)题目3 秒表题目4 定时闹钟题目5 音乐倒数计数器题目6 基于数字温度传感器的数字温度计题目7 基于热敏电阻的数字温度计题目8 十字路口交通灯控制题目9 波形发生器设计题目10 电容、电阻参数单片机测试系统的设计题目11 数字频率计题目12 8位竞赛抢答器的设计题目13 单词记忆测试器程序设计题目14 数字电压表设计题目15 可编程作息时间控制器设计题目16 节日彩灯控制器的设计题目17 双机之间的串行通信设计题目18 电子琴设计题目19 数字音乐盒的设计题目20 单片机控制步进电机题目21 单片机控制直流电动机题目1 智能电子钟(LCD 显示) 1. 设计要求 以AT89C51单片机为核心,制作一个LCD 显示的智能电子钟: (1) 计时:秒、分、时、天、周、月、年。

(2) 闰年自动判别。

(3) 五路定时输出,可任意关断(最大可到16路)。

(4) 时间、月、日交替显示。

(5) 自定任意时刻自动开/关屏。

(6) 计时精度:误差≤1秒/月(具有微调设置) (7) 键盘采用动态扫描方式查询。

所有的查询、设置功能均由功能键K1、K2完成。

2. 工作原理 本设计采用市场上流行的时钟芯片DS1302进行制作。

DS1302是DALLAS 公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM ,可以通过串行接口与计算机进行通信,使得管脚数量减少。

实时时钟/日历电路能够计算2100年之前的秒、分、时、日、星期、月、年的,具有闰年调整的能力。

DS1302时钟芯片的主要功能特性:(1) 能计算2100年之前的年、月、日、星期、时、分、秒的信息;每月的天数和闰年的天数可自动调整;时钟可设置为24或12小时格式。

(2) 31B 的8位暂存数据存储RAM 。

(3) 串行I/O 口方式使得引脚数量最少。

(4) DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需3根线。

51单片机外部脉冲计数程序

51单片机外部脉冲计数程序

51单片机外部脉冲计数程序51单片机外部脉冲计数程序是一种常见的嵌入式应用程序,它可以通过计数外部脉冲信号来实现各种功能,如测量速度、记录行程、控制电机等。

在本文中,我们将介绍如何编写一个简单的51单片机外部脉冲计数程序,供初学者参考。

一、程序框架```c#include <reg52.h>sbit PulsePin = P1^0; //定义脉冲信号输入引脚unsigned long cnt = 0; //计数器void ExternalInterrupt0() interrupt 0 //外部中断0的中断服务程序{cnt++; //计数器加一}```程序中定义了一个脉冲信号输入引脚PulsePin,一个计数器cnt,并在主程序中开启了全局中断和外部中断0,并设置外部中断0为下降沿触发。

在外部中断0的中断服务程序中,计数器cnt会加一。

二、程序解析1. 硬件连接将需要计数的脉冲信号输入引脚连接到单片机的P1.0引脚上,并连接好单片机的电源和地线。

2. 宏定义和全局变量首先定义了PulsePin引脚为输入模式,并定义了计数器cnt为无符号长整型变量。

3. 主程序在主程序中,首先开启了全局中断和外部中断0,然后设置外部中断0为下降沿触发。

最后加入一个无限循环,等待外部中断的触发。

4. 外部中断0的中断服务程序在外部中断0的中断服务程序中,计数器cnt会加一。

三、总结本文介绍了如何编写一个简单的51单片机外部脉冲计数程序。

通过外部中断0的中断服务程序,可以实现对外部脉冲信号的计数。

本程序只是一个简单的例子,读者可以根据自己的需求对其进行改进和优化。

单片机课程教案

单片机课程教案

单片机课程教案一、课程概述单片机原理及应用是一门涉及微处理器、数字电路和计算机接口技术的综合性课程。

本课程的目标是使学生掌握单片机的原理和应用,了解单片机在嵌入式系统设计中的地位和作用,为学生进一步深入学习和应用单片机打下坚实的基础。

二、课程目标1、理解单片机的内部结构和工作原理。

2、掌握单片机的基本操作和编程方法。

3、熟悉单片机在嵌入式系统中的应用和设计方法。

4、培养学生的创新能力和实践操作能力。

三、课程内容第一章:单片机概述1、1单片机的基本概念及发展历程2、2单片机的特点和应用领域3、3单片机的主要产品和发展趋势第二章:单片机的基本结构和工作原理2、1单片机的内部结构和主要部件功能介绍21、2单片机的引脚和信号说明211、3单片机的存储器和寄存器介绍2111、4单片机的时钟系统和定时器/计数器介绍第三章:单片机的编程语言和开发环境3、1单片机的编程语言概述和特点31、2 C语言在单片机编程中的应用311、3 Keil C51开发环境和程序设计流程介绍3111、4程序调试和下载方法说明第四章:单片机的应用实例和实验指导4、1单片机在LED闪烁和流水灯控制中的应用实例41、2单片机在按键输入和数码管显示中的应用实例411、3单片机在A/D和D/A转换中的应用实例4111、4单片机在电机控制和红外线遥控中的应用实例本文5单片机的实验指导和实验报告要求说明第五章:单片机的发展趋势和应用领域的扩展本文1单片机在物联网和智能家居中的应用扩展本文2单片机在汽车电子和医疗设备中的应用扩展本文3单片机在工业控制和智能制造中的应用扩展本文4单片机在人工智能和机器人技术中的应用扩展第六章:课程总结和答疑解惑本文1课程总结和学习方法分享本文2答疑解惑和常见问题解答1、3学生自我评估和改进建议收集四、教学方法与手段本课程采用理论教学和实践操作相结合的方法,以案例分析和程序示范为主要手段,通过课堂讲解、小组讨论、实验指导等多种形式,使学生更好地理解和掌握单片机的原理和应用。

单片机课程设计00-99加计数器(完结版qq)

单片机课程设计00-99加计数器(完结版qq)

课程设计课程名称51单片机原理及应用单片机“0~99”加法计数器题目名称程序设计专业班级12级计算机科学与技术2班学生姓名郑伟、刘刚、纪强、岳向阳学号51202012032、5120201200751202012021、51202012018 指导教师刘粉二○一四年十二月蚌埠学院计算机科学与技术系课程设计任务书目录一.前言 (4)二.单片机介绍 (4)(一).AT89C51简介编辑 (4)(二).主要特性编辑 (5)(三).特性概述编辑 (5)(四).管脚说明编辑 (5)(五).芯片擦除编辑 (7)(六).串口通讯 (7)三.课程设计的目的和要求 (11)(一).设计目的 (11)(二).课程设计题目 (11)(三).设计任务及要求 (11)四.总体设计思路 (11)(一).硬件设计思路及系统框图 (11)1.硬件设计思路: (11)2.原器件清单 (12)3.系统框图 (12)(二).软件设计思路: (12)(三).对照表 (12)(四).程序流程图 (13)五.硬件设计 (15)(一).芯片主要特性 (15)(二)管脚说明: (15)(三).排阻的作用 (16)(四).电路图说明 (17)1.添加晶振和复位 (17)2.添加P0和P2两个按键 (17)3. 数码管动态显示 (17)六.软件设计说明 (17)七.使用Keil、preoteus软件调试仿真说明 (19)八.结束语 (20)九.参考文献 (21)附录: (22)(一).汇编源程序 (22)(二).原理图 (24)前言单片机全称叫单片微型计算机(Single Chip Microcomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

单片机计数器设计

单片机计数器设计

单片机计数器的设计可以根据具体的需求进行灵活的选择。

以下是一个简单的单片机计数器的设计:
确定计数范围:根据需求确定计数器的范围,例如0-99或0-999。

选择计数器类型:根据计数范围选择合适的计数器类型,可以是二进制计数器、十进制计数器或BCD码计数器等。

确定计数方式:确定计数的方式,可以是递增计数、递减计数或双向计数等。

确定计数信号源:确定计数信号的来源,可以是外部信号源或内部时钟信号源。

连接计数器到外设:根据需求将计数器的输出连接到外设,例如LED显示器、数码管或继电器等。

编写计数器程序:使用适当的单片机编程语言编写计数器程序,包括计数器的初始化、计数操作和显示操作等。

测试和调试:在硬件连接完成后,对计数器进行测试和调试,确保计数器功能正常。

以上是一个简单的单片机计数器的设计流程,具体的实施可以根据具体的需求和单片机型号进行调整。

外部脉冲计数器设计的原理及实现

外部脉冲计数器设计的原理及实现

外部脉冲计数器设计的原理及实现随着科技的不断发展,单片机以其高效、可靠的特性被广泛应用于各种场合,如自动化控制、电子测量等领域。

在单片机应用中,计数器是常见的一种功能模块,其可用于计数输入的脉冲信号,从而实现各种功能。

本篇论文主要介绍如何设计一种基于单片机的外部脉冲计数器,包括其原理及实现过程。

同时,还将介绍各种技术要点如计数器的组成、计数器工作模式、计数器的特性以及计数器的应用场景等。

一、外部脉冲计数器的原理1.计数器的组成计数器是由多个触发器组成的。

触发器是基本单元,它能够改变状态。

在计数器中,触发器负责存储计数值,多个触发器串联构成计数器。

一般的,计数器可分为同步计数器和异步计数器。

同步计数器:所有的触发器同时改变状态,这样称为同步计数器Synchronous Counter/异步计数器:各个触发器改变状态的时刻不同步的计数器,称为异步计数器Asynchronous Counter。

2.计数器的工作模式计数器具有自动计数功能。

计数器可以在几种模式下工作:自动计数,手动计数,自动循环计数。

自动计数:只需输入一个计数信号,计数器便可以开始计数。

在计数到设定值之后,计数器会自动停止计数。

手动计数:需要通过用户手动操作来进行计数,这种计数方式使用较少。

自动循环计数:计数器会不停地计数,在计数到设定值之后会自动重新计数。

3.计数器的特性计数器的特性取决于计数器的触发器特性,常见的触发器有RS触发器、D触发器、JK触发器和T触发器等。

以下是一些常见触发器类型的特性:RS触发器:RS触发器具有两个控制输入R和S,可以将输出强制设置为1或0。

当R、S同时为0时,输出保持不变,称为稳态。

当R为0、S为1时,输出为0;当R为1、S为0时,输出为1。

D触发器:D触发器只有一个输入D,当D的电平变化时,输出Q会跟着变化。

当D为0时,Q输出0,当D为1时,Q输出1。

JK触发器:JK触发器具有两个输入J和K。

当J、K、时钟信号分别被输入到JK 触发器时,输出状态会发生变化。

单片机课程设计出租车计费系统,255计数,50000计数

单片机课程设计出租车计费系统,255计数,50000计数

(题目)255计数器、50000计数器、出租车计费系统起电气与信息工程学院单片机课程设计实验报告一、设计任务:1.1 外部脉冲自动计数,自动显示。

1.1.1设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示)。

1.1.2设计一个50000计数器:0-50000计数,计满后自动清0,重新计数(在数码管中显示)。

1.2 设计一个出租车计费系统:起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后3位数码管显示价钱(角,元,十元,百元)注:要求首先采用PROTEUS完成单片机最小系统的硬件电路设计及仿真;程序仿真测试通过后,再下载到单片机实训板上执行。

二、单片机最小系统硬件资源介绍:1 单片机系统数码管和键盘接口电路2 7279A 资料三、设计思路:1、255计数:255可用8位二进制数表示,故本设计可直接采用可以重装载的计数器T1模式二进行计数。

然后对TL1的内容进行相应的二进制---十进制转换:首先TL1的内容除以64H,所的商就是十进制的百位,然后用余数除以0AH,所得的商就是十进制数的十位,余数即相应的十进制的个位。

接着将相应的十进制数进行译码,并在LED数码管上显示出来。

每来一个脉冲其显示的结果加一,直加至255然后T1重新开始计数。

255计数器汇编程序ORG 0000HAJMP START ORG 0300HSTART:MOV DPTR,#0CFE9H MOV A,#0D1HMOVX @DPTR,ANOPNOPNOPNOPNOPNOPNOPNOPMOV TMOD,#50HMOV TH1,#00HMOV TL1,#00HSETB TR1LOOP1:MOV A,TL1MOV B,#64HDIV ABMOV R1,A //存百位MOV A,BMOV B,#0AHDIV ABMOV R2,A //存十位MOV R3,B //存个位MOV DPTR,#0CFE9HMOV A,#80HMOVX @DPTR,A //选择第一个显示管MOV DPTR,#TABMOV A,R1MOVC A,@A+DPTRMOV DPTR,#0CFE8HMOVX @DPTR,ACLR AMOV DPTR,#0CFE9HMOV A,#81HMOVX @DPTR,A //选择第二个显示管MOV DPTR,#TABMOV A,R2MOVC A,@A+DPTRMOV DPTR,#0CFE8HMOVX @DPTR,ACLR AMOV DPTR,#0CFE9HMOV A,#82HMOVX @DPTR,A //选择第三个显示管MOV DPTR,#TABMOV A,R3MOVC A,@A+DPTRMOV DPTR,#0CFE8HMOVX @DPTR,ALJMP LOOP1TAB:DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FHENDPROTUES仿真图50000计数器设计思路;由于DIV AB指令中A、B均为8位寄存器,因此255二进制转十进制计数的方法不能用于0-50000的循环计数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖南工业大学课程设计资料袋理学学院(系、部)2012 ~ 2013 学年第 1 学期课程名称单片机应用系统指导教师周玉职称副教授学生姓名张思远专业班级电子科学102 学号10411400223 题目对外部脉冲计数系统的设计成绩起止日期2013 年01 月06 日~2013 年01 月10 日目录清单湖南工业大学课程设计任务书2012 —2013 学年第1 学期理学院学院(系、部)电子科学专业102 班级课程名称:单片机应用系统设计题目:对外部脉冲计数系统的设计完成期限:自2013 年01 月06 日至2013 年01 月10 日共 1 周指导教师(签字):年月日系(教研室)主任(签字):年月日附件三(单片机应用系统)设计说明书(题目)对外部脉冲计数系统的设计起止日期:2013 年01 月06 日至2013 年01 月10 日学生姓名张思远班级电子科学102学号10411400223成绩指导教师(签字)电气与信息工程学院2012年12 月10 日一、设计任务:1.1 外部脉冲自动计数,自动显示。

1.1.1设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示)。

1.1.2设计一个50000计数器:0-50000计数,计满后自动清0,重新计数(在数码管中显示)。

注:要求首先采用PROTEUS完成单片机最小系统的硬件电路设计及仿真;程序仿真测试通过后,再下载到单片机实训板上执行。

二、硬件设计介绍:※STC89C52单片机;※6位共阴或者共阴极数码管;※外部晶振电路;※ISP下载接口(In system program,在系统编程);※DC+5V电源试配器(选配);※ISP下载线(选配)※6个PNP(NPN)三极管※12个碳膜电阻三、硬件设计思路方案一:五个1位7段数码管,无译码器方案二:五个1位7段数码管,译码器方案三:1个6位7段数码管,译码器方案四:1个6位7段数码管,无译码器考虑实际中外围设备、资金、单片机资源利用率、节省端口数量,可实行性以及连接方便等问题,采用6为数码管(共阳或者共阴极)由于实际中没买到6位的,采用2个三位数码管并接组合一个6位数码管形式;由于实际P口驱动能力有限,故采用6位三极管增大驱动能力,已便足以使得6位数码管亮度明显正常工作,增加6个电阻限流保护数码管不被烧坏。

让数码管a-g7段分别接P1.6—P1.0,6位位选分别接P2.5—P2.0。

方法一:共阴极数码管硬件图1.0所示:通过npn管放大后,段选高电平有效,位选低电平有效图1.0共阴极数码管硬件原理图方法二:共阳极数码管原理图如图2.0:段选低电平有效,位选低电平有效(通过pnp管连接,不再是高电平有效了,由于特意此接法,共阳极共阴极数码管只是差别段选控制,为程序修改提供极大的方便之处,故程序只需要修改段选地址即可,实现共阳极共阴极互换)图2.0共阳极数码管硬件原理图三、程序设计思路:由于设计是255和50000计数器,对于计数器工作模式二,TL最大值为255,可以实现对255计数,但是对于50000得另寻他路,为了建立不限制计数器模型,改进程序的可更改性可移植性可读行,对计数器模式二另TL1=0FFH(以T1为例,下文不再说明),只要来一个脉冲,就跳转中断服务程序执行,而计数不是直接通过TL操作,而是采用多寄存器组合的方式,方便修改,本设计采用R5,R6,R7,三寄存器通过数学上的逻辑组合形成6位数,如R7的低4位记录个位,高4位记录十位,R7本身只记录到99,在进一则归零,向百位进一(R6),而显示是通过对R7/10取余取整(0-9)通过查表指令实现相应的数字显示,位选通过高频扫描,实现“连续显示”无需再进行BCD转换,其他R5 R6同理。

极大的方便客户修改计数初值,灵活的实现计数。

对计数范围不限定且可系统模块化。

故对255和50000均适用图3计数程序流程图(255、50000均适用)四、硬件实物图如图4.0五、汇编程序(255、50000共用);对于255,设置R5=00,R6=02,,R7=55;对于50000,设置R5=05,R6=00,R7=005.1对于共阴极数码管:;---------------------------------------- ORG 0000HAJMP MIANORG 000BHAJMP INTERPORG 0030HMIAN:MOV R5,#00; 为十万、万位MOV R6,#00;千、百位MOV R7,#00;十、个位MOV TMOD,#06HMOV TL0,#0FFHMOV TH0,#0FFHSETB TR0SETB ET0SETB EAXIANSHI:MOV R0,#0BFHMOV A,R7LCALL CHANGEMOV A,R6LCALL CHANGEMOV A,R5LCALL CHANGESJMP XIANSHICHANGE:MOV R1,A ;位选移位,进行扫描。

R1保护操作值,暂存于R1 MOV A,R0SETB CRRC AMOV R0,AMOV A,R1MOV B,#10DIV ABXCH A,B ;组合整数部分余数部分MOV DPTR,#0100HMOVC A,@A+DPTRMOV P2,R0MOV P1,ALCALL DELAYMOV A,BMOV R1,AMOV A,R0SETB CRRC AMOV R0,AMOV A,R1MOVC A,@A+DPTR ;段选查表显示MOV P2,R0MOV P1,ALCALL DELAY ;延时10msRETINTERP:CJNE R5,#05,RE1 ;计数值设置:万位十万位 CJNE R6,#00,RE1 ;计数值设置:百位千位 CJNE R7,#00,RE1 ;计数值设置个位十位MOV R7,#0MOV R6,#0MOV R5,#0RETIRE1:CJNE R7,#99,LOOP1MOV R7,#0CJNE R6,#99,LOOP2MOV R6,#0CJNE R5,#99,LOOP3MOV R5,#0LOOP1: INC R7RETILOOP2: INC R6RETILOOP3: INC R5RETIDELAY:MOV R4,#10DE1:MOV R3,#50DE2:DJNZ R3,DE2DJNZ R4,DE1RETORG 0100HDB 7EH,30H,6DH,79H,33HDB 5BH,5FH,70H,7FH,7BHRED;------------------------------------------------ ;----------------------------5.2对于共阳极数码管只需将DB 7EH,30H,6DH,79H,33HDB 5BH,5FH,70H,7FH,7BH改成:DB 01H,4FH,12H,06H,4CHDB 24H,20H,0FH,00H,04H即可六、C51程序://对于255,设置c=00,b=02,,a=55//对于50000,设置c=05,b=00,a=006.1对于共阴极数码管:#include<stdio.h>#include<reg51.h>#include<intrins.h>//a位个位十位,b位百位千位c位万位十万位 char a,b,c;//延时DelayMS( int x){char i;while(x--){for(i=0;i<100;i++);}}//T1计数中断,工作方式2Timer1_Interrupt( ) interrupt 3 using 1//计数操作模块//a位个位十位,b位百位千位c位万位十万{if (a!=99){a++;}else{a=0;if(b!=99){b++;}else{b=0;if(c!=99){c++;}else{c=0;}}}if (c==0&&b==2&&a==55){ //判断是否计数到255(c==5&&b==0&0&a==00) 为计数50000a=0;b=0;c=0;}}void main( )//段选编码数组{ char code DISP[]={0x7E,0x30,0x6D,0x79,0x33,0x5B,0x5F,0x70,0x7F,0x7B};char R0,R1;P2=0XBF;//位选初值设置TMOD=0X60;TH1=0XFF;TL1=0XFF;TR1=1;ET1=1;EA=1;while(1){P2=0XBF;//循环移位后,重赋初值R0=a%10;R1=a/10;P2=_cror_(P2,1);//循环右移位选P1=DISP[R0];//查数组显示DelayMS(3); //P2=_cror_(P2,1);P1=DISP[R1];DelayMS(3);//R0=b%10;R1=b/10;P2=_cror_(P2,1);P1=DISP[R0];DelayMS(3); //P2=_cror_(P2,1);P1=DISP[R1];DelayMS(3);R0=c%10;P2=_cror_(P2,1);P1=DISP[R0];DelayMS(3);}}//END6.2对于共阳极数码管:程序只需将Char code DISP[]={0x7E,0x30,0x6D,0x79,0x33,0x5B,0x5F,0x70,0x7F,0x7B}; 改成:Char code DISP[]={0x01,0x4F,0x12,0x06,0x4C,0x24,0x20,0x0F,0x00,0x04};即可。

七、PCB图九、心得体会在这次实验中,我学到很多东西,加强了我的动手能力,并且培养了我的独立思考能力。

特别是在做实验报告时,因为在做数据处理时出现很多问题,如果不解决的话,将会很难的继续下去。

例如:数据处理时,遇到要进行数据获取显示,这就要求懂得数码管的工作,怎么个去控制,然后汇编程序怎么去实现数码管各个引脚的控制,对于多位数码管还得扫描显示。

我们做实验绝对不能人云亦云,要有自己的看法,要有自己独特的思路。

这样我们就要有充分的准备,若是做了也不知道是个什么实验,那么做了也是白做。

实验总是与课本知识相关的,在做设计前,首先你先想好最方便最实用最经济的硬件连接电路,然后用软件弥补不足之处,硬件是软件的躯体,而软件是硬件的血液,两者相辅相连,关系极为紧密。

硬件的不足可以适当用软件弥补,同样,良好的程序是建立在好性能的硬件上的。

在编写程序的时候,我觉得思路清晰,结构明确,最好具有模块化,建立模型,使得程序具有方便修改性,易于移植,且不受局限性,这样一来,程序灵活自如,结构明确易于别人看懂且为以后方便修改等。

相关文档
最新文档