第一篇:红绿灯实验报告
实验报告
班级:
学号: 姓名:
日期:
实验
一、红绿灯控制
一、实验目的
熟悉软件的使用,掌握plc编程的方法,编写程序控制十字路口的红绿灯。
二、实验设备
一台安装有STEP 7-MivroWIN4.0与S7200_simulation的电脑。
三、控制要求分析
实验利用PLC控制十字路口的红绿灯。十字路口的红绿灯分为横向控制灯和纵向控制灯,每个方向有红、绿、黄3种颜色的控制灯。
当电路接通,双向红绿灯开始正常工作,横向的绿灯和纵向的红灯先亮。横向的绿灯亮维持8s,在横向绿灯亮的同时纵向的红灯也亮起,并维持10s。第8秒时横向的绿灯熄灭,同时亮起黄灯并维持2s后熄灭。第10s时,横向黄灯熄灭的同时亮起红灯并维持10s,同时纵向的绿灯亮起并维持8s。当纵向绿灯熄灭并亮起黄灯持续2s后红灯亮起,同时横向的绿灯也亮起并维持8s到此一个循环就此结束下一个循环开始。当按下紧停按钮时两路同时亮黄灯2s后,其中一路亮红灯另一路亮绿灯。本实验设置了两个紧停按钮。
四、PLC的I/O分析
I0.1,I0.2两个紧停按钮。M0.1,M0.2中间继电器。Q0.0横向绿灯,Q0.1横向黄灯,Q0.2横向红灯,Q0.3纵向红灯,Q0.4纵向绿灯,Q0.5纵向黄灯。T37、T41为8s定时器,T38、T42为2s定时器,T39、T40为10s定时器。
五、PLC梯形图程序及指令表程序 梯形图程序:
指令表程序:
LD I0.1 = M0.1 Network 2 LDN M0.2 AN M0.1 AN T37 LDN M0.1 A T38 A M0.2 OLD = Q0.0 Network 3 LDN M0.2 AN M0.1 AN T39 TON T37, 80 Network 4 LDN M0.2 AN M0.1 AN T38 A T37 LDN M0.2 AN T38 A M0.1 OLD LDN M0.1 AN T38 A M0.2 OLD = Q0.1 Network 5 LDN M0.1 AN M0.2 A T37 LDN M0.2 A M0.1 OLD LDN M0.1 A M0.2 OLD TON T38, 20 Network 6 LDN M0.2 AN M0.1 AN T39 A T38 LDN M0.2 A T38 A M0.1 OLD = Q0.2 Network 7 LDN M0.1 AN M0.2 A T38 TON T39, 100 Network 8 LDN M0.1 AN M0.2 AN T40 LDN M0.1 A T42 A M0.2 OLD = Q0.3 Network 9 LDN T42 AN M0.1 AN M0.2 TON T40, 100 Network 10 LDN M0.1 AN M0.2 AN T41 A T40 LDN M0.2 A T38 A M0.1 OLD = Q0.4 Network 11 LDN M0.1 AN M0.2 AN T42 A T40 TON T41, 80 Network 12 LD T41 AN M0.2 AN T42 AN M0.1 LDN T42 A M0.1 AN M0.2 OLD LDN T42 AN M0.1 A M0.2 OLD = Q0.5 Network 13 LDN M0.1 AN M0.2 A T41 LDN M0.2 A M0.1 OLD LD M0.2 AN M0.1 OLD TON T42, 20 Network 14 LD I0.2 = M0.2
六、实验过程记录及分析
根据实验要求,编写plc梯形图程序。打开软件录入程序,运行调试直到达到正确控制红绿灯的亮灭。模拟软件S7-200调试时,双向红绿灯开始正常工作,横向的绿灯和纵向的红灯先亮。横向的绿灯亮维持8s,在横向绿灯亮的同时纵向的红灯也亮起,并维持10s。第8秒时横向的绿灯熄灭,同时亮起黄灯并维持2s后熄灭。第10s时,横向黄灯熄灭的同时亮起红灯并维持10s,同时纵向的绿灯亮起并维持8s。当纵向绿灯熄灭并亮起黄灯持续2s后红灯亮起,同时横向的绿灯也亮起并维持8s到此一个循环就此结束,下一个循环开始。按下紧停按钮I0.1、I0.2时,Q0.1、Q0.5同时亮起并维持2s后熄灭,同时其中一路常亮绿灯,另一路常亮红灯。
说明实验程序正确,保存好实验数据,做好记录。关闭软件。
七、时序分析 正常无故障运行:
Q0.0横向绿灯,Q0.1横向黄灯,Q0.2横向红灯,Q0.3纵向红灯,Q0.4纵向绿灯,Q0.5纵向黄灯。
I0.1、I0.2为紧停开关
当按下紧停按钮I0.1:横向红灯(Q0.2)亮,纵向绿灯(Q0.4)亮。
当按下紧停按钮I0.2:横向绿灯(Q0.0)亮,纵向红灯(Q0.3)亮。
八、实验心得体会
通过实验操作,了解掌握了plc编程的原理和方法,同时实验前期遇到很多各类问题,均得到了解决,对plc产生了初步的兴趣。对以后进一步学习plc相关知识奠定了坚实的基础。
第二篇:机器人-红绿灯-仿真实验报告
“机器人控制”课程总结报告
机器人控制
综合仿真实验
——红绿灯
姓名:李铃
年级:2011级
系别:信息工程学院 计科(师)学号:1111000048
同组人姓名:杨晨
年级:2011级
系别:信息工程学院 计科(师)同组人学号:1111000054
2013年5月14日
第 1 页 【实验目的】
进一步熟悉keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和数码管的电路结构学会构建简单的红绿灯电路。掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。
【实验要求】
利用proteus仿真软件和keil仿真软件实现交通信号灯的功能。
【实验环境】
Proteus与keil联合,语言环境为汇编语言。
【实验用品】
proteus仿真软件,keil仿真软件,个人计算机一台。
【实验内容】
一、利用proteus软件画出电路图
1、打开proteus软件,点击P选择电器元件(见图1.1),在keywords中搜索要用到的电器元件(见图1.2和图1.3),在本次试验中选择型号为AT89C51单片机。找到后双击元件名称,这样元件就显示在DEVICES中了(见图1.4),选好后点击“OK”关闭窗口。
图 1.1
图 1.2
图 1.3
图 1.4
2、选中左侧的AT89C51元件,在作图区域内单击鼠标左键,会出现图1.5左边的图象,再次单击鼠标左键,会出现图1.5右边的图像,此时已经安放好了AT89C51元件。
图
1.5
3、按照上述步骤找齐电路中还需要的电器元件,包括:电阻(RES17个,RESPACE1个),电容(CAP2个,CAPELEC1个),三极管(2N222 2个),发光二级管(LED-GREEN1个,LED-RED1个,LED-YELLOW1个),数码管(7SEG1个),开关(BUTTON1个),晶振(GRYSTAL1个)。
4、将各个元件组合,最终形成如图1.6的电路图。
二、利用keil软件编写程序并生成.asm文件和.hex文件
1、打开keil软件,选择工程->新建工程(见图1.7),并确定存放位置。
图 1.7
2、选择单片机:Atmel->AT89C51,之后的对话框选择“否”,如图1.8。
图 1.8
3、新建程序:文件->新程序文件,如图1.9.4、编辑程序文件如下:
ORG 0000H TEMP EQU 24H TEMN EQU 25H LJMP MAIN ORG 0003H LJMP T0_INT ORG 0013H LJMP TI_INT T0_INT: MOV A, P1 PUSH ACC MOV P1, #0FFH MOV P1, #0F3H MOV P0, #00H JNB P3.2,$ POP ACC MOV P1, ACC RETI TI_INT: MOV A, P1 PUSH ACC MOV P1, #0FFH MOV P1, #0DEH
图 1.9 MOV P0,#00H JNB P3.3,$ POP ACC MOV P1, A RETI MAIN: SETB EA SETB EX0 SETB EX1 CLR F0 START1: MOV TEMP, #25 MOV P1, #0F3H LOOP1: ACALL DELAY DEC TEMP MOV A,TEMP MOV P0, TEMP JNB P1.6,START3 JNB P1.7,START11 CJNE A,#0, NEXT1 LJMP START2 NEXT1: LJMP LOOP1 START11: MOV TEMP, #65 MOV P1, #0F3H LOOP11: ACALL DELAY DEC TEMP MOV A,TEMP MOV P0, TEMP JNB P1.6,START33 JNB P1.7,START1 CJNE A,#0, NEXT11 LJMP START11 NEXT11: LJMP LOOP11 START2: MOV P1, #0F5H MOV TEMN,#05 LOOP2: ACALL DELAY1 DEC TEMN MOV A,TEMN CJNE A, #0,NEXT2 LJMP START3 NEXT2: LJMP LOOP2 START3: MOV TEMP, #25 MOV P1,#0DEH LOOP3: ACALL DELAY DEC TEMP MOV A,TEMP MOV P0, TEMP JNB P1.6,START1 JNB P1.7,START33 CJNE A, #0,NEXT3 LJMP START4 NEXT3: LJMP LOOP3 START33: MOV TEMP, #65 MOV P1,#0DEH LOOP33: ACALL DELAY DEC TEMP MOV A,TEMP MOV P0, TEMP JNB P1.6,START11 JNB P1.7,START3 CJNE A, #0,NEXT33 LJMP START4 NEXT33: LJMP LOOP33 START4: MOV P1, #0EEH MOV TEMN,#05 LOOP4: ACALL DELAY1 DEC TEMN MOV A, TEMN CJNE A,#0,NEXT4 LJMP START1 NEXT4: LJMP LOOP4 RETI DELAY: MOV A,TEMP MOV B, #10 DIV AB MOV R5, A MOV R6, B MOV R0, #10 L0: MOV R1, #250 L1:MOV A,R5 MOV P0, A CLR P2.4 ACALL DIMS SETB P2.4 MOV A,R6 MOV P0,R6 CLR P2.5 ACALL DIMS SETB P2.5 DEC R1 DJNZ R1,L1 DEC R0 DJNZ R0,L0 RETI DELAY1: MOV A,TEMN MOV B, #10 DIV AB MOV R5, A MOV R6, B MOV R2, #10 L2: MOV R3, #250 L3:MOV A,R5 MOV P0, A CLR P2.4 ACALL DIMS SETB P2.4 MOV A,R6 MOV P0,R6 CLR P2.5 ACALL DIMS SETB P2.5 DEC R3 DJNZ R3,L3 DEC R2 DJNZ R2,L2 RETI DELAY11: MOV A,TEMP MOV B, #10 DIV AB MOV R5, A MOV R6, B MOV R0, #10 Y0: MOV R1, #250 Y1:MOV A,R5 MOV P2, A CLR P2.6 ACALL DIMS SETB P2.6 MOV A,R6 MOV P2,R6 CLR P2.7 ACALL DIMS SETB P2.7 DEC R1 DJNZ R1,Y1 DEC R0 DJNZ R0,Y0 RETI DIMS: MOV R7,#250 DJNZ R7,$ RET END
4、生成asm文件。文件->保存,如图1.10,注意后缀为.asm
图 1.10
5、生成hex文件。Target->source group 1->右键->Add Files to Group‘Source Group 1’,单击Add,然后单击Close。单击Build Toolbar->Options for Target,如图1.11进行设置。调试正常后,project->build target生成hex文件(十六进制文件)。
图 1.11
【实验小组分工情况】
李铃负责Proteus软件部分,杨晨负责keil软件和p-k联动部分。
【结论】
基本实现红绿灯电路,进一步熟悉了keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和数码管的电路结构。掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。
【收获和体会】
考虑到本组的第一和第二个仿真实验分别为流水灯和数码管动态显示,我组成员决定这个综合的仿真实验结合这前两个仿真做一个红绿灯的仿真实验。本意是想根据实际情况,即红灯和绿灯亮起的时间较长为25秒,黄灯较短为5秒,根据红黄绿的顺序显示,并且有数字显示剩余时间。但是实验并未获得成功,最后数码管正常运转,灯却不亮,进行多次调试后也没能成功,这是本次实验的一个问题。此外,本次实验的汇编代码有些复杂,在编译时花了不少时间。
第三篇:单片机,红绿灯显示实验报告
实
验
报
告
学生姓名:
学 号:
指导教师:
实验地点:
实验时间:2018年4月2日 实验 红绿灯显示实验
一、实验目的:
1.掌握程序控制指令。
2.掌握分支程序、子程序、循环程序的编写方法。
3.掌握软件延时的方法、了解机器周期和指令周期的概念。4.了解“静态显示”的含义。
二、实验内容:
在显示实验的基础上,如果将第7位,第3位,第1位分别看成红灯、黄灯和绿灯,红灯5秒(对应位显示0)后,显示黄灯1秒(对应位显示0),再显示绿灯3秒,编写对应程序,程序要求,延时使用子程序,最好使用标志位。其它内容见显示实验
三、实验步骤:
1.程序清单:
a)DpyDisplay.c: #include
typedef unsigned char u8;typedef unsigned int u16;
#define Dpy P0 sbit LSA = P2^2;sbit LSB = P2^3;sbit LSC = P2^4;
u8 code array[17] = {0x3f, 0x06, 0x5b, 0x4f,0x66, 0x6d, 0x7d, 0x07,0x7f, 0x6f, 0x77, 0x7c,0x39, 0x5e, 0x79, 0x71,0x00};
void ls(u8 c, u8 b, u8 a)
{ LSA = a;LSB = b;LSC = c;}
void delay(u16 i){ while(i>0)i--;}
void Dpy1Display(u8 i){ ls(1,1,1);Dpy = array[i];delay(100);Dpy = 0x00;}
void Dpy2Display(u8 i){ ls(1,1,0);Dpy = array[i];delay(100);Dpy = 0x00;}
void Dpy3Display(u8 i){ ls(1,0,1);Dpy = array[i];delay(100);Dpy = 0x00;}
void Dpy4Display(u8 i){ ls(1,0,0);Dpy = array[i];delay(100);Dpy = 0x00;}
void Dpy5Display(u8 i){ ls(0,1,1);Dpy = array[i];delay(100);Dpy = 0x00;}
void Dpy6Display(u8 i){ ls(0,1,0);Dpy = array[i];delay(100);Dpy = 0x00;}
void Dpy7Display(u8 i){ ls(0,0,1);Dpy = array[i];delay(100);Dpy = 0x00;}
void Dpy8Display(u8 i){ ls(0,0,0);Dpy = array[i];delay(100);Dpy = 0x00;}
void DpyDisplay(u8 a, u8 b, u8 c, u8 d, u8 e, u8 f, u8 g, u8 h){ Dpy1Display(a);Dpy2Display(b);Dpy3Display(c);Dpy4Display(d);Dpy5Display(e);Dpy6Display(f);Dpy7Display(g);Dpy8Display(h);} b)main.c: #include
typedef unsigned char u8;typedef unsigned int u16;
extern void DpyDisplay(u8 a, u8 b, u8 c, u8 d, u8 e, u8 f, u8 g, u8 h);
void main(){ u16 i, j, n;n = 108;
while(1){ for(j=10;j>0;j--){
for(i=0;i DpyDisplay(j-1,16,16,16,16,16,16,16);} for(j=2;j>0;j--){ for(i=0;i DpyDisplay(16,16,j-1,16,16,16,16,16);} for(j=5;j>0;j--) } } { } for(i=0;i 2.实验现象: 开发板数码管第一位从9逐秒递减至0后,第三位从1逐秒递减至0,之后第五位从4逐秒递减至0。3.实验原理: a)通过发送段码选定某位后向该位发送位码以点亮一根数码管。b)数码管以非常短的时间重复点亮,利用人的视觉暂留给人以稳定显示字符之感。 c)利用for循环使数码管稳定显示,并使数字逐秒减少。4.实验中的注意事项、遇到的问题以及总结: a)点亮数码管的循环函数中语句尽可能少,防止数码管显示过程中的闪烁。b)最好制作编码表,设置输入值与显示字符的关系,后续即可通过查表完成显示,可大大减小工作量。 c)利用for控制每位显示可大大减少代码量。5.实验改进方向与设想 可外接不同色LED模拟红绿灯。 红绿灯呀,眨眼睛,十字路口最分明 绿灯行走红灯停,该停该行要分清。绿灯行走红灯停,该停该行要分清 啦啦啦啦,啦啦啦啦 一撇一捺做个人,一身正气讲文明 长长短短人生路,迈步要看红绿灯。 红绿灯呀,眨眼睛,十字路口最分明 知荣知耻路灯生,好事坏事要分清。知荣知耻路灯生,好事坏事要分清。啦啦啦啦,啦啦啦啦 一撇一捺做个人,一身正气讲文明 长长短短人生路,迈步要看红绿灯。啦啦啦啦,啦啦啦啦 一撇一捺做个人,一身正气讲文明 长长短短人生路,迈步要看红绿灯。迈步要看,要看红绿灯。 红 绿 灯 一、教材分析 “红绿灯”选自浙教版《品德与社会》五年级上册第四单元第3课。本单元“安全伴我行”是依据《品德与社会课程标准》内容标准要求:“了解有关安全的常识,有初步的安全意识和自护自救能力。爱护自己的身体和生命。”来编写的。虽然在二上第一单元《难忘的假期》中,学生初步学习了怎样才能更快更好地到达目的地以及外出时应注意哪些安全(如:不攀高;不逗弄小动物;不在烈日下暴晒;不玩火等),但纵观浙教版小学六年的品德教材,《红绿灯》是唯一一课引导学生学习有关交通知识的课文。本课教材通过认识交通标志、了解交通法规、收集交通标志、编写交通用语来感受违反交通规则的严重后果及交通法规是交通顺畅和人身安全的保证,激发对交通安全的思考,在此基础上提高学生的交通安全意识,鼓励学生学交通标志和交通法规,自觉遵守交通规则,自护自救,保障人身安全。 二、学情分析 由于安全知识的贫乏和安全意识的淡薄,生活中许多不经意的小事往往会酿成大祸。一幕幕血的教训给家庭和社会带来了灾难和痛苦,为了家庭的幸福和国家的安定,对广大人民尤其是少年儿童进行交通安全教育已成为当代教育不容忽视的重要课题。据有关报道介绍,近几年,交通事故一直占中小学生意外伤亡的第一位,并且显示出不断增多的趋势。在如此严峻的形势下,中小学生的自我保护意识就显得尤为重要。针对学生安全意识淡薄,违规现象多等交通安全隐患,本课特以“红绿灯”为题,目的是帮助学生正确掌握交通安全知识,加强交通安全意识。 三、教材分析 《红绿灯》是浙教版《品德与社会》五年级上册第四单元“安全伴我行”中的第三课。本单元的教育主题是加强安全教育,培养安全意识,让学生关注安全,学会自护自救。这个单元分为四部分:“我是小小安全员”、“小心‘电老虎’”、“红绿灯”、“遇见危险我不慌”。前两课主要讲的是居家安全、用电安全,第三课“红绿灯”讲的是交通安全,不仅是为了帮助学生正确掌握交通安全知识,更重要的是让学生加强交通安全意识,知道遵守交通规则的重要性,并通过辨析让法规走进生活,使学生从学法规过渡到用法规。 四、教学目标 1认识主要的交通标志,了解与我们生活密切相关的交通法规和交通安全知识。了解违反交通规则带来的严重后果,加强交通安全意识,懂得“遵守交通规则,人人有责”,做到能自觉遵守交通规则。 二、教学重点难点 让孩子加强交通安全意识,并懂得“遵守交通规则,人人有责”,做一个自觉遵守交通规则的人。 五、教学过程 引入新课,发现问题: 今天我们来聊一聊交通安全。(出示课题:红绿灯) 看录象:这是我们学校附近拍的一段录像。(看完后停几秒钟)你看到了什么? 这仅仅是我们拍到的几个镜头,同学们,据你们观察,还有哪些常见的违反交规的现象? 为了了解现在社会上违反交通规则的现象有多严重,我做了一份问卷调查,你猜猜看,104个小学生当中,有多少人违反过交通规则?(101人),有些孩子说,几乎每天都违反交通规则,而208个成年人中没有违反过交通规则的只有29人,你说,情况严不严重? 2 学习交通知识: (1)这个数据调查着实让我吓了一跳,也让我感到小学生学习交通知识迫在眉睫。现在,就请你把课前搜集好的交通标志拿出来吧!有这么多啊!你是在什么地方找到的?同学们真的非常努力,现在就请你们以小组为单位交流一下,然后找出最常见的,派一个同学贴到黑板上来,好吗?(图片按红、黄、蓝各一排粘在黑板上。) 这么多标志你都认识了吗?随机抽几个考考学生。 红色、黄色、蓝色各代表什么标志?一边板书:禁令标志、警告标志、指示标志。认识这些标志有什么好处呢? (2)为了保障我们的交通安全,有关部门还制定了许多相关的交通法规:《中华人民共和国交通法规》、《交通秩序管理法规》、《交通事故处理法规》、《机动车管理法规》、《驾驶员管理法规》、《地方性交通法规》。 其中《行人和乘车人的通行规定》和我们息息相关,让我们一起来读一读,划一划与我们有密切的关系的。(1)学生交流。 (2)根据所学知识评一评刚才的录象中有关人员违反了哪些交通规则?他们之所以这样做的原因。(板书:缺乏交通安全意识)3:解决问题: (1)了解不遵守交规造成的后果,加强交通安全意识,懂得遵守交通规则,人人有责。 是啊,说到底,人们对交通安全根本没有引起足够的重视,甚至缺乏起码的交通安全意识。那么,不遵守交通规则,会带来哪些后果呢?(学生一般会说可能会出车祸) 是啊,我们班有一位同学就曾经亲身经历过这样的事,不知道他愿不愿意说给大家听呢?(如果那个孩子肯站起来,就请他说说)(师:我听得是心惊肉跳啊!幸好只是皮外伤,我想,毛晓锋以后肯定会更加注意安全的。) 再来看看五《1》班的许芸芸是在怎么对我哦们说的!(播放许芸芸的采访记录)危险吗?她错在哪里?(许芸芸同学曾经因为在校门口没有遵守交通规则,想就近穿到对面而横穿马路,导致出车祸。) 我们再来看一个调查,出示幻灯: 我国交通事故死亡人数一直是世界第一。交通事故已成“中国第一害”。去年,我国有68237人死于交通事故(平均每天187人),占世界的五分之一。其中,大约有20000名左右青少年过马路时被车撞伤或撞死,去年的中小学生死亡人数是四千多名名,这其中有1000多名学生是由于自己交通违章,而导致死亡的。现在,因交通事故而造成的伤亡已经排在了中小学生意外伤亡的第一位,并且显示出不断增多的趋势。 你觉得不遵守交通规则影响的仅仅是我们个人吗?(引导学生体会给他人、给家庭造成的伤害和道路的不畅通。) 我们影响的不仅仅是个人的安全,还对自己和他人的家庭造成了伤害,影响了道路的畅通。所以,遵守交通规则,人人有责。(板书) 今天,我们的校外辅导员,交警吴俊叔叔也来到了我们这儿,面对现在这样严重的违反现象,他是怎么认为的呢?(交警谈感受) 采访交警:小学生过马路应注意哪些问题呢? 一人安危系全家,交通安全靠大家,我想,一个真正遵守交通规则的人,即使走天桥或人行道很不方便,他也会选择最安全的路;一个真正遵守交通规则的人,即使红灯亮时没有一辆车通行,他也会等到绿灯亮了再走,一个真正遵守交通规则的人,即使是夜深人静,马路上车辆极少,他也能照样遵守交通规则,因为,这是一种责任。 (2)现在,社会上违反交规的现象这么普遍,我们在自己做好的同时,还能做些什么呢? 我们可以用哪些方式去劝阻或宣传呢? (板书:做公益广告、画漫画、宣传交通广告语、设计卡片、语言劝阻等) 教师巡回,适时与学生交流。 4、课外延伸: 今天,我们知道了遵守交通规则不仅仅是为自己,它更是一种社会责任,让我们把刚才的美好想法用到行动中去,用行动去感染身边的每一个人,让大家都来遵守交通规则,让所有的人都平平安安。(播放《祝你平安》)第四篇:红绿灯 歌词
第五篇:红绿灯教案