单片机用于交通灯控制实训例题
单片机交通灯控制实验

桂林电子科技大学单片机微机接口实验报告实验名称:交通灯控制实验辅导员意见:成绩:辅导员签字:一、实验目的1、学习在单片机系统中控制简单I/O接口的方法;2、学习数据输出程序的设计方法;二、实验内容1、以74LS276作为输出口,控制十二个发光二极管的亮灭,模拟交通灯控制;2、观察发光二极管的状态是否满足实验要求。
实验说明:本实验是模拟交通灯控制,故实验前首先应该了解交通灯的亮灭规律。
设某十字路口2、4为南北方向,1、3为东、西方向。
初始状态为四个路口的红灯全亮。
然后,东、西路口绿灯亮,南北路口红灯亮,东、西路口通车。
延迟一段时间后,东、西路口绿灯灭,黄灯开始闪烁。
黄灯闪烁若干次后,东、西路口红灯亮,南、北路口绿灯亮,南、北方向通车。
延迟一段时间后,南、北路口绿灯灭,黄灯闪烁。
黄灯闪烁若干次后,再切换到东、西路口方向。
本实验所用二极管为共阳极,由于阴极处接有与非门,故输出低电平亮。
三、实验参考电路图(如下)图1实验参考电路图四、实验程序框图开始初始化设置红灯全亮南北红灯亮,东西绿灯亮东西黄灯亮,闪烁东西红灯亮,南北绿灯亮南北黄灯亮图2程序框图五、实验步骤1、首先把安装有单片机的实验箱与电脑连接好。
2、打开程序调试Keil软件,按照程序框图进行编程。
3、对编好的程序进行调试,然后生成hex文件。
4、打开单片机试验箱的电源,用软件将程序写入单片机,按复位开关控制单片机实现对二极管的控制,模拟交通灯。
5、进行软硬件整体调试,直到符合实验要求为止.6、断开电源,收拾实验仪器,关掉电脑,书写实验报告。
六、程序清单ORG 0000HLJMP MAINORG 0050HMAIN: MOV A,#0B7HMOV P0,AMOV P2,ALCALL DELAY2A1: MOV A,#0EDHMOV P0,AMOV A,#0B7HMOV P2,ALCALL DELAY2LCALL SHAN1MOV A,#0B7HMOV P0,AMOV A,#0EDHMOV P2,ALCALL DELAY2LCALL SHAN2LJMP A1DELAY1: MOV R7,#250L11: MOV R6,#250L12: DJNZ R6,L12DJNZ R7,L11RETDELAY2: MOV R1,#10L21: MOV R2,#250L22: MOV R3,#250L23: DJNZ R3,L23DJNZ R2,L22DJNZ R1,L21RETSHAN1: MOV R4,#5S1: MOV A,#0DBHMOV P0,ALCALL DELAY1MOV A,#0FFHMOV P0,ALCALL DELAY1DJNZ R4,S1RETSHAN2: MOV R5,#5S2: MOV A,#0FFHMOV P2,ALCALL DELAY1MOV A,#0DBHMOV P2,ALCALL DELAY1DJNZ R5,S2RETEND七、实验分析1、电路接通电源时,一定要再次检查电路,特别是确定单片机是否放置正确,位置是否放反,以免烧毁单片机或者调试不出结果。
单片机控制交通灯(内含程序和实物图)

模拟交通灯控制系统摘要:随着经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通拥塞已成为一个国际性的问题.因此,设计可靠、安全、便捷的多功能交通灯控制系统有极大的现实必要性。
根据交通灯在实际控制中的特点,结合单片机的控制功能,提出了一种用单片机自动控制交通灯的简易方法。
设计中包括硬件电路的设计和程序设计两大步骤,对单片机学习中的几个重要内容都有涉足。
单片机的应用正在不断深入,单片机可以用来仿真各个系统。
在自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本系统采用单片机STC89C52为中心器件来设计交通灯控制器,实现了通过P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过P1口输出,显示时间通过P0口输出至双位数码管)。
本系统设计周期短、可靠性高、实用性强、操作简单、维护方便、扩展功能强。
关键词:单片机交通灯数码管1。
背景简介及原理分析1.1交通灯发展概述早在1850年,城市交叉口处不断增长的交通就引发了人们对安全和拥堵的关注。
世界上第一台交通自动信号灯的诞生,拉开了城市交通控制的序幕,1868年,英国工程师纳伊特在伦敦威斯特敏斯特街口安装了一台红绿两色的煤气照明灯,用来控制交叉路口马车的通行,但一次煤气爆炸事故致使这种交通信号灯几乎销声匿迹了近半个世纪。
1914年及稍晚一些时候,美国的克利夫兰、纽约和芝加哥才重新出现了交通信号灯,它们采用电力驱动,与现在意义上的信号灯已经相差无几。
1926年英国人第一次安装和使用自动化的控制器来控制交通信号灯,这是城市交通自动控制的起点。
伴随着城市交通信号控制系统的迅速发展。
人们认识到,要更好地提高城市管理水平,不仅仅依靠硬件设备的更新和改进,还必须同时在控制逻辑和方法上有所突破,即城市交通的区域协调控制。
单片机交通灯实验报告(一)

单片机交通灯实验报告(一)引言概述:交通灯是城市交通管理的重要组成部分,通过控制红绿灯的变化,实现车辆和行人的有序通行。
本文将详细介绍单片机交通灯实验的设计与实现,包括硬件设计、程序编写和实验结果分析。
正文:一、硬件设计1. 确定电路所需元件:单片机、LED灯、电阻等。
2. 组装硬件电路:按照电路图进行元件的连接,确保电路的正确连接。
3. 设计适当的电源:为单片机和LED灯提供稳定的电源。
二、程序编写1. 定义程序所需的IO口:确定控制LED灯的IO口。
2. 初始化单片机:设置单片机的工作频率和中断。
3. 设计交通灯的流程控制:根据实际的交通灯变化规律,设计程序的流程控制。
4. 编写交通灯控制的函数:使用if-else语句或switch-case语句编写函数控制交通灯的变化。
5. 调试程序:通过单片机调试工具或仿真软件,检查程序运行的正确与否。
三、实验结果分析1. 观察实验现象:通过实验现场观察交通灯的变化,记录每一种灯亮的时间和顺序。
2. 分析实验结果:根据实验记录,分析交通灯的工作原理和实现的准确性。
3. 比较与设计要求的符合度:将实验结果与设计要求进行比较,评估实验的完成度。
4. 探讨存在问题与改进方向:分析实验中可能存在的问题,并提出改进措施。
四、小结本文介绍了单片机交通灯实验的设计与实现。
通过硬件设计和程序编写,实现了交通灯的变化控制。
通过实验结果分析,我们可以得出实验的有效性和可行性。
当然,实验中也存在一些问题,需要进一步改进。
在后续的实验中,我们将进一步完善交通灯的控制,提高其实际应用的稳定性和可靠性。
总结:本文详细介绍了单片机交通灯实验的设计与实现,包括硬件设计、程序编写和实验结果分析。
通过该实验,我们对交通灯的工作原理和控制方法有了更为深入的了解,并对实验的经验和教训进行了总结。
相信在今后的学习和实践中,我们能够更好地应用单片机技术,为实现交通管理的智能化和高效化作出贡献。
单片机课程设计-智能交通灯(完整版)

单片机课程设计报告交通灯这个是我亲自做过的保证能用!希望对大家有所帮助!但是不要照抄照搬哦!智能交通灯控制系统设计摘要近年来,随着我国国民经济的快速发展,我国机动车辆发展迅速,而城镇道路建设由于历史等各种原因相对滞后,交通拥挤和堵塞现象时常出现。
如何利用当今计算机和自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,减少交通事故是很值得研究的一个课题。
目前,国内的交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯加上一个倒计时的显示器来控制行车。
关键词:AT89S51,交通规则,交通灯,车流量控制1.设计目的:1、通过交通信号灯控制系统的设计,掌握80C51传输数据的方法,以控制发光二极管的亮与灭以及数码管的显示;2、用80C51作为输出口,控制十二个发光二极管熄灭,模拟交通灯管理.3、通过单片机控制设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高动脑和动手的能力;4、完成控制系统的硬件设计、软件设计、仿真调试。
2.设计内容和功能:交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭。
用8051做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
在一个交通十字路口有一条主干道(东西方向),一条从干道(南北方向),主干道的通行时间比从干道通行时间长,四个路口安装红,黄,绿,灯各一盏;如图所示:1、设计一个十字路口的交通灯控制电路,要求东西方向(主干道)车道和南北方向(从干道)车道两条交叉道路上的车辆交替运行,时间可设置修改。
2、在绿灯转为红灯时,要求黄灯闪烁,才能变换运行车道3、黄灯亮时,要求每秒闪亮一次。
4、紧急情况发生,如消防车、救护车等紧急车辆通过时,要求四个路口同时加亮黄灯闪烁,并且倒计时显示装置关闭,四个路口的信号灯全部变成红灯。
5当东西或南北方向车流量大时,四个路口同时加亮黄灯进行闪烁,并且倒计时显示装置关闭,黄灯闪烁5秒后,只允许东西或南北方向车辆通行。
北京交通大学单片机课程设计交通灯

交通灯设计班级:姓名:学号:2016年5月5日1 课程设计总体目标1.1总体结构1.设计一个十字路口交通控制器。
2.开始运行后,先南北绿灯60S(通行60S)、东西红灯65S(禁止65S);然后,南北转黄灯闪烁5S;接着,东西绿灯30S(通行30S),南北红灯35S(禁止35S);最后,东西转黄灯闪烁5S;3.在二极管亮或者闪烁的同时两个方向的数码管显示倒计时,东西向一组数码管,南北向一组数码管。
2 硬件设计包括硬件电路及工作原理描述1.设计思路模拟交通灯控制电路时运用单片机来控制红、黄、绿三色LED灯显示,并通过定时器中断来控制数码管显示倒计时。
红、黄、绿交替闪亮,利用数码管计数显示间隔等,用于管理十字路口的车辆及行人通过,计时牌显示路口通行转换剩余时间。
2.单片机总控制电路如下图:STC89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,STC89C51在众多嵌入式控制应用系统中得到广泛应用。
3.74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)DIR=“1”,信号由 A 向 B 传输;(发送)当CE为高电平时,A、B均为高阻态。
由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。
单片机实训交通灯数字秒表

单片机实时交通信号灯控制模拟一实训目的:1.了解可编程I/O芯片8255的结构功能及编程方法2. 学习掌握用单片机进行交通灯控制的实现方法。
3. 掌握用软件编程实现延时的方法二设计内容及要求:1. 编程DJ—598KC单片机扩展连接的8255的PA、PB口为输出I/O口,控制DJ—598KC实验箱上的黄、绿、红、三色十二个发光二极管亮灭,并分别用实验箱上的两位七段LED数码倒计时显示两通车道车辆通行时间(即黄、绿、红三色发光二极管亮灭时间),模拟十字路口交通信号灯控制和管理,并完成在DJ—598KC单片机实验箱上的仿真。
2. 将8255的PA、PB口输出控制改为用单片机的P1、P3口实现输出控制,再完成控制电路连接设计及控制程序的编制和仿真。
三硬件及其相关连接图8255A的逻辑结构和信号引脚8255 控制电路逻辑图DJ-598KC实验系统LED显示器接口电路连接四软件设计用8255的PA、PB口控制程序清单ORG 0100HHA4S:MOV SP,#60H; 8255初始化MOV DPTR,#0FF2BHMOV A,#88HMOVX @DPTR,AMOV DPTR,#0FF23HMOV A,#88HMOVX @DPTR,A;四个红灯MOV DPTR,#0FF28HMOV A,#0B6HMOVX @DPTR,AINC DPTRMOV A,#0DHMOVX @DPTR,A;5秒延时MOV 2AH,#05HLCALL DELAY;东西绿灯,南北红灯HA4S3: MOV DPTR,#0FF28HMOV A,# 75 HMOVX @DPTR,AINC DPTRMOV A,# 0D HMOVX @DPTR,A; 80秒延时MOV 2AH,#50H LCALL DELAY;东西黄灯,南北红灯HA4S1:MOV DPTR,#0FF28HMOV A,# 0 F3 HMOVX @DPTR,AINC DPTRMOV A,# 0C HMOVX @DPTR,A;10秒延时MOV 2AH,#0AHLCALL DELAY;东西红灯,南北绿灯MOV DPTR,#0FF28H MOV A,# 0AE HMOVX @DPTR,AINC DPTRMOV A,# 0B HMOVX @DPTR,A; 50秒延时MOV 2AH,#32HLCALL DELAY;东西红灯,南北黄灯HA4S2: MOV DPTR,#0FF28HMOV A,#9EHMOVX @DPTR,AINC DPTRMOV A,#07HMOVX @DPTR,A;10秒延时MOV 2AH,#0AHLCALL DELAYLJMP HA4S3 ;重复东西通行;软件秒倒计时延时显示子程序DELAY:LCALL DISP ;调用秒值显示子程序DJNZ 2AH, DELAY ;计数器非零循环RET;秒值显示子程序(约1,000,800µs fosc=12MHz) 指令周期数DISP:MOV A,2AH ; 秒数转换为十进制数MOV B,#0AH ;DIV AB ; AB←(A)/(B)MOV DPTR,# TABLE ; 查表十位数的字形码MOVC A,@A+DPTR ;MOV R2,A ; 十位数的字形码存R2MOV A,B ;MOVC A,@A+DPTR ; 查表个位数的字形码MOV R3,A ; 个位数的字形码存R3MOV P2,#0FFH ;MOV R0,#21H ;MOV R1,#20H ;MOV R6,#0FAH ;; 250×((250×*8+1)×2×1+1)μsLOOP: MOV R5,#0FAH ;LOOP1: MOV A,R3 ;MOVX @R0,A ;MOV A ,#0FEH ;MOVX @R1,A ;DJNZ R5,LOOP1 ;(250*8+1)*2 μsMOV R5,#0FAH ;LOOP2:MOV A,R2 ;MOVX @R0,A ;MOV A,#0FDH ;MOVX @R1,A ;DJNZ R5,LOOP2 ;(250*8+1)μ2*sDJNZ R6,LOOP ;RET ;; ’0’~’f ’ 字符七段LED代码表TABLE:DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90HEND五总结体会以前总是在课堂听老师讲单片机,总觉得很枯燥,抽象,这次交通路灯的单片机实训,使我们更加了解单片机在设计方面的应用,以前学PLC的时候也编过交通路灯的程序,二者相比较感觉单片机更加的精确,更加方便,集成化程度高,成本更加的便宜。
(完整word版)单片机实训--交通灯
五、交通灯C语言程序为:
#include <at89x51。h>
/*--—-------———--——--——-——---—-//【贾小丹(AdvancyYP)@制作】//---—---—-----———-———---—-—--—*/
/*
名称 : 交通灯
单片机型号 :51系列单片机
晶振 : 12MHz
void T0_INTERRUPT(void) interrupt 1 using 1
{
if(stop_run==0)//如果当前状态为:禁止
{
t_10ms++;//10ms变量自增
if(t_10ms==100)//如果定时计数到1s
{
t_10ms=0;//10ms定时计数变量清0
stop_time—-;//禁止时间自减
EA=1;//总中断开启
}
/*****************************************************************************************/
//定时计数器T0中断//
/*****************************************************************************************/
//数码管函数//
/*****************************************************************************************/
void SMG(unchar x_seg, unchar x_bit)
{
SMG_SEG = SMG_SEG_CODE[x_seg];//数码管段选
单片机模拟交通灯综合实训
C51单片机模拟交通灯综合实训背景:设计模拟交通灯,东南西北各有红绿黄3只led灯。
工作状态:初始化全部灯亮,并闪烁三次;东西绿灯亮20s(南北红灯亮),黄灯亮并闪烁3次(每次0.5s),然后红灯亮,切换到南北绿灯亮,时间与点亮规律同东西方向,循环重复上述过程。
任务:1设计流程说明。
2系统框图设计。
3硬件电路设计。
4 软件设计及调试。
P1、简要说明设计流程及各环节的工作内容和目的。
1、确定任务:对任务进行分析,确定功能、性能要求,制定总体方案2、总体设计:系统功能分配,确定软件硬件功能关系,拟定调试方案3、硬件设计:绘制硬件原理图,绘制印制板图,配置元器件,硬件功能分配4、软件设计:确定算法与数据结构,程序模块划分,绘制程序流程图,程序编写与仿真调试5、系统调试:包括硬件调试和软件调试P2、根据系统需求,设计并画出系统功能模块框图,说明产品总体工作原理和各模块的功能。
交通灯模块工作原理是通过单片机控制实现灯的亮灭功能是实现东西南北的红、黄、绿灯的亮灭情况数码管模块工作原理是从单片机I/O口接出,实现数字显示功能是实现计时20S倒数和3秒倒数P3、根据系统框图,设计单片机应用系统和接口驱动电路图,标注电路中元器件型号和参数。
电路图用到得元器件如下表设计单片机应用系统和接口驱动电路图P4、编写软件代码,仿真、下载运行验证,实现要求的功能1.软件代码#include <reg51.h>unsigned char second=20, time0 =100 ,time1=50,county=6;unsigned char seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsigned char con[]={0xfd,0xfe};sbit NB_G=P1^0;sbit NB_Y=P1^1;sbit NB_R=P1^2;sbit DX_G=P1^3;sbit DX_Y=P1^4;sbit DX_R=P1^5;bit DXT=1;unsigned int i,j;void showtime();main(){for(j=6;j>=1;j--){P0=~P0;for(i=50000;i>0;i--);}P0=0xFF;for(i=50000;i>0;i--);NB_R=0;DX_G=0;showtime();TMOD=0X11;TL0=-10000;TH0=-10000>>8; TL1=-10000;TH1=-10000>>8;EA=1;ET0=1;ET1=1;TR0=1;while(1);}void isr_time0() interrupt 1{ showtime();TL0=-10000;TH0=-10000>>8; time0--; showtime(); if (time0==0){time0=100;second--;if (second==0){TR0=0; TR1=1;second=3;showtime();if (DXT){ DX_G=1;DX_Y=0; }else { NB_G=1;NB_Y=0; } }}}void isr_time1()interrupt 3{TL1=-10000;TH1=-10000>>8;time1--;showtime();if(time1==0){time1=50;if (county%2!= 0){second--;}county--;if(county){if(DXT) DX_Y=~DX_Y;else NB_Y=~NB_Y; }else{county=6;if (DXT){ DX_Y=1;DX_R=0; NB_R=1;NB_G=0;} else{DX_R=1 ;DX_G=0; NB_Y=1;NB_R=0;}TR1=0;TR0=1;DXT=~DXT;second=20;showtime();}}}void showtime(){unsigned int i,j;unsigned char time[2];time[0]=second/10;time[1]=second%10;P2=con[0];P0=seg[time[0]];for(j=100;j>0;j--);P2=con[1];P0=seg[time[1]];}2.仿真电路如图所示M1、分析并列出软件设计中需用到的单片机特殊功能寄存器(SFR)及其功能设置。
单片机交通灯实验报告
单片机交通灯实验报告交通灯是城市交通管理的重要组成部分,它能够规范车辆和行人的通行秩序,保障交通安全。
为了进一步学习交通灯的原理和掌握其设计,我们进行了一次单片机交通灯实验。
本次实验使用单片机和几个LED灯,通过对单片机的编程控制来实现交通灯的自动切换。
下面是我对该实验进行的详细记录和分析。
首先,我们需要连接电路。
我们采用的是STC89C52单片机,使用3个LED灯来模拟红灯、黄灯和绿灯。
利用杜邦线将LED灯连接到单片机的GPIO口,另外还需要连接一个电位器到单片机的模拟口,用来控制红灯亮灭的时间。
接下来,我们进行了单片机的编程。
我们使用C语言编写程序,利用单片机提供的GPIO口控制LED灯的亮灭,从而实现交通灯的控制。
我们通过控制红灯、黄灯和绿灯的亮灭时间,模拟真实交通灯的工作。
在编写程序的过程中,我们首先做了一些准备工作。
我们初始化了单片机的GPIO口,设定了红灯、黄灯和绿灯的引脚。
然后,我们使用一个循环语句不断地进行交通灯的切换。
具体来说,我们将交通灯控制划分为红灯、绿灯和黄灯三个状态,利用if-else语句对不同状态进行判断并进行相应的控制。
通过对红灯亮灭时间的控制,我们能够实现交通灯的自动切换。
在程序设计的过程中,我们还考虑了交通灯的变化时间。
我们在红灯和绿灯之间设置了一个黄灯过渡时间,以模拟真实交通灯的工作。
同时,我们还设置了一个迟滞时间,使得每个状态之间的切换更加顺滑。
通过这次实验,我们进一步了解了交通灯的工作原理和掌握了单片机的编程技巧。
通过对交通灯的模拟,我们成功地实现了交通灯的自动切换。
总结起来,这次实验不仅提高了我们对交通灯的认识,还锻炼了我们的动手能力和创新思维。
在今后的学习和工作中,我们将继续学以致用,将所学的知识应用到实际问题中。
让我们共同努力,为交通安全做出贡献。
单片机实验报告 十字路口交通灯
单片机实验报告温度的测量与显示姓名:薛博璠学号:0703110129班级:电信1101(一)实验要求1.硬件电路的单片机芯片采用AT89C51芯片,进行数据处理。
2.温度测量范围为:0-100摄氏度,测量精度正负0.1摄氏度,数据采集部分的传感器采用DS18B20芯片数字温度传感器。
3.总线驱动使用ZLG7290B 芯片,用六位七段LED 数码显示器显示测量的温度值。
4.键盘按键S1实现测量控制,按下按键S1则刷新测量的温度值。
(二)芯片介绍硬件电路的单片机芯片采用A T89C51芯片,进行数据处理。
数据采集部分的传感器采用DS18B20芯片数字温度传感器。
总线驱动使用ZLG7290B 芯片,用六位七段LED 数码显示器显示测量的温度值,键盘按键S1实现测量控制,按下按键S1则刷新测量的温度值。
系统硬件总体框图:DS18B20芯片DS18B20是由美国DALLAS 公司生产的单线数字温度传感器芯片。
与传统的热敏电阻有所不同,DS18B20可直接将被测温度转化为串行数字信号,以供单片机处理,它还具有微型化、低功率、高性能、抗干扰能力强等优点。
通过编程,DS18B20可以实现9~12位的温度读数。
信息经过单线接口送入DS18B20或从DS18B20送出,因此从微处理器到DS18B20仅需连接一条信号线和地线。
读、写和执行温度变换所需的电源可以由数据线本身提供,而不需要外部电源。
DS18B20的引脚功能:DS18B20的引脚(图7-10),其功能如表7-8所示。
DS18B2ZLG7290BAT89C5键盘 LEDS18B20的主要特点:1.采用单线技术,与单片机通信只需一个引脚;2.通过识别芯片各自唯一的产品序列号从而实现单线多挂接,简化了分布式温度检测的应用;3.实际应用中不需要外部任何器件即可实现测温;4.可通过数据线供电,电压的范围在3~5.5V;5.不需要备份电源;6.测量范围为-55~+125℃,在-10~+85℃范围内误差为0.5℃;7.数字温度计的分辨率用户可以在9位到12位之间选择,可配置实现9~12位的温度读数;8.将12位的温度值转换为数字量所需时间不超过750ms;9.用户定义的,非易失性的温度告警设置,用用户可以自行设定告警的上下限温度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 单片机用于交通灯控制实训例题 《单片机应用技术》西电出版社.刘守义 实训用单片机系统电路图见教材附录1 实训1 信号灯的控制1 1.实训目的 (1)了解单片机实验系统的基本组成及功能。 (2)通过最简应用系统实例了解单片机的基本工作过程。
2.实训设备与器件 实训设备:单片机开发系统,程序固化器。 实训电路:参见附录1原理图。
3.实训步骤及要求 1) 分析附录1所示的原理图,了解以8031为基础的单片 实验系统的基本组成及功能 本实训系统的核心器件是8031单片机芯片,同时外部还扩展了一片EPROM2764、一片RAM6264、一片EEPROM2864A、一片8155、一片ADC0809和MAX232等。下面首先将这些主要芯片的功能简单介绍如下: (1)EPROM2764:紫外线可擦除、电可编程的只读存储器,通常用于存放编制好的程序和常数表格。 (2)RAM6264:静态随机存储器,通常用于存放采集到的原始数据、处理中的数据及最后的结果。 (3)EEPROM2864A:电可擦除、电可编程的只读存储它是近年来广泛被使用的一种只读存储器。其主要优点是能在应用系统中进行在线改写,并能在断电情况下保存数据而不需要保护电源。它兼有程序存储器与数据存储器的特点。 (4)8155:一种可编程的RAM和I/O接口芯片,本实训系统主要用它来作扩展键盘和数码管显示的接口。 (5) ADC0809:一种8路模拟输入的8位逐次逼近式A/D 2
转换器件。 (6)MAX232:标准的串行口电平转换器,用来将单片机 和PC机联系起来。 此外,本系统还扩展了一片74LS245(8总线接收/发 送器),一片74LS373(8D三态输出锁存器),一片74LS138(3-8线译码器)和一片74LS240(8位反码三态输出驱动器)。 2) 向EPROM2764写入程序机器码 通过程序固化器将下列程序中对应的机器码依次写入到EPROM2764的0000H~0015H地址单元中: 机器码 地址 程序 ORG 0000H ; 759000 0000H START: MOV P1, #00H 110C 0003H ACALL DELAY ; 7590FF 0005H MOV P1, #0FFH 110C 0008H ACALL DELAY ; 80F4 000AH SJMP START ; 7BFF 000CH DELAY: MOV R3, #0FFH ; 7CFF 000EH DEL2: MOV R4, #0FFH 00 0010H DEL1: NOP DCFD 0011H DJNZ R4, DEL1 DBF9 0013H DJNZ R3, DEL2 22 0015H RET END 上列程序表由几部分组成。左边所列的一组十六进制数是机器码,以及机器码在存储器中的存贮地址(0000H~0015H)。机器码是计算机可以识别的语言,例如75,90,00等。这些是我们写入2764的内容,它们是一段程序。 中间所列的是和机器码对应的源程序(一系列指令),例如:MOV P1,#00H。 最右边所列的是对程序的简单说明,以便于阅读。程序固化器的具体操作过程可参见相应的说明书。 3
3) 运行程序 将写好的EPROM插入实训电路板相应位置,再接上电源,启动运行,观察8个发光二极管的亮灭状态。
4. 实训分析与总结 (1) 实训结果是:实训电路板中的8个发光二极管按照全亮、全灭的规律不停地循环变化。 (2) 本实训所涉及的电路可参见附录1原理图的左上角: 单片机的1~8引脚通过集成芯片74LS240(8个非门)接到8个发光二极管上。8个发光二极管的阳极通过一个限流电阻接+5 V电源,8个阴极连在一起接地。单片机的这8个引脚对应其内部的一个并行I/O口——P1口(有关P1口的具体结构在本章正文中介绍)。这些是本实训所涉及的硬件部分。 从附录原理图可见,当P1口的某个引脚为低电平时,相应的发光二极管变亮;当P1口的某个引脚为高电平时,相应的发光二极管熄灭。这样,我们可以通过向P1口写入一个8位二进制数来改变每个管脚的电平状态。通过相应指令可以向P1口写入数据。 实训程序中的第一条指令MOV P1,#00H(其中 # 表示其后面为常数,H表示其前面的常数为十六进制数,写成二进制形式为#00000000B,B表示二进制数)对应的机器码为75H 90H 00H,表示将数据00H送给P1口。这样,P1口的8个管脚状态与写入数据之间的关系如下: 写入数据位 D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 0 0 0 0 对应P1口管脚名称 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
管脚电平状态 低 低 低 低 低 低 低 低 发光二极管状态 亮 亮 亮 亮 亮 亮 亮 亮 4
所以,在通电运行后,发光二极管会出现全亮的状态。 同理,当执行程序中的第三条指令MOV P1,# FFH (即#11111111B)时,发光二极管会全灭。 由此可见,我们可以通过软件——程序来完成对硬件 电路的控制。 (3) 实训中,我们事先将程序(机器码)正确地固化到程序存储器EPROM 2764芯片中,然后把2764芯片插入实验板,并与单片机(例如8031)通过一定的方式连接起来,接上电源后,发光二极管按照既定的规律亮灭。这说明,2764中的写入内容能够依次读出,并且送入到单片机内部完成相应的功能,而这一切工作都是在单片机的控制下来实现的,也就是说,单片机在执行机器码。 我们知道,存储器2764有三类总线:数据线、地址线和控制线。在单片机应用系统中,这三类总线都是由单片机芯片提供的,并且由单片机控制数据的读取。 (4) 本实训中,机器码写在了单片机之外的一片EPROM中,该EPROM是用来存储编好的程序的,所以可以称之为程序存储器。实际上,有的单片机内部也具有一定容量的片内程序存储器,当内部存储器容量够用时,就不必外接EPROM了。 5
实训4 信号灯的控制2 1. 实训目的 (1) 掌握汇编语言程序的基本结构。 (2) 了解汇编语言程序设计的基本方法和思路。
3. 实训设备与器件 (1) 实训设备:单片机开发系统、微机等。 (2) 实训器件与电路:参见附录1原理图
3. 实训步骤与要求 (1) 运行程序1,观察8个发光二极管的亮灭状态。 (2) 在实训1实训电路中增加一个拨动开关,如图4.1所示。 将拨动开关S0拨到+5 V位置,运行程序2,观察发光二极管的亮灭状态; 将拨动开关S0拨到接地位置,运行程序2,观察发光二极管的亮灭状态。 (3) 运行程序3,观察8个发光二极管的亮灭状态。 程序1:所有发光二极管不停地闪动。
图4.1 实训中的开关电路 8031+5 V4.7 kP3.4S0 6
ORG 0000H START: MOV P1, #00H ; ACALL DELAY ;调用延时子程序MOV P1, #0FFH ;灭掉所有发光二极管ACALL DELAY ;调用延时子程序 AJMP START ;重复闪动 DELAY: MOV R3, #7FH ;延时子程序 DEL2: MOV R4, #0FFH DEL1: NOP DJNZ R4, DEL1 DJNZ R3, DEL2 RET END ;汇编程序结束
程序2:用开关控制发光二极管的显示方式。 ORG 0000H MOV P3, #00010000B ; MOV A, P3 ;读P3口引脚线信号 ANL A, #00010000B JZ DDPING ; MOV P1, #00H ; SJMP $ DDPING: MOV P1, #55H ; SJMP $ END
程序3:使8个发光二极管顺序点亮。 ORG 0000H START: MOV R2, #08H ;设置循环次数 MOV A, #0FEH ;送显示模式字 NEXT: MOV P1, A ; ACALL DELAY RL A ; 7
DJNZ R2, NEXT ; SJMP START DELAY: MOV R3, #0FFH ; DEL2: MOV R4, #0FFH DEL1: NOP DJNZ R4, DEL1 DJNZ R3, DEL2 RET END
4. 实训分析与总结 (1) 程序1的运行结果是:8个发光二极管同时闪动,该程序的运行过程用流程图表示如图4.2所示。程序1的执行过程是按照指令的排列顺序逐条执行,直到全部指令执行完毕为止。 这种按照指令的排列顺序逐条执行的程序结构称为顺序结构程序。表示该程序结构的图称为程序流程图,如图4.2所示。
图4.2 程序1流程图 开始
点亮 8 个发光二极管延时熄灭 8 个发光二极管延时结束