//功能;采用顺序结构实现的流水灯控制程序#include
void delay (unsigned char i);
void main()
{
while(1){
P1=0xfe;
delay(200);
P1=0xfd;
delay(200);
P1=0xfb;
delay(200);
P1=0xf7;
delay(200);
P1=0xef;
delay(200);
P1=0xdf;
delay(200);
P1=0xbf;
delay(200);
P1=0x7f;
delay(200);
}
}
//功能;采用循环结构实现的流水灯控制程序#include
void delay (unsigned char i);
void main()
{
unsigned char i,w;
while(1){
w=0x01;
for(i=0;i<8;i++){
P1=~w;
delay(200);
w<<=1;
}
}
1.第一个发光管以间隔200ms 闪烁。 2. 8 个发光管由上至下间隔1s 流动,其中每个管亮500ms, 灭500ms 。 3. 8 个发光管来回流动,第个管亮100ms 。 4. 用8 个发光管演示出8 位二进制数累加过程。 5. 8 个发光管间隔200ms 由上至下,再由下至上,再重复一次,然后全部熄灭再以300ms 间隔全部闪烁 5 次。重复此过程。 6. 间隔300ms 第一次一个管亮流动一次,第二次两个管亮流动,依次到8 个管亮,然后重复整个过程。 7. 间隔300ms 先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;8 个全部闪烁 3 次;关闭发光管,程序停止。 1 #include
uint x,y; for(x=200;x>0;x--) for(y=100;y>0;y--); } #include
课程设计任务书 题目:基于plc控制的流水灯课程设计专业:电气工程及其自动化 姓名: 胡进森 学号: 1002120121 班级: 10级电气工程(1)班 完成期限:2013年05月25日 指导教师签名: 课程负责人签名: 2013年04月15日
课程设计说明书 题目:基于plc控制的流水灯课程设计 姓名:胡进森 院(系):机电工程学院 专业班级:10级电气工程一班 学号:10102120121 指导教师:张国栋李好丽 成绩: 时间:2013 年05 月20 日至2013 年05 月25 日
目录 摘要 (1) 1.绪论 (3) 1.1 引言 (3) 1.2 采用流水灯的意义和目的 (3) 1.3 本次设计的主要内容 (3) 2. 流水灯系统的主要硬件设备的介绍 (4) 2.1可编程控制器的发展历史 (4) 2.1.1 可编程控制器的定义 (4) 2.1.2 可编程控制器的特点 (5) 2.1.3 PLC的基本结构和工作原理 (5) 2.2三菱FX系列PLC计数器(C) (9) 2.2.1内部计数器 (9) 2.2.2高速计数器(C235~C255) (9) 2.3三菱FX系列PLC定时器(T) (10) 2.3.1 通用定时器 (10) 2.3.2 积算定时器 (10) 2.4三菱FX系列辅助继电器(M) (10) 2.4.1通用辅助继电器(M0~M499) (11) 2.4.2断电保持辅助继电器(M500~M3071) (11) 2.4.3特殊辅助继电器 (11) 2.5三菱FX系列PLC输出继电器(Y) (11) 2.6三菱FX系列PLC输入继电器(X) (12) 3. 硬件电路设计及软件设计 (12) 3.1控制系统I/O点及地址分配 (12) 3.2电气控制系统原理图 (12) 3.3时序图 (13) 3.4梯形图 (13) 3.5指令表 (15) 4.系统调试 (16) 5.设计总结 (19) 6.参考文献 (21)
#include
黄淮学院信息工程学院 单片机原理及应用课程设计性实验报告
五、硬件电路设计 根据设计任务,首先进行系统硬件的设计。其硬件原理图由LED显示电路和单片机最小系统组成,如图所示,其中包括时钟电路采用部时钟方式,复位电路采用上电自动复位。由于单片机的I/O口的高电平驱动能力只有微安级,而灌电流可以达到3毫安以上,因此采用低电平驱动。P1、P2、P3分别控制8个led灯。 六、软件程序设计 1、软件设计思路 如果通过上图所示电路图完成实验要求,通过数组,分别同时控P0、P1、P2分别控制8个led灯,从而协调控制24个灯实现花样流水灯效果。 开始 编写数组 主循环 逐个点亮 24灯同时闪烁 逐个熄灭
P3=table1[i]; delayms(500); } shan();//全部闪烁 for(i=0;i<8;i++)//逐个熄灭{ P3=table2[i]; delayms(500); } for(i=0;i<8;i++) { P1=table3[i]; delayms(500); } for(i=0;i<8;i++) { P0=table2[i]; delayms(500); } } } void delayms (uintt) { uint x,y; for(x=t; x>0;x--) for(y=50;y>0;y--); } 七、软硬件仿真调试分析 1、仿真调试结果
图片 1 逐个点亮图片 2 24灯闪烁 图片 3 逐个熄灭 2、性能测试及结果分析 通过仿真结果发现通过上述系统可以实现实验要求,24个灯逐个点亮,24个灯全亮后,24个灯一起闪烁,闪烁5次后,然后24个灯逐个熄灭。由此证明系统满足实验要求。 八、项目总结 在本次花样流水灯试验中,使用循环程序、数组语句实现了实验要求,设计过程中遇到了很多的问题,但经过努力,最终设计出了合理的解决方案。通过此次实验,对多个led灯的控制能力进一步得到提升。 九、项目设计报告成绩 实验报告成绩: 指导教师签字: 年月日
说了这么多了,相信你也看了很多资料了,手头应该也有必备的工具了吧!(不要忘了上面讲过几个条件的哦)。那个单片机究竟有什么 功能和作用呢?先不要着急!接下来让我们点亮一个LED(搞电子的应该知道LED是什么吧^_^) 我们在单片机最小系统上接个LED,看我们能否点亮它!对了,上面也有好几次提到过单片机最小系统了,所谓单片机最小系统就是在单片机 上接上最少的外围电路元件让单片机工作。一般只须连接晶体、VCC、GND、RST即可,一般情况下,AT89C51的31脚须接高电平。 #include
1、用SP定时器设计的流水灯第一:程序流程
第二:程序设计实现
第三:输入输出接口 第四:程序说明 当总开关I0.0按下时,T1定时器开始工作,同时T1常闭开关断开,T1常开开关接上,Q0.1工作,当T1定时时间到,T1常闭开关接上,T1常开开关断开;T2定时器开始工作,同时T2常闭开关断开,T2常开开关接上,Q0.2工作,当T2定时时间到,T2常闭开关接上,T2常开开关断开;T3定时器开始工作,同时T3常闭开关断开,T3常开开关接上,Q0.3工作,当T3定时时间到,T3常闭开关接上,T3常开开关断开;Q1.0开始工作,同时Q1.0常闭开关断开,T1、T2、T3断开,Q1.0断开不工作,Q1.0常闭开关接上,T1又开始工作,因此实现的循环,即可实现流水灯的功能。
2、用SE定时器设计的流水灯第一:程序流程
第二:程序设计实现
第三:输入输出接口 第四:程序说明 当总开关I0.0按下时,T1定时器开始工作,同时T1常闭开关断开,T1常开开关接上,Q0.1工作,当T1定时时间到,T1常闭开关接上,T1常开开关断开;T2定时器开始工作,同时T2常闭开关断开,T2常开开关接上,Q0.2工作,当T2定时时间到,T2常闭开关接上,T2常开开关断开;T3定时器开始工作,同时T3常闭开关断开,T3常开开关接上,Q0.3工作,当T3定时时间到,T3常闭开关接上,T3常开开关断开;Q1.0开始工作,同时Q1.0常闭开关断开,T1、T2、T3断开,Q1.0断开不工作,Q1.0常闭开关接上,T1又开始工作,因此实现的循环,即可实现流水灯的功能。 第五:特别说明 SE与SP定时器的功能基本上是一样的,但是SE定时器与SP定时器有一个不同的就是,SP定时器工作时,要一直给高电平,但是SE定时器不用,只要有一个上升沿触发定时器进行定时,在定时期间,如果脉冲突然变成低电平,定时器也会一直定时,直到定时结束。
**大学 物理学院 单片机花样流水灯设计实验 课题:花样流水灯设计 班级: 物理 *** 姓名: *** 学号: ……………
当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。 制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备和必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。 本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。 关键字:AT89C51 单片机流水灯数码管
1. 单片机及其发展概况 单片机又称为单片微计算机,其特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。 2. Protues仿真软件简介 Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果, 为电子工程设计节约研发时间,节省了工程设计费用。利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及Keil C软件编程后,再将两者关联则可以简单快速的进行仿真。 【实验设计目标】 设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED 灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。
单片机流水灯C语言源程序 标题:51单片机流水灯C语言源程序2008-12-06 08:43:05 ************************************************************** 文件名称:flash_led.c 文件说明:流水灯C程序 编写日期:2006年10月5日 程序说明:MCU采用AT89S51,外接12M晶振,P1口输出 *************************************************************/ #include //51系列单片机定义文件 #define uchar unsigned char //定义无符号字符 #define uint unsigned int //定义无符号整数 void delay(uint); //声明延时函数 void main(void) { uint i; uchar temp; while(1) { temp=0x01; for(i=0;i<8;i++) //8个流水灯逐个闪动 { P1=~temp; delay(100); //调用延时函数 temp<<=1; } temp=0x80; for(i=0;i<8;i++) //8个流水灯反向逐个闪动 { P1=~temp; delay(100); //调用延时函数 temp>>=1; } temp=0xFE; for(i=0;i<8;i++) //8个流水灯依次全部点亮 { P1=temp; delay(100); //调用延时函数 temp<<=1; }
自主创新实践报告 设计题目P LC在流水灯中的应用 学生姓名 专业 班级 指导教师
目录 第一章绪论 (2) 1.1引言 (2) 1.2采用流水灯的意义和目的 (2) 1.3本次设计的主要内容 (2) 第二章主要硬件设备的介绍 (3) 2.1可编程控制器的发展历史 (3) 2.1.1可编程控制器的定义 (4) 2.1.2可编程控制器的特点 (4) 2.1.3PLC的基本结构和工作原理 (5) 2.2西门子S7-200的硬件组成 (8) 第三章电路及软件设计 (10) 3.1硬件电路设计 (10) 3.1.1流水灯分布图 (10) 3.1.2控制系统I/O点及地址分配 (10) 3.2软件设计 (11) 3.2.1梯形图 (11) 3.2.2指令表 (19) 第四章系统调试 (21) 4.1系统的连接与运行 (21) 4.2流水灯闪烁 (21) 4.3流水灯的调试 (22) 总结 (23)
第一章绪论 1.1引言 随着改革的不断深入,社会主义市场经济的不断繁荣和发展,各大中小城市都在进行亮化工程。企业为宣传自己企业的形象和产品,均采用广告手法之一:流水灯广告屏来实现这一目的.当我们夜晚走在大街上,马路两旁各色各样的广告灯均可以见到,一种是采用流水灯管做成的各种形状和多中彩色的灯管,另一种为日光等管或白炽灯管作为光源,另配大型广告语或宣传画来达到宣传的效果。这些灯的亮灭,闪烁时间及流动方向等均可以通过PLC 来达到控制的要求。可编程控制器PLC:英文全称Programmable Logic Controller,中文全称为可编程逻辑控制器,是一种数字运算操作的电子系统,专为在社会环境应用而设计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程.作为自动控制装置的核心,它具有功能强,可靠性高等诸多优点。该装置可以完成各种指令系统训练以及多种控制对象的程序设计训练。 1.2采用流水灯的意义和目的 随着社会市场经济的不断发展,各种装饰流水灯,广告流水灯越来越多的出现在城市中。在大型的晚会现场,流水灯更是不可缺少的一道景观。小型的流水灯多为采用霓虹灯管和各种各样和多种彩色的灯管,或是以日光灯,白炽灯做为光源。而现代生活中大型楼宇的轮廓装饰或大型晚会的灯光布景,由于其变化多,功率大数字电路则不能胜任。针对PLC日益日益得到广泛应用的现状,本文介绍PLC在不同变化类型的流水灯控制中的应用,灯的亮灭,闪烁时间及流动的控制均通过PLC来达到控制要求。 1.3本次设计的主要内容 本次设计要求我利用在学校学的PLC知识,应用于流水灯控制系统中。通过本次设计,让我掌握如何应用PLC来设计一套流水灯自动控制的系统的方法以及设计中对PLC机型的选择,PLC输入/输出点数的选择和PLC程序的编制,为我们今后今进入社会工作,打下一定基础。本次设计是用PLC来控制流水灯。PLC控制流水灯是根据一定的变化方式和周期进行程序的编写,变化灯随着时间变化灯的亮灭也随之变化。其特点是在整个工作过程中周期性的花样变化,但频率不高。
1.引言 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效方法就是理论与实践并重,本文笔者用AT89C51单片机自制了一款简易的流水灯,重点介绍了其软件编程方法,以期给单片机初学者以启发,更快地成为单片机领域的优秀人才。 2.硬件组成 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。AT89C51单片机是美国ATM EL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz 工作频率,使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。其具体硬件组成如图1所示。 图1 流水灯硬件原理图 从原理图中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要
试验1 单片机并口简单应用(流水灯) 实验目的 1、了解单片机C语言程序的基本结构 2、了解单片机C语言程序的设计和调试方法 3、掌握顺序控制程序的简单编程 4、熟悉51单片机的端口使用 实验仪器 单片机开发试验仪、稳压电源、计算机 实验原理 1、硬件电路 如图1所示,流水灯硬件电路由发光二极管、单片机并口(P0)、限流电阻等组成。发光二极管连接成共阳极结构。发光二极管点亮的条件是:阳极接高电平、各阴极接低电平。因此,二极管公共端阳极就接成高电平,然后再按一定规则从P0口输出数据,发光二极管就会点亮。 图1 流水灯电路图 2、程序流程图如下。
实验内容:1、开发板接线图 延时 P0口初态循环右移1位 P0口状重新赋值0XFE 开始 P0口输出0XFE P0是否等于0X00 Y N
2、开发环境设置 打开keil软件,版本μ Vision2 ,μvision3,μvision4 都一样,在这里用μvision4版本演示,打开之后如下图,有的时候会默认打开上次使用的工程,单击Project 菜单,选择 Close Project 关闭了默认打开的工程,显示下图界面: 我们要建立新的工程,选择Project→ newμ vision projiect… 选择工程要保存的路径,输入工程文件名,如图
点击保存后会弹出一个对话框,要求用户选择单片机型号,可以根据用户使用的单片机来选择,我们使用的STC90单片机是兼容51内核的,Keil C51 几乎支持所有的51内核单片机,51内核具有通用型,如果程序用的资源不是太复杂,我们可以选择任意一款51单片机内核就行。例程以添加Atmel 的AT89C51来说明。如图,然后,单击确定(OK)。 功能描述 如果出现下面的界面:单击是就可以,意思是将单片机的启动代码添加到工程,我们不用修改。 到目前我们还没建立一个完整的工程,只是有工程的名字,框架,工程中还没有任何文件代码,(除了启动代码,有的keil 版本不显示启动代码),接下来我们添加文件及代码。 单击菜单File→New 选项,或者单击界面上的快捷图标,新建文件串口如下。
单片机为89c52 晶振为11.0592, /***此程序为流水灯*** / #include
/*8个发光管间隔200ms由上至下,返回再由上至下,一个个往下亮,后全亮由下至上,返回再由下至上,一个个往下亮,后全亮 再重复2次, 然后全部熄灭再以500ms间隔 全部闪烁3次。重复此过程*/ #include
一、傻瓜式编程 #include<> #define uint unsigned int #define uchar unsigned char void delay(uint z); //延时子函数的声明main () { P0=0xfe;//第一个灯亮 delay(500); P0=0xfd;//第二个灯亮 delay(500); P0=0xfb; delay(500); P0=0xf7; delay(500); P0=0xef; delay(500); P0=0xdf; delay(500); P0=0xbf; delay(500); P0=0x7f; delay(500); } void delay(uint z) //延时子函数 { uint x,y; for(x=0;x 二、用移位符号“<<”或“>>” void main() //主函数 { a=0xfe; //给a赋值 while(1) { P0=a; //给P0口赋值,第一个等亮 a为1111 1110 a=~a; //求反 a为0000 0001 a=a<<1;//移位 a为0000 0010 a=~a; //求反还原a。第二个灯亮 a为1111 1101 delay(500); if(a==0x7f) { P0=0x7f;//第八个灯亮一次 delay(500); a=0xfe;//让第一个灯亮,然后无限循环 } } } 三、用移位函数_crol_( )和_cror_( ) main() { a=0xfe; while(1) { P0=a; delay(500); a=_crol_(a,1); //a每次左移一位 } } 四、使用数组 uchar code table[ ]={0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf,0x7f}; main() { whlie(1) { for(a=0;a<8;a++) { P0=table[a]; delay(500); } } } 单片机流水灯汇编程序设计 开发板上的8只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。 程序A: ;用最直接的方式实现流水灯 ORG 0000H START:MOV P1,#01111111B ;最下面的LED点亮 LCALL DELAY;延时1秒 MOV P1,#10111111B ;最下面第二个的LED点亮 LCALL DELAY;延时1秒 MOV P1,#11011111B ;最下面第三个的LED点亮(以下省略) LCALL DELAY MOV P1,#11101111B LCALL DELAY MOV P1,#11110111B LCALL DELAY MOV P1,#11111011B LCALL DELAY MOV P1,#11111101B LCALL DELAY MOV P1,#11111110B LCALL DELAY MOV P1,#11111111B ;完成第一次循环点亮,延时约0.25秒 AJMP START ;反复循环 ;延时子程序,12M晶振延时约250毫秒 DELAY: MOV R4,#2 L3: MOV R2 ,#250 L1: MOV R3 ,#250 L2: DJNZ R3 ,L2 DJNZ R2 ,L1 DJNZ R4 ,L3 RET END 程序B: ;用移位方式实现流水灯 ajmp main ;跳转到主程序 org 0030h ;主程序起始地址 main: mov a,#0feh ;给A赋值成11111110 loop: mov p1,a ;将A送到P1口,发光二极管低电平点亮 lcall delay ;调用延时子程序 rl a ;累加器A循环左移一位 ajmp loop ;重新送P1显示 delay: mov r3,#20 ;最外层循环二十次 d1: mov r4,#80 ;次外层循环八十次 d2: mov r5,#250 ;最内层循环250次 djnz r5,$ ;总共延时2us*250*80*20=0.8S djnz r4,d2 djnz r3,d1 ret end 51单片机经典流水灯程序,在51单片机的P2口接上8个发光二极管,产生流水灯的移动效果。 ORG 0 ;程序从0地址开始 START: MOV A,#0FEH ;让ACC的内容为11111110 LOOP: MOV P2,A ;让P2口输出ACC的内容 RR A ;让ACC的内容左移 CALL DELAY ;调用延时子程序 LJMP LOOP ;跳到LOOP处执行 ;0.1秒延时子程序(12MHz晶振)=================== DELAY: MOV R7,#200 ;R7寄存器加载200次数 D1: MOV R6,#250 ;R6寄存器加载250次数 DJNZ R6,$ ;本行执行R6次 DJNZ R7,D1 ;D1循环执行R7次 RET ;返回主程序 单片机流水灯汇编程序设计 流水灯汇编程序 8只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。 ;用最直接的方式实现流水灯 ORG 0000H START:MOV P1,#01111111B ;最下面的LED点亮 LCALL DELAY ;延时1秒 MOV P1,#10111111B ;最下面第二个的LED点亮 LCALL DELAY ;延时1秒 MOV P1,#11011111B ;最下面第三个的LED点亮(以下省略) LCALL DELAY MOV P1,#11101111B LCALL DELAY MOV P1,#11110111B LCALL DELAY MOV P1,#11111011B LCALL DELAY MOV P1,#11111101B LCALL DELAY MOV P1,#11111110B LCALL DELAY MOV P1,#11111111B ;完成第一次循环点亮,延时约0.25秒 AJMP START ;反复循环 ;延时子程序,12M晶振延时约250毫秒 DELAY: ;大约值:2us*256*256*2=260ms,也可以认为为250ms PUSH PSW ;现场保护指令(有时可以不加) MOV R4,#2 L3: MOV R2 ,#00H L1: MOV R3 ,#00H L2: DJNZ R3 ,L2 ;最内层循环:(256次)2个周期指令(R3减一,如果比1大,则转向L2) DJNZ R2 ,L1 ; 中层循环:256次 DJNZ R4 ,L3 ;外层循环:2次 POP PSW RET END 51单片机汇编程序集(二) 2008年12月12日星期五 10:27 辛普生积分程序 内部RAM数据排序程序(升序) 外部RAM数据排序程序(升序) 外部RAM浮点数排序程序(升序) BCD小数转换为二进制小数(2位) BCD小数转换为二进制小数(N位) BCD整数转换为二进制整数(1位) BCD整数转换为二进制整数(2位) BCD整数转换为二进制整数(3位) BCD整数转换为二进制整数(N位) 二进制小数(2位)转换为十进制小数(分离BCD码) 二进制小数(M位)转换为十进制小数(分离BCD码) 二进制整数(2位)转换为十进制整数(分离BCD码) 二进制整数(2位)转换为十进制整数(组合BCD码) 二进制整数(3位)转换为十进制整数(分离BCD码) 二进制整数(3位)转换为十进制整数(组合BCD码) 二进制整数(M位)转换为十进制整数(组合BCD码) 三字节无符号除法程序(R2R3R4/R7)=(R2)R3R4 余数R7 ;二进制整数(2位)转换为十进制整数(分离BCD码) ;入口: R3,R4 ;占用资源: ACC,R2,NDIV31 ;堆栈需求: 5字节 ;出口: R0,NCNT IBTD21 : MOV NCNT,#00H MOV R2,#00H IBD211 : MOV R7,#0AH LCALL NDIV31 MOV A,R7 MOV @R0,A INC R0 INC NCNT MOV A,R3 ORL A,R4 JNZ IBD211 MOV A,R0 CLR C SUBB A,NCNT MOV R0,A RET ;二进制整数(2位)转换为十进制整数(组合BCD码) ;入口: R3,R4 ;占用资源: ACC,B,R7 ;堆栈需求: 3字节 ;出口: R0 用单片机控制的L E D 流水灯设计(电路、程序全部给出) 1.引言 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效方法就是理论与实践并重,本文笔者用AT89C51单片机自制了一款简易的流水灯,重点介绍了其软件编程方法,以期给单片机初学者以启发,更快地成为单片机领域的优秀人才。 2.硬件组成 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。AT89C51单片机是美国ATM EL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。其具体硬件组成如图1所示。 图1 流水灯硬件原理图 从原理图中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此, 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 sbit P00=P0^0; sbit P01=P0^1; void delay(uchar t) { uchar i,j; for(i=0;i 基于51单片机的各种花样的流水灯c51程序/*----------------------------------------------- 功能:流水灯对称移动闪烁(双闪烁) ------------------------------------------------*/ #include if(comp1==0x7f) { comp1=0xfe; comp2=0x80; P1=0x00; delay(30000); } 发现if语句没有被执行,自然继续左右移动: 1111 1111&1111 1111^0000 0000==11111 1111 所以看起来是执行了一次while中的代码。 具体为什么不行,还不清楚…… 更正下列代码后,能够实现功能。 if(P1==0x7e) { comp1=0xfe; comp2=0x80; } 或者: if(comp2==0x01) { comp1=0xfe; comp2=0x80; } --------------------------------------------------------------*/ ********************************************* /*----------------------------------------------- 功能:流水灯(单向单闪烁) ------------------------------------------------*/ #include PLC花样流水灯的控制 西南科技大学自学考试(本科)毕业论文 PLC花样流水灯的控制【摘要】: 【关键词】: 1 西南科技大学自学考试(本科)毕业论文 目录 一、课程设计目的的 (2) 二、课程设计题目和要求............................................. .... 2 三、设计内容 (2) (一)PLC的介绍 (2) (二) PLC的特点及运用 (4) (三)PLC工作原理 (6) (四)、PLC的I/O地址分配 (7) (五) 外部PLC接线图 (7) (六) PLC主程序的设计 (8) (七) 花样1 子程序 (11) (八)花样2子程序 (11) ( 九) 花样3子程序 (11) (十)控制系统测试与分析................................................13 四、设计总结............................................................13 参考书目................................................................16 附录.. (17) 2 西南科技大学自学考试(本科)毕业论文 一、课程设计目的 在现代生活中,彩灯作为一种装饰,既可以增强人们的感观,起到广告宣传的 作用,又可以增添节日气氛,为人们的生活增添亮丽,用在舞台上增强晚会灯光效果。随着科学技术的发展以及人民生活水平的提高,人们对于彩灯的要求越来越高,另一方面,随着电子技术的发展,应用系统向着小型化、快速化、大容量、重量轻的方向发展,PLC技术的应用引起电子产品及系统开发的巨大变革。梯形图语 言作为可编程逻辑器件的标准语言描述能力强,覆盖面广,抽象能力强,在实际应用中越来越广泛。于是,人们开始追求贯彻整个系统设计的自动化,可以从繁重的设计工作中彻底解脱出来,把精力集中在创造性的方案与概念构思上,从而可以提高设计效率,缩短产品的研制周期。整个过程通过PLC自动完成,大大减轻了设计人员的工作强度,减少了出错的机会,并且提高了设计质量。为了便于学生掌握最经典的51单片机经典流水灯汇编程序
51单片机经典流水灯汇编程序
用单片机控制的LED流水灯设计(电路、程序全部给出)讲课教案
51单片机流水灯实验报告
基于51单片机的各种花样的流水灯c51程序
PLC花样流水灯的控制