编写LED显示0-9数字的PLC控制程序
- 格式:doc
- 大小:347.51 KB
- 文档页数:5
单片机课程设计姓名:陈素云班级:09电力方向2班学号:2设计题目:按键控制1位LED数码管显示0-9 设计要求:通过单片的I/O口与LED数码管所构成的单片机系统的软件编程,使学生掌握简单的单片机系统的设计,同时初步学全用汇编语言和C语言两种方式编程的基本方法。
学生必须采用单片机AT89C51为LED显示屏的控制为核心,分别置“1”或“0”,让某些段的LED 发光,其它的熄灭,然后达到显示不同的字符和图符号的目的. 学生根据前期设计的步骤按照设计报告内容的具体要求,选择前期设计的一个典型题目,写出详尽的课程设计报告,重点内容包括方案论证、完整的电路图、软件系统流程图及开发程序、组装调试内容和总结等。
目录第1节引言 (3)1.1 LED数码显示器概述 (3)1.2 设计任务 (5)1.3设计目的 (6)第2节AT89C51单片机简介 (6)2.1 AT89C51单片机 (6)2.2 单片机管脚图 (7)2.3管脚说明 (7)2.4振荡器特性 (9)第3节设计主程序与硬件电路设计 (9)3.1设计的主程序 (10)3.2系统程序所需硬件 (10)3.2.1所需的硬件 (10)3.2.2所需硬件的结构图 (11)3.3 硬件电路总连接图 (12)第4节程序运行过程 (12)4.1分析步骤 (12)4.2 程序执行过程 (13)第5节程序运行结果 (13)总结参考文献第1节引言还记得我们小时候玩的“火柴棒游戏”吗,几根火柴棒组合起来,能拼成各种各样的图形,LED数码管显示器实际上也是这么一个东西。
在单片机系统中,常常用LED数码数码管显示器来显示各种数字或符号。
LED 数码显示器是单片机嵌入式系统中经常使用的显示器件。
一个“8”字型的显示模块用“a、b、c、d、e、f、g、h” 8 个发光二极管组合而成。
每个发光二极管称为一字段。
LED 数码显示器有共阳极和共阴极两种结构形式。
由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
LED数码管汇编程序DISPBUF EQU 50H ;50H,51H,52H,53H是显示缓冲区LED1 EQU P2.0 ;第一位数码管的位控制LED2 EQU P2.1 ;第二位数码管的位控制LED3 EQU P2.2 ;第三位数码管的位控制LED4 EQU P2.3 ;第四位数码管的位控制LED5 EQU P2.4LED6 EQU P2.5LED7 EQU P2.6LED8 EQU P2.7;============================================================== org 0000hLJMP MAINORG 0003HRETIORG 000BHRETIORG 0013HRETIORG 001BHRETIORG 0023HRETIMAIN:MOV R0,#50HMOV 65H, #2MOV 64H, #3MOV 63H, #5MOV 62H, #9MOV 61H, #5MOV 60H, #9MOV 59H, #1MOV 58H, #2ACALL OUTLOOP1:ACALL DISP ;调用显示程序JNB P3.2,K1JNB P3.3,K2ACALL TIMEAJMP LOOP1K1: LJMP CLEARK2: LJMP PAUSETIME:MOV R0,#59H ;指向毫秒计时单元ACALL ADD1 ;调用加1程序(加1毫秒操作)MOV A,R3 ;毫秒数据放入A(R3为2位十进制数组合)CLR C ;清进位标志CJNE A,#60H,ADDSADDS: JC OUT ;小于60毫秒时中断退出ACALL CLR0 ;大于或等于60毫秒时对秒计时单元清0MOV R0,#61H ;指向秒计时单元ACALL ADD1 ;调用加1程序(加1秒操作)MOV A, R3 ;秒数据放入A(R3为2位十进制数组合)CLR C ;清进位标志CJNE A, #60H,ADDMADDM: JC OUT ;小于60秒时中断退出ACALL CLR0 ;大于或等于60秒时对秒计时单元清0MOV R0,#63H ;指向分计时单元ACALL ADD1 ;分计时单元加1分钟MOV A,R3 ;分数据放入ACLR C ;清进位标志CJNE A,#60H,ADDHADDH: JC OUT ;小于60分时中断退出ACALL CLR0 ;大于或等于60分时分计时单元清0MOV R0,#65H ;指向小时计时单元ACALL ADD1 ;小时计时单元加1小时MOV A,R3 ;时数据放入ACLR C ;清进位标志CJNE A,#24H,HOURHOUR: JC OUT ;小于24小时中断退出ACALL CLR0 ;大于或等于24小时计时单元清零OUT:MOV DISPBUF, 65HMOV DISPBUF+1, 64HMOV DISPBUF+2, 63HMOV DISPBUF+3, 62HMOV DISPBUF+4,61HMOV DISPBUF+5, 60HMOV DISPBUF+6,59HMOV DISPBUF+7,58HRETI;===================================================================== =;清零程序;======================================================================CLR0:CLR A ;清累加器MOV @R0,A ;清当前地址单元DEC R0 ;指向前一地址MOV @R0,A ;前一地址单元清零RET;===================================================================== =;加1子程序;===================================================================== =ADD1:MOV A,@R0 ;取当前计时单元数据到ADEC R0 ;指向前一地址SW AP A ;A中数据高四位与低四位交换ORL A,@R0 ;前一地址中数据放入A中低四位ADD A,#01H ;A加1操作DA A ;十进制调整MOV R3,A ;移入R3寄存器ANL A,#0FH ;高四位变0MOV @R0,A ;放回前一地址单元MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SW AP A ;A中数据高四位与低四位交换ANL A,#0FH ;高四位变0MOV @R0,A ;数据放入当前地址单元中RET;===================================================================== =;显示程序;===================================================================== =DISP:;-----------------------------------------------------------MOV A,DISPBUF ;取第一个待显示数MOV DPTR,#DISPTABMOVC A,@A+DPTR ;取字形码CPL A ;MOV P0,A ;将字形码送P0位(段口)CLR LED1 ;开第一位显示器位口LCALL DELAY ;延时5毫秒SETB LED1 ;关闭第一位显示器(开始准备第二位的数据);-----------------------------------------------------------MOV A,DISPBUF+1 ;取显示缓冲区的第二位MOV DPTR,#DISPTABMOVC A,@A+DPTRCPL A ;MOV P0,A ;将第二个字形码送P0口CLR LED2 ;开第二位显示器LCALL DELAY ;延时5毫秒SETB LED2 ;关第二位显示;-----------------------------------------------------------MOV A,DISPBUF+2 ;取显示缓冲区的第三位MOV DPTR,#DISPTABMOVC A,@A+DPTR ;取字形码CPL A ;MOV P0,A ;将第三个字形码送P0位(段口)CLR LED3 ;开第三位显示器位口LCALL DELAY ;延时5毫秒SETB LED3 ;关闭第三位显示器;-----------------------------------------------------------MOV A,DISPBUF+3 ;取显示缓冲区的第四位MOV DPTR,#DISPTABMOVC A,@A+DPTR ;取字形码CPL A ;MOV P0,A ;将第四个字形码送P0位(段口)CLR LED4 ;开第四位显示器位口LCALL DELAY ;延时5毫秒SETB LED4 ;关闭第四位显示器;-----------------------------------------------------------MOV A,DISPBUF+4 ;取显示缓冲区的第五位MOV DPTR ,#DISPTABMOVC A,@A+DPTR ;取字形码CPL AMOV P0,A ;将第五个字形码送P0位(段口)CLR LED5 ;开第五位显示器位口LCALL DELAY ;延时5毫秒SETB LED5 ;关闭第五位显示器;-----------------------------------------------------------MOV A,DISPBUF+5 ;取显示缓冲区的第六位MOV DPTR ,#DISPTABMOVC A,@A+DPTR ;取字形码CPL AMOV P0,A ;将第六个字形码送P0位(段口)CLR LED6 ;开第六位显示器位口LCALL DELAY ;延时5毫秒SETB LED6 ;关闭第六位显示器;-----------------------------------------------------------MOV A,DISPBUF+6 ;取显示缓冲区的第七位MOV DPTR ,#DISPTABMOVC A,@A+DPTR ;取字形码CPL AMOV P0,A ;将第七个字形码送P0位(段口)CLR LED7 ;开第七位显示器位口LCALL DELAY ;延时5毫秒SETB LED7 ;关闭第七位显示器;-----------------------------------------------------------MOV A,DISPBUF+7 ;取显示缓冲区的第八位MOV DPTR ,#DISPTABMOVC A,@A+DPTR ;取字形码CPL AMOV P0,A ;将第八个字形码送P0位(段口)CLR LED8 ;开第八位显示器位口LCALL DELAY ;延时5毫秒SETB LED8 ;关闭第八位显示器;-----------------------------------------------------------RETPAUSE:ACALL DISPJNB P3.2,K3AJMP PAUSEK3: acall CLEARCLEAR:MOV 58H, #0MOV 59H, #0MOV 60H, #0MOV 61H, #0MOV 62H, #0MOV 63H, #0MOV 64H, #0MOV 65H, #0LJMP LOOP1RETI;===================================================================== =;延时程序;===================================================================== =DELAY:MOV R6,#20H ;延时约5mSD1: MOV R7,#10HD2: DJNZ R7,D2DJNZ R6,D1RET;===================================================================== =DISPTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0ffh参考链接:/news/2011-07/2624.htm。
编写程序使实验板上八段数码管循环显示0 到9 字符1.八段数码管嵌入式系统中,经常使用八段数码管来显示数字或符号,由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
结构八段数码管由八个发光二极管组成,其中七个长条形的发光管排列成“日”字形,右下角一个点形的发光管作为显示小数点用,八段数码管能显示所有数字及部份英文字母。
见图1。
图1 八段数码管的结构类型八段数码管有两种不同的形式:一种是八个发光二极管的阳极都连在一起的,称之为共阳极八段数码管;另一种是八个发光二极管的阴极都连在一起的,称之为共阴极八段数码管。
工作原理以共阳极八段数码管为例,当控制某段发光二极管的信号为低电平时,对应的发光二极管点亮,当需要显示某字符时,就将该字符对应的所有二极管点亮;共阴极二极管则相反,控制信号为高电平时点亮。
电平信号按照dp,g,e…a 的顺序组合形成的数据字称为该字符对应的段码,常用字符的段码表如下:表1 常用字符的段码表显示方式八段数码管的显示方式有两种,分别是静态显示和动态显示。
静态显示是指当八段数码管显示一个字符时,该字符对应段的发光二极管控制信号一直保持有效。
动态显示是指当八段数码管显示一个字符时,该字符对应段的发光二极管是轮流点亮的,即控制信号按一定周期有效,在轮流点亮的过程中,点亮时间是极为短暂的(约1ms),由于人的视觉暂留现象及发光二极管的余辉效应,数码管的显示依然是非常稳定的。
基础知识地址0x10000004为数码管的数据寄存器,控制数码管的段码输出.数码管扫描控制地址为0x10000006,8位访问Bit0 –控制数码管0 –低电平有效Bit1 –控制数码管1 –低电平有效Bit2 –控制数码管2 –低电平有效Bit3 –控制数码管3 –低电平有效Bit4 –控制数码管4 –低电平有效Bit5 –控制数码管5 –低电平有效实验说明1、制作LED字符与码段对应表unsigned char seg7table[16] = {/* 0 1 2 3 4 5 6 7*/0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8,/* 8 9 A B C D E F*/0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e };2、扫描控制*((U8*) 0x02000006) = 0x3E; /* 使能第一个数码管 */段码输出*((U8*) 0x02000004) = seg7table[0]; /* 输出数据 0 */思考:简述LED的显示原理以及LED的显示办法静态显示和动态显示各有什么优缺点设计"HELLO"的码表,编写程序循环显示"HELLO"。
1.实验任务利用8X8点阵显示数字0到9的数字。
2.电路原理图图4.25.13.硬件系统连线(1).把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;(2).把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上;4.程序设计内容(1).数字0-9点阵显示代码的形成如下图所示,假设显示数字“0”00123 4 5 6 78●●●●●●●●●●●●●●●●00 00 3E 41 41 41 3E 00因此,形成的列代码为00H,00H,3EH,41H,41H,3EH,00H,00H;只要把这些代码分别送到相应的列线上面,即可实现“0”的数字显示。
送显示代码过程如下所示送第一列线代码到P3端口,同时置第一行线为“0”,其它行线为“1”,延时2ms左右,送第二列线代码到P3端口,同时置第二行线为“0”,其它行线为“1”,延时2ms左右,如此下去,直到送完最后一列代码,又从头开始送。
数字“1”代码建立如下图所示00123 4 5 6 78●●●●●●●●●●其显示代码为00H,00H,00H,00H,21H,7FH,01H,00H数字“2”代码建立如下图所示00123 4 5 6 78●●●●●●●●●●●●●●●●●00H,00H,27H,45H,45H,45H,39H,00H数字“3”代码建立如下图所示00123 4 5 6 78●●●●●●●●●●●●●●●00H,00H,22H,49H,49H,49H,36H,00H 数字“4”代码建立如下图所示00123 4 5 6 78●●●●●●●●●●●●●●00H,00H,0CH,14H,24H,7FH,04H,00H00123 4 5 6 78●●●●●●●●●●●●●●●●●00H,00H,72H,51H,51H,51H,4EH,00H 数字“6”代码建立如下图所示00123 4 5 6 78●●●●●●●●●●●●●●●●●00H,00H,3EH,49H,49H,49H,26H,00H00123 4 5 6 78●●●●●●●●●●●00H,00H,40H,40H,40H,4FH,70H,00H 数字“8”代码建立如下图所示00123 4 5 6 78●●●●●●●●●●●●●●●●●00H,00H,36H,49H,49H,49H,36H,00H 数字“9”代码建立如下图所示00123 4 5 6 78●●●●●●●●●●●●●●●●●00H,00H,32H,49H,49H,49H,3EH,00H 5.汇编源程序TIM EQU 30HCNTA EQU 31HCNTB EQU 32HORG 00HLJMP STARTORG 0BHLJMP T0XORG 30HSTART: MOV TIM,#00HMOV CNTA,#00HMOV CNTB,#00HMOV TMOD,#01HMOV TH0,#(65536-4000)/256MOV TL0,#(65536-4000) MOD 256SETB TR0SETB ET0SETB EASJMP $T0X:MOV TH0,#(65536-4000)/256MOV TL0,#(65536-4000) MOD 256MOV DPTR,#TABMOV A,CNTAMOVC A,@A+DPTRMOV P3,AMOV DPTR,#DIGITMOV A,CNTBMOV B,#8MUL ABADD A,CNTAMOVC A,@A+DPTRINC CNTAMOV A,CNTACJNE A,#8,NEXTMOV CNTA,#00HNEXT: INC TIMMOV A,TIMCJNE A,#250,NEXMOV TIM,#00HINC CNTBMOV A,CNTBCJNE A,#10,NEXMOV CNTB,#00HNEX: RETITAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH DIGIT: DB 00H,00H,3EH,41H,41H,41H,3EH,00HDB00H,00H,00H,00H,21H,7FH,01H,00HDB00H,00H,27H,45H,45H,45H,39H,00H00H,00H,22H,49H,49H,49H,36H,00HDB00H,00H,0CH,14H,24H,7FH,04H,00HDB00H,00H,72H,51H,51H,51H,4EH,00HDB00H,00H,3EH,49H,49H,49H,26H,00HDB00H,00H,40H,40H,40H,4FH,70H,00HDB00H,00H,36H,49H,49H,49H,36H,00HDB00H,00H,32H,49H,49H,49H,3EH,00HEND6.C语言源程序#includeunsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code digittab[10][8]={ {0x00,0x00,0x3e,0x41,0x 41,0x41,0x3e,0x00}, //0{0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00},//1{0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00},//2{0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00},//3{0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00},//4{0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00}, //5 {0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00}, //6{0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00},//7{0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00},//8{0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00} //9}; unsigned int timecount;unsigned char cnta;unsigned char cntb;void main(void){TMOD=0x01;TH0=(65536-3000)/256;TL0=(65536-3000)%6;TR0=1;ET0=1;EA=1;while(1){;}}void t0(void) interrupt 1 using 0{TH0=(65536-3000)/256;TL0=(65536-3000)%6; P3=tab[cnta];P1=digittab[cntb][cnta]; cnta++;if(cnta==8){cnta=0;}timecount++;if(timecount==333){timecount=0;cntb++;if(cntb==10){cntb=0;}}}00。
点阵式LED“0~9”数字显示摘要:简要介绍51单片机的主要性能、内部结构及其各引脚功能,概述其应用原理。
MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品。
简述点阵式LED工作原理、内部结构及其应用,并通过89C51单片机和点阵式LED进行显示“0~9”的设计。
关键字:51单片机点阵式LED “0~9”数字显示Abstract:Briefly the main properties of 51 single chip, the internal structure and function of each pin, an overview of the application principle. MCS-51 microcontroller is a U.S. INTEL company launched products in 1980, compared with the MCS-48 microcontroller, and its structure is more advanced and more powerful, based on the increase in the original circuit units and more instructions, instructions up to 111, MCS-51 microcontroller products can be quite successful, until now, MCS-51 series or compatible microcomputer application is still the mainstream product. Dot Matrix LED briefly the working principle of the internal structure and its applications, and by 89C51 And Dot Matrix LED to display "0 9" design.Keyword:51 Microcontroller Dot Matrix LED "0 ~ 9" digital display目录1. 51单片机------------------------------------------------------------------------------------------41.1 51单片机简介-----------------------------------------------------------------------------41.2 89C51单片机的封装及引脚功能----------------------------------------------51.3 89C51单片机的内部结构----------------------------------------------------------72. LED点阵-------------------------------------------------------------------------------------------92.1 8X8 LED点阵结构图-----------------------------------------------------------------92.2 相关知识------------------------------------------------------------------------------------102.3 8X8 LED工作原理--------------------------------------------------------------------113. 电路设计------------------------------------------------------------------------------------------113.1 电路原理图---------------------------------------------------------------------------------113.2 点阵与单片机的连接----------------------------------------------------------------124. 程序设计-----------------------------------------------------------------------------------------124.1 数字“0~9”点阵显示代码的形成----------------------------------------------124.2 程序代码------------------------------------------------------------------------------------165. 电路PCB图及其3D图--------------------------------------------------------------186. 总结--------------------------------------------------------------------------------------------------207. 参考文献-----------------------------------------------------------------------------------------20一、51单片机1.1 51单片机简介MCS-51单片机是美国INTEL公司于1980年推出的产品,MCS-51系列单片机主要包括8031、8051和8751等通用产品,其主要功能如下:·8位CPU·4kbytes 程序存储器(ROM)·128bytes的数据存储器(RAM)·32条I/O口线·111条指令,大部分为单字节指令·21个专用寄存器·2个可编程定时/计数器·5个中断源,2个优先级·一个全双工串行通信口·外部数据存储器寻址空间为64kB·外部程序存储器寻址空间为64kB·逻辑操作位寻址功能·双列直插40PinDIP封装·单一+5V电源供电MCS-51以其典型的结构和完善的总线专用寄存器的集中管理,众多的逻辑位操作功能及面向控制的丰富的指令系统,堪称为一代“名机”,为以后的其它单片机的发展奠定了基础。
LED数码显示控制的PLC编程(2007-11-28 18:52:17)转载分类:PLC学习标签:学习公社参考程序描述:按下启动按钮后,由八组LED发光二极管模拟的八段数码管开始显示:先是一段段显示,显示次序是A、B、C、D、E、F、G、H,随后显示数字及字符,显示次序是0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F,断开启动按钮程序停止运行。
方法一:用SHRB指令用M10.0~M10.7 M11.0~M11.7 M12.0~M12.7的24个位表示显示的24种状态的控制位。
将下面这段语句指令全部复制,然后开一个记事本文件,粘贴进去。
ORGANIZATION_BLOCK MAIN:OB1TITLE=POU CommentBEGINNetwork 1 // Network Title// Network CommentLD I0.0LPSAN T38= M0.1LRDTON T38, 15LPPAN T37TON T37, 10Network 2LD M12.7O M0.1= M0.0Network 3LD T37SHRB M0.0, M10.0, 24 Network 4 // Network Title // Network CommentLD M10.0O M11.0O M11.2O M11.3O M11.5O M11.6O M11.7O M12.0O M12.1O M12.2O M12.4O M12.6O M12.7= Q0.0Network 5LD M10.1O M11.0O M11.1O M11.3 O M11.4 O M11.7 O M12.0 O M12.1 O M12.2 O M12.5 = Q0.1 Network 6 LD M10.2 O M11.0 O M11.1 O M11.3 O M11.4 O M11.5 O M11.6 O M11.7 O M12.0 O M12.1 O M12.3 O M12.5= Q0.2 Network 7 LD M10.3 O M11.0 O M11.2 O M11.3 O M11.5 O M11.6 O M12.0 O M12.1 O M12.3 O M12.4 O M12.5 O M12.6 = Q0.3 Network 8 LD M10.4 O M11.0 O M11.2 O M11.6 O M12.0O M12.3 O M12.4 O M12.5 O M12.6 O M12.7 = Q0.4 Network 9 LD M10.5 O M11.0 O M11.4 O M11.5 O M11.6 O M12.0 O M12.1 O M12.2 O M12.3 O M12.4 O M12.6 O M12.7 = Q0.5 Network 10O M11.2O M11.3O M11.4O M11.5O M11.6O M12.0O M12.1O M12.2O M12.3O M12.5O M12.6O M12.7= Q0.6Network 11LD M10.7= Q0.7END_ORGANIZATION_BLOCK SUBROUTINE_BLOCK SBR_0:SBR0 TITLE=POU CommentBEGINNetwork 1 // Network Title// Network CommentEND_SUBROUTINE_BLOCKINTERRUPT_BLOCK INT_0:INT0TITLE=POU CommentBEGINNetwork 1 // Network Title// Network CommentEND_INTERRUPT_BLOCK做好了txt记事本文件,再将它导入PLC中,文件类型是“所有”我就拿我做的实验来讲解,我用的是7段码,Q0.1~Q0.7分别对应着7段如果要显示数字2,那么就如下图,即Q0.1、Q0.2、Q0.4、Q0.5、Q0.7工作。
电子信息工程学院电子设计应用软件训练任务【训练任务】:1、熟练掌握PROTEUS软件的使用;2、按照设计要求绘制电路原理图;3、能够按要求对所设计的电路进行仿真;【基本要求及说明】:1、按照设计要求自行定义电路图纸尺寸;2、设计任务如下:利用51单片机、BCD译码芯片和两位LED构成一个数码管扫描显示系统,两个数码管同时循环显示0~9。
3、按照设计任务在Proteus 6 Professional中绘制电路原理图;4、根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。
【按照要求撰写总结报告】指导教师年月日负责教师年月日学生签字年月日成绩评定表摘要该专业是前沿学科,现代社会的各个领域及人们日常生活等都与电子信息技术有着紧密的联系。
全国各地从事电子技术产品的生产、开发、销售和应用的企事业单位很多,随着改革步伐的加快,这样的企事业单位会越来越多。
为促进市场经济的发展,培养一大批具有大专层次学历,能综合运用所学知识和技能,适应现代电子技术发展的要求,从事企事业单位与本专业相关的产品及设备的生产、安装调试、运行维护、销售及售后服务、新产品技术开发等应用型技术人才和管理人才是社会发展和经济建设的客观需要,市场对该类人才的需求越来越大。
为此电子信息工程专业的人才有着广泛的就业前景,毕业生可从事电子设备、信息系统和通信系统的研究、设计、制造、应用和开发工作。
目录一、任务说明 (1)1.1 专业介绍 (1)1.2 专业背景与市场预测 (1)1.3 本课题分析 (1)二、绘制原理图 (2)2.1 Proteus软件介绍 (2)2.2 原理图绘制说明 (2)2.3 原理图绘制步骤 (3)三、程序编译说明及程序流程图 (6)3.1 Main程序说明 (6)3.2 初始化子程序说明 (6)3.3 display(uchar tmp)子程序说明 (7)3.4 延时子程序说明 (8)3.5 中断子程序说明 (9)四、Proteus仿真说明 (11)4.1 导入仿真文件 (11)4.2 进行仿真 (12)五、课程设计体会及合理化建议 (14)致谢 (16)一、任务说明1.1专业介绍电子信息工程是一门应用计算机等现代化技术进行电子信息控制和信息处理的学科,主要研究信息的获取与处理,电子设备与信息系统的设计、开发、应用和集成。
设计任务及指标:用 LED数码管间隔显示数字 , 按下 S0 依次间隔 2s 循环显示 0~9 十个数字,按 S1 依次间隔 2s 显示 0~9 中奇数, 5 秒后,依次间隔 2s 显示 0~9中偶数,并且实现奇偶的循环。
在显示的过程中,只要有一键按下,就立即实现该键的功能,且计数初值为相应循环的初值。
设计思路:设计可以分为循环模式切换的控制部分、间隔2s 的循环控制部分、编码部分和输出部分四大模块。
1.循环模式切换的控制部分:定义: X000:0~9 循环X001:奇偶循环M200:用来切换显示模式的中间继电器M203:用来恢复初值的中间继电器工作过程:按下 X000时,M200不得电, M200的触点不工作,实现0~9循环的所有中间继电器接通,并且在X000的启动下,其中的显示0的中间继电器 M0开始工作;当按下 X001时,M200得电,M200的触点工作,使奇偶循环的所有中间继电器接通,实现切换。
同时,当X000与X001 中只要任意一个按下时,M203 得电, M203的常闭触点断开,使第 2~10 组控制显示的中间继电器与时间继电器失电,从而保证只有第一组能工作,防止在切换过程中出现两组同时工作导致乱码。
梯形图如下:2.间隔 2s 的循环控制部分:定义:控制显示的部分M0显示 0、M1显示 1、M2显示 2、M3显示 3、M4显示 4、M5显示 5、M6显示 6、M7显示 7、M8显示 8、M9显示 9;M10显示 1、M11显示 3、M12显示 5、M13显示 7、M14显示 9、M15显示 0、M16显示 2、M17显示 4、M18显示 6、M19显示 8;间隔 2s 的循环部分:T0~T9的延迟时间为 2s,T10 的延迟时间为 5s ;工作过程:起动时按下X000,M0开始工作,显示0,T0 也开始工作;2s 后 T0 的常开触点闭合, M1开始工作,显示 1,同时 M1的常闭触点断开,使得 M0失电。
PLC控制LED灯数码显示控制程序一、实现功能:按下启动按钮,由8组led灯发光二极管模拟的8段数码管每隔1S进行显示,显示内容依次为F、A、b、c、d、E、F共8个字符。
再重新循环显示。
led灯数码显示控制程序设计及模拟运行灯一、实现功能:按下启动按钮,由8组led灯发光二极管模拟的8段数码管每隔1S进行显示,显示内容依次为F、A、b、c、d、E、F共8个字符。
再重新循环显示。
二、硬件设计:三、软件程序设计1、控制过程一、实现功能:按下启动按钮,由8组led灯发光二极管模拟的8段数码管每隔1S进行显示,显示内容依次为F、A、b、c、d、E、F共8个字符。
再重新循环显示。
闭合输入继电器某0,程序开始工作。
M0吸合,LED灯数码显示A,随后依次、b、c、d、E、F。
2、控制梯形图一、实现功能:按下启动按钮,由8组led灯发光二极管模拟的8段数码管每隔1S进行显示,显示内容依次为F、A、b、c、d、E、F共8个字符。
再重新循环显示。
3、语句表一、实现功能:按下启动按钮,由8组led灯发光二极管模拟的8段数码管每隔1S进行显示,显示内容依次为F、A、b、c、d、E、F共8个字符。
再重新循环显示。
4、仿真截图5、实物照片一、实现功能:按下启动按钮,由8组led灯发光二极管模拟的8段数码管每隔1S进行显示,显示内容依次为F、A、b、c、d、E、F共8个字符。
再重新循环显示。
五、实训心得在实习中,我们在指导教师的帮助下,将所学知识和实习内容相互结和、相互验证,并对一些实际问题加以分析和讨论。
电子实习是我们重要的电工电子技术基础实践课,培养学生的动手操作能力就显得尤为重要。
通过实习加深对课堂知识的理解,初步了解和掌握一般的电工电子工艺技能,了解电工电子产品生产过程。
通过电机与控制模块实训,我确实是学到了很多知识,拓展了自己的的视野。
通过这一次的电机与控制模块实训,增强了我的动手操作的能力。
电子实习我们已经做过很多次了,这一次是专业的综合实习,包括以前我们没做过的plc。
P L C课程设计L E D灯数码显示控制The pony was revised in January 2021成绩可编程逻辑控制器课程设计报告题目 LED灯数码显示控制系别专业名称班级学号姓名指导教师目录一、引言 (6)二、系统总体方案设计 (6)2.1系统硬件配制及组成原理 (6)2.1.1 PLC各组成部件及作用 (6)2.1.2 PLC的分类 (8)2.1.3 LED数码管的结构及工作原理 (9)2.2系统变量定义及分配表 (10)2.3系统接线图设计......................................... 错误!未定义书签。
三、控制系统设计 (10)3.1控制程序设计思想 (10)3.2控制程序时序图设计 (11)四、系统调试及结果分析 (11)4.1系统调试及解决的问题 (11)4.2结果分析 (11)五、结束语.................................................... 错误!未定义书签。
六、参考文献 (11)附录 (12)LED数码显示控制一、实验目的了解并掌握LED数码显示控制中的应用及其编程方法。
二、控制要求按下启动按钮后,由八组LED发光二极管模拟的八段数码管开始显示:一一显示各段,之后一次显示0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F再返回初始显示,并循环不止。
四、实验设备1、安装了STEP7-Micro/WIN32编程软件的计算机一台2、PC/PPI编程电缆一根3、锁紧导线苦干五、实验步骤1、根据上表进行输入输出接线;2、编写程序,并把程序输入STEP7中;3、检查输入程序无误以后,将程序下载到主机内,并且把PLC的工作模式达到RUN模式;4、拨动输入开关SD,观察输出LED的显示结果。
一、引言《可编程逻辑控制器》课程设计是该课程的一个重要教学环节,既有别于毕业设计,又不同于课堂教学。
单片机课程设计姓名:陈素云班级:09电力方向2班学号:200920305340设计题目:按键控制1位LED数码管显示0-9设计要求:通过单片的I/O口与LED数码管所构成的单片机系统的软件编程,使学生掌握简单的单片机系统的设计,同时初步学全用汇编语言和C语言两种方式编程的基本方法。
学生必须采用单片机AT89C51为LED显示屏的控制为核心,分别置“1”或“0”,让某些段的LED 发光,其它的熄灭,然后达到显示不同的字符和图符号的目的. 学生根据前期设计的步骤按照设计报告内容的具体要求,选择前期设计的一个典型题目,写出详尽的课程设计报告,重点内容包括方案论证、完整的电路图、软件系统流程图及开发程序、组装调试内容和总结等。
目录第1节引言 (3)1.1 LED数码显示器概述 (3)1.2 设计任务 (5)1.3设计目的 (6)第2节 AT89C51单片机简介 (6)2.1 AT89C51单片机 (6)2.2 单片机管脚图 (7)2.3管脚说明 (7)2.4振荡器特性 (9)第3节设计主程序与硬件电路设计 (9)3.1设计的主程序 (10)3.2系统程序所需硬件 (10)3.2.1所需的硬件 (10)3.2.2所需硬件的结构图 (11)3.3 硬件电路总连接图 (12)第4节程序运行过程 (12)4.1分析步骤 (12)4.2 程序执行过程 (13)第5节程序运行结果 (13)总结参考文献第1节引言还记得我们小时候玩的“火柴棒游戏”吗,几根火柴棒组合起来,能拼成各种各样的图形,LED数码管显示器实际上也是这么一个东西。
在单片机系统中,常常用LED数码数码管显示器来显示各种数字或符号。
LED 数码显示器是单片机嵌入式系统中经常使用的显示器件。
一个“8”字型的显示模块用“a、b、c、d、e、f、g、h” 8 个发光二极管组合而成。
每个发光二极管称为一字段。
LED 数码显示器有共阳极和共阴极两种结构形式。
由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
单片机课程设计姓名:陈素云班级:09电力方向2班学号:200920305340设计题目:按键控制1位LED数码管显示0-9 设计要求:通过单片的I/O口与LED数码管所构成的单片机系统的软件编程,使学生掌握简单的单片机系统的设计,同时初步学全用汇编语言和C语言两种方式编程的基本方法。
学生必须采用单片机AT89C51为LED显示屏的控制为核心,分别置“1”或“0”,让某些段的LED 发光,其它的熄灭,然后达到显示不同的字符和图符号的目的. 学生根据前期设计的步骤按照设计报告内容的具体要求,选择前期设计的一个典型题目,写出详尽的课程设计报告,重点内容包括方案论证、完整的电路图、软件系统流程图及开发程序、组装调试内容和总结等。
目录第1节引言 (3)1.1 LED数码显示器概述 (3)1.2 设计任务 (5)1.3设计目的 (6)第2节AT89C51单片机简介 (6)2.1 AT89C51单片机 (6)2.2 单片机管脚图 (7)2.3管脚说明 (7)2.4振荡器特性 (9)第3节设计主程序与硬件电路设计 (9)3.1设计的主程序 (10)3.2系统程序所需硬件 (10)3.2.1所需的硬件 (10)3.2.2所需硬件的结构图 (11)3.3 硬件电路总连接图 (12)第4节程序运行过程 (12)4.1分析步骤 (12)4.2 程序执行过程 (13)第5节程序运行结果 (13)总结参考文献第1节引言还记得我们小时候玩的“火柴棒游戏”吗,几根火柴棒组合起来,能拼成各种各样的图形,LED数码管显示器实际上也是这么一个东西。
在单片机系统中,常常用LED数码数码管显示器来显示各种数字或符号。
LED 数码显示器是单片机嵌入式系统中经常使用的显示器件。
一个“8”字型的显示模块用“a、b、c、d、e、f、g、h” 8 个发光二极管组合而成。
每个发光二极管称为一字段。
LED 数码显示器有共阳极和共阴极两种结构形式。
由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
L E D数码显示控制的P L C编程(2007-11-28 18:52:17)转载分类:PLC学习标签:学习公社参考程序描述:按下启动按钮后,由八组LED发光二极管模拟的八段数码管开始显示:先是一段段显示,显示次序是A、B、C、D、E、F、G、H,随后显示数字及字符,显示次序是0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F,断开启动按钮程序停止运行。
方法一:用SHRB指令用M10.0~M10.7 M11.0~M11.7 M12.0~M12.7的24个位表示显示的24种状态的控制位。
将下面这段语句指令全部复制,然后开一个记事本文件,粘贴进去。
ORGANIZATION_BLOCK MAIN:OB1TITLE=POU CommentBEGINNetwork 1 // Network Title// Network CommentLD I0.0LPSAN T38= M0.1LRDTON T38, 15TON T37, 10Network 2LD M12.7O M0.1= M0.0Network 3LD T37SHRB M0.0, M10.0, 24 Network 4 // Network Title // Network CommentLD M10.0O M11.0O M11.2O M11.3O M11.5O M11.6O M11.7O M12.0O M12.1O M12.2O M12.4O M12.6O M12.7= Q0.0Network 5LD M10.1O M11.0O M11.1O M11.2O M11.3O M11.4O M11.7O M12.0O M12.1O M12.2O M12.5= Q0.1Network 6LD M10.2O M11.0O M11.1O M11.3O M11.4O M11.5O M11.6O M11.7= Q0.2 Network 7LD M10.3 O M11.0 O M11.2 O M11.3 O M11.5 O M11.6 O M12.0 O M12.1 O M12.3 O M12.4 O M12.5 O M12.6 = Q0.3 Network 8LD M10.4 O M11.0 O M11.2 O M11.6 O M12.0 O M12.2 O M12.3 O M12.4 O M12.5 O M12.6 O M12.7 = Q0.4 Network 9LD M10.5 O M11.0 O M11.4 O M11.5 O M11.6 O M12.0 O M12.1 O M12.2 O M12.3 O M12.4 O M12.6 O M12.7 = Q0.5 Network 10O M11.6O M12.0O M12.1O M12.2O M12.3O M12.5O M12.6O M12.7= Q0.6Network 11LD M10.7= Q0.7END_ORGANIZATION_BLOCKSUBROUTINE_BLOCK SBR_0:SBR0TITLE=POU CommentBEGINNetwork 1 // Network Title// Network CommentEND_SUBROUTINE_BLOCKINTERRUPT_BLOCK INT_0:INT0TITLE=POU CommentBEGINNetwork 1 // Network Title// Network CommentEND_INTERRUPT_BLOCK做好了txt记事本文件,再将它导入PLC中,文件类型是“所有”我就拿我做的实验来讲解,我用的是7段码,Q0.1~Q0.7分别对应着7段如果要显示数字2,那么就如下图,即Q0.1、Q0.2、Q0.4、Q0.5、Q0.7工作。
【任务模块】:数码显示任务时间:年月日班级:人数清查:【任务描述】:用段位码,让数码管上显示数字0-9,时间间隔为1S,并循环。
【任务目的】:用段位码指令实现数码显示0-9的控制。
【任务重点】:段位码与数码管上数字0-9的关系【任务难点】:段位码指令的应用程序【任务时间】:2课时【安全注意事项】:①保持工作台的洁净,严格遵循实训室管理制度。
②注意用电安全,严格遵循用电操作规程,防止触电。
③在操作过程中,注意安全,规范安全的操作,注意电源极性连接防止短路现象,损坏仪器、设备。
④注意在插线、拆卸时不要“生拉硬拔”,造成设备损坏。
⑤完成任务后应把所有设备、仪器切断电源,摆放整齐。
【实训器材】:工具:UCB驱动软件、SETP7-Micro/Win软件。
仪器:电脑、plc实验台、USB数据连接线、数码显示模块。
材料:安全连接线。
资料:教科书、笔记本、相关程序的范例。
【实训方法】:启示法、演示法、模仿学习法【任务过程】:1、复习相关理论知识2、任务分析,程序讲解3、任务实施步骤:(1)根据任务要求设计I/O分配电路图。
(2)根据I/O分配电路图搭建硬件电路。
(3)运用数据传送指令完成编写程序。
(4)下载、调试程序,实现功能。
(5)能力(知识)拓展。
(6)总结【相关理论知识】:一、复习上节课学习了二进制和十进制数据传送指令的方式,来显示数字0-9的程序,并调试成功。
假设程序还能更简单点,不用那么麻烦,可以吗?可以的,今天我们来学习段位码指令显示数字0-9,就会更简单。
二、段位码指令1、指令、语句表格式和梯形图格式:2、指令功能:EN端口执行条件存在时,将IN端口指定的字节数据中低四位有效值转换为7段显示码,输出到OUT端口指定的字节单元。
【任务分析】:程序讲解1、7端显示码的编码规则:【任务实施步骤】:一、根据任务要求设计I/O分配电路图。
(成绩评定:)二、根据I/O分配电路图搭建硬件电路。
(成绩评定:)三、运用段位码指令编写程序。
数码管循环显示0~9程序说明功能说明:用一位数码管循环显示数字0~9,数字间隔时间为0.2秒。
一、电路图数码管循环显示0~9电路图二、所用电子元器件A T89C51:单片机;7SEG—COM—AN—GRN:带公共端共阳七段绿色数码管;CAP、CAP—ELEC:电容、电解电容;CRYSTAL:晶振。
三、程序汇编语言编写的数码管循环显示0~9源程序代码如下:START:MOV DPTR,#TABLEMOV R0,#00HLOOP: MOV A,R0MOVC A,@A+DPTRMOV P0,AACALL DLY1SINC R0CJNE R0,#10,LOOPJMP STARTDLY1S:MOV R5,#10HD1: MOV R6,#100HD2: MOV R7,#100HDJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETTABLE:DB 0C0H,0F9H,0A4H,0B0HDB 99H, 92H, 82H, 0F8HDB 80H, 90H, 88H, 83HDB 0C6H,0A1H,86H, 8EHENDProtetus 安装说明使用说明1.先安装Setup71.exe,提示选择Setup Type时默认选择即可;若提示No LICENCE 选择安装文件中"crack"-->MAXIM_LICENCE.lxk,打开安装。
2.安装完成后将crack-->文件夹BIN 和文件夹MODELS 下的文件复制到安装目录相应的文件夹内覆盖。
3.安装proteus.7.x-patch,选择patch,提示can not find the file. search the file,选择yes即可;然后选择bin文件中的ares.exe ;在选择models 中的avr.dll安装完毕退出即可。
注:***"Keil驱动"中的程序为Proteus与Keil联调的驱动。