文档库 最新最全的文档下载
当前位置:文档库 › 单片机模拟开关灯实验,附程序

单片机模拟开关灯实验,附程序

单片机模拟开关灯实验,附程序
单片机模拟开关灯实验,附程序

2.模拟开关灯

1.实验任务

如图4.2.1所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。

2.电路原理图

图4.2.1

3.系统板上硬件连线

(1).把“单片机系统”区域中的P1.0端口用导线连接到“流水灯”区域中的L1端口上;

(2).把“单片机系统”区域中的P3.0端口用导线连接到“独立键盘”区域中的K1端口上;

4.程序设计内容

(1).开关状态的检测过程

单片机对开关状态的检测相对于单片机来说,是从单片机的P3.0端口输入信号,

而输入的信号只有高电平和低电平两种,当拨开开关K1拨上去,即输入高电平,

相当开关断开,当拨动开关K1拨下去,即输入低电平,相当开关闭合。单片机

可以采用JB BIT,REL或者是JNB BIT,REL指令来完成对开关状态的检测

即可。

(2).输出控制

如图3所示,当P1.0端口输出高电平,即P1.0=1时,根据发光二极管的单向导

电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平,即P1.0=0时,

发光二极管L1亮;我们可以使用SETB P1.0指令使P1.0端口输出高电平,使

用CLR P1.0指令使P1.0端口输出低电平。

5.程序框图

图4.2.2

6.汇编源程序

ORG 00H

START: JB P3.0,LIG

CLR P1.0

SJMP START

LIG: SETB P1.0

SJMP START

END

7.C语言源程序

#include

sbit K1=P3^0;

sbit L1=P1^0;

void main(void)

{

while(1)

{

if(K1==0)

{

L1=0; //灯亮

}

else

{

L1=1; //灯灭

}

}

}

单片机花样流水灯设计实验报告

**大学 物理学院 单片机花样流水灯设计实验 课题:花样流水灯设计 班级: 物理 *** 姓名: *** 学号: ……………

当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。 制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备和必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。 本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。 关键字:AT89C51 单片机流水灯数码管

1. 单片机及其发展概况 单片机又称为单片微计算机,其特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。 2. Protues仿真软件简介 Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果, 为电子工程设计节约研发时间,节省了工程设计费用。利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及Keil C软件编程后,再将两者关联则可以简单快速的进行仿真。 【实验设计目标】 设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED 灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。

单片机交通灯实训报告

机电工程学院课程设计报告 课程名称:单片机课程设计 专业班级: 13电本2班 学号: 2013041632 学生:罗炜 指导教师:王清辉、何文丰 完成时间: 报告成绩:

交通灯设计 一、设计任务与要求 设计基本要求: (1)车辆通行繁忙的十字交叉路口,设计一交通灯控制器,设东西方向通行时间为30秒,当剩余3秒时黄灯亮,南北方向通行时间为20秒,当剩余3秒时黄灯亮。(2)东西、南北方向各用三个(绿、黄、红)LED表示,并用数码管显示东西、南北方向的剩余时间。 (3)可利用按键修改时间参数,可以利用按键切换东西南北交通灯的当前状态(即立刻东西由红变绿,南北有绿变红,并按设定的时间工作)。 二、方案设计与论证 表2-1:交通灯的工作状态表 根据表2-1所示可将交通灯的工作状态设为以下几个步骤: 1、初始状态时即为东西方向绿灯通行27秒+3秒黄灯,此时南北红灯亮。 2、随后是南北方向绿灯通行17秒+3秒黄灯,此时东西红灯亮。 3、通过按模式选择键一次来切换东西南北交通灯的当前状态。(通过设置定时计时器T1实现交通灯的计时) 4、通过按模式选择键第二次切换至南北方向红绿灯的计时设置,通过加减按键来确定南北方向红绿灯的计时数。 5、确定南北方向计数值后,通过按模式选择键第三次切换至东西方向红绿灯的计

时设置,通过加减按键来确定东西方向红绿灯的计时数。 6、确定交通灯计时数后再按下模式选择键后,交通灯便进入工作状态。 时间计时的实现:采用定时中断实现秒的精确计时(详细方案入下列程序设计所示)。 按键输入的实现:通过编写按键读取函数,来实现交通灯的状态以及时间值得设定(详细方案入下列程序设计所示)。

单片机课程设计报告--心形流水灯

井冈山大学 机电工程学院 单片机 课程设计报告 课程名称:单片机 设计题目:心形流水灯 姓名:玉红 专业:生物医学工程 班级:11级医工本一班 学号:110615017 指导教师:王佑湖 2013年11月27日

目录 1引言 (2) 1.1设计任务 (2) 1.2设计要求……………………………………………… ..2 2 课题综述 (2) 2.1课题的来源 (2) 2.2面对的问题 (2) 3 系统分析 (2) 3.1 STC89C52单片机引脚图及引脚功能介绍 (2) 4 系统设计 (4) 4.1硬件设计 (4) 4.1.1硬件框图 (4) 4.1.2硬件详细设计 (5) 4.2 软件设计 (5) 4.3 硬件原理图 (6) 4.4 元件清单 (6) 4.5 硬件焊接

图 (6) 4.6 代码编写 (7) 5心得体会 (7) 6致 (8) 参考文献 (8) 1 引言 单片机课程设计主要是为了让我们增进对STC89C51单片机电路 的感性认识,加深对理论方面的理解。了解软硬件的有关知识,并掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目 的。 1.1设计任务 设计一个单片机控制的流水灯系统 1.2设计要求 (1)32个LED灯; (2)可实现多种的亮灯(如左循环,右循环,间隔闪,90度交叉闪等)。 2 课题综述

2.1 课题的来源 当今社会,这种由单片机芯片控制各种硬件工作的技术也日益成熟,并普及在交通、化工、机械等各个领域。而流水灯这项技术在生活中的应用更是广泛,较为贴近生活。而流水灯控制的设计所需要的知识也正好吻合了我们本学期对于单片机这门课程的学习,所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。 2.2 面对的问题 这次课程设计是通过STC89C52位单片机实现。但面对的问题却是两方面的:一个是软件的设计,也就是实现流水灯控制功能的程序编辑;另一个是硬件的设计,需要我们自己连接、焊接电路板。而更为严峻的就是设计的最后还要将软硬件相结合。 3 系统分析 3.1 STC 89C52单片机引脚图及引脚功能介绍 本次设计的目的在于加深STC89C52单片机的理解,首先来简单认识一下,它的引脚如图3-1所示: 图3.1 STC89C52

单片机流水灯实验报告

流水灯实习报告 一、实验原理 单片机通过P0口连接锁存器74ls273,P0同时作为低八位地址,实验板内P2口连接74ls138,任意一个输出连接74ls273片选,再将74ls273接八个LED灯,通过软件控制对74ls273送入显示数据就可以按要求显示了。 二、硬件原理图 三、实验程序 ORG 0000H AJMP START ORG 001BH AJMP INT

ORG 0100H START:MOV SP,#60H MOV TMOD,#10H MOV TL1,#00H MOV TH1,#4CH MOV R0,#00H MOV R1,#20 SETB TR1 SETB ET1 SETB EA SJMP $ INT:PUSH ACC PUSH PSW PUSH DPL PUSH DPH CLR TR1 MOV TL1,#B0H MOV TH1,#3CH SETB TR1 DJNZ R1,EXIT MOV R1,#20 MOV DPTR,#DATA

MOV A,R0 MOVC A,@A+DPTR MOV DPTR,#8000H Movx @DPTR,A INC R0 ANL 00,#07H EXIT:POP DPH POP DPL POP PSW POP ACC RETI DATA:DB 05H,0AH,50H,0A0H,55H,0AAH,0FFH,0H END 四、实验功能 以实验机上74LS273做输出口,接八只发光二极管,编写程序,使开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮……一直循环下去. 五、实验总结 通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。而安排课程设计的基本目的,是在于通过理论

单片机实验三(急救车与交通灯)

单片机技术与应用 实验报告 实验名称:外部中断实验(急救车与交通灯)班级:11062811 学号:11061118 姓名:吕琳涛 指导老师:谷雨 2013年5月20日

1. 实验要求 由以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理,并允许急救车优先通过的要求。有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。本实验以按键为中断申请,表示有急救车通过。 2. 实验目的 1.学习外部中断技术的基本使用方法。 2.学习中断处理程序的编程方法。 3. 程序说明: 在本次实验中,我们可以确定外部中断的作用是用于有救护车行驶过来时对程序的进行的简单的控制。对于正常的红绿灯的亮灭我们可以参考第一个实验中流水灯的设计理念。综上所述我们这一次的实验就是流水灯与外部中断的结合。 通过对七种情况的罗列 1 0 0 1 0 1 1 0 南北绿,东西红 0 1 1 0 1 0 0 1 南北红,东西绿 1 0 0 1 1 1 1 1 只亮东西红 0 1 1 0 1 1 1 1 只亮南北红 0 0 0 0 0 1 1 0 南北黄,东西红 0 0 0 0 1 0 0 1 南北红,东西黄 0 0 0 0 1 1 1 1 全红 我们可以利用XBYTE[0xf200]这个函数对这几种情况进行读取与显

示,在不同情况进行显示的过程中我们用以前的delay函数进行时间上的规划从而达到依次显示的效果。 0x0f 全红XBYTE[0xf200]=0x0f; 0x96 南北绿,东西红XBYTE[0xf200]=0x96; 0x9f 只亮东西红XBYTE[0xf200]=0x9f; 0x06 南北黄,东西红XBYTE[0xf200]=0x06; 0x69 南北红,东西绿XBYTE[0xf200]=0x69; 0x6f 只亮南北红XBYTE[0xf200]=0x6f; 0x09 南北红,东西黄XBYTE[0xf200]=0x09; 在具体的实验代码编写过程中,我们会用到EA=1;EX0=1;IT0=1;用于设定外部中断0为跳变沿触发方式,默认为电平触发方式。interrupt 0函数是处理有救护车驶过时的情况。 至此,程序编写完成,放入软件中进行编译和下载。

DSP指示灯实验实验报告

DSP控制器原理与应用 实验课名称:DSP控制器原理与应用实验项目名称:指示灯实验 专业名称: 班级: 学号: 姓名: 教师姓名: 2016年6月2日

一.实验名称: 指示灯实验 二.实验目的与要求: 1.了解ICETEK–F2812-A评估板在TMS320F2812DSP 外部扩展存储空间上的扩展。 2.了解ICETEK–F2812-A 评估板上指示灯扩展原理。 3.学习在C 语言中使用扩展的控制寄存器的方法。 三.实验内容和步骤: 1 .实验准备 连接实验设备,关闭实验箱上扩展模块和信号源电源开关。 2 .设置Code Composer Studio 3.3,在硬件仿真(Emulator) 方式下运行。 3 .启动Code Composer Studio 3.3,选择菜单Debug→Reset CPU。 4 .打开工程文件 工程文件为:C:\ICETEK\F2812\DSP281x_examples\Lab0301-LED\LED.pjt, 打开源程序LED.c 阅读程序,理解程序内容。 5 .编译、下载程序。 6 .运行程序,观察结果。 7 .退出CCS。 四.实验仪器与设备: 计算机; ICETEK-F2812-A 实验箱。 五.实验原理: 1 .TMS320F2812DSP 的存储器扩展接口 存储器扩展接口是DSP 扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和存储器、寄存器映射的外设。 -ICETEK–F2812-A评估板在扩展接口上除了扩展了片外SRAM外,还扩展了指示灯、DIP 开关和D/A 设备。具体扩展地址如下: C0002-C0003h:D/A 转换控制寄存器 C0001h:板上DIP 开关控制寄存器

心型流水灯制作教程

作为一个电子技术爱好者,先就做一个最简单的心形流水灯玩玩吧。 本教程主要特点就是简单,不要你懂原理,不要你懂编程,只要最基本的元件和材料就可以完成。 首先我们来准备和认识元件。 1、最大的一个部件,洞洞板也叫万能板,9*15cm的刚刚好。便宜的万能板1元一块,你也可以用双面喷锡的质量好的玻纤板,4元一块。 2、主角单片机。要求用40脚的,刚好驱动32个led。建议用STC89C52RC,最常见便宜而且不用复位电路。 3、led,5mm的颜色随你喜欢,32个,注意长脚为正极。我用的是白发蓝,你也可以用不同的颜色组合各种效果。 4、电阻,限制led的工作电流,这个严格讲要经过计算,咱们随便作就不管了,200欧姆到1K欧姆的都可以,只是led的亮度有点区别。贴片电阻和直插的都可以,建议用贴片美观,熟练了焊起来更快,只要稍加练习就可以,实在没信心直插的也可以,反正在背面也没用什么影响。 5、镊子,焊接贴片电阻要用到。 6、晶振和瓷片电容。 晶振采用12MHz的,电容15pF-33pF都可以。 7、导线几根,连接电源和飞线用,当然飞线越少越好,一是美观,二是飞线容易出问题。 8、焊接工具。烙铁、焊锡、烙铁架、海绵、斜口钳等等,大家自己有啥样就用什么。我的是坏烙铁拼凑的白菜白光,看着烂用着还可以。 9、还有最好用IC座,一是保护单片机二是方便拆卸和烧录。第一个是固定式IC座,元,第二个是活体的,用的更方便,4元一个。 10、电源部分。这里可以废物利用,用废弃的手机电池,在正负极接上导线,安装XH插头,插座焊在洞洞板上。不必在意电压,只是点亮led,手机电池标准电压,充满这里用没问题。可以加一个拨动开关控制电源。 接下来开始焊接,注意元件的位置和极性。 先焊最小系统,ic座,晶振、电容这些,然后是led,注意正极(长脚)朝外,负极(断脚)朝向单片机。接着是led的负极用锡接过线接到单片机的io口,注意中间接电阻。最后连

51单片机流水灯实验报告单片机实验报告流水灯

51单片机流水灯试验 一、实验目的 1.了解51单片机的引脚结构。 2.根据所学汇编语言编写代码实现LED灯的流水功能。 3.利用开发板下载hex文件后验证功能。 二、实验器材 个人电脑,80c51单片机,开发板 三、实验原理 单片机流水的实质是单片机各引脚在规定的时间逐个上电,使LED灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的P2端口,对8个LED灯进行控制,要实现逐个亮灯即将P2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。使用rl或rr a实现位的转换。 A寄存器的位经过rr a之后转换如下所示: 然后将A寄存器转换一次便送给P2即MOV P2,A便将转换后的数送到了P2口,不断循环下去,便实现了逐位置一操作。

四、实验电路图 五、通过仿真实验正确性

代码如下:ORG 0 MOV A,#00000001B LOOP:MOV P2,A RL A ACALL DELAY SJMP LOOP DELAY:MOV R1,#255 DEL2:MOV R2,#250 DEL1:DJNZ R2,DEL1

DJNZ R1,DEL2 RET End 实验结果: 六、实验参考程序 #include #define uchar unsigned char #define uint unsigned int uchar table[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

sbit P00=P0^0; sbit P01=P0^1; void delay(uchar t) { uchar i,j; for(i=0;i

指示灯开关控制器实验报告

洛阳理工学院实验报告 系别计算机系班级B140502 学号B14050226 姓名韩亚辉 课程名称单片机原理及应用实验日期2016-3-18 实验名称指示灯/开关控制器成绩 实验目的:学习51单片机I/O口基本输入/输出功能,掌握汇编语言的编程与调试方法。 实验条件:计算机一台、ISIS、Proteus软件 实验内容: (1)熟悉ISIS模块的汇编程序编辑、编译与调试过程。 (2)完成实验2的汇编语言程序的设计与编译。 (3)练习ISIS汇编程序调试方法,并最终实现实验2的与其功能。 实验步骤: 预期功能为:在编译软件的配合下,要求实现如下指示灯/开关控制功能:8只发光二极管先整体闪烁3次,然后根据开关状态控制对应发光二极管的亮灯状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。 一、实验原件清单 二、根据原理图画出的实验图

三、实验程序如下: #include void delay(unsigned int time) { unsigned char j=250; for(;time>0;time--) for(;j>0;j--) } void main() { char i; for(i=1;i<7;i++) { delay(1000); if(i%2==1) {P2=0x00;} else {P2=0xff;}

if(i>6) {P2=0xff;} } while(1) {P2=P3;} } 四、将生成的.hex文件放入到仿真软件中实现了上电闪烁三次的效果,闭合开关X1、X4相应的灯光。 实验总结: 通过这次实验,我学会了Proteus软件的结构组成与功能,学习了ISIS模块的使用方法。并且学会了如何使用者两个软件进行模拟电路的设计与调试,更重要的是在调试过程中收获的很多,对于平时在课堂上学习的知识有了更进一步的认识

51单片机实验报告

51单片机实验报告

实验一 点亮流水灯 实验现象 Led灯交替亮,间隔大约10ms。实验代码 #include void Delay10ms(unsigned int c); void main() { while(1) { P0 = 0x00; Delay10ms(50); P0 = 0xff; Delay10ms(50); } }

void Delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--); } } } 实验原理 While(1)表示一直循环。 循环体首先将P0的所有位都置于零,然后延时约50*10=500ms,接着P0位全置于1,于是LED全亮了。接着循环,直至关掉电源。延迟函数是通过多个for循环实现的。 实验2 流水灯(不运用库函数) 实验现象 起初led只有最右面的那一个不亮,半秒之后从右数第二个led

也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程 #include #include void Delay10ms(unsigned int c); main() { unsigned char LED; LED = 0xfe; while (1) { P0 = LED; Delay10ms(50); LED = LED << 1; if (P0 == 0x00) { LED = 0xfe; } } } void Delay10ms(unsigned int c)

基于AT89C51单片机的交通灯实验报告

/* * 实现基于C51的交通信号灯的控制操作 * 使用器件->> * 1.74HC138用于控制LED的位选码的设定 * 2.T0->>实现一个时间的定时操作(设置为10ms) * 3.P0->>作为LED现实的断码输出端 * 4.P1->>作为LED交通灯的信号灯的控制端 * 5.P2->>作为74HC138的为选码的控制端 * 6.P3.2->>作为一个复位的中断信号处理(与K1相连用于控制复位交通信号灯) * 需要考虑的一个问题是-》这个难道南北方向和东西方向的时间控制长短是一样的?#include //LED显示的字符段码 static char[] LED_TABLE = {0x3f , 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; /* * SN_IFGREEN:用于控制南北方向的灯的显示操作 * EW_IFGREEN:用于控制东西方向的灯的显示操作 * 0:红灯 * 1:绿灯 */ int SN_IFGREEN = 0; int EW_IFGREEN = 1; /* 用于控制定时时间为1s */ int TIME1S = 100; /* 用于控制时间为60s */ int LEDTIME = 60; /* LED交通灯的设置*/ sbit SN_RED = P1^0; sbit SN_YELLOW = P1^1; sbit SN_GREEN = P1^2; sbit EW_RED = P1^3; sbit EW_YELLOW = P1^4; sbit EW_GREEN = P1^5; /* 设置74HC138的位选码*/ sbit PA = P2^2; sbit PB = P2^3; sbit PC = P2^4; //初始化系统信息 void init_SYS(); //每当时间运行1s时进行操作处理 void time_SUB();

机械电气控制及自动化实验报告

《机械电气控制及自动化》实验报告 实验一:低压电器的认识 (一)实验目的 1.了解实验室环境及实验室实验设备。 2.认识常用低压电器,了解低压电器的结构、型号等,熟悉电器型号的意义。 (二)实验设备 实验室实验设备及各种低压电器元件。 (三)实验步骤与内容 1.熟悉实验室环境和实验室电源与设备的布置,听实验指导教师讲解实验的安全注意事项。 2.教师讲解电气控制实验部分所用的各种低压电器的结构、型号、工作原理、使用及调整方法,学生记录各种低压电器的型号。 (四)实验报告 1.实验记录:记录整理实验中的各种低压电器的型号、规格和铭牌数据,查阅资料说明它们的具体含义。 2.回答问题: (1)请画出你所学过的各种低压电器的图形符号及文字符号,并说明它们各自的用途。 (2)熔断器与热继电器用于保护交流三相笼型异步电动机时,能不能互相取代?为什么? (3)谈谈本次实验你的收获。

实验二C650普通车床模拟操作实验 (一)实验目的 1.识别C650普通车床实验设备中的电器元件。 2.掌握普通车床的运动形式及电气控制线路。 3.学会排除电气控制线路中的故障。 (二)实验设备 C650普通车床实验台装置,万用表等。 (三)实验步骤与内容 1.分析C650卧式车床的电气原理图,包括起动线路、正反转线路、制动线路、照明线路等。 2.在教师指导下进行通电试车操作,观察电机和指示灯的工作情况。 3.教师设置故障点,指导学生如何从故障现象着手进行分析,逐步引导学生采用正确的检查步骤和检修方法。 4.教师设置人为故障点,由学生检修并记录。 (四)实验报告 1.实验记录:记录本次实验过程中的故障现象,故障点及排除方法。 2.回答问题(要求将电气原理图打印出来附在实验报告后): (1)分析C650车床电气原理图中采用的联锁与保护环节。 (2)分析主电机点动、正转起动和制动控制过程。 (3)分析在电气原理图中,电流互感器和时间继电器各自有何作用?

基于单片机的心形流水灯毕业设计论文

课程设计(论文)说明书 题目:心形流水灯 院(系):信息与通信学院 专业:通信工程 学生姓名: 学号: 指导教师: 职称:讲师 2012年12 月1日

摘要 本论文基于单片机技术与单片机芯片AT89S51芯片功能和C语言程序,实现心形流水灯的多种亮与灭的循环。首先,我们了解单片机的一些技术,了解了单片机芯片AT89S51的一些功能;然后结合C语言编程;最后将它们运用到实际的电路,使心形LED灯实现多种亮灭方法。本论文介绍关于流水灯的运用和单片机技术;然后介绍芯片AT89S51;最后介绍运用到的相关软件.矚慫润厲钐瘗睞枥庑赖。 关键词:单片机;流水灯;C语言;

Abstract This paper Based on the single chip microcomputer and single chip microcomputer chip AT89S51 chip function and C language program,Realization of flowing water light heart a variety of light and the cycle of destruction。primarily,We know some of the single chip microcomputer technology,Understanding of the single chip microcomputer chip AT89S51 of some functions, Then based on the C language programming; Finally they are applied to the practical circuit, Make heart LED lamp achieve a variety of light out method. This paper introduces about the use of flowing water light and single chip microcomputer; and then introduced chip AT89S51; At the end of this paper applied to software.聞創沟燴鐺險爱氇谴净。Key words:micro-computer;light water ;C programming language残骛楼諍锩瀨濟溆塹籟。

单片机仿真交通灯实验

实验报告实验名称:交通灯实验 姓名 班级 日期

实验要求: 1. 请使用单片机系统主机板和单片机系统键盘、显示板设计一个硬件系统,最终实 现一个交通路口红绿灯的控制。用两个数码管显示秒,8个LED灯分成四组,分别作为十字交叉路口的红绿灯。 2. 相对双向绿灯的最后几秒时,绿灯要闪烁,即亮灭交替,亮灭时间均为0.5秒, 然后变成红灯。 3. 每组同学可自行设计进行连接,形成一个单片机硬件系统。 4. 模拟调试完成后,用STC-ISP下载编程软件将生成的*。HEX文件在线下载到单片 机中。 5.下载后,按复位键执行程序,检验程序运行结果。 硬件连线方案:

程序流程图:

源代码: #include //51单片机头文件声明 unsigned char code tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //定义无符号数组,定义的数据要放在ROM(程序存储区)里面 sbit dula=P1^3; //特殊功能位定义,数码管段码控制信号 sbit G1=P1^4; //数码管位选控制信号 sbit c=P1^5; //c表示P1.0口,地址最高位 sbit b=P1^6; //地址次高位 sbit a=P1^7; //地址最低位 sbit xl=P2^0; //特殊功能位声明,xl表示P2.0口 sbit xh=P2^1; // sbit yl=P2^2; sbit yh=P2^3; sbit sl=P2^4; sbit sh=P2^5; sbit zl=P2^7; sbit zh=P2^6; char count=100; //定时时间取10ms,循环100次即为1s unsigned char ssx=14; //秒上下,为上下绿灯亮时倒计数 unsigned char szy=10; //秒左右,为左右绿灯亮时倒计数 char sx=1; //方向标志,上下绿灯亮 void delay(char x) //延时函数,通过for循环进行延时 { char a,b;

指示灯开关控制器

学生实验报告 学院:软件与通信工程学院 课程名称:单片机系统设计I 专业班级: 姓名: 学号:

学生实验报告(1) 一、实验综述 1、实验目的及要求 (1)实验目的: 学习51单片机I/O口基本输入/输出功能,掌握汇编语言的编程和调试方法。(2)实验原理: 图A.19为指示灯/开关控制器的电路原理图。图中输入电路由外接在P1口的吧只开关组成;输出电路由外接在P2口的八只发光二极管组成。此外,还包括时钟电路和复位电路。 程序启动后,八只发光二极管先整体闪烁3次(即亮—暗—亮—暗—亮—暗,间隔时间以肉眼可观察到为准)。然后根据开关状态控制对应发光二极管的亮灯状态,即开关闭合和相应灯亮,反之则相反。 原理为: (1)程序开始运行后8只发光二极管先整体闪烁3次(即亮—暗—亮—暗—亮—暗)。 亮灯:向P2口送入数值0(P2<-0); 灭灯:向P2口送入数值0FFH(P2<-0FFH); 闪烁次数:整体循环三次; 闪烁快慢:软件延时时间。 (2)然后根据开关状态控制灯亮与灯灭,即开始闭合相应灯亮, 反之则相反。 开关控制灯:将P1口内容送入P2口(P2<-P1); 无限持续:整体无条件循环。 参考流程图如下:

2、实验仪器、设备或软件 电脑,Keil4, ISIS 二、实验过程(实验步骤、记录、数据、分析) 【实验步骤】 1.在ISIS中完成电路原理图的绘制; 2.在keil4中编写代码,生成可执行文件 3.加载可执行文件,观察仿真结果,检验电路图绘制的正确性 【代码】 #include void delay(unsigned char i) { unsigned char j; while(i--)

基于51单片机心形流水灯C语言源程序

基于51单片机心形流水灯C语言源程序

#include unsigned int x,y; void delayms(unsigned int z) //延时 { unsigned int i,j; for(i=z;i>0;i--) for(j=150;j>0;j--); } void On_all() //开启所有灯 { P0=0x00; P1=0x00; P2=0x00; P3=0x00; } void Off_all()//关闭所有灯 { P0=0xff; P1=0xff; P2=0xff; P3=0xff; } void ls()//正向流水灯 { P0=0x00; delayms(400); P2=0x00; delayms(400); P3=0x00; delayms(400); P1=0x00; delayms(400); P0=0x01; delayms(50);

P0=0x04; delayms(50); P0=0x08; delayms(50); P0=0x10; delayms(50); P0=0x20; delayms(50); P0=0x40; delayms(50); P0=0x80; delayms(50); P0=0x00; P2=0x01; delayms(50); P2=0x02; delayms(50); P2=0x04; delayms(50); P2=0x08; delayms(50); P2=0x10; delayms(50); P2=0x20; delayms(50); P2=0x40; delayms(50); P2=0x80; delayms(50); P2=0x00; P3=0x80; delayms(50); P3=0x40; delayms(50); P3=0x20; delayms(50); P3=0x10; delayms(50); P3=0x08; delayms(50); P3=0x04; delayms(50);

嵌入式系统流水灯,按键,定时器实验报告

嵌入式系统应用 实验报告 姓名: 学号: 学院: 专业: 班级: 指导教师:

实验1、流水灯实验 1.1实验要求 编程控制实验板上LED灯轮流点亮、熄灭,中间间隔一定时间。 1.2原理分析 实验主要考察对STM32F10X系列单片机GPIO的输出操作。 参阅数据手册可知,通过软件编程,GPIO可以配置成以下几种模式: ◇输入浮空 ◇输入上拉 ◇输入下拉 ◇模拟输入 ◇开漏输出 ◇推挽式输出 ◇推挽式复用功能 ◇开漏式复用功能 根据实验要求,应该首先将GPIO配置为推挽输出模式。 由原理图可知,单片机GPIO输出信号经过74HC244缓冲器,连接LED灯。由于74HC244的OE1和OE2都接地,为相同电平,故A端电平与Y端电平相同且LED灯共阳,所以,如果要点亮LED,GPIO应输出低电平。反之,LED灯熄灭。 1.3程序分析 软件方面,在程序启动时,调用SystemInit()函数(见附录1),对系统时钟等关键部分进行初始化,然后再对GPIO进行配置。 GPIO配置函数为SZ_STM32_LEDInit()(见附录2),函数中首先使能GPIO 时钟: RCC_APB2PeriphClockCmd(GPIO_CLK[Led], ENABLE); 然后配置GPIO输入输出模式: GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 再配置GPIO端口翻转速度:

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 最后将配置好的参数写入寄存器,初始化完成: GPIO_Init(GPIO_PORT[Led], &GPIO_InitStructure)。 初始化完成后,程序循环点亮一个LED并熄灭其他LED,中间通过Delay()函数进行延时,达到流水灯的效果(程序完整代码见附录3)。 实验程序流程图如下: 硬件方面,根据实验指南,将实验板做如下连接: 1.3实验结果

51单片机系统实验报告--计数器、交通灯

系统实验报告 学院XXXXXXXXX 专业XXXXXX 姓名XXXXX 学号XXXXXXX

一、本设计拟实现的功能 1.时钟:四只数码管低二位0~59计数后给高二位0~59计数(即分秒计时),一只按键控制开始、结束; 2.交通灯:灯和数码管结合,模拟十字路口的交通灯的点亮与熄 灭,数码管倒计时显示时间。 二、所用器件的功能、引脚图 1.所用器件:AT89S51、74LS47、LM7085 2.所用器件功能、引脚图 a)AT89S51 AT89S51引脚图 AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash

只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。 主要性能特点 1、4k Bytes Flash片内程序存储器; 2、128 bytes的随机存取数据存储器(RAM); 3、32个外部双向输入/输出(I/O)口; 4、5个中断优先级、2层中断嵌套中断; 5、6个中断源; 6、2个16位可编程定时器/计数器; 7、2个全双工串行通信口; 8、看门狗(WDT)电路; 9、片内振荡器和时钟电路; 10、与MCS-51兼容; 11、全静态工作:0Hz-33MHz; 12、三级程序存储器保密锁定; 13、可编程串行通道; 14、低功耗的闲置和掉电模式。

单片机原理及应用实验报告

单片机原理实验报告 专业:计算机科学与技术 学号: :

实验1 计数显示器 【实验目的】 熟悉Proteus仿真软件,掌握单片机原理图的绘图方法 【实验容】 (1)熟悉Proteus仿真软件,了解软件的结构组成与功能 (2)学习ISIS模块的使用方法,学会设置图纸、选元件、画导线、修改属性等基本操作 (3)学会可执行文件加载及程序仿真运行方法 (4)理解Proteus在单片机开发中的作用,完成单片机电路原理图的绘制【实验步骤】 (1)观察Proteus软件的菜单、工具栏、对话框等基本结构 (2)在Proteus中绘制电路原理图,按照表A.1将元件添加到编辑环境中(3)在Proteus中加载程序,观察仿真结果,检测电路图绘制的正确性 表A.1

Switches&Relays BUT BUTTON 【实验原理图】 【实验源程序】 #include sbit P3_7=P3^7; unsigned char x1=0;x2=0 ; unsigned char count=0; unsigned char idata buf[10]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(int time) { int k,j;

for(;time<0;time--) for(k=200;k>0;k--) for(j=500;j<0;j--); } void init() { P0=buf[x1]; delay(10); P2=buf[x2]; delay(10); } void main() { init(); while(1) { x1=count/10; x2=count%10; P0=buf[x1]; delay(10);

左右来回循环的流水灯实验报告

青 岛 科 技 大 学 微机原理与接口技术综合课程设计(报告) 题 目 __________________________________ 指导教师__________________________ 学生姓名__________________________ 学生学号__________________________ _______________________________院(部)____________________________专业________________ 班 ______年 ___月 ___日 直流电机控制综合实验 周艳平 宋雪英 01 信息科学技术学院 计算机科学与技术0961 2012 12 27

摘要 (2) 1、单片机概述 (2) 2、仿真软件介绍 (2) 3、需求分析 (2) 一、课程设计目的 (3) 二、课程设计要求 (3) 三、实验内容 (3) 1、设计任务与要求 (3) 2、系统分析 (3) 1).硬件电路设计(画出原理图、接线图) (4) 2)软件框图 (5) 3、用keil建项目流程 (7) 4、程序清单 (7) 4、系统调试 (9) 四、设计总结(结论) (10)

摘要 近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。本课程设计介绍一种LED小灯控制系统的设计方法,以单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。能够通过按键控制8个LED小灯从左到右依次点亮。 关键字:单片机、LED流水灯 1、单片机概述 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微 型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处 理器、存储器和I/O 接口电路等。因此,单片机只需要和适当的软件及外部设备相结合, 便可成为一个单片机控制系统。 单片机经过1、2、3、3 代的发展,目前单片机正朝着高性能和多品种方向发展,它 们的CPU 功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。 2、仿真软件介绍 (1).Keil uv3 运行Keil uv3 新建工程:菜单“Preject->New Preject”,保存为*.uv2,选择芯片型号,copy否 新建文件:菜单“File->New”,保存为*.c,编写程序 将源文件添加到工程:在左侧project workspace的source group1点右键选择addfile加入*.c 设置工程:点菜单栏上的,选Target,设晶振值;选Output,点create Hex file以生成少些文件;选Debug,选择软件仿真(simulator)或硬件仿真(Keil Monitor)方式。 编译链接:点菜单栏上的进行编译,或点菜单栏上的进行编译链接,或点菜单栏上的进行重新编译链接,或点菜单栏上的停止编译。 编译链接后生成*.hex文件,可烧写到单片机。 (2).Proteus 使用Proteus仿真 点击单片机,在Program Files处选择*.hex文件,OK,进行仿真 RESPACK--8 排阻,就是好多电阻连载一起,有一个公共端,1端为公共端接VCC(上拉)或地(下拉) 一般接在51单片机P0口,因P0口内没有上拉电阻,不能输出高电平,所以要接上拉电阻。 3、需求分析

基于单片机的交通灯设计实训报告

重庆三峡学院 课程设计报告书题目:基于单片机的交通灯设计 学院(系): 学号: 学生姓名: 指导教师: 教师职称: 制作日期2011年12月25日 目录

1.设计要求---------------------------------------------------- 01 2.系统设计方案---------------------------------------------- 01 3.硬件电路设计---------------------------------------------- 02 4.软件系统设计---------------------------------------------- 06 5.仿真与调试------------------------------------------------- 08 6.实训体会---------------------------------------------------- 13 7.附录---------------------------------------------------------- 14 摘要

单片微型计算机简称单片机,即把组成微型计算机的各个功能部件,如中央处理器(CPU )、随机存储器(RAM )、只读存储器(ROM )、I/O 接口电路、定时器/计数器以及串行接口等集成在一块芯片中构成一个完整的微型计算机。设计一个基于单片机的交通灯设计。主要包括AT89c51单片机、复位电路、驱动控制芯片74LS240和74LS07及外中断等。实现控制各个路口的交通灯变化,通过外中断起 到紧急开关作用,加上复位电路,使其恢复成初始状态。 本设计主控芯片采用AT89C51单片机,配合其他基本设备完成设计。采用C51语言进行编程,编程后利用KEIL C51进行编译,生成对应用的HEX 文件,采用PROETUS 软件进行系统硬件的仿真模拟,检验功能。模拟试验成功后,焊接硬件电路,通过ISP 下载线将HEX 文件载入单片机内,完成整个设计进行实际操作,并实际记录单片机工作情况。 设计一个基于单片机的交通灯设计。主要包括AT89c51单片机、复位电路、驱动控制芯片74LS240和74LS07及外中断等。实现控制各个路口的交通灯变化,通过外中断起到紧急开关作用,加上复位电路,使其恢复成初始状态。 1. 设计要求 设计一个基本十字路口交通灯管理系统。初始化4个路口红灯全亮,2秒后切换为东西 路口红灯亮,南北绿灯亮,持续60秒,红绿灯切换过渡时红灯依旧亮,绿灯亮转变为黄灯闪烁5次,过程时间为5秒,然后切换为南北路口红灯亮,东西路口绿灯亮,持续时间60秒,过渡过程切换方式同上,5秒后,再次切换为东西路口红灯亮,南北绿灯亮。如此周而复始。 2.系统设计图 利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支 干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮 南 东

相关文档
相关文档 最新文档