单片机不工作一段时间开机程序不正常

| 数据库系统 |

【www.guakaob.com--数据库系统】

单片机不工作一段时间开机程序不正常篇一
《单片机系统非正常复位的判断与处理》

2009竭E11旯第11期

窟子测试

ELEcTRONlcTEsT

Nov.2009

No.11

单片机系统非正常复位的判断与处理

杰1,周兰兰2

(1武汉职业技术学院湖北省武汉市430074;2武钢通信公司

湖北省武汉市430080)

摘要:单片机以其超小型化、高可靠性和高性价比的特点,广泛应用于各个领域。在实验室设计的符合要求的单片机测控系统置于现场后,常常会受到现场各种各样的干扰,所以对单片机测控系统的可靠性提出了更高的要求。在单片机测控系统因干扰复位或掉电后复位均属非正常复位。本文主要分析了单片机系统的非正常复位的类型,针对不同类型的非正常复位分别提出了系统自恢复运行的处理方法,并给出了相应方法的软件处理流程。本文中的方法在实际使用中取得了较好的效果。关键词:单片机;测控;抗干扰;自复位中图分类号:TP368.1

文献标识码:B

Abnormal

reset’S

judgment

andtreatmentof

MCUsystem

YangJiel,ZhouLanlan2

(1WuhanInstituteoftechnology430074,China;

W,S00Communication,430080,China)

Abstract:Becauseitsminiature,highreliabilityandhighcostperformance,thewideapplyinvariousfield.The

OUS

MCUisfound

MCUmeasureandcontrol’Ssystemisoftendisturbedinvari—

industryfield.whiletheMCUsystem’Sdesignisanswerfortherequireinthelaboratory.

SoitisbringforwardthemorerequirefortheMCUsystem’Sreliability.Theabnormalresetis

sort

of

reset

arousedbythedisturbance

types

or

thepowerfailureintheMCUsystem.Inthearti—

intheMCU

cle,weanalyzethe

of

abnormal

reset

system.Itbringsforwardtheself-

reset.Anditgivestheprogram

resumption’Smethodaimatthedifferenttypeofthe

abnormal

flowfor

everytypes

abnormal

reset.Themeasureisbettereffectinpracticalityapply.

andcontrol;Anti—disturbance;self-resumption

Keywords:SCM;measurement

工业现场存在各种干扰源,如电源干扰、噪声干扰、

0引言辐射干扰等,这些干扰极易侵入单片机系统,使单片机控制系统的可靠性和稳定性大大下降,甚至使

单片机构成的测控系统通常处于生产现场,直接与生产设备接口,实施对工业现场的监控。由于

单片机系统瘫痪。增强单片机控制系统的抗干扰能力,提高系统运行的可靠性、稳定性始终是单片

屯毫迦i基

ELECTRONIG

TEST

万方数据

机应用的一个重要研究课题。

但是在提高单片机系统硬件抗干扰能力的同时,软件抗干扰以其设计灵活、节省资源、可靠性好越来越受到重视。通过对单片机软件程序流程的分析,我们研究了单片机软件抗干扰程序的设计方法,使得单片机系统因干扰复位或掉电进行自动的故障诊断并能自动恢复非正常复位前的状态。本文以MCS51系列单片机系统为例,对抗干扰程序的设计方法进行了详细的说明。

系统故障处理、自恢复程序的设计

单片机系统因干扰复位或掉电后复位均属非正常复位。当单片机出现非正常复位现象时,应能够自动进行故障诊断并能自动恢复非正常复位前的状态。下面就如何自动进行故障识别进行分析,使得系统在识别出故障类型后,再根据不同的情况进行故障处理,使系统恢复正常运行。1.1非正常复位的识别

MCS51系列单片机程序的执行总是从0000H开始,导致程序从0000H开始执行有4种可能:系统开机上电复位;软件故障复位;看门狗超时,未喂看门狗复位;任务正在执行中掉电后来电复位。4种情况中除第一种情况外均属非正常复位,需加以识别。1.1.1硬件复位与软件复位的识别

此处硬件复位是指开机复位与看门狗复位。硬件复位对寄存器有影响,假设正常硬件复位后PC=0000H,SP=07H,PSW=00H等。而软件复位则对SP、SPW无影响。故对于单片机测控系统而言,当程序正常运行时,将SP设置地址大于

07H,或者将PSW的第5位——用户标志位在系

统正常运行时设为1。那么系统复位时只需检测PSW.5标志位或SP值便可判断是否硬件复位。图1是采用PSW.5作上电标志位判别硬、软件复位的程序流程图。

的,而软件复位片内删则可保持复位前状态,因

此外,由于硬件复位时片内RAM状态是随机

此可选取片内某一个或两个单元作为上电标志。比

万方数据

图1硬、软件复位识别流程图

如用50H来做上电标志,上电标志字为56H,若系统复位后50H单元内容不等于56H,认为是硬件复位,否则认为是软件复位,转向出错处理。若用两个单1.1.2开机复位与看门狗故障复位的识别

开机复位与看门狗故障复位同属硬件复位,所以要想予以正确识别,一般要借助非易失性RAM

电保护的观测单元进行识别。例如利用E2PROM的0FFFFH单元,(oFFFFH)一0ABH为正常值。当系统正常运行时,在定时喂狗的中断服务程序中判断是开机复位还是看门狗复位的程序段如MOVA.0

MOV

DPTR,OFFFFH

MOVC

A,@A+DPTR

CJNE

A,

OABH,L00P1;若A≠0ABH,

SJMP

L00P2;若A一0ABH,则跳到

LOOPl:

;LOOPl程序段为开机复位处理程

屯蚤塾9i瑟

ELECTRONIC

TEST

下:

使该观测单元保持正常值,而在主程序中将该单元清零,因观测单元掉电可保护,则开机时通过检测该单元是否为正常值町判断是否看门狗复位。

或者E2PROM。当系统正常运行时,设置一个可掉元作上电标志,则这种判别方法的町靠性更高。则跳到LoOPl程序段

LOOP2程序段

序段

LOOP2:

;LOOP2程序段为看门狗复位处理

程序段

1.1.3正常开机复位与非正常开机复位的识别

识别单片机测控系统中因意外情况,如系统掉电等情况,引起的开机复位与正常开机复位,对于过程控制系统尤为重要。如某以时间为控制标准的测控系统,完成一次测控任务需1小时。系统在已执行测控30rain的情况下,由于电压异常引起系统复位,此时若单片机系统复位后又重新开始进行测控,则会造成不必要的时问消耗。可建立一个监测单元对当前系统的运行状态、系统时间予以监控,通过程序将控制过程分解为若干步或若干时间段,每执行完一步或每运行一个时间段则对监测单元置为关机允许值,不同的任务或任务的不同阶段有不同的值,若系统正在进行测控任务或正在执某时间段,则将监测单元置为非正常关机值。那么系统复位后,可据此监测单元判断系统原来的运行状

态,并跳到出错处理程序,使系统从出错任务段开

始恢复运行。

1.2非正常复位后系统自恢复运行的程序处理

对顺序要求严格的一些过程控制系统,不管系统非正常复位与否,一般都要求从失控的那一个模块或任务恢复运行。所以测控系统要作好重要数据单元、参数的备份,如系统运行状态、系统的进程值、当前输入、输出的值、当前时钟值、观测单元值等,这些数据要定时备份,若有修改也应立即进行备份。

当在已判别出系统非正常复位的情况下,先要恢复~些必要的系统数据,如显示模块的初始化、片外扩展芯片的初始化等。其次再对单片机测控系统的系统状态、运行参数等予以恢复,包括显示界面等的恢复。之后再把复位前的任务、参数、运行时间等恢复,再进人系统运行状态。

应当说明的是,真实地恢复系统的运行状态需要极为细致地对系统的重要数据予以备份,并加以

屯蚤理gi亘

ELECTRONIGTEST

万方数据

数据可靠性检查,以保证恢复的数据的可靠性。

其次,对多任务、多进程测控系统,数据的恢复

需考虑恢复的次序问题,在一个实际工程项目中的数据恢复过程流程图如图2所示。

图2系统自恢复程序流程图

图中恢复系统基本数据是指取出备份的数据覆盖当前的系统数据。系统基本初始化是指对芯片、显示、输入输出方式等进行初始化,要注意输入输出的初始化不应造成系统误动作。而复位前任务的初始化是指任务的执行状态、运行时间等。

本文中的单片机系统故障判断和自恢复程序在由MCS51控制的电梯语音播报系统中得到良好的应用。电梯语音播报系统由于安装在电梯中,虽然在单片机系统中增加了硬件隔离装置,但电梯电机的频繁启动与停止形成较大的电磁干扰,仍然对系统的正常运行有影响,系统运行一段时间后播报与显示数据就会出错,只有人工对该系统重启。

因此,在单片机软件中,在系统软件中增加故障判断和自恢复程序,整个电梯语音播报系统连续运行半年有余,没有再出现播报与显示故障。客户对系统的运行很满意。

2结

对于软件抗干扰的一些其他常用方法如数字

滤波、RAM数据保护与纠错等,本文未作讨论。在工程实践中通常都是几种抗干扰方法并用,互相补充完善,才能取得较好的抗干扰效果。从根本上来说,硬件抗干扰是主动的,而软件是抗干扰是被动的。细致周到地分析干扰源,硬件与软件抗干扰相结合,完善系统监控程序,设计一个稳定可靠的单片机系统是完全可行的。

参考文献

[1]郭一军,张迁.基于AT89S52单片机智能仪器的抗

干扰技术研究[J].自动化仪表。2009(5).

[2]

张爱良.单片机应用系统排错实例剖析[J].机械制造与自动化,2009,38(1).

[3]王炳刚,陈霞,纪秀,等.单片机自身的抗干扰若干措

施[J].农业与技术,2008,28(3).

[4]杨国山.单片机测控系统软件抗干扰技术浅析[J].

装备制造技术,2008(8)

[5]王燕芳,宋辉.单片机系统实用抗干扰设计[J].电子

工程师,2006,32(7).

[6]孙茂松.单片机在应用中的软件抗干扰技术[J].机

床电器,2002(2).

[7]董航.单片机测试系统抗干扰技术在动力厂的实际

应用[J].齐齐哈尔大学学报:自然科学版,2009,25

(2).

[8]刘光斌,刘冬。姚志成.单片机系统实用抗干扰技术

[M].北京:人民邮电出版社,2003.

作者简介

杨杰,武汉职业技术学院电子信息工程学院教师,硕士研究生,主要从事单片机应用的教学与科研工作。

(上接第19页)

时且能在治疗的同时及时、准确地提供心脏方面的变化,同时它又可以有效地提高透析治疗中的安全性。

参考文献

[1]蔡建新,张唯真.生物医学电子学[M].北京:北京大

学出版社,1997.

[2]张开滋,刘海洋等.心电信息学[M].北京:科学技术

文献出版社,1998.

[3]黄敏松,行鸿彦,刘建成.ECG监护仪前置放大电路

的设计[J].现代电子技术,2007(16):187—189.

[4]XueQ,Hu,Y.H.:Tompkins,W.J.Neural—net—

work-basedadaptivematchedfilteringforQRSdetec—

tion,IEEE329.

[8]胡振山.~种抑制50Hz工频干扰的方法一基于F1下

算法的自适应滤波[J].生物医学工程学,1996,13

(4):341-344.

[9]寿松涛,崔书章,柴艳芬.危重病人动态心电图监测

的临床意义[J].中圜急救医学,1999,19(2):99一100.

[10]徐斌,龚德华,等.透析患者的心脏病变的发生原因

[J].肾脏病与透析肾移植,2000,4:381—384.

[11]ZuberM,eta1.NephrolDial

Transplant,1989,4632.

[12]Cordon

[13]

PJ,etal,ClinNEphrol,1998;49:236.

黄从新.QT离散度的临床意义[J].临床心电学,

1998,7(3):123.

[14]张庆红,张建鄂。等.血液透析对尿毒症患者QT离

散度的影响口].中国血液净化,2003,3(3):132—133.

[15]李贵森,刘斌,王莉等.血液透析治疗尿毒症患者的

QT离散度分析[J].四川医学,2001,22(2):176—177.

Trans.Biomed.Eng,1992;39(4):317—

[5]AganteP.M;Marques

ringusingwaveletswith

de

Sa,J.P.EOG

noisefilte—

作者简介

李小玲。重庆邮电大学硕士生,主要研究方向为医疗传感器节点的开发与实现。

E-mail:menlam20002003@yahoo.com.cn

soft—thresholdingmethods,

ComputersinCardiology,1999:535—538.

[6]戴虹,曹柏荣,周政新.心电信号中频干扰的最dx--

乘估计和消除[J].微计算信息,2005,21(3):14—16.

[7]彭飞武,熊平,蔡晓珠等,论心电信号检测中的噪声

与干扰及其消除方法[J].医疗卫生装备,2007.28

(9):72—74.

屯三型i基

ELECTRONIC

TEST

万方数据

单片机系统非正常复位的判断与处理

作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:

杨杰, 周兰兰

杨杰(武汉职业技术学院,湖北省武汉市,430074), 周兰兰(武钢通信公司,湖北省武汉市,430080)电子测试

ELECTRONIC TEST2009,""(11)0次

参考文献(8条)

1.郭一军,张迁.基于AT89S52单片机智能仪器的抗干扰技术研究[J].自动化仪表,2009(5).2.张爱良.单片机应用系统排错实例剖析[J].机械制造与自动化,2009,38(1).3.王炳刚,陈霞,纪秀,等.单片机自身的抗干扰若干措施[J].农业与技术,2008,28(3).4.杨国山.单片机测控系统软件抗干扰技术浅析[J].装备制造技术,2008(8)5.王燕芳,宋辉.单片机系统实用抗干扰设计[J].电子工程师,2006,32(7).6.孙茂松.单片机在应用中的软件抗干扰技术[J].机床电器,2002(2).

7.董航.单片机测试系统抗干扰技术在动力厂的实际应用[J].齐齐哈尔大学学报:自然科学版,2009,25(2).8.刘光斌,刘冬,姚志成.单片机系统实用抗干扰技术[M].北京:人民邮电出版社,2003.

相似文献(10条)

1.期刊论文 李永.李芙玲 基于ATmega16单片机的供电系统测控终端设计 -工矿自动化2007,""(4)

文章介绍了一种供电系统测控终端的设计方法.该方法利用DVDI-001型精密交流电压电流通用互感器实现对一次系统电压和电流的测量,通过

ATmega16单片机自身的模数转换器实现A/D转换.在设备状态的监测和控制方面,通过光电耦合器实现单片机与外部电路的电气隔离,并且介绍了相应的监测和控制回路.

2.期刊论文 雷霖 单片机在直流电动机转速测控中的应用 -电工技术2001,""(7)

介绍以小型直流电动机为测控对象,以Intel8031单片机为核心的转速测控系统的设计与软硬件实现方法,讨论了电动机转速测量、速度控制、Intel8031定时器、Intel8031应用系统及通信控制等方面的技术.

3.学位论文 官洪民 基于单片机的冷藏库温度双重测控系统设计 2007

本文设计了一种基于单片机的冷藏库双重温度测控系统。该系统由单片机与PC机组成。论文首先分析了在冷藏货物时冷藏库的温度分布,找出了测温探头的两个最佳放置位置。在此基础上,设计了单片机温度测控电路和相应的程序。

本设计中单片机的控制部分有两部分构成,第一部分是控制压缩机的制冷量,第二部分是控制冷凝器回路液体流动与否。第一部分是由单片机进行PID运算,输出模拟信号送到变频器,来控制压缩机改变其制冷量;第二部分是通过上下限控制电路驱动电磁阀来控制冷凝器回路的液体。二者联级实现了双重控制的功能。从而达到了冷藏库最佳温度控制的目的。为了进一步观察到冷藏库的温度,将现场单片机显示的温度值利用VB编程软件设计了通信程序,由RS-485通信接口送到远程计算机显示。

该系统在实际使用中,不但可以起到节能作用,而且解决了冷藏库温度进行实时测控这项靠人力是难以完成的任务,提高了冷藏产品质量。尤其该设计是通过对冷藏库的温度分布分析找出了测温探头的两个最佳放置位置,并采用双重温度测控法,解决了以前冷藏库温度分布不均匀的问题。

4.期刊论文 何岭松.赖红.HE Ling-song.LAI Hong 用于单片机测控装置的微型脚本解释器 -测试技术学报2006,20(2)

提出了一种用于单片机测控装置的可裁减的微型脚本语言解释器.为便于控制脚本语言解释器的大小,将脚本语言解释器分解为一组独立的脚本命令解释器模块和一个脚本命令解释器容器.每个脚本命令解释器可以解析和执行一句脚本命令,脚本命令解释器容器则提供一个插件框架将脚本命令解释器模块装配在一起.根据目标测控装置所用到的脚本命令选择所需脚本命令解释器模块,就可以设计出量身定做的微型脚本解释器.为便于概念理解,文中以BASIC句法的简单脚本语言为例,对脚本命令解释器容器和脚本命令解释器的设计方法进行了介绍.

5.期刊论文 孙兵 VB在单片机测控实验系统中的应用 -实验室研究与探索2002,21(6)

测控系统是单片机的一个重要应用领域.文中将Visual Basic 6.0引入单片机测控实验系统,结合具体实例,同时综合计算机技术、通信技术和控制技术,阐述了VB在系统中的意义和作用.

6.学位论文 王健 基于单片机测控的智能直流断路器 2005

直流供电具有传输功率大、线路造价低、控制性能好等优点,是目前世界发达国家作为解决高电压、大容量、长距离送电和异步联网的重要手段。直流断路器是直流供电系统中极其重要的保护设备,其应用将会得到更广泛的发展。当今通讯技术发展极其迅速,电器智能化已被大家所认可,也有很多有识之士投身于这方面的研究。

基于此,本文研究了智能直流断路器。其核心部分是基于单片机和微电子技术的快速检测与控制单元,采用单机构同步操动装置,利用电流转移原理来实现直流分断。

本文具体的研究内容包括测控单元的软硬件设计、断路器操动机构的改进以及对断路器进行调试试验等。测控单元的硬件设计中采用高精度线性光耦和光耦开关实现信号前向通道的隔离放大与指令信号的隔离输出,有效地实现了系统的隔离抗干扰;软件设计采用C51语言进行模块化设计,短路判据采用电流幅值与上升率相结合的快速算法,并采用了复合数字滤波等软件抗干扰措施;操动装置采用永磁机构和同步联动结构,大大提高了断路器的可靠性和可控性。

本文是在合成回路上进行了测控单元与断路器的配合试验,验证了此智能直流断路器设计的合理性与先进性。

单片机不工作一段时间开机程序不正常篇二
《单片机》

单片机原理及系统课程设计报告

一、车库门自动控制具有重大的现实意义

我们身处一个科技进步的时代,自从中国成为世界第二经济体之后,中国人的生活水平确实有了很大的提高,汽车成为从一种奢侈品变成家家户户都能买得起的交通工具。人们在追求精神文化的同时开始越来越注重物质享受,汽车也因此开始逐渐步入中国普通家庭。在消费观念改变迅速的今 天如果你还觉得开汽车的都是有钱人的话,你就早被这个世界淘汰了。据中国汽车工业协会的最新数据统计,截止2011年中国私人汽车拥有量已经跃居世界第二,仅次美国。平均9.5 个家庭就有一辆汽车,这还是在中国人口庞大的基数下计算出来的,假如只计算东部沿海省份的话,那这个比例将会超过美国等西方发达国家。汽车作为生活中必不可少的交通工具,为人们适应现代社会的快节奏立下了汗马功劳,然而汽车的停放与安全也慢慢的变为人们的心中的烦恼。在这种环境下,自动车库门逐渐被人们所熟知和使用。

车库门的发展,应该说从第一辆汽车诞生以来就随之产生。公安部交通管理局的统计显示,2012 上半年,全国机动车保有量增加826 万辆,增长3.67%。全国8 个省的机动车保有量超过1000 万辆,其中山东省和广东省机动车保有量超过2000 万辆。截至6 月底,全国汽车保有量为1.14 亿辆,与去年年底相比,增加811 万辆,增长7.66%。汽车保有量占机动车总量的48.87%,比去年底上升1.81 个百分点。全国17个城市的汽车保有量超过100 万辆,其中北京、成都、天津、深圳、上海等5 个城市的汽车保有量超过200 万辆。私人汽车保有量达8613 万辆,占全部汽车保有量的

75.62%,比去年底上升1.21 个百分点。停车泊位的现状及发展速度远远不能适应客观发展的需求。

而对于快速发展的中国各个城市,停车难也随着城市经济的快速发展和汽车数量的激增接踵而来。资料显示,全国36 个大中城市停车位满足率不足20%,也就是说,目前我国城市每5辆机动车辆只有1个停车位。国内家用汽车拥有量的迅速增加,使城市道路交通变得十分拥挤,各大城市高峰时塞车已经成为天天可见的一道景观。家用汽车的停放也逐渐成为一个社会问题。我国大城市中由于停车位少,而土地越来越紧缺的情况下,停车位价格十分昂贵,为解决城市停车难的问题,家用车库是必然出路。我国家用车库门发展虽经历了近几十年的发展,但仍处于初级的停车功能,是最原始的使用阶段,它的设计水平、经济价值还有待于完善和开发。 为此本设计实现了车库门自动控制具有重大的现实意义和潜在的市场经济效益。

二、车库门的发展现状 80 年代初我国与世界各国的交流渐渐多了起来,当时的工业产品展览会上就有瑞典的车库门而且是上滑道车库门,那时,有超前意识的企业开始研制车库门,当然在20 世纪80年代更多的还是卷帘门的市场占了80%,尽管卷帘门的噪音高达60-80 分贝,但是卷帘门产品从结构上已经用上了弹簧钢带。

二十年代后期,美国的超级市场的开放,自动门开始被使用,受此影响,世界第一自动门品牌多玛在1945 年开发出油压式、空气式自动门,新建大楼的正门也开始使用了。到了1962 年,电气式己开始出现,之后

伴随着城市的建设,自动门技术的领域每年都在增加。当初,用供给建筑物用电源进行电动机的速度控制很难,只好进行油压、空压速度控制,转换但因能源利用效率很低。90 年代后随着消费电子产品大发展,单片机技术得到了巨大提高。而传统的8 位单片机的性能也得到了飞速提高,处理能力比起80 年代提高了数百倍。高端的32 位Soc 单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。目前单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,现在的通讯设备基本上都实现了单片机智能控制,从手机、电话机、小型程控交换机、尤 其用单片机可以构成形式多样的控制系统、数据采集系统。伴随着电气控制的技术发展,现在电气控制技术已经成熟,直接控制电动机的电气式自动门逐渐成为主流。 控制思想: 本设计采用单片机AT 8 9C 5 1作为系统的控制核心。单片机循环检测红外线传感器的状态, 并结合门体当前的运动状态, 产生对直流伺服电机的控制信号。同时循环检测温度传感器的状态,根据环境温度产生对空调的控制信号,实现空调开启与关闭的自动控制。光电编码器检测门体的运动方向,速度和位置,并反馈给单片机,实现闭环控制。通过控制面板, 用户可以调整系统工作模式和门体运动速度,以及空调的开关。LED显示当前系统工作模式以及环境温度。系统掉电时,用户设置的参数会被送到E P R OM 中保存起来,供电恢复以后单片机从EPR OM中读出

这些参数, 系统可以按照掉电以前用户设定的参数重新运行而无须由用户重新设定。

1 AT89C51及其扩展

AT89C51单片机[2 ]是美国ATMEL公司生产的低电压、高性能的8位CMOS单片机。其片内含4K字节的可反复擦写的只读存储器(EPROM),128字节的随机存取数据存储器(RAM)。时钟电路:单片机的工作过程是,取一条指令,译码,微操作;再取一条指令,译码, 微操作„„。复位电路: 复位就是使中央处理器以及其他功能部件都恢复到一个确定的初始状态,并从这个状态始工作。单片机在开机时或在工作中因干扰而使程序失控或工作中程序处于某种死循环状态等情况下都需要复位。89C5 1单片机:数据存储器与程序存储器的地址空间是相互独立的, 其片外数据存储空间可达6 4K B ,而片内的数据存储空间只有128B。

1、设计题目基于单片机的车库自动门的设计

2、设计目的

(1)制作解决相应的实际问题,巩固和运用在《单片机技术》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。

(2)设计一个具有特定功能的自动车库门。该车库门在有人来时(进门或出门)开门,无人时关门延迟,关门中途来人,立即开门。

2系统设计分析

设计以AT89C51单片机为核心,统一控制红外传感器和步进电机,并通过机械直线运动单元驱动玻璃门。在硬件上实现了LED系统报警显示,人员进出信号的采集与A/D转换,监控报警(“看门狗”技术),电机驱动控制以及光耦隔离技术。在软件方面,主要采用汇编语言对单片机控制系统进行编程。与此同时,本系统在设计开发的过程中,考虑到实用性及性价 比,所采用的芯片和器件均为通用器件,因而整个系统的造价并不高,并且有较强的应用价值和良好的发展前景。

3、整体设计方案

3.1 硬件总体设计

硬件系统总体设计如图1所示。

3.2 设计电路框图和原理

红外自动门控制系统的硬件组成如图2所示。本系统主要由AT89C51单片机及其外围电路、红外检测电路,门行程检测电路、步进电机控制电路、故障检测电路、故障显示电路、控制方式切换电路等七部分组成。单片机循环检测红外检测电路和门行程检测电路输出信号,据此产生步进电机控制信号,电动机带动门运行,当系统检测到控制方式发生改变时,系统进入相应的控制方式。如门在关门过程中遇到人或其他障碍物时门无条件朝相反方向打开,当系统出现故障,进入故障处理程序。感应探测器探测到有人进入时,将脉冲信号传给主控器,主控器判断后通知马达运行,同时监

单片机不工作一段时间开机程序不正常篇三
《学习单片机常见问题解读》

单片机常见问题解析

1.什么是单片机?

简单地说,单片机就是一个小计算机系统。为了说明清楚这个问题,得要从计算机说起。提到计算机,大家可能马上会想到“显示器、鼠标、键盘”,不过,这不是一个计算机的核心和关键,计算机的核心部分在一边的机箱里呢。打开机箱,可以看到,机箱里有主板、硬盘、光驱等。仔细观察主板,这上面有CPU、内存条、BIOS芯片,通常还有25针的打印机接口等,这些部件都是通过主板上的连线相互连接。不论计算机复杂程度如何,它总是由运算器,控制器,存储器,输入/输出接口,总线这五个部分组成。通常运算器和控制器被做成一块芯片,也就是CPU(中央处理器)。在计算机主板上,内存条和BIOS芯片就是存储器,25针打印机接口就是输出/输出设备,而总线则被设计在主板上,即各部件相互连接的线路。

在一些应用场合,人们不需要计算机完成十分复杂的运算,但却希望计算机小巧,可靠,价格低。于是人们就把组成计算机的这5个部分全部集成到一块芯片上,也

说是一块芯片就能构成一个独立的计算机,在当时的技术条件下,这是一件了不起的事情,于是人们就用这个特征来为之命名,称为“单片机”。

将构成一个计算机所需要的5个部分全部都集成到一块芯片中,这块芯片是否要很大、价格是否很高呢?并非如此。如果要把图1所示主板上的所有元件都集成到一块芯片中,那当然非常昂贵,可能技术上也无法实现,但很多单片机中所需要用到的功能完全没必要那么强大,因此很多单片机体积很小,价格也很低。如市场上常见的单片机有8,14,16,18,20,28,40,84等引脚,有些甚至只有6个引脚,如图2所示是微芯公司(Microchip)发布的一款6引脚单片机。而价格从几元到几十、上百元的都有,有些品种在大批量定购时甚至可以低至1元以下。

刚接触到单片机的人往往会有个疑惑:既然人们已经有能力制造功能强大的计算机,为何还要生产些功能不强的计算机?其实,功能强弱并不是决定是否生产的决定因素,市场需要才是关键。比如,用来控制一台电箱的计算机显然没必要使用“奔腾”芯片的强大运算能力,只要进行非常简单的计算,作个比较,看一看温度是否在所控制区间之内,然后再做出相应的控制就行了。

单片机在人们的生活中、工农业生产设备中处处有应用,例如各定时装置、自动控制装置等。爱好者学习单片机应该注意观察事物,找到自己周围能够使用单片机的场合,从而将学到的知识应用到实际中去。例如,使用单片机技术改造传统的机电设备、在特定的场合使用单片机替代PLC等就有着广阔的应用前景;又如,使用单片机控制电扇、抽油烟机、空调等,从而制作出具有更强功能、能够通用的控制器,也是可以尝试的。

2.单片机是如何工作的?

单片机的工作过程就是一个不断“取指令-分析指令-执行指令”的过程。单片机的程序以一条一条指令的形式存放在程序存储器中,单片机开始工作后,就从程序存储器的特定位置开始取指令,然后由单片机内部的控制器对指令进行分析,根据指令要求,进行“取数、送数、算术运算、逻辑运算、跳转”等基本操作中的一种或几种,这些操作都在一个规定的周期中完成,执行完了以后,到下一个存储器单元中取指令,重复刚才的操作(当然,这些要执行的操作具体内容可能跟上一次不一样了),

如此不断重复,直到断电为止。这里所说的“存储器特定位置”、“规定的周期”等与单片机的型号有关,下面以51系列单片机为例来说明。

在51系列单片机中有一个名为PC的寄存器(就是用来存数的一个容器),在单片机复位后,这个寄存器中的内容被置为0000H,单片机内部的控制器总是根据PC寄存器中的值去相应的程序存储器单元取指令,因此,开机后,将从0000H单元取

第一条指令,分析执行,同时,PC值将作相应的调整,指向将要执行的下一条指令的位置,下一条指令的位置在哪里呢?对于51单片机来说,一条指令可能占用一个字节、二个字节或三个字节,如果第一条指令是单字节指令,取完第一条指令以后,PC的值就会变为0001H,因此,第一条指令执行完毕以后,将从0001H单元中取出第二条指令来执行,以此类推。

如果程序是顺序执行的,PC的值将始终不断增加,如果程序中有跳转指令,该指令将影响PC中的值,使PC中的值指向将要执行的下一条指令所在地址单元。这种跳转既可能是正向的,例如由0000H跳转到0030H,也可能是反向的,即往回跳转,如由200H跳转到100H。正是由于指令可以影响到PC中的值,才使得程序可以实现“分支”、“循环”等各种功能。那么,执行一条指令的时间又是多少呢?对于51单片机来说,指令执行时间有三种可能,单周期、双周期和四周期,不管一条指令需要做多少工作,都必然在规定的时间内完成。

3.单片机程序的作用是什么?如何编写?如何写入单片机?

单片机程序的用途是让单片机“听话”,按人们所预定的设计完成一系列动作,最终实现一个特定的功能。

例如使用单片机控制流水灯,接通电源后,第一次灯亮,然后延时一段时间,第二次灯亮,然后延时一段时间,第三次灯亮……,延时一段时间后又回到第一次灯亮,如此循环不已。这里就有这样的一些问题:第一次亮几盏灯、延时多少时间、一个循环中设置多少次不同的灯亮的情况……,这些决定了流水灯的花样,流动的速度,而这些,单片机显然没有自我判断能力,必须依靠人们给它“布置”任务,而它则是按人们的设计依次执行。

要让单片机“听话”,就要用单片机能够听懂的语言发布命令,单片机能够听懂的语言称之为“指令”。任何一种型号单片机能够接受的指令都是有限的,51单片机的

指令条数为111条,而PIC单片机的指令仅有35条。每一条指令完成一个最基本的动作,人们为了要完成一个特定的功能,就要将这些指令排列组合,成为一个指令序列,这就是程序。

指令的表示形式有两种:机器语言和汇编语言。以51为例,如果要让P1.0引脚变为低电平,用机器语言来表示就是C2H90H,将这两个数放进单片机的程序存储器中,单片机执行后,就可以让P1.0引脚变为低电平了;而要让P1.0引脚变为高电平,用机器语言来表示就是D2H,90H。至于为什么是这两个数字,大家没必要追究,这是设计这块芯片的设计工程师规定的,我们不能更改,只能学习。C2H,90H就是一条指令,显然这样的指令形式是很难记忆的,编程也非常困难,于是人们使用了“助记符”来代替这些数字。例如C2H,90H的助记符是CLRP1.0,而D2H,90H的助记符是SETBP1.0,由于助记符采用了英语字母的缩写,有一定含义,因此比数字形式的指令易记、易用。

使用助记符形式的指令来编写程序就称之为“汇编语言源程序”。但是汇编语言源程序是没有办法直接送到单片机内部去的,使用助记符形式的指令编写的程序最终还是要变成为诸如:C2H,90H,D2H,90H,这种形式的指令才能被送入单片机的程序存储器。将助记符形式的指令变为数字形式的指令的过程称之“汇编”。

汇编有两种方法,一种是“手工汇编”,即人们通过查表的形式找到所写汇编指令的数字形式然后写下来;另一种是“机器汇编”,即编写好汇编语言源程序以后,使用一个计算机软件对这些源程序进行处理,从而得到数字形式的指令序列,这个指令序列通常被称为“机器码”,即可以直接被机器所执行的代码。

机器汇编后得到的数字形式的指令序列以一个文件的形式保存在磁盘上,这个文件的扩展名一般是HEX,即人们常说的HEX文件。得到了HEX文件后,就可以将其写入程序存储器中了。要将程序写入芯片,通常需要一个称之为“编程器”的专用设备,在计算机上运行与之配套的编程软件,然后在这个软件中打开HEX文件,即可将其写入芯片中。随着技术的发展,编程方式越来越多,但总的概念是这样的,具体的细节,将在另一个问题“单片机编程器是什么”中回答。

4.8位、16位、32位单片机中的“XX位”指什么?

8位、16位、32位是指单片机的“字长”,也就是一次运算中参与运算的数据长度,这个位是指二进制位。以8位为例,8位二进制的表达范围是0000,0000~1111,1111即十进制的0~255,即每次参与运算的数据最大不能超过255。而16位机的字长是16位,其数据表达范围是0~65535,即每次参与运算的数据最大不能超过65535;32位单片机的字长是32位,其数据表达范围是0~4294967295,即每次参与运算的数据最大不能超过4294967295。

8位、16位、32位与单片机的性能密切相关,通常32位机的性能要高于16位机,而16位机的性能又要高于8位机。为什么会这样呢?这要从2个方面来分析。第一,位数不同,运算效率不同。对于8位机而言,由于在一次运算中的每一个数都不能超过8位,因此即便如100+200=300这样的运算,它也不能一次完成,因为300已超过了8位所能表达的最大范围(255),因此,要对这样的一个式子进行运算,就要编写一段程序,将运算分步完成,最后合成起来得到一个正确的结果。

而如果采用16位单片机来运算的话,那么一次运算就够了,显然分步完成所需要的时间要远远大于单步完成所需要的时间。同样道理,当某个运算的结果或者中间值大于65535时,16位机也不能一次运算,要分步实现它,而32位机则可以一次运算完成。第二,商业因素。通常运算能力越高,表示这个单片机性能越强,当然,价格高一些人们也可以接受,有了价格空间,生产商通常都会在这些芯片中提供更多的其他的功能,使得芯片的整体性能得到更大的提升。

典型的单片机中,80C51系列,PIC系列,AVR系列都是8位单片机;80C196、MSP430系列是16位机;而目前非常热门的ARM系列则是32位机。

5.单片机编程器、仿真器、烧写器、下载线各是什么?有什么用处?

单片机编程器是用来将程序代码写入存储器芯片或者单片机内部的工具,当芯片是双列直插形式时,直接插在座子上就可以烧写了。另一种方法是使用下载线。随着技术的进步,越来越多的单片机芯片开始支持“ISP”功能,即InSystem

Programmer,在线可编程技术。利用这种技术,将空白的(尚未编程的)芯片直接焊在印刷线路板上,利用预先留下的几个引脚即可对芯片进行编程,不必将芯片拆下来放到编程器上,因此,这给小批量制作带来了极大的方便,也省去了购买价格昂贵的适配器。

单片机不工作一段时间开机程序不正常篇四
《单片机_一键开机自动关机》

一键开机:

按键开机;

按键关机;

由单片机IO口控制,切断自身电源关机,可人工按钮重新开机。

(1)

KEY可以作为开机键,接地时V15通,单片机上电,使MCU拉高,使V16通,保持。 若此时长按KEY,则单片机读取键值,判断是否长按,若为长按,单片机控制MCU为低,进行自杀。

(2)

如果后端要求电流比较大,可以改用MOS管。

(3)

电路工作流程如下:

A、 Key按下瞬间,Q2、Q1导通,7805输入电压在8.9V左右,

7805工作,输出5V电压给单片机供电。

B、 单片机工作后,将最先进行IO口初始化,IO1设为输入状态,

启用内部上拉;IO2设为输出状态,输出高电平。

这时Q2、Q3导通,LED1发光,7805能够正常工作,单片机进入工作状态。

C、 当Key再次按下时,检测IO1电平为低,单片机可以通过使IO2输出低电平,

Q2、Q3不导通,此时7805输入电压几乎为0,单片机不工作,系统关闭。

注:LED1压降一般在1.5V左右,按下key时,自然会使Q1的BE结导通,因为没有限流 电阻,会使Q1饱和,CE压降直逼0.3V,近乎为电平低。

单片机不工作一段时间开机程序不正常篇五
《单片机控制自动开关机系统》

摘 要

本系统主要是由BISS0001和单片机组成,借助单片机具有优异的性价比,集成度高、体积小、可靠性高,控制功能强,低电压、低功耗等优势。它采用主动式红外传感器控制电路。其特点是在有人时且外界光强较弱时能自动开灯,无人时关灯,节约能源。

【关键词】: 热释电红外传感 BISS0001 单片机 节能

The Family Intellectual-desk lamp System

Based on the MCU Modem

Author: Zhuang wen tong Director: Chen yan yan

Abstract

The System is made up of MCU and BISS0001 Modem. it recurs to the most reliable MCU system.It has used of the MCU many advantages,such as high quality,low price,low volt ,low power,what’s more,the power of controlling. The system adopted initiative

infrared sensor to detect.It is specile that it can turn on the desk lamp automatically,when the room have one people and in dark. But if there is not any one person and in the day the desk lamp will be turned off.To save energy resource,which is controlled by a sensor called Initiative Infrared Sensor.

【keywords】 Save energy MCU Initiative Infrared Sensor BISS0001

目录

引言

第一章 单片机概述……………………………………………..

1.1 80C51功能特性描述

1.2 BISS0001 功能特性描述

第二章 系统组成及电路设计……………………………………

2.1 系统组成部分………………………………………...........

2.2 电路设计部分…………………………………………………

2.3 程序框图…………………………………………………….

第三章 实验结论…………………………………………………

第四章 参考文献……………………………………………..

第五章 实验心得……………………………………………..

第六章 附录…………………………………………………….

引言

台灯已是千家万户的必需生活用品,经常由于忘记关灯而造成巨大的能源浪费。当夜晚来临时,人们又摸黑去开灯,非常不方便。在这里设计了以人体红外辐射(波长为9.5um)传感控制电路。当人体在台灯的范围内且环境光强较弱时,自动感应开灯;当人体太靠近桌面时,台灯自动感应,警告纠正坐姿,若在一定时间内未离开桌面则自动熄灭。当人离开时则自动关灯,达到节约能源的目的。

一. 单片机的概述

1.1 80C51功能特性描述

80C51是INTEL公司MCS-51系列单片机中最基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它继承和扩展了MCS-48单片机的体系结构和指令系统。

80C51内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。

此外,80C51还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。80C51有PDIP(40pin)和PLCC(44pin)两种封装形式。

主要功能特性:

· 标准MCS-51内核和指令系统

· 32个可编程双向I/O口

· 2个16位可编程定时/计数器

· 5个中断源

· 可编程全双工串行通信口

· 2层优先级中断结构

· 快速脉冲编程

· PDIP和PLCC封装形式

· 4kB内部ROM(外部可扩展至64kB)

· 128x8bit内部RAM(可扩充64kB外部存储器)

· 时钟频率0-16MHz

· 5.0V工作电压

· 布尔处理器

· 电源空闲和掉电模式

· 2层程序加密位

· 兼容TTL和CMOS逻辑电平

1.2 BISS0001 功能特性描述

BISS0001是一款高性能的传感信号处理集成电路。静态电流极小,配以热释电红外传感器和少量外围元器件即可构成被动式的热释电红外传感器。广泛用于安防、自控等领域能。

特点:

CMOS工艺

数模混合

具有独立的高输入阻抗运算放大器

内部的双向鉴幅器可有效抑制干扰

内设延迟时间定时器和封锁时间定时器

采用16脚DIP封装

管脚图:

管脚说明:

单片机不工作一段时间开机程序不正常篇六
《1天学会51单片机_第2课单片机程序烧写方法》

第2课51(AVR)单片机程序烧写方法

2.1、STC89C52程序烧写方法

2.1.1、烧写软件STC_ISP_V479的安装

直接在光碟(慧净论坛下载)解压到电脑C盘,直接打开STC_ISP_V479就可以了。

2.1.2、直接用电脑串口烧写程序,当配有电脑9针串口线时,一头接入单片机串口,别一头接到电脑主机后面的9针串口接口,还有接上单片机USB电源供电线,一头接到学习板USB接口上,一头接到电脑USB接口上。

图片

2.2.3、用USB转串口线烧写程度,当配有USB转串口线时,本线需要安装驱动,装好驱动后,一头接到单片机串口上,另一头接入电脑USB接口,这个时候电脑会找到硬件,一般会自动安装好,打开设备管理器,可以看到USB转串口线的COM,一般是COM3。不用安装驱动的,请看视频HJ-COM驱动安装方法。

2.2.4、直接双击该目录下的STC_ISP_V479可执行文件,

下面按图片一步一步来做

第1步单片机型号首次设置时只需注意芯片的选择,在左上角下拉框中选择STC89C52RC,

第2步打开文件点击软件界面上的OpenFile打开对话框,将HJ-1G配套源码

里面的LED.hex文件选择,选择好后点击Open。

第3步COM口一般的台式机大多只有一个串口,所以COM栏就选择COM1,如果使用别的串口那就选择相应的串口号,USB转串口线一般是

COM3。看设备管理器处COM号是多少号,这里就用多少号。

第4步设置重要说明,下面图片中的设置请不要动,否则STC单片机不能下载

程序,请一定要记注。全部使用默认,不明白时最好不要乱改,不然可能会把芯片锁死,以后就用不了,好多新手就因这个原因把STC芯片搞坏了。

第5步

点击下载

注意:在点击之前,一定要关掉单片机电源开关,点击后3秒后

打开电源开关,因为STC的单片机内有引导码,在上电的时候会与计算机自动通讯,检测是否要执行下载命令,

所以要等点完下载命令后再给单片机上

电,然后点击如下图的Download/下载钮,接着按下实验板上电源给单片机上电。若出现上述图片,则说明已经给单片机成功下载了程序,并且已经加密,成功下载程序后开发板上的八个流水灯中最上方那个会点亮。

当现现下载不成功时的处理方法

连接失败,请尝试以下操作:

1.在单片机停电状态下,点下载按钮,再给单片机上电

2.停止下载,重新选择RS-232串口,接好电缆

3.可能需要先将P1.0/P1.1短接到地(重点用这个方法,可以修好单片机的)

4.可能外部时钟未接

5.因PLCC、PQFP转换座引线过长而引起时钟不振荡,请调整参数

6.可能要升级电脑端的STCISP.exe软件

7.单片机上的晶振还在吗?

8.若使用USB转RS-232串口线下载,可能会遇到不兼容的问题,可以让我们帮助购买兼容的USB转RS-232串口线

9.若仍然不成功,可能MCU/单片机内无ISP系统引导码,或需退回升级,或MCU已损坏。

2.1AT89S52、AVR系列编程(烧写)软件AVR_fighter

2.1.2、ISP下载器驱动安装

第一次插上USB下载线电脑会提示如下信息,提示要安装驱动

一:驱动的安装:(新手请认真细看,看多几次,你一定会安装成功的,按说明书一步步来做,学习就要有这种精神,相信你一定会有能力搞定的)

请确定您的计算机USB主控设备驱动正常(GHOST系统更要仔细检查,否则会无法识别设备!如果你的系统是GHOST的,建议重新安装系统,这样对你的电脑安全性,有极大的好处)。现在好多人的电脑都是GHOST安装的XP系统,这个GHOST安装的系统本来就不稳定,如果你安装驱动不成功时,请换一个正常按装的XP系统,如果你的是WINDOWS7系统,请参考我们的另一个说明,USB-ISP下载线在WINDOWS7系统的安装方法。

单片机不工作一段时间开机程序不正常篇七
《STC单片机的冷启动与复位》

关于stc51的冷启动下载和复位

Stc单片机里面有一段出厂时固化的程序,这段程序的作用是检测串口是否要下载程序,不需要则执行单片机内的用户程序。每次启动时运行这端程序,这就是为什么每次下载时要冷启动。而复位后单片机是从地址0000H处开始执行,地址0000H又会指向主程序入口,即主函数处,即片内下载的用户程序而不会执行前面已经固化的检测串口那段程序。这就是为什么单片机每次下载要冷启动,而复位不行。注意,程序前面的宏定义什么的东西不占用系统时间,所以主程序即主函数处。

有一个办法可以给那些需要加电立刻启动的用户,STC单片机可以设置为加电时只有P1.0/P1.1为低电平时开始下载程序,否则直接执行用户程序。这种办法快,不用等前面检测串口的那段时间 。stc单片机冷启动是必须的而复位电路不是必须的,不管是冷启动还是手动启动。也就是想下载程序必须冷启动,而有没有复位电路无所谓。但是最小系统板上必须有复位电路,无论是上电复位,还是上电加手动复位,虽然在一些简单的程序中看不出区别,但是因为复位操作会对一些特殊寄存器产生影响,这样没有复位操作的话再次执行函数的时候会出现错误。单片机断电后在通电也会从主函数处继续执行,可能是单片机断电后地址自动回到0000H,但是那些特殊寄存器里的值不会改变。

对于上电复位,貌似电路不会有电流流过,但是上电瞬间,有一个给电容充电的过程,这个过程中rst端口会出现一个正脉冲,只要该脉冲保持1ms以上就能使单片机复位。

单片机不工作一段时间开机程序不正常篇八
《单片机实验仪故障检测程序的设计》

第20卷AECC专题学术研讨会论文集

・33・

单片机实验仪故障检测程序的设计

‘DesignofTroubleHuntingProgramusedfor

SCM(SingleChip

Microcomputer)ExperimentalEquipment

黎国锋冯永振陈权.(广东医学院

【摘

东莞

523808)

要】为了高效、快速地检测单片机实验仪的故障,设计了单片机实验仪的故障检测程序。该程序包括基于

单片机的部分和基于PC的部分。基于单片机的程序嵌入了RTX51Tiny实时操作系统,实现对实验仪的故障检测功能;基于PC的程序采用VisualBasic语言编写,实现对串行口的控制。该设计有助于实验仪的维修,也是单片机实验教学的好例子。

【关键词】故障检测程序,控件,单片机,实时操作系统

中图分类号:TP311.52

ABSTRACTdesigned

文献标识码:A

error

Inorderto,effectivelyandrapidly,detect

ofSCM(SingleChipMicrocomputer)experimentalequipment,we

troublehuntingprogramwhichwascomposedofSCMprogramandPCprogram.TheSCMprogram"employedRTX51

Tinyoperatingsystemandachievedtroublehuntingfunction.ThePCprogramwascompiledwithVisualBasiclanguageandhadfunctionofcontrollingSerialPort.Thisdesign

can

helptheequipmentrepairingworkandis

perfect

case

fortheSCMstudy..t

KEYWORDStroubleHuntingprogram,controlpiece,SCM,real-timeoperatingsystem

目前,许多理工院校的单片机实验教学都采用单片机综合实验仪作为实验平台,因为单片机综合实验仪能使单片机实验操作更为全面、灵活和省时。TMD一1型模块化单片机实验仪是清华大学科教仪器厂和浙江万里学院的万光毅教授合作研制的一款集单片机的各种总线于一身的实验系统。该实验系统的接口和功能模块丰富,使得学生的实验设计更为灵活,但这却提高了实验技术人员检测该仪器的难度。为了高效、快速地检测单片机实验仪的故障,设计一套检测功能完备、人机交互简洁的故障检测程序是很有必要的。本文设计的故障检测程序包括基于单片机的电路检测部分和基于PC的指令控制、信息记录部分。这两部分程序共同实现对实验仪进行快速、全面的检测。

l实验仪的组成结构

TMD一1型模块化单片机实验仪由一块主板和九块功能扩展实验板组成。主板完成基本的实验和实现各种总线的接口,各功能扩展板完成一个或者两个单独的实验。主板采用5l系列单片机,通过地址译码,使P0--一P3能够连接多个总线接口和驱动多个外围设备。实验仪的组成结构如图1所示。

8默l霁蕃到渊崆RAM8燃l}操l|黜fi∥节杳“介“拶‘彳7”{上‘

并行口||盘、数码管II

II地址线l}显示lI地址线|I关输入I

尚南尚

<≥

电饥I|驯饥lI奴僻百I

{王

Po

P2

2故障检测程序的设计

2.1基于单片机的程序设计2.1.1设计准备

TMD一1型实验仪采用51系列单片机,并且具备ISP在系统编程的功能。考虑到本故障检测程序较为复杂,故采用嵌入式实时操作系统RTX51Tiny进行编

模拟1--WIRE,IIC,3--

WIRE,SPI接口

S口恤9C51

P1

P3

<≥

<≥<≥

之岁

I部中断控制l

…‘弋夕一1

l计数器/外l

价吼示J

之』rU.

I直流电机ll继电器l

l申行口II蜂鸣器{{篓萼鍪螽I

图1曰∞一1型模块化单片机实验仪结构图

程,丽目标单片机则选择PHILIPS的P89C51RA2BN芯片。目标单片机执行的故障检测项目包括所列的五大部分:基本项目测试、RAM测试、继电器测试、电机测试以及打印机测试。这些项目的选择均可通过实验仪键盘输入或者PC端的测试软件输入来执行。每个项目测试时将通过蜂鸣器、LCD以及PC端的测试软件界面对相应的测试信息进行同步提示。2.1.2程序流程设计

单片机程序执行的过程如图2所示。上电后,单片机根据设计要求对片内的资源初始化,然后运行RTX51Tiny并创建各种任务,接着允许外部中断和串行口中断。此后,单片机将随时响应这两个中断的指令。如果此

2007—03—26收到,2007—06・20改回。

黎国锋,男,1980年生,在读硕士,研究方向:单片机应用开发,超声医疗仪器设计。

*-*

单片机实验投放障检测程牟的设计

2007茸

时无中断出现,单片机将继续执行“基本项目检测”.即呜响蜂呜器

一次.让I,(1D显示当前的检测项目,向串口发送当前的检测项目信

息至PC端软件,从o~F检测LED数码管的显示功能,闪烁8位I.ED并显示8位拨动开关的逻辑状态,接着.单片机进^“检测项目选择状态”,提示用户输凡相应的项目检测代码井执行。如果一直没有选择指争的输人,单片机将长期处于此状态。

21

3任务刮建

单片机执行的每个检测项目均由一个或者多个系统任务组成,

知set

Deep就是个”呜响蜂鸣器一次”的任务,当系统需要呜

响蜂呜器时就可用指令∽send—signal(BEEP)向谚任务发送信

号。下面以任务矧一1)eep为例子说明任务的构建方法。

川d州heep(void)mkBEEP{/+BEEP为谈任务的蒲号可为

I—I6

-,

while(1)f/・无限循环

SIO

n.o);

-/

忡w川(K

/・辱待启动se【bEep的信号

beep。…n=‘』+

,*打开蜂呜器,*关闭蚌鸣器

*/

∞.…IfK

I'+ep

TMO.10.01

/*#*02#

*7

*/

璺?单片机程序流程图

pin一1}

RTX5i

Tiny启动后会首先执行任务o.因此系统初始他以及其他任暑的启动需在任务0内完成。当任务。

被执行一次后便可删除,操作系统进入循环执行各千就绪任务的状态。下面是构建任务0的例子:

void㈨E(void】taskc叫㈣【();

/*系境程乎从任务。开始执行

-7

*/

/t韧始化单片机

/*初始化LCD

SET).

o…ea£e

l刊Ⅲt¨.

*/

…reate

os

I;tsk(MODEta“(BEEP)I

/t电_【建横式转换任务t/*,

-/

/*剖建蜂呜器单鸣任务

/*剖建读取键盘数据任务

★/

邮㈣a№tA北(KEYRgAD),

delete

task(0)}

/-删除任务O

2基-'T-PC的程序设计■■墨曩墨墨宣■■■■—■■■I:E删

个控制程序。霞程序负责接收井显示来自宴姹仪的ASCII码状志信息,同‘一I时允i年电脑用户通过鼠标选择测试项目t并止宴验仪执行n『霜;雨【

嵌控制程睁采用VisualBasic程序语言来编写。困为Visual

发效幸高的特点。通过对窗体、命々按钮、立奉框控件“及MSCnmm控

.一-tt为了橙测宴验仪的串行口与电脑的通讯是否正常.在PC端编写r一共钔串oi降j苗”

1设计准备

Basic是k;*一|I一种a,视化的、面向对象的Windows开发语言.它具有易用、通用和开.*t濠日±抨

RAM捌试(RA)l

件的两只,兽≥1:。2COM

22

u收发数据。—————i———:

i¥项目辫试(BA)|

B4湘可以简便地没计出宴用的用户操控界面并通越

壤电棼蹦试(RE){

%机_试(M。){7

2界面构跫

新建一个“StandardEXE”工程.谤节窗体的大小和位置,并在相应

.堑呈竺苎苎!!型—蔓竺苎!苎!!!.

图3

PC端{空制程序界面

位置添加框架、文年框和命令按钮。要使程序能控制COM口,工程中必

22

须添加控制串I:I数据通讯的MSCnmm控件。经过合适的配置.可得到如图3所示的程序界面。

3控件屋性设噩新代码编写

要使上述工程能实现持定的功能,必须设置所添加控件的属性.甚至要对相应的控件编写相关的程序代码。侧如对于命令按钮t可以通过修改其“Caption”属性改变按钮的标称;通过在代码窗口添加Private

SubⅡame

第20卷AECC专题学术研讨会论文集・35・

一Click()函数指定该按钮被按下时所执行的操作。其中name指该按钮的名称。特别地,对于MSComm控件要指定串口的波特率等参数属性。如下是本PC端检测程序的代码:

’定义布尔变量标记串口是否打开

PublicMSCommlflagAsBoolean

’窗口启动函数,设置串口的属性,清空文本框

PrivateSubForm—Load

MSCommlflag=True

open—key.Caption=”关闭串口”

MSComml.CommPort=1

MSComml.Settings=”1200,n,8,1”MSComml.PortOpen=TrueMSComml.RThreshold=l

Textl.TeXt=”EndSub

’串口数据接收函数,将接收到的ASCII码输出文本框显示

PrivateSubMSComml—OnComm()DimbytelnAsString

byteln=MSComml.Input

Textl.Text=Textl.Text&byteln

EndSub

’串口开/闭控制函数

PrivateSubopen—key—ClickO

IfMSCommlflagThen

open—key.Caption=”打开串口”

MSComml.PortOpen=False

Else

open—key.Caption=”关闭串口”

MSComml.PortOpen=True

EndIf

MSCommlflag=NotMSCommlflag

EndSub

’清空文本框

PrivateSubclear—key—Click()Textl.Text一Ⅳ”

EndSub

’响应“测试项目选择”按钮的指令,发送代码a至串口,其余五个按钮的设置都与之相似Private

Subbasic—key—Click()

MSComml.Output=”a”

EndSub

3结束语

实验仪故障检测程序使单片机实验箱具备了自检功能,利用自检功能对实验仪进行检测比传统的单纯硬件检测的方法更快捷。通过实验测试,对于人为设置故障的三台“坏芯片”实验仪和三台“串行口插头接触不良”的实验仪,故障检测程序都能成功快速地检测出故障位置。这就提高了教师为学生单片机实验程序纠错以及实验技术人员检修实验仪的效率。另外,因为单片机程序嵌入了擅长进行多任务处理的RTX51操作系统,故开发者能轻易扩展故障检测程序的功能或使程序响应更多的指令。因此,本程序具有较强的升级扩展的潜力。同时,该故障检测程序也是单片机实验教学中的一个合适例子。

参考文献

[1]Keil,AnARMCompany.RTXSlTinyUser’S

Guide[EB/DK].http://www.keil.corn/support/man/does/c51/,2004.

01一01.

[2]Keil,AnARMCompany.Cx51User’SGuide[-EB/OL'].http://www.keil.com/support/man/docs/tr51/,2004—01—01.

[3]

求是科技.VisualBasic6.0程序设计与开发技术大全[M].北京:人民邮电出版社,2004.

单片机实验仪故障检测程序的设计

作者:作者单位:

黎国锋, 冯永振, 陈权广东医学院 东莞 523808

1.学位论文 赵健颖 电力机车瞬间故障检测与记录系统的研制 1997

2.期刊论文 王友仁.崔江.樊琼剑 直流绝缘故障检测智能传感器系统 -传感器技术2004,23(2)

为实现直流供电系统中的绝缘故障检测,研制了一种以AVR单片机为核心的智能传感器系统.该系统利用电磁感应原理检测直流供电系统中电气负载馈电回路的不平衡电流,实现了对电气负载绝缘故障的检测.经过现场测试,该智能传感器系统具有低功耗、高可靠性和易使用的特点,试验结果表明:系统达到了检测准确度要求.

3.期刊论文 王晓晨.杨公训.潘志刚.孙凤香 基于换相周期的晶闸管相控变流器的故障检测与监视 -煤矿机械2004(11)

广泛应用于煤矿各种机电设备中的晶闸管相控变流器有时会因输出电压缺相而不能正常工作,以往的检测方法不够准确,检测电路复杂.设计的单片机检测系统通过检测变流器输出电压的换相周期是否正常,从而有效地检测出变流器的故障.

4.期刊论文 黎国锋.冯永振.陈权.LI Guo-feng.FENG Yong-zhen.CHEN Quan 单片机实验仪故障检测程序的设计 -微型电脑应用2007,23(11)

为了高效、快速检测单片机实验仪的故障,本文进行了单片机实验仪的故障检测程序设计.该程序设计包括基于单片机和基于PC两部分.基于单片机的程序嵌入了RTX51Tiny实时操作系统,基于PC的程序采用Visual Basic语言编写.

5.学位论文 张耀辉 基于单片机设计的汽车信号灯故障检测与处理的研究 2009

随着社会和经济的发展,汽车在我国已进入普及阶段,据统计我国2008年汽车保有量已经达到6467万辆,生产量已达到934.55万辆,但随着汽车工业的快速发展,我国的交通运输安全也承受了前所未有的巨大压力。今后道路交通事故死亡率的增长趋势还将持续相当长的一段时间,必须进一步加强预防措施。其中的方向之一就是加强或改进对汽车信号灯的控制,通过对汽车信号灯的智能控制,可以及时的发现汽车信号灯系统出现的故障并作出相应对策,有效的减少和防止交通事故的发生。 本课题在对现有汽车信号灯控制产品的市场反馈意见、用户的需求和实际的使用状况等进行梳理、系统分析的基础上,以稳定可靠、简单实用、扩展性好、更加人性化为设计目标,基于单片机的控制设计开发了对汽车信号灯进行智能控制的软硬件系统。该设计通过各种接口电路收集汽车信号灯的各操作和故障信息,将信息集中到单片机后再通过精心设计的软件进行处理,在信号灯系统正常的情况下,按正常的汽车设计要求控制信号灯的操作;在信号灯出现不正常的情况下,发出可视化的警告信号,并在不影响其他信号灯操作的前提下进行信号灯的故障替代。该设计首先在实验室进行相关的模拟实验,通过不断的调试使整个系统达到标准后移植到相应的汽车电器教学实验台架,在实际的汽车电器使用条件下观察实验其可靠性和稳定性,解决相应问题使其满足最终设计要求。该设计不仅能对汽车信号灯的故障进行可视化的警告,还可对故障部位进行文字提示,方便司乘及维修人员及时准确的发现和解决问题,同时可在制动和转向信号灯出现故障的情况下用倒车灯和行车灯进行工作替代,从而有效减少和防止因这些信号灯故障造成的交通隐患。 汽车信号灯控制系统包括软硬件两部分,硬件部分包括电源、主机、前后控制器、显示器件等,软件部分用汇编完成,主要包括控制处理、故障扫描、故障显示处理、故障替代处理等若干模块。

6.会议论文 田辉 单片机在通信电缆故障监测中的应用 1996

该文讨论了进行通信电缆故障检测的传感线设置方法,介绍了以51系列单片机为核心构成的检测系统的硬件结构及系统软件设计。

7.期刊论文 宋秀梅.Song Xiumei 单片机在电缆设备故障检测中的应用 -广东自动化与信息工程2005,26(4)

文章介绍了单片机在电缆充气设备检测系统的功能、设计原理、应用及其发展前景.通过单片机技术及时发现电缆充气设备的故障情况,减少了误差,使维修工作取得主动,提高了工作效率,保证了通信畅通,使故障检测达到信息化.

8.会议论文 曾文锋.刘军.王力登.李申鹏.李莉.易志刚 基于PIC单片机的微波测距仪故障检测系统 2007

设计了一种基于PIC单片机的微波测距仪故障检测系统,给出了硬件结构和软件模块的设计方法,并对常用的几种微波测距仪进行了故障检测。结果表明,故障定位准确可靠。

9.期刊论文 尚志恩.徐宁.沈春璞 基于单片机的智能仪表通信系统的冗余通道设计 -仪器仪表用户2004,11(3)

论述了通信网络可靠性,讨论了J274和J275集成电路的功能及在本设计中的应用,给出了原理图,并提供了故障检测程序.

10.期刊论文 曾文锋.李申鹏.李莉.刘军.王力登.易志刚.ZNEG Wen-feng.LI Shen-peng.LI Li.LIU Jun.WANG Li-deng.YI Zhi-gang

用PIC单片机构建微波测距仪故障检测系统 -电光与控制2007,14(4)

设计了一种微波测距仪故障检测系统,利用PIC单片机技术对微波测距仪的电压、电流及频率信号等进行数据采集和测试,建立了故障案例库,结合PC机实现了对微波测距仪的故障自动诊断.对几种常用的微波测距仪进行了故障检测,结果表明,故障的诊断定位准确可靠.

本文链接:

下载时间:2010年1月3日

单片机不工作一段时间开机程序不正常篇九
《单片机各种复位电路原理》

单片机各种复位电路原理

复位电路的作用

在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。

无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。

基本的复位方式

单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位

1、手动按钮复位

手动按钮复位需要人为在复位输入端RST上加入高电平(图1)。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。

图1

图2

2、上电复位

AT89C51的上电复位电路如图2所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1µF。上电复位的工作过程是在加电时,复位电路通过电 容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在图2的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。

2、积分型上电复位

常用的上电或开关复位电路如图3所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。

根据实际操作的经验,下面给出这种复位电路的电容、电阻参考值。

图3中:C:=1uF,Rl=lk,R2=10k

图3 积分型上电复位电路

专用芯片复位电路:

上电复位电路 在控制系统中的作用是启动单片机开始工作。但在电源上电以及在正常工作时电压异常或干扰时,电源会有一些不稳定的因素,为单片机工作的稳定性可能带来严重的影响。因此,在电源上电时延时输出给芯片输出一复位信号。上复位电路另一个作用是,监视正常工作时电源电压。若电源有异常则会进行强制复位。复位输出脚输出低电平需要持续三个(12/fc s)或者更多的指令周期,复位程序开始初始化芯片内部的初始状态。等待接受输入信号(若如遥控器的信号等)。

图4 上电复位电路原理图

上电复位电路原理分析

5V电源通过MC34064的2脚输入,1脚便可输出一个上升沿,触发芯片的复位脚。电解

电容C13是调节复位延时时间的。当电源关断时,电解电容C13上的残留电荷通过D13和MC34064内部电路构成回路,释放掉电荷。以备下次复位启用。

四、上电复位电路的关键性器件

关键性器件有:MC34064 。

图6 内部结构框图

输入输出特性曲线:

上电复位电路关键点电气参数

MC34064的输出脚1脚的输出(稳定之后的输出)如下图所示:

三极管欠压复位电路

单片机不工作一段时间开机程序不正常篇十
《单片机的最小系统》

不知何从下手。为此,笔者结合自己使用单片机多年的经验,特意设计了单片机开发所需的Study-c 整机和硬件套件,并结合套件精心编写了单片机从入门到精通系列教程。通过讲述单片机原理、电路设计、应用开发软件工具、编写实验实例让读者全面接触单片机技术。教程编排上由浅入深,循序渐进,内容力求完整、实用、趣味并存,使读者在轻松愉快的学习过程中逐步提高单片机软硬件综合设计水平。

一、内容提要

本讲主要向大家介绍51 系列单片机的最小系统的实现并通过编写程序来实现对单片

原理、最小系统的组成,并通过简单的C51 程序设计来讲述编译软件Keil的使用并下载Hex 文件烧写单片机。

二、原理简介

在了解原理之前, 首先让我们思考一个问题,什么是单片机, 单片机有什么用? 这是一个有意思的问题,因为任何人都不能给出一个被大家都认可的概念,那到底什么是单片机呢? 普遍来说, 单片机又称单片微控制器, 是在一块芯片中集成了CPU( 中央处理

( 输入/ 输出) 接口等一台计算机所需要的基本功能部件,从而可以完成复杂的运算、逻辑控制、通信等功能。在这里,我们没必要去找到明确的概念来解析什么是单片机,特别在使用C 语言编写程序的时,不用太多的去了解单片机的内部结构以及运行原理等。从应用的角度来说,通过从简单的程序入手,慢慢的熟悉然后逐步深入精通单片机。

在简单了解了什么是单片机之后,然后我们来构建单片机的最小系统,单片机的最小系统就是让单片机能正常工作并发挥其功能时所必须的组成部分,也可理解为是用最少的元件组成的单片机可以工作的系统。对51 系列单片机来说, 最小系统一般应该包括: 单片机、时钟电路、复位电路、输入/ 输出设备等(见图1)。

图1 单片机最小系统框图

三、电路详解

依据上文的内容,设计51 系列单片机最小系统见图2。

图2 51系列单片机最小系统

下面就图2 所示的单片机最小系统各部分电路进行详细说明。

1. 时钟电路

在设计时钟电路之前,让我们先了解下51 单片机上的时钟管脚:

XTAL1(19 脚) :芯片内部振荡电路输入端。

XTAL2(18 脚) :芯片内部振荡电路输出端。

的片内振荡器,或者是器件直接由外部时钟驱动。图2 中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两

频率微调作用。当采用石英晶振时,电容可以在20 ~

40pF 之间选择(本实验套件使用

另外值得一提的是如果读者自己在设计单片机系统的印刷电路板(PCB) 时,晶体和电容应尽可能与单片机芯片靠近,以减少引线的寄生电容,保证振荡器可靠工作。检测晶振是否起振的方法可以用示波器可以观察到XTAL2 输出的十分漂亮的正弦波,也可以使用万用表测量( 把挡位打到直流挡,这个时候测得的是有效值)XTAL2 和地之间的电压时,可以看到2V 左右一点的电压。

2. 复位电路

在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。

MCS-5l 系列单片机的复位引脚RST( 第9 管脚) 出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST 持续为高电平,单片机就处于循环复位状态。 复位操作通常有两种基本形式:上电自动复位和开关复位。图2 中所示的复位电路就包括了这两种复位方式。

上电瞬间,电容两端电压不能突变,此时电容的负极和RESET 相电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,

在芯片正常工作后,通过按下按键使RST电平,就能使单片机有效的复位。图中所示的复位电阻和电容为经典值,实际制作是可以用同一数量级的电阻和电容代替,读者也可自行计算RC 充电时间或在工作环境实际测量,以确保单片机的复位电路可靠。

3. EA/VPP(31 脚) 的功能和接法

51 单片机的EA/VPP(31 脚) 是内部和外部程序存储器的选择管脚。当EA 保持高电平时,单片机访问内部程序存储器;当EA 保持低电平时,则不管是否有内部程序存储器,只访问外部存储器。

因此基本上不需要外接程序存储器,而是直接使用内部的存储器。

在本实验套件中,EA 管脚接到了VCC 上,只使用内部的程序存储器。这一点一定要注意,很多初学者常常将EA 管脚悬空,从而导致程序执行不正常。

4. P0 口外接上拉电阻

51 单片机的P0 端口为开漏输出,内部无上拉电阻(见图3)。所以在当做普通I/O 输出数据时,由于V2 截止,输出级是漏极开路电路,要使“1”信号(即高电平)正常输出,必须外接上拉电阻。

图3 P0端口的1位结构

另外,避免输入时读取数据出错,也需外接上拉电阻。在这里简要的说下其原因:在输入状态下,从锁存器和从引脚上读来的信号一般是一致的,但也有例外。例如,当从内部总

此时无论端口线上外接的信号是低电平还是高电平,从引脚读入单片机的信号都是低电平,因而不能正确地读入端口引脚上的信号。又如,当从内部总线输出高电平后,锁存器Q = 1, Q = 0,场效应管V1 截止。如外接引脚信号为低电平, 从引脚上读入的信号就与从锁存器读入的信号不同。所以当P0 口作为通用I/O 接口输入使用时,在输入数据前,应先向P0 口写“1”,此时锁存器的Q 端为“0”,使输出级的两个场效应管V1、V2 均截止,引脚处于悬浮状态,才可作高阻输入。

总结来说:为了能使P0 口在输出时能驱动NMOS 电路和避免输入时读取数据出错,

口P0—P3 的输入操作上,为避免读错,应先向电路中的锁存器写入“1”,使场效应管截止,以避免锁存器为“0”状态时对引脚读入的干扰。

5. LED 驱动电路

细心的读者可能已经发现,在最小系统中,发光二极管(LED)的接法是采取了电源接到二极管正极再经过1K 电阻接到单片机I/O 口上的(见图4 中的接法1)。为什么这么接呢?首先我们要知道LED 的发光工作条件,不同的LED 其额定电压和额定电流不同,

为2.7~4.2V, 直径为3mm LED 的工作电流2mA~10mA。在这里采用红色的3mm 的

口时,拉电流(向外输出电流)的能力是μA 级别,是不足以点亮一个发光二极管的。而灌电流(往内输入电流)的方式可高达20mA,故采用灌电流的方式驱动发光二极管。当然,现今的一些增强型单片机,是采用拉电流输出(接法2)的,只要单片机的输出电流能力足够强即可。另外,图4 中的电阻为1K 阻值,是为了限制电流,让发光二极管的工作电流限定在2mA~10mA

图4 LED的接法

四、程序设计

在单片机编程语言上,有C 语言和汇编两种选择。本系列教程采用C 语言编写程序,在此对C语言和汇编语言在进行单片机开发时进行下简单比较,汇编语言面向硬件,要求对硬件的特性如寄存器之类的比较熟悉,执行效率高,但可读性和移植性差,不同的单片机之间的程序不能通用,例如学会了51 单片机的汇编指令,却没法用到AVR 单片机上。C语言面向过程,可读性和移植性很好,效率要比汇编低一些。对于刚接触单片机的人来说,学习这两种语言是一样的,但在以后的开发效率上,C 语言的优势就体现出来了,其可以几乎完全不改动的情况下移植,大大提高了开发速度。

本文来源:http://www.guakaob.com/jisuanjileikaoshi/175053.html