学习报告
当前位置:首页 > 工作报告 > 学习报告 > 列表页

单片机学习报告

小草范文网  发布于:2017-04-08  分类: 学习报告 手机版

篇一:单片机实习总结报告

专业综合实习总结

2010-2011(2)

专业班级: 电子信息工程0801 学生学号: 0414080123学生姓名: 吴锦

指导教师:张云、包长春、马崇霄、杜殿会 实习时间:

机 电 工 程 学 院

一、实习目的和意义

1、实习目的:

(1)利用单片机小系统实习板,掌握电路原理图;

(2)通过对系统板的测试,了解系统板的工作原理及性能,掌握元器件及系统故障的排除方法;

(3)通过单片机系统的调试、程序编制及运行,掌握单片机系统的工作原理、开发方法和操作方法。 2、实习意义:

通过本实习不但可以掌握单片机软、硬件的综合调试方法,而且可以熟练掌握电路原理图,激发对单片机智能性的探索精神,提高学生的综合素质,培养学生应用单片机实现对工业控制系统的设计、开发与调试的能力。在制作学习过程中,不但可以掌握软、硬件的综合调试方法,而且可以使学生对单片机智能性产生强烈的欲望。达到最大限度地掌握微机应用技术,软件及接口设计和数据采集与处理的技能,培养电综合实践素质的目的。

二、实习内容

1.熟悉“单片机课程实习”电路板,领会、掌握该电路板的设计原理及硬件布局。 2.掌握单片机技术应用平台keil软件的学习。

3.借助平台软件,学习开发板的使用,按照要求编制、调试出正确的汇编语言程序。 4.学习适合本开发平台软件STC-ISP的在线单片机烧录。

5.针对实习电路板的功能,编制、调试、编译汇编语言程序,下载烧录并在实验板上运行,或利用软件ISIS 7 Professional进行软件仿真。

实现的功能:

1.led显示模块:单向循环流水led显示、双向循环流水led显示、花样流水灯的显示,使用查表方法编制任意点亮历程的实现,使用软件延时;

2.数码管显示模块:一位静态数码管显示0到9和0到F、二位静态数码管显示0到99、三位静态数码管显示0到999、四位静态数码管显示0到9999;阴极和阳极四位动态数码管显示;74LS驱动4位静态数码管显示;利用74HC595四位静态数码管显示;使用串行静态显示和动态扫描显示两种方式;

3.键盘模块:利用4×4矩阵键盘按键对应置数显示“0~F”;使用键盘的行列扫描方式;

三、硬件介绍

(一)LED显示模块:

图1流水灯显示

图2键盘控制循环灯

(二)数码管显示模块:

图3 1位静态数码管显示

图4 4位静态数码管显示

图54位动态数码管显示

图6 独立键盘加减清零数码管显示

篇二:51单片机的学习经验(附学习总结)

51单片机的学习经验(附学习总结)

OFweek工控网讯:作为一名电子技术从业人员,你学过单片机吗?你会运用单片机吗?我想你一定学过,但不一定会运用。因为学习单片机比学习其他学科需要付出更多的努力和代价,不仅要学习理论知识还要练习实际操作,而且主要是在实际操作中才能真正学到单片机技术。此外,学习单片机还需要投入一定的学习成本,随着你学习知识的扩展成本还会增加。

单片机作为一种简单的控制器在生活中有这广泛的应用,当然在工业型单片机在生产中也扮演着很重要的角色,所以对于一个学习自动化的工控人来说,学习单片机是非常有必要的。

单片机的学习经验

1、学习电子技术基础知识,如电路、模拟电路和数字电路。这是学习电类相关专业的基础。

2、学习计算机硬件知识,如计算机的简单组成原理(只需要了解),当然要知道CPU是什么?总线是什么?一些相关概念。

3、程序编写的相关知识,主要是汇编语言和C语言。了解结构化语言的程序设计方法,也就是三种结构(顺序结构、分支结构(或称选择结构)、循环结构),会一些常用的算法。

4、以上是基础,有了这些基础,学习51单片机就只要花几周的时间就能上手。但学习单片机时,主要从单片机的存储器开始,其中特殊功能寄存器是重点,学会之后,就可以学习单片机的基础部分了,主要是四个部分:51单片机I/O口的使用、中断的使用、定时器的使用、外部器件的扩展。这些部分都可以用软件仿真(可以用proteus软件)。

5、可以买一两块廉价的单片机开发板,用廉价的方法(可以用热转印法做PCB板)仿制一些更简单的实验功能板,开始做板时千万不做得太复杂,我带过的很多学生中,有少部分人总是觉得太简单了,做个复杂的,结果做了个把星期,没有成功,最后只有放弃。还有一点很重要,就是用PR(原文来自:wWw.xiaOcAofANweN.coM 小 草 范 文 网:单片机学习报告)OTEUS仿真时,最好只做单一功能的仿真,否则可能与实际在硬件上做的结果不一样。

6、从网上下载一些实例进行研究学习,不断提高。

学习单片机的步骤

学习单片机的动机不外乎有四种:一是为兴趣爱好而学,二是为专业而学;三是为饭碗而学;四是在工作中被逼而学。不管是哪种动机,因主修专业的不同以及电子基础的深浅不同,对于不同的人可能采用不同的学习方法,根据笔者的亲身学习经验和教授徒弟学习的感受,提出笔者的学习方法和步骤。

第一步:基础理论知识学习

基础理论知识包括模拟电路、数字电路和C语言知识。模拟电路和数字电路属于抽象学科,要把它学好还得费点精神。在你学习单片机之前,觉得模拟电路和数字电路基础不好的话,不要急着学习单片机,应该先回顾所学过的模拟电路和数字电路知识,为学习单片机加强基础。否则,你的单片机学习之路不仅会很艰难和漫长,还可能半途而废。笔者始终认为,扎实的电子技术基础是学好单片机的关键,直接影响单片机学习入门的快慢。有些同学觉得单片机很难,越学越复杂,最后学不下去了。有的同学看书时似乎明白了,可是动起手来却一塌糊涂,究其原因就是电子技术基础没有打好,首先被表面知识给困惑了。

单片机属于数字电路,其概念、术语、硬件结构和原理都源自数字电路,如果数字电路基础扎实,对复杂的单片机硬件结构和原理就能容易理解,就能轻松地迈开学习的第一步,自信心也会树立起来。相反,基础不好,这个看不懂那个也弄不明白,越学问题越多,越学越没有信心。如果你觉得单片机很难,那就应该先放下单片机教材,去重温数字电路,搞清楚触发器、寄存器、门电路、COMS电路、时序逻辑和时序图、进制转换等理论知识。理解了这些知识之后再去看看单片机的结构和原理,我想你会大彻大悟,信心倍增。

模拟电路是电子技术最基础的学科,她让你知道什么是电阻、电容、电感、二极管、三极管、场效应管、放大器等等以及它们的工作原理和在电路中的作用,这是学习电子技术必须掌握的基础知识。一般是先学习模拟电路再去学习数字电路。扎实的模拟电路基础不仅让你容易看懂别人设计的电路,而且让你的设计的电路更可靠,提高产品质量。C语言知识并不难,没有任何编程基础的人都可以学,在我看来,初中生、高中生、中专生、大学生都能学会。当然,数学基础好、逻辑思维好的人学起来相对轻松一些。C语言需要掌握的知识就那么3个条件判断语句、3个循环语句、3个跳转语句和1个开关语句。别小看这10个语句,用他们组合形成的逻辑要多复杂有多复杂。学习时要一条语句一条语句的学,学一条活用一条,全部学过用过这些关键语句后,相信你的C基础建立了。

当基础打好以后,你会感觉到单片机不再难学了,而且越学越起劲。当单片机乖乖的依照你的逻辑思维和算法去执行指令,实现预期控制效果的时候,成就感会让你信心十足、

夜以续日、废寝忘食的投入到单片机的世界里。可以这么说,扎实的电子技术基础和C语言基础能增强学习单片机信心,较快掌握单片机技术。

第二步:单片机实践

这是真正学习单片机的过程,既让人兴奋又让人疲惫,既让人无奈又让人不服,既让人孤独又让人充实,既让人气愤又让人欣慰,既有失落感又有成就感。。。其中的酸甜苦辣只有学过的人深有体会。思想上要有刻苦学习的决心,硬件上要有一套完整的学习开发工具,软件上要注重理论和实践相结合。

1.有刻苦学习的决心

首先,明确学习目的。先认真回答两个问题:我学单片机来做什么?需要多长时间把它学会?这是你学单片机的动力。没有动力,我想你坚持不了多久。其次,端正学习心态。单片机学习过程是枯燥乏味、孤独寂寞的过程。要知道,学习知识没有捷径,只有循序渐进,脚踏实地,一步一个脚印,才能学到真功夫。再次,要多动脑勤动手。单片机的学习具有很强的实践性,是一门很注重实际动手操作的技术学科。不动手实践你是学不会单片机的。最后,虚心交流。在单片机学习过程中每个人都会遇到无数不能解决的问题,需要你向有经验的过来人虚心求教,否则,一味的自己埋头摸索会走许多弯路,浪费很多时间。

2.有一套完整的学习开发工具

学习单片机是需要成本的。必须有一台电脑、一块单片机开发板(如果开发板不能直接下载程序代码的话还得需要一个编程器)、一套视频教程、一本单片机教材和一本C语言教材。电脑是用来编写和编译程序,并将程序代码下载到单片机上;开发板用来运行单片机程序,验证实际效果;视频教程就是手把手教你单片机开发环境的使用、单片机编程和调试。对于单片机初学者来说,视频教程必须看,要不然,哪怕把教材看了几遍,还是不知道如何下手,尤其是院校里的单片机教材,学了之后,面对真正的单片机时可能还是束手无策;单片机教材和C语言教材是理论学习资料,备忘备查。不要为了节约成本不用开发板而光用Protur软件仿真调试,这和纸上谈兵没什么区别。

3.要注重理论和实践相结合

单片机C语言编程理论知识并不深奥,光看书不动手也能明白。但在实际编程的时候就没那么简单了。一个程序的形成不仅需要有C语言知识,更多需要融入你个人的编程思路和算法。编程思路和算法决定一个程序的优劣,是单片机编程的大问题,只有在实际动手编写的时候才会有深切的感悟。一个程序能否按照你的意愿正常运行就要看你的思路和算法是否正确、合理。如果程序不正常则要反复调试(检查、修改思路和算法),直到成功。这个过程耗时、费脑、疲精神,意志不坚强者往往被绊倒在这里半途而废。

学习编写程序应该按照以下过程学习,效果会更好。看到例程题目先试着构思自己的编程思路,然后再看教材或视频教程里的代码,研究人家的编程思路,注意与自己思路的差异;接下来就照搬人家的思路亲自动手编写这个程序,领会其中每一条语句的作用;对有疑问的地方试着按照自己的思路修改程序,比较程序运行效果,领会其中的奥妙。每一个例程都坚持按照这个过程学习,你很快会找到编程的感觉,取其精华去其糟粕,久而久之会形成你独特的编程思想。

当然,刚开始,看别人的程序源代码就像看天书一样,只要硬着头皮看,看到不懂的关键字和语句就翻书查阅、对照。只要能坚持下来,学习收获会事半功倍。在实践过程中不仅要学会别人的例程,还要在别人的程序上改进和拓展,让程序产生更强大的功能。同时,还要懂得通过查阅芯片数据手册(DATASHEET)里有关芯片命令和数据的读写时序来核对别人例程的可靠性,如果你觉得例程不可靠就把它修改过来,成为是你自己的程序。不仅如此,自己应该经常找些项目来做,以巩固所学的知识和积累更多的经验。第三步:单片机硬件设计

当编写自己的程序信手拈来、阅读别人的程序能够发现问题的时候,说明你的单片机编程水平相当不错了。接下来就应该研究的硬件了。硬件设计包括电路原理设计和PCB板设计。学习做硬件要比学习做软件麻烦,成本更高,周期更长。但是,学习单片机的最终目的是做产品开发----软件和硬件相结合形成完整的控制系统。所以,做硬件也是学习单片机技术的一个必学内容。

电路原理设计涉及到各种芯片的应用,而这些芯片外围电路的设计、典型应用电路和与单片机的连接等在芯片数据手册(DATASHEET)都能找到答案,前提是要看得懂全英文的数据手册。否则,照搬别人的设计永远落在别人的后面,你做的产品就没有创意。电子技术领域的第一手资料(DATASHEET)都是英文,从第一手资料里你所获得的知识可能是在教科书、网络文档和课外读物等所没有的知识。

虽然有些资料也都是在DATASHEET的基础上撰写的,但内容不全面,甚至存在翻译上的遗漏和错误。当然,阅读DATASHEET需要具备一定的英文阅读能力,这也是阻碍单片机学习者晋级的绊脚石。良好的英文阅读能力能让你在单片机技术知识的海洋里自由遨游。

做PCB板就比较简单了。只要懂得使用Protel软件或AltimDesigner软件就没问题了。但要想做的板子布局美观、布线合理还得费一番功夫了。

娴熟的单片机C语言编程、会使用Protel软件或AltimDesigner软件设计PCB板和具备一定的英文阅读能力,你就是一个遇强则强的单片机高手了。

学习单片机的内容

第一步:数字I/O的使用

使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。IO口的使用,最简单的就是点亮流水灯啦~Comeon!为了让没有单片机的同学也能顺利学习,我们可以用仿真软件来做,有视频喔,学习更简单,麻麻再也不用担心了,哈哈。请看:帖子链接

第二步:定时器和按键的使用

学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。按键,就不用说了吧,应用很广泛的,不多说,参见帖子,注意,按键扫描程序是用if还是while喔~最近在某论坛发现了一种新型按键识别思路(利用AD),也可以看看~

第三步:中断

单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。

中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能使单片机具有吃着碗里的,看着锅里的功能。以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。

第四步:与PC机进行RS232通信

篇三:单片机课程学习总结

《单片机》课程学习总结

《单片机》这门课程我已经学了一个学期了,在这一个学期的学习

过程中,我一开始不怎么懂得编程,但慢慢的我现在已经不仅会读程

序还会写程序了。真为自己一个学期来努力学到的单片机知识只是而

感到高兴。

怎么学单片机?也常看到有人说学了好几个月可就是没有什么

进展。当然,受限于每个人受到的教育水平不同和个人理解能力的差

异,学习起来会有快慢之分,但我感觉最重的就是学习方法。一个好

的学习方法,能让你事半功倍,这里说说我学习单片机的经历和方法。

我觉得学习单片机首先要懂得C语言,因为单片机大多说都是靠

程序来实现的,如果看不懂程序或则不懂的编程是很难学会单片机

的。学习单片机首先要明白一个程序是怎么走的,要完全懂得程序每

一个步骤的意思。其次要懂得每一条指令的意思,不能盲目地去靠背

指令,这是记得不牢靠的,最主要的还是靠了解。学习单片机最主要

的对89C51芯片内部结构有全方面的,只要了解了89C51才能知道单

片机实现什么样的功能和作用,才能对单片机有更深一步的了解。

通过一个学期《单片机》这门课程的学习,我也从中有了不少心

得和体会想和大家分享一下。

万事开头难、要勇敢迈出第一步。开始的时候,不要老是给自己

找借口,不要说单片机的程序全是英文,自己看不懂。遇到困难要一

件件攻克,不懂指令就要勤奋看书,不懂程序就先学它,这方面网上

教程很多,随便找找看一下,做几次就懂了。然后可以参考别的人程

序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下

自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,

要做的工序不会差多少。然后建个程序,加入项目中,再写代码、编

译、运行。必须熟悉这一套工序。个人认为,一块学习板还是必要的,

写好程序在上面运行一下看结果,学习效果会好很多,仿真器就看个

人需要了。单片机是注重理论和实践的,光看书不动手,是学不会的。

知识点用到才学,不用的暂时丢一边。厚厚的一本书,看着人头

都晕了,学了后面的,前面的估计也快忘光了,所以,最好结合实际

程序,用到的时候才去看,不必说非要把书从第一页看起,看完它才

来写程序。比如你写流水灯,完全就没必要看中断的知识,专心把流

水灯学好就是了,这是把整本书化整为零,一小点一小点的啃。

程序不要光看不写,一定要自己写一次。最开始的时候,什么都

不懂,可以抄人家的程序过来,看看每一句是干什么用的,达到什么

目的,运行后有什么后果。看明白了之后,就要自己写一次,你会发

现,原来看明白别人的程序很容易,但到自己写的时候却一句也写不

出来,这就是差距。当你自己能写出来的时候,说明你就真的懂了。

必须学会掌握调试程序的方法。不少人写程序,把代码写好了,

然后一运行,不是自己想要的结果,就晕了,然后跑到论坛上发个帖

子,把程序一贴,问:为什么我的程序不能正常运行?然后就等别人

来给自己分析。这是一种很不好的行为,应该自己学会发现问题和学

会如何解决问题。这就需要学习调试程序的方法,比如KEIL里,可

以下断点啦,查看寄存器内容等等,这些都是调试程序的手段,当你

发现你写的程序运行结果和你想象中不一样的时候,你可以单步,也

可以下断点,然后跟踪,查看各相关寄存器内容,看看程序运行过中

是不是有什么偏差,找出影响结果的地方,改正过来。这一个过程非

常重要,通过程序的排错,你可以学到的知识是书上得不到的。

找到解决问题思路比找到代码更重要。我们用单片机来控制周边

器件,达到我们想到的目的,这是一个题目,而如何写出一个程序,

来控制器件按你想要的结果去运作,这个就是解题的思路。要写程序,

就得先找到解决问题的思路,你学会找出这个解题思路,比你找到代

码更为重要。不少人很喜欢找人家的代码,有的人甚至有了代码就直

接复制到自己的程序中,可以说,这不是一种学习的态度,无助于你

编程水平的提高。我几乎不怎么看人家的代码,多数时候是看别人的

思路,有方框图最好,没有的话文字说明也可以。要从代码中看出别

人处理问题的思路,是相当困难的,特别是大型的程序,看起来是非

常的累人。所以现在我也明白了,以前读书时说的程序流程图很重要,

现在算是知道了。当你知道一个问题怎么去解决了,那么剩下的只是

你安排代码去完成,这就已经不是什么问题了。

开动脑筋,运用多种方法,不断优化自己的程序。想想用各种不

同方法来实现同一功能。这是一个练习和提高的过程,一个问题,你

解决了,那么你再想想,能不能换种写法,也可以实现同一功能,或

者说,你写出来的代码,能不能再精简一点,让程序执行效率更高,

这个过程,就是一个进步的过程。很多知识和经验的获得,并不是直

接写在书让你看就可以得到的,需要自己去实践,开动脑筋,经验才

能得到积累,编程水平才能有所提高。

看别人的程序,学习人家的思路。这个在学习初期是很有用,通

过看别人的程序,特别是老师写出的具有一定水平的程序,可以使自

己编程水平得到迅速的提高。同时,也可以结合别人的编程手法,与

自己的想法融合在一起,写出更高水平的程序,从中得到进步。但要

注意,切忌将学习变成抄袭,更不是抄袭完了就认为自己学会了,这

样做只会使你退步。

尝试编写一下综合应用的程序。从流水灯学起,到动态扫描,再

到中断,那么,你可以试试写一下时钟这种综合性应用的程序,不要

小看时钟,要写好它不是一件容易的事情,它包括了单片机大部分的

知识,比如有按键(IO读取)、动态扫描(IO输出)、中断等,如

何协调好各功能模块正常工作,才是编程者需要学习的地方,当你单

独写一个功能的时候,比如按键读取,你可能感觉很容易,因为你的

程序什么也不做,只是读按键。但把它和其它功能混合在一起,如何

在整个程序运行中使每一部分都正常工作,这就不是写一个按键读取

这么容易的事情,功能模块之间有可能会互相影响,比如你需要让数

码管既能显示,又要去处理按键读取,怎么使这两部分都正常工作,

这就是一个协调过程。当你有了这个处理协调能力,你就算是入门了。

着重于培养解决问题的能力,而不是具体看自己编写了多少程序

或者做过什么。“学单片机重点在于学习解决问题的思路,而不是局

限于具体的芯片类型和语言”这一直是我的座右铭,是我学单片机学

习单片机之后感悟出来的。真正的能力不是你曾经编写过多少个可以

实现的程序,而应该是:“遇到没有解决过的问题,能利用自己已学

的知识,迅速找到解决问题的方法。”这个才是能力。

面对一个新程序时,多自己开动脑筋,不要急于找别人的程序。

有不少人面对一个新程序时,第一步想到的就是网上找别人写过的程

序,然后抄一段,自己再写几句,凑在一起就完成任务,这虽然可能

是省时间,但绝对不利你的学习。当你接到一个程序时,应该先自己

构思一下整个程序的架构,想想如何来完成。有可能的话,画一个流

程图,简单的可以画在脑子里,对程序中用到的数据、变量有一个初

步的安排,然后自己动手去写,遇到实在没办法解决的地方,再去请

教老师或同学,或看别人是怎么处理的,这样首先起码你自己动过脑

想过,自己有自己的思路。如果你一开始就看别人的程序,你的思维

就会受限在别人的思维里,自己想再创新就更难了,这样你自己永远

也没办法提高,因为你是走在别人的影子里。

学会提问题。一般来说,学习过程中,你遇上的问题,多数人也

有遇上的,所以如果有什么不懂,你可以去问老师。我觉得学习单片

机最主要的要多提问,对于一个自己不是太懂的程序,自己一定要多

提问几遍,这样不但有利于加深自己的印象还能从中学到不少别人的

方法。

经过一个学期我对《单片机》这门课程的学习,不仅让我懂得了

很多程序的编写,还让我学到了很多对自己有用的学习方法。总结这

个学期来的我自己的学习情况,我觉得自己对编程进步了不少,懂得

运用正确的学习方法学习单片机程序,不再去死记硬背指令了。所以

我觉得学习要不断总结学习方法,才能让自己学习不断进步。

交通信号灯设计报告

实验目的: P1口的使用方法,延时程序的编写

实验要求:在一个十字路口分为东西南北走向,信号等按以下的状态

顺序工作:

(1) 初始状态0,东西、南北红灯全亮。延时一定时间;

(2) 状态1,南北绿灯亮通车,东西红灯,延时一定时间;

(3) 状态2,南北绿灯闪烁几次转黄灯,东西仍然红灯,延时一定

时间;

(4) 状态3,南北红灯,东西绿灯通车,延时一定时间;

(5) 状态4,南北仍然红灯,东西绿灯闪烁几次转黄灯,延时一定

时间;

(6) 循环至状态1,继续

实验电路和流程框架图:

(1) 硬件电路

交通灯实训设备用最小系统板和信号灯组合而成。

2、软件编程

若各路口灯亮灭的时间间隔为2s钟,灯光闪烁时间间隔为0.5s。

用软件延时的方法,晶振频率12MHz时,一个机器周期为1us。

编写交通灯程序:

编写主程序,由R7做主程序的计数器,确定调用延

时时间为0.5s,从而获得交通灯的亮灭时间。程序如下:

ORG 0000H

LJMP MAIN

ORG 0003H

LJMP INTRU0

ORG 0030H MAIN: SETB EA

SETB ET0

CLRIT0

本文已影响