今天遇到一个问题,做一个单片机交通灯汇编程序实验,程序和仿真都是成功的,

单片机实验与设计教学大纲
课程目录号 :
课程目录名称:
& 单片机实验与设计
英文名称:
Single-chip microcompute experiment and design
先修课程:
面向对象:
电子信息、通信工程专业本科生
一、课程简介:
单片机实验课程要求学生掌握MCS-51系列单片机的基本原理、结构、指令系统,会对一些典型单片机应用电路进行汇编程序设计,掌握单片机应用系统的设计、开发、高度的原则、步骤方法及一些应用系统的实用技术。
二、教学目的与要求:
单片机在物理量的采集、处理、控制等各方面有着十分广泛的应用,单片机技术涉及硬件、软件,是一门实践性很强的应用技术。 指导学生通过单片机实验进一步了解单片机的硬件结构,熟悉单片机指令系统和编程语言、加深对单片机工作原理的理解。 培养与提高学生单片机应用系统的设计能力,其中包括:通过阅读实验教材或资料着手进行单片机实验的能力;简单应用系统的硬件设计能力;简单应用系统的软件编程能力;正确使用计算机开发平台的能力;完成简单设计性实验的能力等。 培养与提高学生的科学实验素养,要求学生具有理论联系实际和实事求是的科学作风,严肃认真的工作态度,主动探索的进取精神,遵守纪律、团结协作和爱护公共财物的优良品质。
三、主要内容与学时分配:
四、教材与参考书目:
& 实验教材:单片机实验讲义(自编),2009年9月。参考书目:李朝青. 单片机原理及接口技术 第三版. 北京航空航天大学出版社     胡汉才. 单片机原理及其接口技术 第三版. 清华大学出版社     张靖武. 单片机系统的PROTEUS设计与仿真. 电子工业出版社单片机交通灯实验汇编语言程序
单片机&嵌入式
单片机应用
嵌入式操作系统
学习工具&教程
学习和开发单片机的必备工具
(有问必答)
(带你轻松入门)
电子元件&电路模块
当前位置: >>
>> 浏览文章
单片机交通灯实验汇编语言程序
&&&&经过几天的整理,终于将网络上得到交通灯仿真文件,用汇编自己编写了一个程序,实验结果完全符合本人的思路,实验成功。
&&&&程序比较长,估计还会用更好的办法重新写。
&&&&编写心得是:单片机编程,不一定要背指令,用时可以查,也不必去默写子程序,用时还是可以查,但是,很关键的就是,你的程序,你自己要清楚整个的执行过程,也就是单片机的执行流程。而在实际的应用中,要注意驱动电路的设计,特别是单片机上电复位输出高电平可能造成的影响。
程序如下:如果网页显示格式错乱可从处下载.
&&&&&&&& ORG 0000H
&&&&&&&&&&MOV R2,#30
SU0:&&&&MOV P0,#00H
&&&&&&&&MOV P1,#00H
&&&&&&&&MOV P2,#00H
&&&&&&&&MOV P3,#B
&&&&&&MOV A,R2
&&&&&&&&MOV R4,A
&&&&&&&&MOV A,R4
&&&&&&&&MOV R0,A
&&&&&&&&MOV B,#5
&&&&&&&&DIV AB
&&&&&&&&MOV B,#3
&&&&&&&&MUL AB
&&&&&&&&MOV R1,A
&&&&&&&&SETB P0.4
&&&&&&&&SETB P0.7
&&&&&&&&SETB P2.2
&&&&&&&&SETB P2.5
&&&&&&&&AJMP KEY
SU1A:&& DEC R0
&&&&&&&&DEC R1
SUL5:&& CJNE R1,#5,SUL6
&&&&SETB P2.7
SUL6:&& CJNE R1,#4,SUL7
&&&&SETB P2.7
SUL7:&& CJNE R1,#3,SUL1
&&&&SETB P2.7
SUL1:&& CJNE R1,#2,SUL2
&&&&SETB P2.7
SUL2:&& CJNE R1,#1,SUL3
&&&&SETB P2.7
SUL3:&& CJNE R1,#0,SUL4&&&&&&&&
&&&&&&&&MOV A,R0
&&&&&&&&MOV R1,A
&&&&CLR P2.5
&&&&&&&&CLR P0.7
&&&&&&&&SETB P0.5
&&&&&&&&SETB P2.4
SUL4:&& CJNE R0,#0,KEY
&&&&&&&&AJMP SU0B&&&&&&&&
&& JB P3.5,KEY1
&&&&&& LCALL DELAY
&&&&&& MOV R2,#45
KEY1:&&JB P3.2,KEY2
&&&&&& LCALL DELAY
&&&&&& MOV R2,#60
KEY2:&&JB P3.3,KEY3
&&&&&& LCALL DELAY
&&&&&& MOV A,R2
&&&&&& ADD A,#5
&&&&&& MOV R2,A
&&&&&& CJNE R2,#95,DD
&&&&&& MOV R2,#95
KEY3:&&JB P3.4,DD
&&&&&& LCALL DELAY
&&&&&& MOV A,R2
&&&&&& SUBB A,#5
&&&&&& MOV R2,A
&&&&&& CJNE R2,#0,DD
&&&&&& MOV R2,#0
DD:&&&&MOV R3,#50&&&&&&&&&&&&&&;数码1
&& MOV P1,#00H
&& MOV A,R0
&&&&&& MOV B,#10
&&&&&& DIV AB
&&&&&& MOV DPTR,#TAB
&&&&&& MOVC A,@A+DPTR
&&&&&& MOV P1,A
&&&&&& SETB P0.0
&&&&&& LCALL DELAY1
&&&&&& CLR P0.0
&&&&&& MOV A,B
&&&&&& MOV DPTR,#TAB
&&&&&& MOVC A,@A+DPTR
&&&&&& MOV P1,A
&&&&&& SETB P0.1
&&&&&& LCALL DELAY1
&&&&&& CLR P0.1&&&&&&&&&&&&&&;数码2
&&&&&& MOV A,R1
&&&&&& MOV B,#10
&&&&&& DIV AB
&&&&&& MOV DPTR,#TAB
&&&&&& MOVC A,@A+DPTR
&&&&&& MOV P1,A
&&&&&& SETB P0.2
&&&&&& LCALL DELAY1
&&&&&& CLR P0.2
&&&&&& MOV A,B
&&&&&& MOV DPTR,#TAB
&&&&&& MOVC A,@A+DPTR
&&&&&& MOV P1,A
&&&&&& SETB P0.3
&&&&&& LCALL DELAY1
&&&&&& CLR P0.3&&&&&&&&&&&&&&;数码3
&&&&&& MOV A,R2
&&&&&& MOV B,#10
&&&&&& DIV AB
&&&&&& MOV DPTR,#TAB
&&&&&& MOVC A,@A+DPTR
&&&&&& MOV P1,A
&&&&&& SETB P3.6
&&&&&& LCALL DELAY1
&&&&&& CLR P3.6
&&&&&& MOV A,B
&&&&&& MOV DPTR,#TAB
&&&&&& MOVC A,@A+DPTR
&&&&&& MOV P1,A
&&&&&& SETB P3.7
&&&&&& LCALL DELAY1
&&&&&& CLR P3.7
&&&&&& DEC R3
&& CJNE R3,#25,SUL11
&& CLR P2.7
&&&&&& CJNE R3,#0,DD1
&&&&&& AJMP SU1A
SU0B:&&&& MOV P2,#00H
&&&&&&&&&&CLR P0.4
&&&&&&&&&&MOV A,R4
&&&&&&&&&&MOV R1,A
&&&&&&&&&&MOV B,#5
&&&&&&&&&&DIV AB
&&&&&&&&&&MOV B,#3
&&&&&&&&&&MUL AB
&&&&&&&&&&MOV R0,A
&&&&&&&&&&SETB P0.6
&&&&&&&&&&SETB P2.1
&&&&&&&&&&SETB P2.6
&&&&&&&&&&AJMP LKEY
SU1B:&&&&&&&&&&DEC R0
&&&&&&&&&&&&&& DEC R1
SUL44:&&&& CJNE R0,#5,SUL45
&&&&&& SETB P2.3
SUL45:&&&& CJNE R0,#4,SUL46
&&&&&& SETB P2.3
SUL46:&&&&&&&& CJNE R0,#3,SUL40
&&&&&& SETB P2.3
SUL40:&&&& CJNE R0,#2,SUL41
&&&&&& SETB P2.3
SUL41:&&&& CJNE R0,#1,SUL42
&&&&&& SETB P2.3
SUL42:&&&& CJNE R0,#0,SUL43&&&&
&&&&&&&&&&&&&& CLR P0.6
&&&& CLR P2.1
&&&&&&&&&&&&&& SETB P0.4
&&&&&&&&&&&&&& SETB P2.0
&&&&&&&&&&&&&& MOV A,R1
&&&&&&&&&&&&&& MOV R0,A
SUL43:&&&&&&&& CJNE R1,#0,LKEY
&&&&&&&&&&&&&& AJMP SU0
LKEY:&&;CLR P2.3
&& JB P3.5,LKEY1
&&&&&& LCALL DELAY
&&&&&& MOV R2,#45
LKEY1: JB P3.2,LKEY2
&&&&&& LCALL DELAY
&&&&&& MOV R2,#60
LKEY2: JB P3.3,LKEY3
&&&&&& LCALL DELAY
&&&&&& MOV A,R2
&&&&&& ADD A,#5
&&&&&& MOV R2,A
&&&&&& CJNE R2,#95,LDD
&&&&&& MOV R2,#95
LKEY3: JB P3.4,LDD
&&&&&& LCALL DELAY
&&&&&& MOV A,R2
&&&&&& SUBB A,#5
&&&&&& MOV R2,A
&&&&&& CJNE R2,#0,LDD
&&&&&& MOV R2,#0
&& AJMP LDD
LDD:&&&&MOV R3,#50&&&&&&&&&&&&&&;数码1
LDD1:&& MOV P1,#00H
&&&&&& MOV A,R0
&&&&&& MOV B,#10
&&&&&& DIV AB
&&&&&& MOV DPTR,#TAB
&&&&&& MOVC A,@A+DPTR
&&&&&& MOV P1,A
&&&&&& SETB P0.0
&&&&&& LCALL DELAY1
&&&&&& CLR P0.0
&&&&&& MOV A,B
&&&&&& MOV DPTR,#TAB
&&&&&& MOVC A,@A+DPTR
&&&&&& MOV P1,A
&&&&&& SETB P0.1
&&&&&& LCALL DELAY1
&&&&&& CLR P0.1&&&&&&&&&&&&&&;数码2
&&&&&& MOV A,R1
&&&&&& MOV B,#10
&&&&&& DIV AB
&&&&&& MOV DPTR,#TAB
&&&&&& MOVC A,@A+DPTR
&&&&&& MOV P1,A
&&&&&& SETB P0.2
&&&&&& LCALL DELAY1
&&&&&& CLR P0.2
&&&&&& MOV A,B
&&&&&& MOV DPTR,#TAB
&&&&&& MOVC A,@A+DPTR
&&&&&& MOV P1,A
&&&&&& SETB P0.3
&&&&&& LCALL DELAY1
&&&&&& CLR P0.3&&&&&&&&&&&&&&;数码3
&&&&&& MOV A,R2
&&&&&& MOV B,#10
&&&&&& DIV AB
&&&&&& MOV DPTR,#TAB
&&&&&& MOVC A,@A+DPTR
&&&&&& MOV P1,A
&&&&&& SETB P3.6
&&&&&& LCALL DELAY1
&&&&&& CLR P3.6
&&&&&& MOV A,B
&&&&&& MOV DPTR,#TAB
&&&&&& MOVC A,@A+DPTR
&&&&&& MOV P1,A
&&&&&& SETB P3.7
&&&&&& LCALL DELAY1
&&&&&& CLR P3.7
&&&&&& DEC R3
&&&&&& CJNE R3,#25,SUL10
&&&&&& CLR P2.3
SUL10:&&&&&&
&&&&&& CJNE R3,#0,LDD1
&&&&&& AJMP SU1B
&&&&DB&&0C0H&&&&&&&&;&0&
&&&&DB&&0F9H&&&&&&&&;&1&
&&&&DB&&0A4H&&&&&&&&;&2&
&&&&DB&&0B0H&&&&&&&&;&3&
&&&&DB&& 99H&&&&&&&&;&4&
&&&&DB&& 92H&&&&&&&&;&5&
&&&&DB&& 82H&&&&&&&&;&6&
&&&&DB&&0F8H&&&&&&&&;&7&
&&&&DB&& 80H&&&&&&&&;&8&
&&&&DB&& 90H&&&&&&&&;&9&
&&&&&& MOV R5,#100
L3:&&&&MOV R6,#100
L1:&&&&MOV R7,#6
L2:&&&&DJNZ R7,L2
&&&&&& DJNZ R6,L1
&&&&&& DJNZ R5,L3
&&&&&& RET
&&&&&& MOV R7,#30
D1:&&&&MOV R6,#10
D2:&&&&DJNZ R6,D2
&&&&&& DJNZ R7,D1
&&&&&& RET
【】【】【】【】
上一篇:下一篇:
CopyRight @
单片机教程网
, All Rights Reserved  ②南北黄灯,东西红灯,3s。
  ③东西绿灯,南北红灯,10s。
  ④东西黄灯,南北红灯,3s。然后循环。
  2.倒计时显示    交通灯亮时,数码管显示亮灯时间。数码管采用动态显示,P0口连接数码管的段码,P2口  连接数码管的位码。
  3.交通灯紧急情况    当有救护车、消防车等特殊车辆通过时,用按键控制两个方向均亮红灯,同时蜂鸣器发出报警声。等救护车和消防车通过后,交通灯再恢复正常情况。按键接P3.2口,蜂鸣器接P3.3口。
  交通灯外围器件与I/O口的连接如下图所示。
  二、三项任务的独立编程    1.交通灯正常情况    这个任务最简单,通行时间可以通过调用延时程序实现。程序流程如下图所示。
  南北通20s,东西通l0s,黄灯3s,软件延时。
  四种亮灯情况顺序完成,然后就是循环。
  2.数码管倒计时显示    一般情况下,通行时间不超过100s,所以用两位数码管显示计时时间足够了。单独写数码管倒计时程序也不困难,下面是一个倒计时60s的程序思路:
  60秒倒计时,循环计数。用定时器中断产生秒信号。
  这个程序大体由三部分组成,如下图所示。
  首先定义一个秒存储单元:MIAOEQU30H。程序开始时给它赋初值:MOVMIAO,#60。然后,我们在1s定时中断子程序中加入一个减1指令,再进行判断,语句如下:
  这样就可以得到一个60s倒计时程序。
  3.交通灯紧急情况    紧急情况更容易实现,它就是产生双向红灯信号和报警声。程序流程如下图所示。
  到目前为止,这三个任务都可以单独实现了。下面我们就看看怎样让这些任务协调工作,来完成交通灯项目的吧。
  三、交通灯项目的子程序化、模块化的编程方法    首先,要把上面的三个程序子程序化,以方便主程序调用。这就好像我们把三个有独立功能的程序分别打包包装起来,等到想用的时候随时都可以拎出来使用一样。各种不同功能的程序子程序化后,我们就可以很方便地把这些功能组合起来,从而使单片机应用系统的功能更加强大。
  我们先看第一个任务,交通灯正常情况有四种状态,我们在子程序化时要把这些状态区分开来,在这里我们考虑使用散转语句。另外,用软件延时会影响CPU的,所以改为定时器延时,延时时间我们要统一考虑,所以在这里就不出现了。改造后的交通灯正常情况的子程序如下:
  四个具体的子程序在这里从略,这样交通灯正常情况的程序我们就可以随时调用了。
  第二个任务是数码管的1s倒计时显示程序,这个程序的子程序化部分主要是在它的显示程序部分,而其他部分可以进行统一整合,数码管显示程序的子程序化我们只需要让它显示一遍,以后在主程序中调用就可以了。数码管显示部分的子程序格式如下:XIANSHI::数码显示秒数子程序从略。
  第三个任务是交通灯紧急情况,这个任务是需要外界触发响应的,所以我们使用了外部中断子程序。我们要把紧急情况下的双向红灯,报警声都封装在外部中断程序里面,因为紧急情况解除,交通灯还要回到正常情况。而这里的报警声程序,我们也可以把它写成子程序进行调用。紧急情况子程序如下:
  到此为止,我们完成了三个分立程序的子程序化工作,接着我们就要对这些子程序进行有序的整合,以便完成交通灯项目的目标要求。
  整体思路是这样的:程序大致可分为主程序和子程序两部分。主程序里又可分为两部分,第一部分是单片机的初始化设置,如定义你所使用的单元,使用定时器要进行定时器设置,使用中断妻进行中断设置,堆栈指针的设置及各项任务的初始状态等等。第二部分是主程序的主体部分,它要完成项目中的各项任务。一般我们把它写成一个循环语句,而各种任务我们只需要在这个循环语句里进行调用就可以了。如我们的交通灯项目,它的主要任务就是交通灯的四种亮灯状态及数码管的倒计时显示。我们首先要初始化一种亮灯状态,然后在循环语句里调用数码管倒计时显示子程序,接下来我们就检测倒计时时间是否到0,如果没到0,程序继续循环进行,如果到0,我们就调用散转子程序,程序执行下一种亮灯状态,这样一直循环下去,完成亮灯状态及数码管显示。
  子程序部分包含了单片机的各种功能程序,它们之间相互独立,排列顺序也不分先后,主要是供主程序调用,如我们这里的数码管显示子程序与延时子程序。中断服务是单片机的特殊功能程序,中断产生是随机的,它不为主程序所调用,所以我们的任务三一一交通灯紧急情况就是应用外部中断服务程序来实现的。只要外界有触发信号(按键接P3.2口),CPU就会终止主程序的工作,转而执行中断服务程序,直到中断结束。
  下面是交通灯项目程序的整体思路说明,希望这个说明有助于理解交通灯项目程序,有助于理解子程序化、模块化的编程方法。我们先看主程序的结构。
  从主程序中我们可以看出来,主程序由两部分组成,第一部分是对单片机进行统一的初始化设置。第二部分则是一个循环语句,各种任务都包含在这个循环语句里。如我们这个项目里的任务一、任务二,因为任务三是由外界触发响应的,所以我们把它放到了外部中断子程序里。这就是主程序的结构,而余下的部分就是我们所需要调用的子程序了,让我们看看到底有哪些需要调用的子程序吧。
  这就是交通灯项目程序的整体结构,而原程序与这个结构则是一致的。
&&&&&往下看有更多相关资料
本网站试开通微、小企业商家广告业务;维修点推荐项目。收费实惠有效果!欢迎在QQ或邮箱联系!
试试再找找您想看的资料
资料搜索:
查看相关资料 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
copyright & &广电电器(中国梧州) -all right reserved& 若您有什么意见或建议请mail: & &
地址: 电话:(86)774-2826670& & &&)网站已改版,请使用新地址访问:
jiao 51单片机设计交通灯(仿真+C程序)最成功的 Crypt_De algrithms 加密解密 277万源代码下载-
网站已改版,请使用新地址访问:
&文件名称: jiao
& & & & &&]
&&所属分类:
&&开发工具: C-C++
&&文件大小: 63 KB
&&上传时间:
&&下载次数: 123
&&提 供 者:
&详细说明:51单片机设计交通灯(仿真+C程序)最成功的交通灯设计-51 single-chip design of traffic lights (simulation+ C program) the most successful design of the traffic lights
文件列表(日期:~)(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&51单片机设计交通灯(仿真+C程序)&&................................\Protues仿真&&................................\...........\jiao.DSN&&................................\...........\jiao.PWI&&................................\...........\Last Loaded jiao.DBK&&................................\交通灯程序&&................................\..........\jiaotong&&................................\..........\&&................................\..........\jiaotong.hex&&................................\..........\jiaotong.lnp&&................................\..........\jiaotong.LST&&................................\..........\&&................................\..........\jiaotong.OBJ&&................................\..........\jiaotong.Opt&&................................\..........\jiaotong.plg&&................................\..........\&&................................\..........\jiaotong_Opt.Bak&&................................\..........\jiaotong_Uv2.Bak&&................................\..........\&&................................\..........\STARTUP.LST&&................................\..........\STARTUP.OBJ&&................................\..........\交通灯程序.txt
&[]:很好,推荐下载
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站277万海量源码库中尽情搜索:
&[] - 我的一个交通灯的课程设计,有论文、proteus功能仿真图以及程序原代码,有需要做课程设计的可以参考一下
&[] - 交通灯的设计,利用单片机编程,并有PROTEUS仿真
&[] - 一个avr单片机的小车循迹程序加上它的仿真图,程序已经调试完毕
&[] - 单片机的电机控制系统(自己原创)包括程序源码与仿真图
&[] - 交通灯控制系统
模拟显示两组信号灯,每组为直行和左转红黄绿六个信号灯,一组控制东西方向,一组控制南北方向,每组各有一个计时器。
&[] - 四路交通灯设计,有倒计时,prodeus仿真图
&[] - 简单的交通灯设计 只有红绿两灯 循环闪亮固定的时间
&[] - 基于AT89S51单片机的交通灯设计并利用单片机控制交通灯
&[] - 单片机控制交通灯设计
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本设计主要分为五大模块输入控制电路、时钟控制电路、片内外程序切换控制、显示电路。以MSC-51系列单片机IntelAT89C51为中
&[] - 内含四个关于单片机的设计,一个交通灯,一个电子密码锁,一个节拍器,一个多首音乐播放器,都附有源程序和电路图,每个都是用c和汇编两种编译软件分别实现基于51单片机汇编语言设计的交通灯_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于51单片机汇编语言设计的交通灯
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩20页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 交通灯单片机程序设计 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信