基于51单片机的计数器设计 (2)

合集下载

protel51单片机设计十进制计数器及仿真

protel51单片机设计十进制计数器及仿真
二、实验结果及分析
实验一:原理图
工作原理简述:该电路为扩展64K外部程序储存器,8051片外数据存储器空间为64K,从0000H—FFFFH,利用555定时器构成单稳态触发器提供上电复位信号,最后输出驱动8个发光二极管。
实验二:
1、原理图
2、仿真图
工作原理简述:
计数器属于时序电路的范畴,其应用十分普遍。74LS290是一个典型的集成异步计数器应将/CP1与Q0连接,计数脉冲由/CP0输入。题中设计为时钟信号下降沿触发,从Q3Q2Q1Q0=0000开始计数,每次加一当Q3Q2Q1Q0=1001时,迅速复位到0000,然后又开始从0000状态计数。
3、连接导线
Protel99提供如下图所示工具栏,其中第一个就是连接导线的工具。
使用连接导线工具连接导线。连线时一定要等鼠标被电气栅格捕捉到时,再单击鼠标放线。当元件被电气栅格捕捉时,会出现一个黑点。
4、放置电源、地线
放置电源和地线标记前要显示电源地线工具箱(菜单Viewltolbar/Powver Object)。
5、电气规则检查
使用Tool/ERC菜单,对画好的原理图进行电气规则检查,检查完毕后,屏幕显示检查报告表。若没有错误(No Error),就可以进行下一步。
6、原理图元件列表
使用Edit/Export to Spread菜单,按照向导步骤就可以得到元件列表。该表是与Excel相同的电子表格。
7、建立网络表
74LS290的管脚图和真值表如下:
注: CKA-二分频时钟输入端,CKB-五分频时钟输入端
十进制计数器的真值表如下图所示:
二、实验内容
1、新建设计数据库和原理图文件
首先在D盘建立一个新的目录MYEXP。单击桌面上的Protel99SE快捷图标,进入Po0S设计环境。执行菜单File/New,在弹出的窗口中,单击Browse按钮。

基于51单片机简易计算器毕业论文

基于51单片机简易计算器毕业论文

基于51单片机简易计算器设计引言计算器(Calculator)是微型电子计算机的一种特殊类型。

它与一般通用计算机的主要区别在于程序输入方式的不同。

计算器的程序一般都已经固定,只需按键输入数据和运算符号就会得出结果,很容易就能掌握。

而一般计算机的程序可以根据需要随时改动,或重新输入新的程序。

简易计算器主要用于加减乘除;科学计算器,又增添了初等函数运算(有的还带有数据总加、求平均值等统计运算)。

现代电子计算器首次问世是1963年。

那时的计算器是台式的,在美国波士顿的电子博览会上展出过。

与计算机相比,它小巧玲珑,计算迅捷,一般问题不必事先编写复杂的程序。

随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。

这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能机器人。

随着社会需求,计算器也从原有单一的数字加减计算演变为复杂的多种运算。

现在不在单一的在某一方面而是涉及到生活的方方面面.由于我对知识掌握的不够熟练,重点不够清楚,导致在重点与非重点处花费的时间不成比例,进度缓慢,这是设计没能全部完成的部分原因。

目前只做到按键与显示的结合(即在显示器上可以显示数字键还有命令键+-*/ =清零);加法子程序已经编写成功并严整无误,但在整体调试中未能圆满实现,本部分正在调试中。

等调试成功后,其它运算子程序的问题将迎刃而解。

1.简易计算器的设计方案1.1硬件部分设计方案1 单片机部分单片机以AT89C51来做为核心元器件。

2 按键部分设计思路:采用4*4行列式键盘,分别设定数字键和功能键,采用查询方式,每次有键按下时,先判断是实数字键还是功能键。

但是这种方式采用了大量的I/O口线。

51单片机的电子计数器

51单片机的电子计数器

基于51单片机的电子计数器一.什么是电子计数器?电子计数器是利用数字电路技术数出给定时间内所通过的脉冲数并显示计数结果的数字化仪器。

二.基本组成:电子计数器主要由输入电路、比较电路、时间基准电路、控制电路和计数显示电路等部分组成。

1.输入电路:电子计数器的输入电路主要有三个作用,一是阻抗变换,二是电压放大,三是整形,所以它有三个组成部分。

阻抗变换的目的是通过提高输入端的阻抗来减小对被测信号源的分流,常用晶体管射极跟随器或场效应管源极跟随器来实现。

电压放大采用输入放大器,它们除需具有一定的放大倍数外,还需要有较宽的通频带,以保证电子计数器有一定的灵敏度和测量范围。

整形电路的作用是对被测量整形,使输至比较电路入口的波形规整化,成为前、后沿较陡的矩形脉冲,以保证计数电路能被可靠地触发,整形电路常用施密特触发器来实现。

2.比较电路:电子计数器的比较电路是由一个与门电路来实现被测信号(如频率)与标准时间信号的比较的。

3.时间基准电路(时基电路):电子计数器是用比较法进行测量的,也就是将被测信号与一系列标准时间信号进行比较。

4.控制电路:控制电路是电子计数器的指挥系统,在控制电路所送出的各种控制信号的指挥下,协调计数器各单元电路的工作。

5.计数显示电路:电子计数器的计数电路是对来自闸门的脉冲个数/N进行计数,并将计数结果用数字显示出来的仪器。

为了提高计数器的测量速度,并使每一次测得的数据段相对稳定地显示出来,常在计数电路后加上寄存器,用来暂时寄存测量所得的数据。

6.自校:自校是电子计数器对其内部基准信号源进行测量的一种功能,可借以检查自身的逻辑功能是否正常。

三.如何实现?实现计数功能,比较方便的办法是利用单片机内部的定时/计数器。

也可以采用下面三种方法:1.采用时基电路计数:例如采用555电路,外接必要的元器件(电阻和电容),即可构成硬件电路。

但不可编程。

2.采用可编程芯片计数:这种定时芯片的定时值及定时范围很容易用软件来确定和修改,此种芯片定时功能强,使用灵活。

基于51单片机的简易计算器设计

基于51单片机的简易计算器设计

基于单片机的简易计算器设计摘要2关键字:80C51 LCD1602 4*4矩阵键盘计算器2第一章绪论21。

1系统开发背景21。

2系统开发意义21.3设计目的21。

4设计任务2第二章单片机发展现状22.1目前单片机的发展状况22。

1。

1单片机的应用场合32.2计算器系统现状42.3简易计算器系统介绍4第三章系统硬件设计及说明43。

1系统组成及总体框图53.2AT89S52单片机介绍63。

3其它器件介绍及说明83.3.1 LCD1602液晶显示83。

3.2 4*4矩阵扫描按键9第四章 PROTEUS模拟仿真11第五章系统硬件设计及说明11第六章软件设计116.1汇编语言和C语言的特点及选择116.2源程序代码12摘要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加以完善。

计算机在人们的日常生活中是比较常见的电子产品之一.可是它还在发展之中,以后必将出现功能更加强大的计算机,基于这样的理念,本次设计主要以80C51单片机为控制芯片,用C语言进行编程实现,通过4*4矩阵键盘控制,输出用液晶屏LCD1602显示,该计算器可以实现一般的加减乘除四则混合运算。

关键字:80C51 LCD1602 4*4矩阵键盘计算器第一章绪论1.1 系统开发背景随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。

电子产品的更新速度快就不足惊奇了。

计算器在人们的日常中是比较的常见的电子产品之一。

如何使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器,使其更好的为各个行业服务,成了如今电子领域重要的研究课题.1.2 系统开发意义今天,人们的日常生活中已经离不开计算器了,社会的各个角落都有它的身影,比如商店,办公室,学校……。

MCS-51单片机内部定时器计数器

MCS-51单片机内部定时器计数器
•MCS-51单片机内部定时器计数器
二、 方式1
方式 1(16位计数器)
•MCS-51单片机内部定时器计数器
方式1和方式0的工作原理基本相同,唯一 不同是T0和T1工作在方式1时是16位的计数/定 时器。
方式1时的计数长度M是2的16次方。16位 的初值直接拆成高低字节,分别送入TH和TL 即可。
•MCS-51单片机内部定时器计数器
M1 M0:四种工作方式的选择位 工作方式选择表
M1 M0 方式
说明
0 0 0 13 位定时器(TH的 8 位和TL的低 5 位)
0 1 1 16 位定时器/计数器
1 0 2 自动重装入初值的 8 位计数器 T0 分成两个独立的 8 位计数器,
1 1 3 T1 在方式 3 时停止工作
定时 1 ms的初值:
因为 机器周期=12÷6 MHz= 2 μs
所以 1 ms内T0 需要计数N次:
•MCS-51单片机内部定时器计数器
N= 1 ms÷2 μs = 500
由此可知: 使用方式 0 的 13 位计数器即可, T0 的初值X为 X=M-N=8 192-500=7 692=1E0CH 但是, 因为 13 位计数器中, 低 8 位 TL0 只使用了 5 位, 其 余码均计入高 8 位TH0 的初值, 则 T0
0。TF产生的中断申请是否被接受, 还需要由中断计数器T1、 T0 的运行控制位,
通过软件置 1 后, 定时器 /计数器才开始工作, 在系统复位时
被清 0。
•MCS-51单片机内部定时器计数器
定时器的工作方式
一、 方式 0
方式 0(13位计数器)
•MCS-51单片机内部定时器计数器
•MCS-51单片机内部定时器计数器

c51单片机计数器触发机制

c51单片机计数器触发机制

C51单片机的计数器是通过触发机制来工作的。

在C51单片机中,有两种常见的计数器类型:定时器和计数器/计时器。

1. 定时器(Timer):
定时器用于生成一定时间间隔的定时事件。

C51单片机中的定时器是基于内部或外部时钟源进行计数的。

当定时器达到设定的计数值时,会触发定时器中断,并执行相应的中断服务程序(ISR)。

可以使用定时器来生成精确的时间延迟、控制周期性任务等。

2. 计数器/计时器(Counter/Timer):
计数器/计时器可以用来计数外部事件的脉冲数量或测量时间间隔。

它可以根据外部事件的触发边沿(上升沿或下降沿)来触发计数动作。

当计数器达到设定的计数值时,也可以触发计数器中断,并执行相应的中断服务程序(ISR)。

计数器还可以被配置为计时器模式,用于测量时间间隔。

在C51单片机中,计数器的触发机制通常是通过设置相关的寄存器来实现的。

这些寄存器包括计数器的初始值、计数模式、计数触发边沿等。

通过配置这些寄存器,可以灵活地控制计数器的工作方式和触发条件。

需要注意的是,具体的计数器触发机制可能会因不同的单片机型号而有所差异。

因此,在编程时应参考相关的芯片手册或数据表,以了解具体的计数器触发机制及其相应的寄存器设置。

1。

51单片机定时器计数器汇编实验报告

51单片机定时器计数器汇编实验报告

批阅长沙理工大学实验报告年级光电班号姓名同组姓名实验日期月日指导教师签字:批阅老师签字:内容一、实验目的四、实验方法及步骤二、实验原理五、实验记录及数据处理三、实验仪器六、误差分析及问题讨论单片机定时器/计数器实验一、实验目的1、掌握51单片机定时器/计数器的基本结构。

2、掌握定时器/计数器的原理及编程方法。

二、实验仪器1、装有keil软件的电脑2、单片机开发板三、实验原理51单片机有2个16位的定时器/计数器,分别是T0和T1,他们有四种工作方式,现以方式1举例。

若定时器/计数器0工作在方式1,计数器由TH0全部8位和TL0全部8位构成。

方式1作计数器用时,计数范围是:1-65536(2^16);作定时器用时,时间计算公式是:T=(2^16-计数初值)×晶振周期×12。

四、实验内容1、计算计数初值单片机晶振频率为6MHz,使用定时器0产生周期为120000μs等宽方波连续脉冲,并由P1.0输出。

设待求计数初值为x,则:(2^16-x)×2×10^-6 = 120000×10^-6解得x=5536。

二进制表示为:00010101 10100000B。

十六进制为:高八位(15H),低八位(A0H)。

2、设置相关控制寄存器TMOD设置为xxxx0001B3、程序设计ORG 0000HAJMP MAINORG 30HMAIN: MOV P1,#0FFH ;关闭所有灯ANL TMOD,#0F0H ;置定时器0工作方式1ORL TMOD,#01H ;不影响T1的工作MOV TH0,#15H ;设置计数初始值MOV TL0,#0A0HSETB EA ;CPU开中断SETB ET0 ;定时器0开中断SETB TR0 ;定时器开始运行LOOP: JBC TF0,INTP ;如果TF0=1,则清TF0并转到INTPAJMP LOOP ;然跳转到LOOP处运行INTP: MOV TH0,#15H ;重新设置计数初值MOV TL0,#0A0HCPL P1.0 ;输出取反AJMP LOOPEND AJMP LOOPEND4、实验仿真新建工程项目文件中,并为工程选择目标器件为AT公司的AT89S51。

基于51单片机简易计算器的设计

基于51单片机简易计算器的设计

No:毕业设计说明书题目:基于51单片机简易计算器的设计系别:自动化工程系专业:机电一体化技术*名:***学号: ************指导老师:***职称:副教授2013年6月简易计算器是一种非常广泛日常工具,对现代社会越来越流行。

它可以进行一些简易的计算。

本系统提供详细的时、分、秒、年、月、日的时间信息,同时还可进行简易的计算信息,还具有时间校准等功能。

该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。

本系统硬件部分由AT89S52单片机、LCD1602液晶屏、键盘、指示灯系统等部分构成。

软件部分在keil环境下用C51语言编写,包括时间设置、时间显示、简易计算显示等。

关键字:AT89S52;液晶屏LCD1602;键盘Simple calculator is a very broad everyday tool for modern society is more and more popular. It can carry on some simple calculation. This system provides detailed, minutes and seconds, year, month, day time information, and at the same time but also for simple calculation information, but also has time calibration etc. Function. This circuit AT89S52 SCM as the core, power consumption is small, can be in 3 V of low-pressure work, voltage can choose 3 ~ 5 V voltage power supply. This system hardware part AT89S52 SCM by LCD1602 LCD screen, keyboard, indicator system, part. Software in under the environment of keil with C51 language, including time set, time display, simple calculation shows, etc. In the programming process found on existing knowledge to finish writing task difficult, the teachers and students of help to finish the program part of the code.Keyword:AT89S52;AT89S52 devices; LCD1602 LCD screen; keyboard引言众所周知单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

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

单片机课程设计题目基于51单片机的计数器设计目录1课程设计的目的 (1)2设计思路 (1)3设计过程 (2)3.1方案论证 (2)3.2电路的设计 (4)4应用程序 (6)5电路焊接 (8)5.1标准锡点 (8)5.2不标准锡点判定 (8)6系统调试与结果 (9)7结论 (10)8心得体会 (11)参考文献 (13)附录1:总体电路原理图 (14)附录2:实物图 (15)附录3:元器件清单 (16)1 课程设计的目的1.利用单片机定时器/计数器中断设计计数器,0到99的累加。

2.综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。

3.通过本次课程设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握,对单片机实际的应用作进一步的了解。

4.通过本次试验,增强自己的动手能力。

认识单片机在日常生活中的应用的广泛性,实用性。

明确学习目的,端正学习态度,提高对课程设计重要性的认识,以积极认真的态度参加课程设计工作,按要求完成规定的设计任务。

2 设计思路本实验利用单片机的定时器/计数器定时和计数的原理,通过采用仿真软件来模拟实现。

模拟利用AT89C2052单片机、LED数码管以及各种控制器件来控制表的计数以及计数的开启/计数与复位等。

利用单片机AT89S51单片机来制作一个手动计数器,在AT89S51单片机的P3.7管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7接一个共阴数码管,作为00-99计数的个位数显示,用单片机的P0.0-P0.7接一个共阴数码管,作为00-99计数的十位数显示,用单片机P1.0-P1.6接一个并排的7个LED灯,作为00-99计数的二进制显示。

设计总图如图2-1所示1图2-1 设计总图3 设计过程3.1 方案论证用单片机技术来实现双显计数器的控制。

多功能定时计数器控制系统的原理。

它主要由单片机、发光二极管、晶振和双位数码管等部分组成。

A.单片机采用STC89C51型。

B.数据显示电路:七段四位共阴极数码管,P1口接7个LED二极管,用二进制显示数据;P0和P2口分别接两个数码管,用十进制显示数据。

C.数据输入电路:有触发按键完成输入,一次按键LED显示和数码管显示分别加1,LED满二进位,数码显示满十进位。

D.电源指示电路:电路接通电源后电源指示灯亮起,表示电源接通。

设计总体框架图如图3-1所示23图3-1总体框架图最小控制系统的设计,STC89C51单片机最小系统包括晶体振荡电路、复位开关和电源部分。

主控制器采用STC89C52RC ,STC89C52RC 单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单 片机,指令代码完全兼容传统 8051 单片机,12 时钟/机器周期和6时钟/机器周期可以任意选择。

STC89C51单片机的最小系统图如图3-2所示图3-2 单片机最小控制系统当RST 引脚有一个高电平并维持两个机器周期,则 CPU就可以响应并将系统复位。

需要100欧,10k电阻各一个,22pf电容一个,按键一个。

时钟电路需要在XTAL1,2,两个端口跨接石英晶体及两个电容,电容一般取10uF左右。

3.2 电路的设计1.指示电路如图3-3所示图3-3 指示电路2.数码管为共阴极,八段选端接P1口,四个位选端接P3口,如上图所示。

数码管显示电路如图3-4所示。

4图3-4数码管电路3.复位电路。

电容在上接高电平,电阻在下接地,电容和按键并联,中间为RST。

这种复位电路为高电平复位。

其工作原理是:通电时,电容两端相当于是短路,于是RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程度,即为低电平,单片机开始正常工作。

当按下按键之后,rst变为低电平,单片机复位。

增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。

工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)。

工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz。

用户应用程序空间为8K字节。

片上集成512字节RAM。

复位电路如图3-5所示。

5图3-5 复位电路4 应用程序#include <stdio.h>#include<REG52.H>#include<stdlib.h>void delay5ms(void){unsigned char i,j;for(i=10;i>0;i--)for(j=248;j>0;j--);}void delay2ms(void){unsigned char i,j,k;for(i=20;i>0;i--)for(j=20;j>0;j--)for(k=248;k>0;k--);6}unsigned char codeLEDcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char codeLEDcoda[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0 x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18, 0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26, 0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34, 0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42, 0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50, 0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e ,0x5f,0x60,0x61,0x62,0x63};unsigned char count;sbit sp1=P3^7;void main(void){count=0;P0=LEDcode[count/10];P2=LEDcode[count%10];P1=LEDcoda[count];while(1){if(sp1==0){delay5ms();if(sp1==0){count++;if(count==100)7{count=0;}P0=LEDcode[count/10];P2=LEDcode[count%10];P1=LEDcoda[count];while(sp1==0);do{delay5ms();}while(sp1==0);do{delay5ms();}while(sp1==0);}}}}5 电路焊接在实际生产中,最容易出现的一种违反操作步骤的做法就是烙铁头不是先与被焊件接触,而是先与焊锡丝接触,熔化的焊锡滴落在尚末预热的被焊部位,这样很容易产生焊点虚焊,所以烙铁头必须与被焊件接触,对被焊件进行预热是防止产生虚焊的重要手段。

5.1 标准锡点(1)锡点成内弧形。

(2)锡点要圆满、光滑、无针孔、无松香渍。

(3)要有线脚,而且线脚的长度要在1-1.2MM之间。

(4)零件脚外形可见锡的流散性好。

(5)锡将整个上锡位及零件脚包围。

85.2 不标准锡点判定(1)虚焊:看似焊住其实没有焊住,主要有焊盘和引脚脏污或助焊剂和加热时间不够。

(2)短路:有脚零件在脚与脚之间被多余的焊锡所连接短路,另一种现象则因检验人员使用镊子、竹签等操作不当而导致脚与脚碰触短路,亦包括残余锡渣使脚与脚短路。

(3)偏位:由于器件在焊前定位不准,或在焊接时造成失误导致引脚不在规定的焊盘区域内。

(4)少锡:少锡是指锡点太薄,不能将零件铜皮充分覆盖,影响连接固定作用。

(5)多锡:零件脚完全被锡覆盖,及形成外弧形,使零件外形及焊盘位不能见到,不能确定零件及焊盘是否上锡良好。

(6)错件:零件放置的规格或种类与作业规定或BOM、ECN不符者,即为错件。

(7)缺件:应放置零件的位置,因不正常的原因而产生空缺。

(8)锡球、锡渣:PCB板表面附着多余的焊锡球、锡渣,会导致细小管脚短路。

(9)极性反向:极性方位正确性与加工要求不一致,即为极性错误。

6系统调试与结果系统通电后,进入计数设置功能,等待信号的数据输入,当完成设置数值后,开始计数,此时如果对所记录的数据清零则返回到设置数值界面,可以重新设置数值。

当所记录的数值等于预设定的数时,蜂鸣器发声报警。

在软件编写与调试时,我发现有很多我原来所没有注意到的问题,9硬件完成焊接后,先用万用表简单的进行是否短路检测,没有问题后进行通电测试,发现上电指示灯亮,然后程序到单片机内检测是否能下载程序;刚开始的时候,我的不能下程序,我首先按照原理图检查了一遍最小系统,发现复位电路存在问题,经修改后还是不能下程序,怎么试不行,我又检查了电路和最小系统发现都没有问题,最后听同学说可能是杜邦线的问题,经过检查后发现我的四根杜邦线有两根都是坏的。

这是我所没有想到的,换了好的后,就可以程序了。

当编写完程序进行调试时,又发现存在很多的问题,首先是数码管的段码的问题,这个需要自己根据自己的电路来计算而不是统一的一样,这个问题直到我知道后才解决掉。

然后是矩阵键盘扫描的程序的调试,这个也要自己根据自己的电路接口来计算所要输送的十六进制数码,而且还要通过软件去抖动,还要判断按键是否松开等问题,这个花费的时间较长些,最后通过把按键扫描和数码管动态显示组合到一起,发现还是有问题,这个当然是软件上的问题。

实现这个功能之后,我要实现自己的计数功能和显示功能,在这个过程中,设置的数的显示和所要计的数的显示又存在问题,原因是他们会同时显示,出现重叠乱码现象,为此我请教了很多同学,最后,通过分别定义不同变量,用数组解决了这个问题。

最后经过讨论与研究终于找到了解决问题的办法。

我们花费很多时间,虽然出现了许多问题但在老师和同学的帮助下都慢慢克服。

7 结论调试方法:首先用软件将C编译成HEX文件,打开软件,新建一个文文件,输入C程序,保存成C格式文件,然后新建工程,连接单片机为AT89C51,选择Options for target,选择OUTPUT子菜单,在CreateHEX 前打钩,子菜单中,Settings选择Proteus VSM Simulator,USE前10打钩,再次运行文件,成功后在目录下会生成HEX文件,打开Proteus软件,或直接点击DSN檔,双击单片机模板,点击文件夹式样的图标选择对应的HEX驱动文件,然后点击开始,进行调试经调试运行基本成功,不过也有小小的不足之处。

相关文档
最新文档