您当前的位置:首页 > 发表论文>论文发表

电子设计入门文章

2023-12-07 12:22 来源:学术参考网 作者:未知

电子设计入门文章

  我想这篇文章能给你点启发,虽然有点长,但看完他你会受益匪浅的。

  这是一个写给入门者的,要解决一个问题:初学者应重点掌握什么电子知识,大学阶段如何学习?
  先说点貌似题外的东西——3个谬论。
  谬论一:高中老师常对我们说,大家现在好好学,考上了大学就轻松了,爱怎么玩怎么玩。这真是狗屁。别的专业我不好说,电气、电子、电力、通信、自动化等电类专业,想要轻松那是不可能地(当然你是天才就另说),专业课上讲的东西对决大多数人来说那是云里雾里,从来都是一知半解,需要你课下大量时间精力地消化。有些东西甚至需要你若干年后在工作中遇着时才回过味:“哦,原来以前学的那东西是干这使的。”你要能想得起,并知道怎么回头去补,就算是上学时专业课学得很扎实了。
  谬论二:填志愿时经常有人对我们说:专业不重要,学校最重要,进了个好学校想学什么再学。这亦是狗屁。进了学校,本专业的课程就可能会压得你喘不过气来,还有多少人有时间和毅力选修第二专业?而所学专业几乎就是决定了你今后一生的职业生涯。而学校,说实在话本科阶段我觉得从老师那学到的东西各校间差别不是很大。课上讲的大同小异,课下也不会有什么好老师给你单独指导和点拨,若能遇着,那是你的幸运。越牛的学校的越牛的老师就越忙,不要指望他们会在教学上花多少心思,更不要指望他们对你另眼相看。反倒是一些普通院校的小老师们可能跟学生走得更近,辅导更多些,虽然他们可能水平一般,但对于你大学的学习来说还是足够的。综上所述,我觉得对于一个电子爱好者来说,成为一名普通重点大学的电子系学生比成为北大的哲学系学生更重要。当然看帖的应该大多数都是学电的,那恭喜你,这个专业不错的,虽不是什么“朝阳产业”,但绝对是个“常青行业”。
  谬论三:上了大学,可能又有不少人对你说,在大学专业不重要,关键的是学好计算机和英语,这样就不愁找不到好工作了。这也是屁话。你要明确一点:你将来不是纯靠英语吃饭的,也不是做编程、搞软件开发或动画创作的。我是想说:若果你性格偏内向沉稳、肯钻研、爱好电子行业,将来想从事电子设计和研发工作,那你一定要学好专业课。当然英语也很重要,但以后工作中用得多的是你的专业英语,即能读懂英语技术文档,而不是跟别人比你口语多正宗多流利。至于计算机,那就是一工具,不要花太多时间去学photoshop、3dmax、Flash、网页制作等流行软件,这些在你今后的工作中用不着,也会牵扯你大量时间精力。好钢用在刀刃上,多进进实验室多搭搭电路吧。当然,电类学生对电脑也有特殊要求,那就是用熟Protel、Multisim,学好汇编语言、C语言、选学PLD相关软件。任务也是很重的。
  以上说了3个谬论,下面言归正传吧。那么进了大学,读了电类专业,这4年你该学些什么呢?
  1. 大一大二(打基础)
  首先要了解:电类专业可分为强电和弱电两个方向,具体为电力工程及其自动化(电力系统、工厂供变电等)专业属强电,电气工程及其自动化以强电为主弱电为辅,电子、通信、自动化专业以弱电为主。其他更进一步的细分要进入研究生阶段才划分。但无论强电还是弱电,基础都是一样的。
  首先高数是要学好的,以后的信号处理、电磁场、电力系统、DSP等不同方向的专业课都用得着。
  专业基础课最重要的就是电路分析、模拟电路、数字电路。这3门课一定要学好。这3门课一般都是大一下学期到大三上学期开设,对大多数对电子知识还了解不多的同学来说,通常是学得一知半解,迷迷糊糊。所以,最好是在开课之前或是开课的同时读一两本通俗浅显的综合介绍电子知识的书籍,对书中的知识你不需要都懂,能有个大致感觉就行。对这这种入门读物的选择很重要,难了看不懂可能兴趣就此丧失或备受打击,反而事与愿违。在此推荐一本《电子设计丛零开始》(杨欣编著,清华大学出版社出版),该书比较系统全面地介绍了电子设计与制作的基础知识,模电、数电、单片机、Multisim电路仿真软件等都有涉及,一册在手基本知识就差不多了,关键是浅显易懂,有一定趣味性。另外科学出版社引进出版的一套小开本(32开)电子系列图书也不错,是日本人写的,科学出版社翻译出版,插图较多,也较浅显,不过这一系列分册较多,内容分得较细。
  除了看书,还要足够重视动手实践。电路、模电、数电这些课程进行的同时都会同时开设一些课程试验,珍惜这个动手机会好好弄一弄,而不要把它当作一个任务应付了事。跟抄作业一样,拷贝别人的试验结果在高校中也是蔚然成风,特别是几个人一个小组的实验,那就是个别勤奋好学的在那折腾,其他人毫不用心地等着出结果。我只想说,自己动手努力得来的成果才是甜美的,那种成就感会让你充实和满足。游手好闲的,到临近毕业找工作或在单位试用时,心中那种巨大的惶恐会让你悔不当初。这种教训太多了,多少次我们都是蹉跎了岁月才回过头来追悔莫及。除了实验课好好准备好好做之外,许多学校都设有开放性实验室,供学生平时课余自觉来弄弄。珍惜这种资源和条件吧,工作后不会再有谁给你提供这种免费的午餐了。当然有些学校没有这么好的条件,或缺少器件,那同学们就在电脑上模拟一把试验平台吧,就是学好用好Multisim软件。Multisim是一种电路仿真软件,笔者上学时叫做EWB,后来随着版本更新,先后更名为Multisim2001、Multisim7、Multisim8。这个软件可模拟搭建各种模拟电路和数字电路,并可观测、分析电路仿真结果。大伙可以把模电、数电中学习的电路在这软件里面模拟一下,增加感性认识,实验前后也可把试验电路在软件里模拟,看跟实际试验结果有多大差别。可以说,只要你是学电的,这个小软件就是你上学时必须掌握的,对你的学习助益很大。另一个必须掌握的软件那就是protel了。上学时,从小学期的综合设计实验到毕业设计,最后都会要求你用Protel绘出设计的电路原理图和PCB版;工作后,Protel也是你必须掌握的基本技能,部分同学毕业后一两年内的工作,可能就是单纯地用这软件画板子。Protel的版本也走过了Protel98、Protel99、Protel99SE、ProtelDXP、Protel2004的发展道路。Protel99SE、ProtelDXP、Protel2004这三个版本现在用得最多,目前许多学校教学或公司内工程师使用的都还是Protel99SE,当然若作为新的自学者直接从Protel2004学起似乎好一些。综上所叙,作为最基本的EDA(电子设计自动化)软件,Multisim和Protel是所有电类学生在上学时必须掌握的。其他的如Pspice、Orcad、SYstemview、MATLAB、QuartusII等等,需根据不同的专业方向选学,或是在进入研究生阶段或工作后在重点学习使用。那Multisim和Protel好学么?入门应该问题不大,让师兄师姐指导指导,或是找一两本入门书看一看就OK了。这里推荐一本《电路设计与仿真——基于Multisim 8与Protel 2004》(也是杨欣编著,清华社出版),作为这两款软件的入门学习挺不错的,关键是一本书包含了两款软件学习,对穷学生来说比较划算,若是花钱买两本书分别去学这两个软件,就不值了,因为Multisim的入门不是很难。另用Protel画PCB电路板学问挺大的,有必要多看一些技术文档或是买一本高级应用类的图书。

  2.大三大四(学习专业课,尝试应用)
  进入大三,就涉及到专业课的学习了,本文只讨论以应用为主的专业课,其他如《电力系统分析》、《电机学》、《自控原理》、《信号与处理》、《高电压》、《电磁场》等等以理论和计算为主的专业课,咱就不多提了。当然这些课对你今后向研究型人才发展很重要,也都很让人头疼,要有建议也只能说是努力学、好好学,懂多少是到少(不过别指望全都懂),以后工作或接着深造用得着时再回过头来接着补接着学,那时有工作经验或接触多了有感性认识,可能学着就容易些了。
  那以应用为主的专业课又有哪些呢?不同专业方向有不同的课程,很难面面俱到。这里先简单罗列一下,有微机原理与接口技术(也称单片机)、开关电源设计、可编程逻辑器件(PLD)应用、可编程逻辑控制(PLC)应用、变频器应用、通信电路、数字集成电路分析与设计、DSP、嵌入式等等。可能有同学要问:这么多东西,大学阶段要想都学好不容易吧?答案是不仅是不容易,而且是不可能。这些技术每一门展开来都是复杂的一套知识,可以说,你只要精通其中一门,就可以到外边找个不错的工作了。而且在大学阶段,这些课程也不是都要学的,而是针对不同专业方向选修其中几门(具体选哪几门,多研究研究你们各自的专业培养方案,多请教老师),学的时候争取能动基本用法即可,真正的应用和深入是要到工作后的;当然你若很勤奋或有天赋,能熟练掌握某一门达到开发产品的程度,那毕业后找个好工作就轻而易举了。到这里我们需要再明确一点:电子领域知识繁多、浩如烟海,所以一般搞硬件的公司都有较多的员工,一个研发项目是多人细致分工、共同完成的,所以我们经常会听到团队意识这个名词。因为一个人的能力有限,不可能掌握所有的知识。比如一些人专门负责搞驱动,一些人专门从事逻辑设计,一些人专门搞高频无线,一些人专门搞测试,一些人专门设计外壳,一些人专门设计电路板等等。
  看到这里可能有的同学头都大了:那说来说去大学阶段到底究竟应该学些什么呢?说实话写到这里我的头也大了,电子设计涉及方方面面的东西太多了,实在不是一篇文章甚至一本书能说得清楚的。所以我决定剔除这些生涩的课程名目,大致说一下我所认为的一个电类学生或是想要成为电子工程师的自学者应该掌握的基本的专业技能。
  我认为:除了最初提到的电路分析、模拟电路、数字电路基础知识外,应了解并掌握电子元器件识别与选用指导、基本仪器仪表的使用、一些常用电路模块的分析与设计、单片机的应用、PLD的应用、仿真软件的应用、电路板设计与制作、电子测量与电路测试。
  电子元器件的识别与使用就不用说了,这是元素级的基础,不过要想掌握好也并不容易,一些电子系学生毕业了,还认不出二极管、三极管实物、分不清电解电容的正负极等等,也不是没有的事。还是一句话,多进进实验室,多跑跑电子市场,多看看书。
  仪器仪表的使用,大学的实验课中你至少会用过数字万用表,波形发生器、电源、示波器、小电机、单片机仿真机,至少要把这些东西的接线方法和用法弄懂吧。
  常用电路模块也是包罗万相,各种放大电路、比较器、AD转换电路、DA转换电路、微分电路、积分电路,还有各种数字逻辑单元电路等等,只能说,大致了解吧,并学会怎么去查资料、查芯片查管脚。最基本的,做实验或课程设计中用到的各种芯片要弄熟。
  单片机,这是应该掌握的。时下单片机种类繁多,但各大小企业用得最多的还是51系列单片机,而且价格便宜、学习资料也最全,故给自学者推荐。当然各学校开课讲的单片机型号会有所不同,没关系,学好单片机编程,学好了一种,再学别的单片机就容易了。

  PLD(可编程逻辑器件),一种集成电路芯片,提供用户可编程,实现一定的逻辑功能。对可编程逻辑器件的功能设定(即要它实现什么功能)要有设计者借助开发工具,通过编写程序来实现,这跟单片机类似。开发工具可学习Altera公司的Quartus II软件(这是该公司的第4代PLD开发软件,第3代是MAX+PLUS II软件)。编程语言学习硬件描述语言VHDL或Verilog HDL。
  仿真软件最基本的就是前面说的Multisim了,另外还可学MATLAB。其他的试专业情况选学或是工作后学。电路板设计与制作主要是用Protel软件辅助进行。这在前面已有介绍,读者应该也比较熟悉。
  最后建议同学们积极与各类电子竞赛赛事,参加一场比赛一个项目做下来,电子设计的一个流程和各环节的基础知识就能串起来了,对知识的融会贯通及今后走向工作岗位都有莫大裨益。
  以上这些东西我说得笼统,深入下去又是一大堆要学的东西。还是那句话,多啃书本、多实践!清华大学出版社有一套“电子电路循序渐进系列教程”是按照上面我所讲的那个思路出的,可惜好像还没出全,现在好像只有《单片机在电子电路设计中的应用》、《电路设计与制板——Proetl应用教程》、《仿真软件教程——Multisim和MATLAB》、《常用电路模块分析与设计指导》几本。另外听听你们老师的意见、师兄师姐的意见,问问他们应读些什么书,当然也不能尽听尽信,翻开一本书我想你先大致看看他讲得是否通俗,自己琢磨着能看懂几分?我想能有5分懂这本书就值得一看了,示自己现阶段的知识情况,太浅显的书不用看了,太深的书也不要去看,看得迷迷糊糊还打击自信心丧失了兴趣。
  好了,就此停笔吧。本来是要写个书目推荐,可干瘪瘪的罗列一堆书目有什么意义?还是写下这些字,让同学们自己去思考去选择去深入吧,希望能对你们有所帮助。
  最后一句老生常谈也是我的切肤之痛:大学四年会一晃而过,要学的东西太多太多,不要虚度光阴。及时当努力,岁月不待人!

如何快速入门电子技术(2)

如何快速入门电子技术

(9)吸锡器功能及使用方法

为大家推荐彩箭牌吸锡器,采用加厚全铝材料制作而成,头部采用耐高温塑料制成,可以接触高温,是电子制作者常备工具之一。

主要功能有:

※吸锡器可以帮助新手把电路板上多余的焊锡处理掉;

※拆集成块,拆元件时,吸锡器可以吸入焊锡,既方便且不易损坏电路板;

※拆除小元件或PCB板孔里的锡无法去掉时,吸锡器能将小零件或焊点全部吸掉。

使用时,先把吸锡器末端的滑杆压入,直至听到“咔”声,则表明吸锡器已被固定。再用烙铁对接点加热,使接点上的焊锡熔化,同时将吸锡器靠近接点,按下吸锡器上面的按钮即可将焊锡吸上。若一次未吸干净,可重复上述步骤。

使用注意事项:

※要确保吸锡器活塞密封良好。通电前,用手指堵住吸锡器头的小孔,按下按钮,如活塞不易弹出到位,说明密封是好的。

(2)吸锡器头的孔径有不同尺寸,要选择合适的规格使用。

(3)吸锡器头用旧后,要适时更换新的。

(4)接触焊点以前,每次都蘸一点松香,改善焊锡的流动性。

(5)头部接触焊点的时间稍长些,当焊锡融化后,以焊点针脚为中心,手向外按顺时针方向画一个圆圈之后,再按动吸锡器按钮。

(10)工具盒功能及参数介绍

为大家推荐优质高强度聚丙烯(PP)制造,强度高,耐油、酸、碱等,可在-20摄氏度至40摄氏度使用,美观大方,经久耐用的一款工具盒。

在十年的教学实践过程中,我们开发了大量的、用于实践教学的电子制作套件,其中入门型电子制作套件均采用了“万能板+元器件”的设计模式,所有产品都成功制作,深受学生喜爱。下面推荐几款适合电子初学者制作的电子制作套件:

(1)拖焊技术训练专用材料

为了掌握用万能板焊接电子制作产品的技能,必须掌握拖焊技术和五步焊接法。只有拖焊技术成熟了,焊接出来的电路板的电气性能才稳定、可靠,作为一个电子初学者,这是必须掌握的实践技能之一。

训练拖焊技术,除了电子制作工具外,还必须要有拖焊技术的训练材料:万能板,应该采用质量比较好的,否则不适合初学者练习;导线,选择0.5单股铜拖焊专用导线;焊锡,焊锡的质量决定了焊接技术的提升的效率,对焊接训练影响很大,建议使用0.8mm的内芯带松香的焊锡。

为了确保拖焊技术成熟,建议初学者练习2到3块万能板,达到要求后再焊接电子制作产品。

(2)电路模型设计与制作套件;

小试牛刀,焊接第一个电子制作产品,掌握电路模型的概念和电路的组成结构,掌握电路的基本物理量和基本定律,包括电流、电压的参考方向;电流、电功率和电位的计算;欧姆定律等重要概念。

(3)多谐振荡器双闪灯电路设计与制作套件;

多谐振荡器双闪灯电路,来源于汽车的双闪灯电路,是经典的互推互挽电路,通电后LED1和LED2交替闪烁也就是两个发光二极管轮流导通。

完成本作品的主要目的是为了掌握识别与检测电阻、电容、二极管、三极管。掌握识别简单的电路原理图,能够将原理图上的.符号与实际元件一一对应,能准确判断上述元件的属性、极性。

(4)基于555定时器闪光电路设计与制作套件;

555定时器可方便地构成单稳态触发器、多谐振荡器、施密特触发器等电路,闪光电路是利用多谐振荡器产生的脉冲信号控制而成。

完成本作品的主要目的是为了掌握555定时器的内部结构及工作原理,掌握集成电路的使用方法。

(5)LM317可调稳压直流电源电路设计与制作套件;

LM317是应用最为广泛的电源集成电路之一,它不仅具有固定式三端稳压电路的最简单形式,又具备输出电压可调的特点。此外,还具有调压范围宽、稳压性能好、噪声低、纹波抑制比高等优点。

完成本作品的主要目的是为了掌握变压器降压、二极管整流、电容滤波、LM317稳压等工作原理。

(6)4017十路流水灯电路设计与制作套件;

本电路的设计依据来源于闹市中的店铺LED广告牌,具有一定的实用价值。掌握由555构成的多谐振荡器和由4017组成的十进制移位计数器的工作原理,以及两部分电路同时工作产生的实际效果。

(7)模拟电子蜡烛电路设计与制作套件;

模拟电子蜡烛具有“火柴点火,风吹火熄”的仿真性,设计原形来源于生日晚会生活情节。

完成本作品的主要目的是为了综合运用模拟电路、数字电路、传感器等多方面的知识设计与制作电子作品,是综合应用电子基础知识设计电路的典范。

(8)红外二极管感应电路设计与制作套件。

本电路设计思路来源于银行自动开门关门的生活场景,人走进银行,门自动打开,离开后门自动关闭。用手靠近红外发射管和红外接收管时,蜂鸣器发声,LED灯点亮,手移开后立即停止发声、LED灯熄灭,灵敏度非常高。

完成本作品的主要目的是为了学习红外发射管、红外接收管、通用运算放大器LM358的工作原理及使用方法,同时掌握电压检测法、电阻检测法等电路调试的基本方法。

需要说明的是,以上的电子制作套件,是根据积累的职业教育经验设计而成的。为了帮助广大电子初学者进一步巩固理论知识、锻炼实践技能,我们将在后续文章中逐一讲解每一个电子制作套件,文中会重点介绍相关元器件的工作原理、原理图及工作原理、拖焊作品图以及安装调试技巧等相关的理论知识。

为了能帮助广大电子爱好者理论实践一体化学习,《科普电子制作》淘宝店铺本着自学、实用的目的开发电子制作套件,同时提供了电子制作工具、电子制作文档、视频教程等资料。因为水平有限,错误之处,在所难免,敬请批评指正。

三、电子从业者的三个层次

学习电子技术的目的是为了应用,为了解决生活中的实际问题,为了有个谋生的本领,我归纳了电子从业者的三个层次。

第一个层次会识别简单的电路原理图,会依据电路图成功制作电子产品,这类从业者的代表有一线上的普工、操作工、流水线生产工人等,月薪在3000元左右。

第二个层次除了掌握第一个层次的技术外,还会根据电路图分析产品故障,能正确判断故障的部位,能拿出解决的方案并能顺利的维修好。这类从业者的代表有企业的维修师傅、售后站的工作人员、开维修店的老板等,月薪在5000元左右。

第三个层次除了掌握第二个层次的技术外,还会对传统的产品进行改造、会参考国外的产品设计新产品。这类从业者的代表有电子工程师、技术团队的领导等,月薪在10000元左右,从业时间十年以上的年薪一般在20万元以上。

电子设计如何入门

云山雾罩。
要过年了还在忽悠,歇歇回家吧,你妈盼你回家过年那,直接连接广告后打点行装回家吧。

电子设计入门的问题

四路原理很简单,这在电子技术相关书籍上都有的介绍。我也懒得去翻书了,帮你找到点资料,参考一下:
也许加上你自己的想法可以得到一些改进。


实战四《简易四路抢答器》
;该抢答器供不多于4个参赛队或者个人的抢答比赛场合使用。每个参赛队的座位前
;安装1只抢答按钮开关(用板上的S9、S10、S11、S12)和一个信号灯(D4、D5、D6、D7)。
;主持人座位前装一只复原开关(板上S3)、1只蜂鸣器(板上BUZ1)和一个抢答器工作状态
;指示灯(D10),每当主持人口头发出号令之后.哪个队先按下座位上的按钮开关,该座位的信
;号灯就先被点亮,同时封锁其他按钮开关的活动.并且熄灭主持人座位上的状态指示灯和发出
;三声类似于电话振铃的提示声,以声明此次抢答动作已经完成.在主持人确认后,按下复原按钮
;,状态指示灯重新点亮,并且同时发出"笛-笛-"声,为下一次抢答作好准备.
;PIC单片机学习网 陈学乾
;程序文件名:"MCD-INTBUZ.ASM"
;*********************************************************************
;程序清单
;*********************************************************************
tmr0 equ 1h ;定义定时器/计数器0寄存器地址
status equ 3h ;定义状态寄存器地址
option_reg equ 81h ;定义选项寄存器地址
option_temp equ 0a6h ;(在BACK1)定义选项寄存器的备份寄存器的地址
intcon equ 0bh ;定义中断控制寄存器地址
portc equ 7h ;定义端口RC的数据寄存器地址
trisc equ 87h ;定义端口RC的方向控制寄存器地址
portb equ 06h ;定义端口RB的数据寄存器地址
trisb equ 86h ;定义端口RB的方向控制寄存器地址
c equ 0 ;定义进位标志位的位地址
z equ 2 ;定义0标志位的位地址
w equ 0 ;定义传送目标寄存器为W的指示位
f equ 1 ;定义传送目标寄存器为RAM的指示位
t0if equ 2 ;定义TMR0中断标志位的位地址
t0ie equ 5 ;定义TMR0中断使能位的位地址
inte equ 4 ;定义外部中断使能位的位地址
intf equ 1 ;定义外部中断标志位的位地址
count equ 20h ;定义一个计数器变量
count1 equ 24h ;定义一个计数器变量
count2 equ 25h ;定义一个计数器变量
count3 equ 27h ;定义一个计数器变量
count4 equ 28h ;定义一个计数器变量
portb_b equ 21h ;为PORTC定义一个备份寄存器
w_temp equ 7fh ;为W在体0和体1定义2个备份寄存器
;w_temp equ 0ffh ;(若是16F873/4,则需保留FFH单元)
status_temp equ 23h ;为STATUS定义一个备份寄存器
rp0 equ 5h ;定义状态寄存器中的页选位RP0
;******************复位向量和中断向量***********************
org 000h ;
nop ;设置一条ICD必须的空操作指令
goto main ;
org 0004h ;
goto serv ;跳转到中断服务子程序
;*******************主程序************************************
main
bsf status,rp0 ;
movlw 0 ;
movwf trisc ;设置RC口全部为输出
movlw 0ffh ;
movwf trisb ;设置RB口全部为输入
movlw 02h ;设置选项寄存器:上拉电阻启用;INT下降沿触发
movwf option_reg ;分频器给TMR0;分频比1:8
bcf status,rp0 ;
movlw 90h ;
movwf intcon ;开发INT中断
clrf portc ;RC口灯全灭
loop
movf portb,w ;读取RB口数据
iorlw b'11100001' ;送RB口的数到备份寄存器并将除S9、S10、S11、S12以外的位全部送1
movwf portb_b ;
xorlw 0ffh ;没有键按下转LOOP继续检测
btfsc status,z ;
goto loop ;
call delay10ms ;防抖动廷时
movf portb,w ;
iorlw b'11100001' ;
xorwf portb_b,0 ;再次读取RB口的数据,与前一次读的数相同则键值有效
btfsc status,z ;
goto loop ;
comf portb_b,w ;取反以便使被按下按键的位为1,其它位为0
movwf portc ;送RC口显示
call tone3t ;调用发声三次子程序
loop1
comf portb,w ;检测按键是否有松开
andlw b'00011110' ;
btfsc status,z ;
goto loop ;松开了返回
goto loop1 ;没松开继续检测
;*********************中断服务子程序*****************************
serv
;********************保存护现场部分*******************************
movwf w_temp ;保护W
swapf status,w ;保护STATUS
clrf status ;选择体0
movwf status_temp ;将STATUS存入体0的备份寄存器
;********************* 调查中断源**********************************
btfsc intcon,intf ;检查不是INT中断,返回
goto intserv ;是!转到INT中断处理部分
goto retfie0 ;
;*********************INT中断处理部分******************************
intserv
clrf portc ;令全部灯熄灭
bsf portc,7 ;点亮D10,表示就绪
call tone630 ;调用高音子程序
call delay ;调用1S廷时子程序
call tone630 ;调用低音子程序
bcf intcon,intf ;清除INT中断标志位
;*************************恢复现场部分*****************************
retfie0
swapf status_temp,w ;恢复STATUS
movwf status ;
swapf w_temp,f ;恢复W
swapf w_temp,w ;
retfie ;中断返加
;*************************低音调发生子程序(500HZ/50MS)*************
tone500
movlw .50 ;循环次数寄存器赋初值
movwf count ;50=500HZx0.05Sx2
t5lop
bcf intcon,t0if ;清除TRM0溢出中断标志位
movlw .131 ;给TMR0装入初值256-125=131
movwf tmr0 ;启动定时器
t5here
btfss intcon,t0if ;定时器溢出否
goto t5here ;否!循环栓测
movlw b'01000000' ;只将BIT6置位
xorwf portc,f ;只将RC6(BUZ)脚电平反转,其余不变
decfsz count,f ;循环次数递减,为0,跳一步
goto t5lop ;不为0,跳回
return ;返回
;**************************高音调发生子程序(630HZ/50MS)*****************
tone630
movlw .63 ;循环次数寄存器赋初值
movwf count1 ;63=630HZx0.05Sx2
t6lop
bcf intcon,t0if ;清除TRM0溢出中断标志位
movlw .157 ;给TMR0装入初值157=256-99
movwf tmr0 ;启动定时器
t6here
btfss intcon,t0if ;定时器溢出否
goto t6here ;否!循环栓测
movlw b'01000000' ;只将BIT6置位
xorwf portc,f ;只将RC6(BUZ)脚电平反转,其余不变
decfsz count1,f ;循环次数递减,为0,跳一步
goto t6lop ;不为0,跳回
return ;返回
;*********************发声1S子程序(1S=10x(50ms+50ms)***********
tonels
movlw .10 ;循环次数寄存器赋初值
movwf count2 ;
t1lop
call tone500 ;调用低音子程序
call tone630 ;调用高音子程序
decfsz count2,f ;循环次数递减,为0,跳一步
goto t1lop ;不为0,跳回
return ;返回
;*********************TMR0廷时子程序1S(1S=16x256x(256-12)US)********
delay
bsf status,rp0 ;设置文件寄存器体1
movf option_reg,w ;保护选项寄存器内容
movwf option_temp ;
movlw 07h ;重设选项寄存器;上拉电阻启用,INT下降沿触发
movwf option_reg ;分频器给TRM0;分频比值设为1:256
bcf status,rp0 ;恢复到文件寄存器体0
movlw .16 ;循环利用TMROP定时16次
movwf count3 ;溢出次数寄存器
d1lop
bcf intcon,t0if ;清除TMR0溢出中断标志位
bcf intcon,t0ie ;清除TMR0溢出中断使能位
movlw .12 ;给TMR0装入初值12=256-244
movwf tmr0 ;启动定时器
here
btfss intcon,t0if ;用查询法检测TMR0溢出否
goto here ;否!返回
decfsz count3,f ;是!溢出次数减1,为0,跳一步
goto d1lop ;否!循环利用TMR0
bsf status,rp0 ;设置文件寄存器体1
movf option_temp,w ;恢复选项寄存器内容
movwf option_reg ;
bcf status,rp0 ;恢复到文件寄存器体0
return ;返回
;*************************断续发声3次报警子程序***********************
tone3t
movlw .3 ;循环次数寄存器赋初值
movwf count4 ;
t3lop
call tonels ;调用发声1S子程序
call delay ;调用廷时1S子程序
decfsz count4,f ;循环次数递减,为0,跳一步
goto t3lop ;不为0,跳回
return ;返回
;**************************软件廷时10MS子程序****************************
delay10ms
movlw .13 ;将外层循环参数值送到30H
movwf 30h ;
lp0
movlw 0ffh ;将内层循环参数值送到31H
movwf 31h ;
lp1
decfsz 31h,1 ;变量31H内容递减,若为0则跳跃
goto lp1 ;跳转到LP1
decfsz 30h,1 ;变量30H内容递减,若为0则跳跃
goto lp0 ;跳转到LP0
return ;返回主程序
end ;源程序结束
;***************************************************
; 进入该实战演练的工序流程如下:
; 1.创建源文件和编辑源文件;在此介绍一种不同于前面讲的创建源文件的方法,用Windows附件中的”记事本”
; 这个为大家所熟知和好用的文件编辑器,并且可以方便的加入中文注释.不过有两点需要注意,一是注释前面的
; 分号”;”必须用西文半角输入;二是必须用”.asm”扩展名存储到事先建立的一个专用子目录下.
; 2.打开MPLAB集成开发环境:首先在WINDOWS环境下,选用开始>程序>Microchip MPLAB>MPLAB命令,启动MPLAB
; 并进入MPLAB的桌面.
; 3.创建项目:选用菜单File>New或Project>New Project,在事先建立的一个专用子目录下创建一个新项目,将
; 用记事本创建的源文件加入到该项目中.
; 4.建立项目中的目标文件:选择菜单Project >Build All(项目>建立所有文件),MPLAB将自动调用MPASM将项目
; 文件管理下的源文件(.asm)汇编成十六进制的目标文件(.hex).
; 5.ICD参数设置:通过菜单命令Project>Edit Project或者Option>Development Mode,将开发模式设置为
; ”MPLAB ICD Debugger”,点击OK按钮,打开ICD的工作窗口,在调试阶段,可以按照说明书图2-10设置各项,但需注意
; OSCILLATOR应设置为XT方式,尤其需要说明的是,选中“Enable Debug Mode”(使能调试模式)选项,在向目
; 标单片机烧写机器码程序时,会将调试临控程序同时写入单片机的指定程序存储器区域,然后才允许用ICD方式调试。
; 6.电路设置:将演示板的S1全部拔到ON,S4全部拔到OFF,S13的第1、第5拔到ON,第6、第7拔到OFF ,LCD不要插在演示板上,
; 以使端口C只与8只发光二极管接通;将用于选择频率的插针跳线插到”XT OSC”位置上,板上93CXX、24CXX应拿下。
; 7.向目标单片机烧写目标程序:用户在点击功能按钮”Program”向目标单片机烧写机器码程序时,会等待一段时间,
; 并且在条状的状态信息栏中,出现提示信息。有一点需要引起注意,就是PIC16F87X单片机的FLASH程序存储器的擦写
; 周期是有限的,大约为1000次,应尽量节省它的使用寿命。
; 8.运行和调试用户程序和用户电路:在各项参数设置好后,将ICD的工作窗口最小化,利用前面讲的”运行及调试”中介
; 绍的几种方法进行调试.当用自动单步方式调试时,建议临时禁止廷时子程序发挥作用,具体的方法是,可在CALL DELAY指
; 令前添加一个分号,并且重新汇编一次.为了学习目的,在调试过程中可以人为地加入一些软件漏洞(BUG)或硬件故障,来模
; 仿单片机端口引脚的片内或片外故障.
; 9.定型烧写目标单片机;经过多次重复上述步骤的反复修改和调试,使得程序和电路在联机状态完全正常,这时可以进行
; 定型烧写,即将ICD窗口中的”Enable Debug Mode”(使能调试模式)选项消除,不再将调试临控程序写入单片机中.
; 10.独立运行验收:上一步中的烧写过程完成后,即可将ICD模块和ICD仿真头(或演示板)之间的6芯电缆断开,让单片机在
; 演示板独立运行,观察实际效果. .

有关电子设计的初学者从哪些方面入门?

电路基础,模拟电子技术,数字电子模拟技术吧电路比较基础理论性比较强

相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页