微机原理课设之霓虹灯的显示

微机原理课设之霓虹灯的显示
微机原理课设之霓虹灯的显示

微机原理及接口技术

课程设计

题目霓虹灯的模拟显示学院自动化

专业电气工程及其自动化班级电气1206班

姓名刘佳

指导教师李道远

2014 年12 月20 日

课程设计任务书

学生姓名:刘佳专业班级:电气1206班

指导教师:李道远工作单位:自动化学院

题目: “霓虹灯”的模拟显示

初始条件:

在屏幕中央以@字符显示一矩型,按F键以*将矩型内部由上到下,从左到右填满;按R键以相反的次序消失。按Q退出程序。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

(1)设计任务及要求分析

(2)方案比较及认证说明

(3)系统原理阐述

(4)硬件设计课题需要说明:硬件原理,电路图,采用器件的功能说明

(5)软件设计课题需要说明:软件思想,流程图,源程序及程序注释

(6)调试记录及结果分析

(7)总结

(8)参考资料

(9)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图

目录

1.设计意义与要求 (4)

1.1设计意义 (4)

1.2设计要求 (4)

2方案论证 (5)

2.1方案比较 (5)

2.2方案选择 (5)

3系统原理阐述 (3)

3.1设计思路 (3)

3.2程序中的BIOS和DOS功能调用 (3)

3.2.1 BIOS功能调用 (3)

3.2.2 DOS功能调用 (3)

3.3程序模块 (4)

4.软件思想与流程图 (5)

4.1程序功能描述 (5)

4.2 流程图 (6)

5.调试记录及结果分析 (7)

5.1调试过程 (7)

5.2结果记录 (7)

5.3调试中出现的问题及解决方法 (10)

6.心得体会 (11)

7.参考文献 (12)

8.附录源程序 (13)

1.设计意义与要求

1.1设计意义

通过课程设计,能够让我们对所学的理论知识有更进一步的理解,而在调试排除故障时也有助于提高分析问题、解决问题的能力。通过此课程设计的汇编语言练习,可以熟悉汇编语言的寻址方式和指令系统,BIOS和DOS系统功能调用,程序设计方法并熟悉汇编的编程环境。

1.2设计要求

设计内容:采用汇编语言设计一个在屏幕中央以@字符显示一矩形,按F键以*将矩型从上之下、从左至右填满;按R键以相反的次序消失。按Q退出程序。

设计要求:

(1)设计任务及要求分析

(2)方案比较及认证说明

(3)系统原理阐述

(4)软件设计课题需要说明:软件思想,流程图,源程序及程序注释

(5)调试记录及结果分析

(6)总结

(7)参考资料

(8)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图

2方案论证

2.1方案比较

在设计过程中字符的显示有2中不同的方式。

方案一:运用DOS功能的2号调用,程序的设计如下

MA ROW,COLUME ;MA是个宏定义光标位置

MOV AH,02H

MOV DL,’#’

INT 21H

在本程序中,显示方式很简洁很直观很容易记忆理解。但是它无法设置字符的属性,同时

还会在下个坐标位置显示光标,影响光看者的视觉享受。

方案二:运用BIOS功能的9号调用,程序设计如下

CALL CURSOR ;调用光标设置子程序

MOV AL,23H

MOV BL,0BH

PUSH CX

MOV CX,1

MOV AH,09H

INT 10H

POP CX

这个程序设计起来占用寄存器较多,略微复杂点,但是它的功能更加完备,更能实现霓虹灯的颜色变化显示效果,给人一种美感。

2.2方案选择

从上面的分析比较可知方案二的可行性和实际达到的效果更好。所以选则方案二实现霓虹灯的功能。

3系统原理阐述

3.1设计思路

(1) 显示欢迎画面,然后执行程序显示一个矩形

(2) 在矩形内框左上角上显示一个字符*号,再执行循环,语句显示一行(列)*字符。利用像这样的原理实现矩形框的完成和内部的填充。至于反向消失部分,用空格代替想要显示的字符,反向执行循环,就可以实现字符的消失了。

(3) 霓虹灯显示完毕,提示输入Q退出界面。

3.2程序中的BIOS和DOS功能调用

3.2.1 BIOS功能调用

(1) 设置光标位置(2号功能)

入口参数:AH=2(功能号),BH=页号,DH=行号,DL=列号。

出口参数:无。根据DX确定了光标位置。

(2) 初始窗口或向上滚动(6号功能)

入口参数:AH=6,AL=上滚行数,CX=上滚窗口左上角的行、列号。DX=上滚窗口右下角的行、列号。BH=空白行的属性。

出口参数:无。当滚动后,底部为空白输入行

(3) 在当前光标位置写字符和属性(9号功能)

入口参数:AH=9,BH=页号,AL=字符的ASCII码,BL=字符属性,CX=写入字符数。

出口参数:无。

3.2.2 DOS功能调用

(1) 键盘输入一个字符并回显(1号功能)

输入参数无,返回结果AL=字符

(2) 显示字符串,光标跟谁字符串移动(9号功能)

DS:DX=待显字符串的首地址字符串以‘*’结尾。

(3) 显示一个字符,光标跟随字符移动(2号功能)

DL=待显字符的ASCII码,无返回结果。

3.3.程序模块

(1) 宏定义光标位置

MA MACRO OP1,OP2 ;宏定义光标位置

PUSH AX ;现场保护

PUSH BX

MOV AH,02H

MOV BH,0 ;页号

MOV DH,OP1 ;行号

MOV DL,OP2 ;列号

INT 10H

POP BX

POP AX

END

这个子程序的重点是设计光标所在页、行、列及其现场保护。使用了BIOS功能调用设置光标的位置。

(2) 清屏子程序

CLEAR PROC NEAR ;清屏

MOV AH,06H

MOV AL,0

MOV CH,0

MOV CL,0

MOV DH,24

MOV DL,79

MOV BH,07H

INT 10H

RET

CLEAR ENDP

初始化窗口,AL=0表示全屏滚动,CH=滚动窗口左上角行号,CL=滚动窗口左上角列号,DH=滚动窗口右下角行号,DL=滚动窗口右下角列号,BH=滚入行的属性。

(3) 光标的设置

CURSOR PROC NEAR ;光标的设置

MOV AH,02H

MOV BH,0

MOV DH,ROW ; 设置行

MOV DL,COLUME ;设置列

INT 10H

RET

CURSOR ENDP

光标位置的设置,这个子程序与宏定义光标位置类似只是运用有些不同。

(4) 延时子程序

DELAY1 PROC NEAR

PUSH CX

PUSH DX

MOV DX,100

D3: MOV CX,500

D4: LOOP D4

DEC DX

JNZ D3

POP DX

POP CX

RET

DELAY1 ENDP

这个子程序写法的关键是现场保护,内外两个循环的设计。延时程序的主要目的是可以让我们清楚的看到字符在屏幕上的显示过程。

4.软件思想与流程图

4.1程序功能描述

程序开始,进行清屏,显示矩形方框。若按F则以*将矩型内部从上往下、从左至右填满;若按R则按相反的次序消失,否则就继续等待输入。霓虹灯模拟显示程序执行完后,显示退出提示,等待Q的输入,如果输入为Q就退出程序,否则就继续等待输入。

4.2 流程图

5.调试记录及结果分析

5.1 调试过程

调试过程主要由编辑、汇编、链接和执行等几个步骤组成。

(1) 源程序的编辑:编辑好汇编语言源程序后,保存为.com文件。

(2) 源程序的编译:调用汇编程序对源程序进行翻译,生成.com的目标文件。在汇编过程中,源程序有错误生不成目标文件,经过多次修改最终生成目标文件。

(3) 调试可执行程序:刚开始可执行程序运行之后没有得到预想的结果,又重新检查源程序的算法错误,重新编辑、汇编、链接和执行,得到了预想的结果。

5.2结果记录

经过很多次调试,分析修改完善,终于得到正确调试结果。

(1)执行程序时,提示进入界面如下;

(2)输入F后,程序执行过程中,显示矩形框及填充如下:

(3)程序执行过程中,继续正向填充及矩形框如下

(4)程序执行过程中,按R反向消失填充及矩形框如下

(5)提示输Q退出界面如下:

图1:显示欢迎页面

图2:按F键正向填充

图3:继续正向填充

图4:按R键反向消失

图5:按Q提示退出

5.3调试中出现的问题及解决方法

问题1:寄存器不够用怎么办?

解决方法:这是由于程序结构复杂,使用了太多寄存器,可以定义外部变量来解决。

问题2:寄存器值变化多端怎么办?

解决方法:使用堆栈进行现场保护。使用时应注意PUSH,POP的成对使用,不要遗忘POP同时还要注意堆栈的先入后出的规律。

6.心得体会

通过这次的课程设计,让我对汇编有了更进一步的认识,加强了我用汇编语言编程的能力。

微机原理是一门很比较难学的课程。但随着学习的推进,以及上机编程,逐渐感到轻松。在这次课程设计中,让我更加熟悉了汇编语言的一些基本的指令;掌握了汇编语言的一些基本的中断调用功能,可以用汇编语言调用各种中断调用功能。同时也更深的理解了寄存器、存储器等工作原理以及一些指令执行后对它们的改变,例如INT指令会改变AL的值,在编程时应注意这方面的问题。

这次的汇编课程设计,我的题目是霓虹灯的模拟显示,我用的是老是上传的8086来仿真的。虽然在设计过程中遇到了不少问题,比如运行界面出现乱码、字符不是出现在预期位置等等问题,但在不断的修改和尝试中慢慢地解决这些问题。而在其中也向同学请教过很多问题。从而解决了自己一些不懂的问题。

总之,这次课程设计我锻炼了动手能力,熟悉了汇编的编程环境,并巩固了课程相关知识,收益很多。实践出真知,在课程设计中不忘在小处创新,希望在下一次课程设计中能有更大的突破!

7.参考文献

[1]汤书森.《微机原理接口技术实验于实践教程》.北京:清华大学出版社,2008

[2]余朝琨.《IBM-PC汇编语言程序设计》.北京:机械工业出版社. 2008

[3]宋江.《微机原理与接口技术》.北京:机械工业出版社. 2005

[4]金泉涌.《微型计算机应用经验汇编》.北京:清华大学出版社,2007

[5]沈美玲.《IBM-PC汇编语言程序设计》.北京:清华大学出版社,1993

[6]吴耿峰.《十六位微型计算机原理接口及应用》.北京:高等教育出版.2004

[7]戴梅萼.《微型计算机技术与应用》.北京:清华大学出版社. 1992

[8] 罗省贤.《汇编语言程序设计教程》.北京:电子工业出版社,2004

[9]吴向军.《汇编语言程序设计》.北京:高等教育出版社,2008

8.附录源程序清单

源程序如下:

MA MACRO OP1,OP2 ;宏定义光标位置PUSH AX ;

PUSH BX

MOV AH,02H

MOV BH,0 ;页号

MOV DH,OP1 ;行

MOV DL,OP2 ;列

INT 10H

POP BX

POP AX

ENDM

STACK SEGMENT PARA STACK 'Stack' ;定义堆栈段

STACK ENDS

DATASEG SEGMENT PARA 'Data' ;定义数据段ROW DB '?'

COLUME DB '?'

COUNT DB '?'

COUNT1 DB '?'

CT DB '?'

MENU

DB '@@@@@@@@@@@@@@@@@@@@@@@@',0dh,0ah

DB '@@ welcome you @@',0dh,0ah

DB '@@ @@',0dh,0ah

DB '@@ please press S to enter @@',0dh,0ah

DB '@@ and then press Q to exit ! @@',0dh,0ah

DB '@@@@@@@@@@@@@@@@@@@@@@@@$'

BUF DB 'press Q to exit ! $'

DATASEG ENDS

CODESEG SEGMENT PARA 'Code'

ASSUME SS:STACK,DS:DATASEG,CS:CODESEG

MAIN PROC FAR

MOV AX,DATASEG

MOV DS,AX

CALL CLEAR ;调用清屏子程序MA 8,0 ;欢迎界面的出现位置WAT0: LEA DX,MENU ;输入S进入霓虹灯显示MOV AH,9

INT 21H

MOV AH,1

INT 21H

CMP AL,'S'

CALL CLEAR ;如果输入的不是S就清屏

MA 8,0

JNZ WAT0

PUSH AX ;入栈

PUSH BX

PUSH CX

PUSH DX

MOV ROW,24 ;完成矩形框的左竖行

MOV COLUME,0

LOP3: CALL CURSOR ;调用设置光标位置

MOV AL,24H ;把@的ASCII 码传递给AL

MOV BL,0BH ;设置字符属性

PUSH CX ;入栈

MOV CX,1 ;字符显示1次

MOV AH,09H

INT 10H

POP CX ;出栈

CALL DELAY1 ;调用延时

DEC ROW ;行坐标减1

CMP ROW,0 ;若行坐标大于0就跳转到lop3否则执行下个程序

JNZ LOP3

MOV ROW,0

MOV COLUME,0 ;完成矩形框的上行

LOP1: CALL CURSOR

MOV AL,24H

MOV BL,0BH

PUSH CX

MOV CX,1

MOV AH,09H

INT 10H

POP CX

CALL DELAY1

INC COLUME

CMP COLUME,79

JNZ LOP1

MOV ROW,0

MOV COLUME,79 ;完成矩形框的右竖行LOP2: CALL CURSOR

MOV AL,24H ;完成@的输出

MOV BL,0BH

PUSH CX

MOV CX,1

MOV AH,09H

INT 10H

POP CX

CALL DELAY1

INC ROW

CMP ROW,24

JNZ LOP2

MOV ROW,24

MOV COLUME,79 ;完成矩形框的下横行LOP4: CALL CURSOR

MOV AL,24H

MOV BL,0BH

PUSH CX

MOV CX,1

MOV AH,09H

INT 10H

POP CX

CALL DELAY1

DEC COLUME

CMP COLUME,0

JNZ LOP4 ;到此矩形框已完

MOV COLUME,0

LOP6: MOV AH,1

INT 21H

CMP AL,'F' ;如果输入F则正向填充

JN LOOP6 ;如果输入的不是F就等待

MA 8,0

MOV ROW,1

INC COLUME

LOP5: CALL CURSOR

MOV AL,23H

MOV BL,0BH

PUSH CX

MOV CX,1

MOV AH,09H

INT 10H

POP CX

CALL DELAY1

INC ROW

CMP ROW,24

JNZ LOP5

CMP COLUME,78

JNZ LOP6

MOV COLUME,79 ;反向消失

LOP7: MOV AH,1

INT 21H

CMP AL,'F' ;如果输入R则反向消失

JN LOOP6 ;如果输入的不是R就等待

MA 8,0

MOV ROW,23

DEC COLUME

LOP8: CALL CURSOR

MOV AL,' '

MOV BL,0BH

PUSH CX

MOV CX,1

MOV AH,09H

INT 10H

POP CX

CALL DELAY1

DEC ROW

CMP ROW,0

JNZ LOP8

CMP COLUME,1

JNZ LOP7

MOV CL,1 ;消失矩形框左竖行

LOP10: MA CL,0

MOV AL,' '

MOV BL,0BH

PUSH CX

MOV CX,1

MOV AH,09H

INT 10H

POP CX

CALL DELAY1

INC CL

CMP CL,24

JNZ LOP10

MOV CL,0 ;消失矩形框下行LOP9: MA 24,CL

MOV AL,' '

MOV BL,0BH

PUSH CX

MOV CX,1

MOV AH,09H

INT 10H

POP CX

CALL DELAY1

INC CL

CMP CL,79

JNZ LOP9

MOV CL,24 ;消失矩形框右竖行LOP11: MA CL,79

MOV AL,' '

MOV BL,0BH

PUSH CX

MOV CX,1

MOV AH,09H

INT 10H

POP CX

CALL DELAY1

DEC CL

CMP CL,0

JNZ LOP11

MOV CL,79 ;消失矩形框上行LOP12: MA 0,CL

MOV AL,' '

MOV BL,0BH

PUSH CX

微机原理课程设计报告

微型计算机技术课程设计 指导教师: 班级: 姓名: 学号: 班内序号: 课设日期: _________________________

目录 一、课程设计题目................. 错误!未定义书签。 二、设计目的..................... 错误!未定义书签。 三、设计内容..................... 错误!未定义书签。 四、设计所需器材与工具 (3) 五、设计思路..................... 错误!未定义书签。 六、设计步骤(含流程图和代码) ..... 错误!未定义书签。 七、课程设计小结 (36)

一、课程设计题目:点阵显示系统电路及程序设计 利用《汇编语言与微型计算机技术》课程中所学的可编程接口芯片8253、8255A、8259设计一个基于微机控制的点阵显示系统。 二、设计目的 1.通过本设计,使学生综合运用《汇编语言与微型计算机技术》、《数字电子技术》等课程的内容,为今后从事计算机检测与控制工作奠定一定的基础。 2.掌握接口芯片8253、8255A、8259等可编程器件、译码器74LS138、8路同相三态双向总线收发器74LS245、点阵显示器件的使用。 3.学会用汇编语言编写一个较完整的实用程序。 4.掌握微型计算机技术应用开发的全过程,包括需求分析、原理图设计、元器件选用、布线、编程、调试、撰写报告等步骤。 三、设计内容 1.点阵显示系统启动后的初始状态 在计算机显示器上出现菜单: dot matrix display system 1.←left shift display 2.↑up shift display 3.s stop 4.Esc Exit 2.点阵显示系统运行状态 按计算机光标←键,点阵逐列向左移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标↑键,点阵逐行向上移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标s键,点阵停止移动并显示当前字符。 3.结束程序运行状态 按计算机Esc键,结束点阵显示系统运行状态并显示“停”。 四.设计所需器材与工具 1.一块实验面包板(内含时钟信号1MHz或2MHz)。 2.可编程芯片8253、8255、74LS245、74LS138各一片,16×16点阵显示器件一片。

河南理工大学微机原理与单片机实验报告、课程设计 流水灯

实验一流水灯实验一、实验目的 ⑴简单I/O引脚的输出 ⑵掌握软件延时编程方法 ⑶简单按键输入捕获判断 二、实验实现的功能 ⑴开机是点亮12发光二极管,闪烁三下 ⑵按照顺时针循环依次点亮发光二极管 ⑶通过任意按键将发光二极管的显示改为顺逆时针方式 三、系统硬件设计 四、系统软件设计 #include sbit L1=P0^5; sbit L2=P0^6; sbit L3=P0^7; void Delay(void) {

unsigned char i,j,k; for(i=10;i>0;i--) for(j=132;j>0;j--) for(k=150;k>0;k--); } Scan_Key() { unsigned char FLAG=0; unsigned char n; n=(L1==0)||(L2==0)||(L3==0); if(n) { FLAG=1;} return FLAG; } main() { unsigned char y,n,s=0,b=1,m=0; unsigned char c=1; unsigned char a[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char h[]={0xff,0x38,0x34,0x2f,0x1f}; n=Scan_Key(); for(y=0;y<3;y++) //闪烁三次 { P2=0; P3=0; Delay(); Delay(); Delay(); P2=0xff; P3=0xff; Delay(); Delay(); Delay(); } while(1) { while(1) {

霓虹灯灯控制系统的课程设计

前言 根据在常熟理工这半年对于自动化专业的学习,尤其是电工学、自动控制原理以及电力电子技术等专业课程的学习,让我对于PLC课程设计打下了基础。对于我们自动化专业来讲,这个专业对于现实生活是非常有用的。而我们在这半年进行的大都是理论知识,虽有实验课程,但那也是基于对于理论知识的进一步分析,故而我们也非常需要一种把我们理论应用到实际的实习锻炼。我们的老师,根据我们自动化专业的特点,以及学生日常学习的反应给与了我们四个课题去进行实习:进行PLC编程的语言设计。 PLC可以说是我们来到常熟理工学院时学习最苛刻也是以后工作时实用的一门课程。和学别的科学一样,在学完PLC理论课程后我们做了课程设计,此次设计一分组的方式进行,老师进行抽挑课题,可以说每人的程序都不一样。我抽到的就是霓虹灯灯控制系统的设计。虽然说平时理论的学习成绩还可以,但是真要自己去设计这个程序,还真是束手无策。还好有我小组的其他成员,他们帮组我解决了不少难题,合作是成功的基础。 通过这次的课程设计,我学会了PLC的基本编程方法,以及对PLC的工作原理和操作步骤有了深刻的理解。在对理论的运用中,提高了我们的工程素质,在没有做课程设计以前,我对其的掌握都停留在思想上,许多次出现了问题总是卡在那里,却很难知道问题出在哪里,实践检验成果,理论只是基础。 本设计中详细讲解了霓虹灯等控制系统中三个不同的表现方式,如依次点亮,全亮全灭等等,我组的其他成员还有更多显示方式,在此不一一介绍。 本设计程序得到了常熟理工学院老师的大力辅导,在此深表谢意。 由于编者水平有限,错误与不妥之处,敬请原谅

目录 目录 (2) 一.课程设计任务书 (3) 1.1课程设计任务.....................................................................................错误!未定义书签。 1.2课程设计目的.....................................................................................错误!未定义书签。 1.3课程设计要求.....................................................................................错误!未定义书签。 1.4课程设计内容.....................................................................................错误!未定义书签。二.PLC的简介.. (5) 2.1PLC基本概念 (5) 2.2PLC的基本结构 (5) 2.3PLC的工作原理 (6) 三.组态王简介 (7) 3.1组态王基本特性 (7) 3.2组态王与西门子S7-200的几种通信方式 (8) 四.总体设计方案 (10) 4.1控制要求 (10) 4.2设计思路 (10) 4.3PLC外部接线图 (11) 4.4I/O分配表 (11) 4.5PLC梯形图 (13) 4.6组态王监控画面显示 (16) 五.个人小结 (17) 参考文献 (18)

微机原理课程设计

、 微机原理课程设计 —数据采集系统(查询法) # (

一、课设目的 进一步掌握微机原理只是,了解危机在实时采集过程中的应用,学习、掌握编程和程序调试方法。 , 二、课设内容 用查询法,将ADC 0809通道0外接0~5V电压,转换成数字量后,在七段LED数码管上,以小数点后两位(几十毫伏)的精度,显示其模拟电压的十进值;0809~道0的数字量以线性控制方式送DAC0832输出,当通道O的电压为5V时,0832的OUT为0v,当通道O的电压为0时,0832的OUT为2.5V;此模拟电压再送到ADC0809通道1,转换后的数字量在CRT上以十六进制显示;通道0的数字量经74LS574输出到八位LED上,且以一定的要求,点亮LED指示灯。调整电位器,用示波器或三用表观察0832的变化,观察七段LED数码管数值的变化,观察LED灯的变化, ADC 0809的CLK脉冲,由定时器8254的OUT0提供;ADC 0809的EOC信号,用8255的PC0检测;74LS574外接的LED灯变化如下:若电压值小于0.5V,则最低位(DO)’LED灯亮,若电压值大于4.5V,则最高位LED灯亮,若电压值在0.5V~4.5V,则八位LED灯由低向高变化亮,且高位LED灯亮时低位灯全亮。 要有较好的人机对话界面;控制程序的运行。 三、硬件设计 1、电原理框图 见附件1 2、电原理框图工作过程的简要说明 【 (1)、ADC 0809的INO采集电位器0—5V电压,INl采集0832输出的模拟量。(2)、DAC 0832将ADC 0809的INO数字量后重新转换成模拟量输出。 (3)、8255用于检测ADC 0809转换是否,为七段LED数码管显示提供显示驱动信息。 (4)、七段LED数码管显示ADC 0809的INO的值。 (5)、74LS574驱动八位发光二极管,使它们按要求点亮:来指示当前采样值的范围。 (6)、8254提供ADC 0809的采样时钟脉冲。 (7)、74LSl38译码器为各芯片提供地址信息。 四、软件设计 【 首先进行程序初始化显示提示信息,判断是否有键按下,按下1则继续往下执行,按下2则退出。首先对8254进行初始化选择工作方式及赋初值,然后启动0809的IN0,接着初始化8255,并检测PA7的状态检测转换是否,否继续检测

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

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

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

摘要 近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。本课程设计介绍一种LED小灯控制系统的设计方法,以单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。能够通过按键控制8个LED小灯从左到右依次点亮。 关键字:单片机、LED流水灯 1、单片机概述 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微 型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处 理器、存储器和I/O 接口电路等。因此,单片机只需要和适当的软件及外部设备相结合, 便可成为一个单片机控制系统。 单片机经过1、2、3、3 代的发展,目前单片机正朝着高性能和多品种方向发展,它 们的CPU 功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。 2、仿真软件介绍 (1).Keil uv3 运行Keil uv3

霓虹灯控制系统的简易设计

摘要:本文主要设计一个基于单片机的霓虹灯控制系统。以at89c51单片机为控制核心电路,应用片内定时器实现对霓虹灯的控制。该系统由单片机的控制部分和显示部分组成,运用中断定时器控制发光二极管(或led),使其产生有规律的闪烁和移动。 关键词:单片机发光二极管红外线遥控 中图分类号:tp27 文献标识码:a 文章编号:1003-9082(2016)02-0309-01 前言 随着时代的进步,人们对物质生活的迫切追求,使周边环境发生翻天覆地的变化。从钻木取火走到今天灯火阑珊,各种繁华夜景层出不穷,让人叹为观止。这些辉煌景象都离不开电子技术。事实证明电子技术对社会的发展产生了深远的影响。随着电子技术和计算机技术的发展,特别是单片机的发展,使传统的测量仪器在原理、功能、精度及自动化水平等方面发生了巨大的变化,形成了一种完全突破传统概念的新一代测试仪器――智能仪器。智能仪器是以微处理器为核心的电子仪器,它不仅要求设计者熟悉电子仪器的工作原理,而且还要求其掌握微型计算机硬件和软件的原理。目前,有很多的传统电子仪器已有相应的替代产品,而且还出现不少全新的仪器类型和测试系统体系。在科学技术高速发展的今天,如何用简单便宜、性能良好的元器件制造出对人类生活有用的产品,已经成为人们研究的主要趋势。在自动化技术中,无论是过程控制技术还是数据采集技术还是测控技术,都离不开单片机,在工业自动化的领域中,机电一体化技术发挥越来越重要的作用。 一、总体方案设计 在本次设计中,硬件部分由单片机系统、led发光二极管组成。原理图如图1所示。单片机选用的是at89c51单片机,利用其中的一个定时器设定灯光闪烁的时间,时钟电路选用的是11.0592m的晶振。复位电路部分采用的是上电复位和手动复位两种复位方式。由于考虑到单片机i/o端口的带载能力,led发光二极管采用共阳极的接法,用470ω的电阻分压。软件部分,由于采用的是11.0592m晶振的时钟电路,单片机定时器的最大定时时间为65.536ms,不能达到要求的闪烁频率。所以采用定时50ms,10个定时中断灯光进行一次亮灭的跳变。并在每一次跳变时记录下灯闪烁的次数,通过对闪烁次数的判断,来进行对不同led灯的亮灭的整体时序循环控制。 图1 单片机的霓虹灯控制电路原理图 二、硬件电路的设计 1.单片机系统 标准型89系列单片机是与mcs-51系列单片机兼容的。在内部含有4kb或8kb可重复编程的flash存储器,可进行1000次擦写操作。全静态工作为0~33mhz,有3级程序存储器加密锁定,内含有128~256字节的ram、32条可编程的i/o端口、2~3个16位定时器/计数器,6~8级中断,此外有通用串行接口、低电压空闲模式及掉电模式。at89c51相当于将8051中的4kb rom换成相应数量的flash存储器,其余结构、供电电压、引脚数量及封装均相同,使用时可直接替换。 2. led概述 led(light?emitting?diode),发光二极管,是一种固态的半导体器件,它可以直接把电转化为光。半导体晶片由三部分组成,一部分是p型半导体,在它里面空穴占主导地位,另一端是n型半导体,在这边主要是电子,中间通常是1至5个周期的量子阱。当电流通过导线作用于这个晶片的时候,电子和空穴就会被推向量子阱,在量子阱内电子跟空穴复合,然后就会以光子的形式发出能量,这就是led发光的原理。而光的波长也就是光的颜色,是由形成p-n结的材料决定的。它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。由于具有容易控制、

微机原理课设_加法练习程序

课程设计 课程设计名称:微机应用系统课程设计 专业班级:计科1204班 学生姓名:张婷婷 学号: 201216010433 指导教师:王锋 课程设计时间: 2014.12.22-2015.1.3

计算机科学与技术专业课程设计任务书

一.课程设计实验的目的 课程设计的目的在于更好的锻炼我们的实践能力和考验平时学习的成果。我们是计算机专业,离不开编写代码。平时上课所学的知识来自于课本,上机实验相对比较少,所能锻炼的操作能力机会不多。而课程设计是让我们综合平时课本和实验的知识及经验,自己设计和构造,编写一个相对完整的程序。这不仅仅是对以前知识的巩固,更是锻炼我们的思维,我们的设计与编写程序的能力。对于我们以后将会从事的计算机类工作,这能很好的为我们打下坚实的基础,所谓积少成多,每学期都做课程设计,到毕业时我们对于编写一个应用软件或许就能较容易驾驭了。 本次微机应用系统课程设计我的题目是加法练习程序设计,虽然只要求加法运算,但我在该程序里添加了减法运算,使得程序相对不会太单调。虽然给的编程题目可能会与别人一样,但每个人的想法不一样,在设计时添加自己的想法或许就能使程序更加完善了,这也是课程设计对我们的一种锻炼。 二.实验设计的任务与要求 加法练习设计程序的内容是:随机给出百位数以内的加法算式,并提示输入答案,若正确给出正确提示,若错误给出错误提示,并提示输入答案;按 R 键继续下一题,按 Q 键返回 DOS。按照内容要求,在所学知识内容的基础上设计程序,具体的内容设计要求任务如下: 1.设计一个菜单,选项为加法和减法的练习。

2.以获取系统中的秒和百分秒作为两个随机数进行加减运算。 3.将输入的答案和运行结果比较,若相等给出正确提示,若错误给出错误提示,并继续输入答案直到正确为止。 4.提示是否继续下一题,按R键继续下一题,按Q键返回 DOS。 这次课程设计是在完成设计要求的基础上,添加了减法练习运算,以仔细、认真、规范的态度完成自己课程设计。 三.实验设计的思想 加法练习程序设计,主要工作是产生两个两位数的随机数进行加运算,而怎么产生随机数是该程序的难点。在搜集了一些资料后发现很多程序用的随机数是伪随机,是一个比较复杂算法,而不使用算法获得随机数的方法就是获取系统的时间。在翻阅课本后得知mov ah,2ch int 21h语句可以得到系统时间,在考虑后认为秒和百分秒比较适合,因为在短时间内这两个时间变化的多一些,比较适合用于随机数。Dh所存的数对应的是秒,Dl所存的数对应的是百分秒。加法直接将两个随机数相加即可,但减法就相对麻烦些,因为会出现第一个随机数比第二个随机数小得到结果为负数。为了解决这一问题,在数据段定义了两个变量,用来存放减数和被减数。在获取随机数时先不显示运算式,先将随机数的值给变量num1和变量mum2,如果相减结果小于0则转回去继续取随机数,直到取得随机数相减记过大于0,则显示运算式继续后面的程序运行。 相对较难的部分解决后则是将整个程序流程串起来,先是显示选择加或减运算,产生的随机数并显示相应的运算式;再是输入结果,对结果进行判断给出对或错的提示,错误时提示继续输入结果,对则继续下一步;最后选择是否继续下一题,R返回最初加减运算选择,Q则退出。

微机原理课程设计流水灯控制系统.doc

微机原理课程设计 流水灯控制系统 姓名 :XX 学院:物理电气信息学院 班级: 2010 电子 姓名 :12010245

流水灯控制系统 一、设计内容: 本课程设计选用8086 对 8255A的 A口控制来实现模拟流水灯功能的 实现。编写相关程序,通过proteus仿真软件来实现我名字“安亮” 两个字的闪烁,“安”字接 8255 的 A 口的 P0,“亮”字接 A 口的 P1。先让“安”字和“亮”字同时点亮,再让两个字同时暗,接着让“安”字点亮,再让“亮”字点亮,然后让“安”字和“亮”字同时亮暗闪 烁八次,再跳到开始,以此循环。 二、设计目的: 1、了解流水灯的基本工作原理 2、熟悉 8255A 并行接口的各种工作方式和应用 3、利用 8255A 接口,LED 发光二极管,设计一个流水灯模拟系统,让我的名字“安亮”两个字按一定规律点亮。 三、实验原理 在 8086 系统中,采用 16 位数据总线,进行数据传输时,CPU

总是将低 8 位数据线上的数据送往偶地址端口,而过高8位数据线上 的数据送往奇地址端口反过来,从偶地址端口取得的数据总是通过低 8 位数据线传送到CPU,从奇地址端口取得的数据总是通过高8 位数据线送到 CPU。在 8086 系统中,将 8255A的 A1端和地址总线的 A29255A 在对 CPU并且,相连, A1 端和地址总线的 A0 的 8255A 而将相连, 的端口进行访问时,将地址总线的 A0 位总是设置为 0。本课程设计通 过对 8255A 的 A 口控制来实现模拟流水灯功能的实现。“安”接 A 口 的 P0,“亮”接 A口的 P1,实现两个字按一定规律的一个闪烁。 8255 的内部结构 255A 内部结构由以下四部分组成:数据端口A、B、C;A组控制和 B 组控制;读 / 写控制逻辑电路;数据总线缓冲器。 端口 A:包括一个 8 位的数据输出锁存 / 缓冲器和一个 8 位的数据 输入锁存器,可作为数据输入或输出端口,并工作于三种方式中的任何一种。

霓虹灯的PLC控制系统设计概要(doc 16页)

霓虹灯的PLC控制系统设计概要(doc 16页)

前言 随着改革的不断深入,社会主义市场经济的不断繁荣和发展,个大中小城市都在进行亮化工程。个企业为宣传自己企业的形象和产品,均采用广告手法之一:霓虹灯广告屏来实现这一目的.当我们夜晚走在大街上,马路两旁各色各样的霓虹灯广告均可以见到,一种是采用霓虹灯管做成的各种形状和多中彩色的灯管,另一种为日光等管或白炽灯管作为光源,另配大型广告语或宣传画来达到宣传的效果。这些灯的亮灭,闪烁时间及流动方向等均可以通过PLC来达到控制的要求. 可编程控制器PLC可编程序控制器:英文全称Programmable Logic Controller ,中文全称为可编程逻辑控制器,是一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程. 可编程控制器是工业环境下应用及满足用户需要而设计,它具有以下的特点:(1)可靠性高。平均无故障工作时间场合故障平均修复时间短。可在恶劣的环境下工作。简单、操作方便而使失误少。 (2)柔性好。柔性好是指在使用过程中的适应性和灵活性。只需通过程序的编制和更改即可适应生产的要求。 (3)功能强大。可编程控制器不但具有开关量控制、模拟量控制、数据通信、中断控制等完善的功能。 (4)使用方便。编程方便,极易被技术人员接受和掌握,操作方便。 (5)体积小,功耗低。可编程控制器以其丰富的功能和显著的特点得到了广泛的运用。 关键词: PLC 霓虹灯控制系统

微机原理课程设计实验报告DOC

河北科技大学 课程设计报告 学生姓名:学号: 专业班级: 课程名称: 学年学期: 指导教师: 年月

课程设计成绩评定表 学生姓名学号成绩 专业班级起止时间2011.12.24—2012.11.28 设计题目字符串动画显示 指 导 教 师 评 语 指导教师: 年月日

目录 一、课程设计的目的 (1) 二、设计题目 (1) 三、设计内容要求 (2) 四、设计成员及分工 (2) 五、课程设计的主要步骤 (2) 六、课程设计原理及方案 (3) 七、实现方法 (3) 八、实施结果 (8) 九、总结 (8) 十、体会感受 (8)

一、课程设计的目的 课程设计是以自己动手动脑,亲手设计与调试的。它将基本技能训练、基本工艺知识和创新启蒙有机结合,培养我们的实践和创新能力。课程设计的意义,不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力。作为信息时代的大学生,基本的动手能力是一切工作和创造的基础和必要条件。 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力的重要教学环节,它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。 《微机原理及应用》是一门应用性、综合性、实践性较强的课程,没有实际的有针对性的设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。所以通过有针对性的课程设计,使学生学会系统地综合运用所学的理论知识,提高学生在微机应用方面的开发与设计本领,系统的掌握微机硬软件设计方法。 通过课程设计实践,不仅要培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能以图纸和说明书等表达设计思想和结果的能力。培养学生事实求是和严肃认真的工作态度。 通过设计过程,要求学生熟悉和掌握微机系统的软件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的系统方案论证设计、编程、软件调试、查阅资料、编写说明书等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练的熟练掌握微机系统的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的软件调试方法和步骤,熟悉微机系统的软件开发工具的使用方法。 二、设计题目

微机原理与接口技术课程设计报告音乐流水灯

微机原理与接口技术课程设计论文题目:音乐流水灯 姓名:鞠强 学号:201330020228 班级:1330202 专业:自动化 2015年6月

一、实验任务及要求 任务: 1、掌握综合使用基本输入输出设备、通用接口芯片、专用接 口芯片的方法; 2、掌握实时处理程序的编制和调试方法。 要求:用8255、8253、8259配合8086使蜂鸣器发出唱歌声同时还能够使用数码管进行边跳舞边唱歌实验。 二、硬件连线 键盘的控制、LED显示模块:采用74系列模块控制 键盘的行信号Q_0、Q_1、Q_2、Q_3分别与开放的输入信号Q0、Q1、Q2、Q3相连,键盘的列信号P_0、P_1、P_2和开放的输出信号P0、P1、P2相连。74芯片的片选信号CS1接地址译码信号340H, CS2接地址译码信号360H。 蜂鸣器发声控制:由8255模块控制; PC0直接与蜂鸣器相连,CS_4连接到实验仪中部的地址输出端CS_4 中断处理模块:由8259控制 8259的片选CS-1连地址输出300H,INT1连总线输入INTR,8259模块的INT-A连总线的INTA,8259的SP/1连+5V, 8259的IRQ0连接到8253的OUT0。

三、程序流程图 主程序 初始化各阶段寄存器及相关变量 初始化8253、8255芯片 设置中断向量、开放8253中断屏蔽 开放处理器中断

中断服务程序 保护现场 判断时间是否不小于59分55秒 报时 扫描键盘 G 键? 调用启停子程序S COUNT COUNT=40? ADDONE 子程序 COUNT 清0 显示时间,调用显示时间子程序 结束中断(发EOI 命令) 恢复现场 中断返回 Y Y N Y

霓虹灯模拟显示课程设计

霓虹灯模拟显示课程设计

1.设计任务及要求分析 本次课程设计要求用汇编语言设计“霓虹灯”模拟显示,需要实现的功能如下:1、按下b/B键,分六笔快速画出矩形及其两条对角线;2、按下y/Y 键,流水灯从左到右依次点亮,然后一次熄灭;3、按下q/Q键,退出程序。分析本设计不需要硬件设备,在微机原理实验集成环境MF2KP中编写程序,调用DOS命令和BIOS命令,并用合适的字符代替霓虹灯来实现。 1方案论证 2.1方案一 我们可以采用编写延时子程序的方法来实现延时,这种方法的主要原理是运用计算机相应每一条的时间积累。程序如下: push bx push cx mov cx ,xx ;输入正数 A1: mov bx,xx ;输入正数 A2: dec bx Jnz A1 Loop A2 pop cx pop bx 此方案的原理是运用循环指令来进行,主要通过设置cx和bx的值来进行复循环,从而达到时间的积累即延时。 2.2方案二 方案二:运用DOS功能调用。采用21H来中断调用,功能号为AH=2CH,完成的功能是设置时间,DH的值变换一次是0.01秒,这样通过设置DH的值来设

置时间的延时。 2.3方案比较 两种方案在理论上都是可行的,但是课程设计任务在时间要求上不是很严格 只要区分快慢的大概效果既可,故选择方案一。 3设计原理 3.1设计思想 本次课程设计主要中显示图案是通过显示单个字符逐步实现的,通过移动光标可以改变字符输出的位置,位置的改变又是通过宏定义定义了一个程序段用于改变光标,设计了两个变量分别为光标在屏幕上的行和列坐标,把已经设计好了的图案的行列坐标分别定义在数据段的行列数据组里,用指针自加的方式进行连续调用显示。在显示中插入延时程序控制显示的效果。本次课程设计设计了二个延时程序分别满足二种不同的延时需要。延时程序是通过LOOP循环来实现的,可以改变CX的值来改变延时的长短。本次课设还涉及到清屏功能,故设计了一个清屏子程序,通过BIOS功能的调用实现清屏,和屏幕属性的设置。 整个程序分为三部分:第一段是继续与否的选择,检查输入是否为设计的字符b/B,是则进入下一程序断,否则继续检测;第二段是快速显示设计图案,通过光标移动逐步显示完预设图案,并询问是否进入下一程序段,检查输入是否为字符y\Y,是则进入下一程序段,否则跳回第二段程序重复执行一遍;第三段程序以较慢速度依次出现“*”,以实现模拟流水灯的效果,然后一次消失,在这个过程中检查是否有“q/Q”输入,有则跳转到中止程序段退出程序,否则继续。

微机原理课程设计报告-数字时钟的实现(附代码)

合肥工业大学 计算机与信息学院 课程设计 课程:微机原理与接口技术设计专业班级:计算机科学与技术x班学号: 姓名:

一、设计题目及要求: 【课题6】数字时钟 1.通过8253 定时器作产生秒脉冲定时中断。在中断服务程序中实现秒、分、小时的进位(24小时制)。 2.在七段数码管上显示当前的时分秒(例如,12 点10 分40 秒显示为121040)。 3.按“C”可设置时钟的时间当前值(对准时间)。 二、设计思想: 总体思想: 1、功能概述: 实验箱连线: 本实验建立在Dais实验箱基础上完成的基本连线及程序如下: 138译码器: A,B,C,D,分别连接A2,A3,A4,GS; y0连接8253的CS片选信号; y1连接8259的CS片选信号; 8253连线: 分频信号T2接8253的CLK0; 8253的OUT0接8259的IR7; 8253的gate信号接+5V; 8259连线: 8259的数据线接入数据总线;

本程序包括显示模块,键盘扫描模块,时间计数模块,设置模块等几个模块, (1)程序运行后,LED显示000000初始值,并且开始计数 (2)按C键进行设置初始时间,考虑到第一个数只能是0,1,2,当第一个数显示2时第二个数只能显示0~4,同理下面各位应满足时钟数值的合理的取值; (3)在手动输入初始值时,按D键进行回退1位修改已设置值,连续按D键可以全部进行删除修改。 2、主程序设计 主程序中完成通过调用子程序完成对8253及8259的初始化,对8259进行中断设置。主要在显示子程序和键盘子处理程序之间不断循环,8253每一秒给8259一个刺激,当8259接受到刺激后会给CPU一个中断请求,CPU会转去执行中断子程序,而中断子程序设置成时间计数加,即完成电子表的整体设计。详细流程图见图三-1。 3、LED显示子程序设计 本程序显示部分用了6个共阳极LED作为显示管,显示程序要做到每送一次段码就送一次位码,每送一次位码后,将位码中的0右移1位作为下次的位码,从而可以实现从左到右使6个LED依次显示出相应的数字。虽然CPU每隔一定时间便执行显示程序,但只要这个时间段不太长,由于人眼的视觉作用,就可以在6个LED上同时见到数字显示。 4、键盘扫描子程序设计 本程序需要用键盘对时间的初始值进行设置,因此对键盘扫描的子程序需要满足的功能如下: 判断是否是C键,若不是就返回至主程序,若是C键就开始对时间初始值进行设置,同时因注意到第一个值不可以超过2,第一个数是2时第二数不能超过4,余下的同理要满足时间数值的取值范围呢,若不是合法输入不予反应继续等待输入。当遇到输入数值错误时可以按下D键进行删除一位重新设置;当6位初始值全部设置成功后,电子表将自动开始走表。 5、时间运算子程序设计 该子程序的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟

PLC霓虹灯闪烁控制系统设计

PLC霓虹灯闪烁控制系统设计 课程设计任务书 课程名称:xxxxxxxxxxxxxxx 学院: xxxxxxxxxxxx 专业:xxxxxxxxxxxxxxxxxx 班级: xxxxxxxxxx 学号:xxxxxxxxxx 学生姓名:xxxxxxxx 指导教师:xxxxxxxx 职称:教授 2013年7月12日 目录 第一章、概述 (1) 第二章、霓虹灯闪烁控制系统设计 (2) 2。1设计目的 (2) 2。2控制要求 (2) 第三章、 PLC型号选择 (3) 第四章、PLC接口电路 (4) 第五章、 PLC梯形图与指令表 (5) 5。1梯形图 (5) 5.2指令表 (11)

第六章、组态设计 (15) 6。1、新建项目……………………………………15 6。2、数据词典 (15) 6.3、画面制作……………………………………17 6.4、整体布局……………………………………20 第七章、调试心得 (21) 第八章、参考文献………………………………………………21 任务书 一、设计课题 霓虹灯闪烁控制系统设计 二、设计目的 1.进一步巩固理论知识,培养所学理论知识在实际中的应用能力。 2.掌握一般电气设备电气控制系统的设计方法。 3.掌握一般电气设备电气控制系统的施工设计、安装与调试方法。 4.培养查阅图书资料、工具书的能力。 5.培养工程绘图、书写技术报告的能力。 三、控制要求 用HL1~HL6六个霓虹灯,分别做成“曹妃甸欢迎您”6个字。闪烁要求见下表,时间间隔为1s,反复循环进行。

四、设计任务 1.简述本设计的意义.根据控制要求,制定合理的设计方案。 2.硬件选型并进行硬件电路(接口电路)设计。 3。控制程序的设计(并加以注释). 4.监控系统设计. 选择工业领域流行的组态软件,然后经过制作监控界面、画面属性设置及与PLC进行通信等步骤完成监控系统的设计(必须要有设计过程)。 5.模拟调试 6.编写设备的电气工作原理说明及其使用说明。 五、设计时间安排(共1周) 五、设计参考书 1.教材《可编程控制器应用技术》. 2.《流行PLC实用程序及设计(西门子S7—200系列)》.(可到院图书馆借阅) 3.其它参考书:(可到院图书馆借阅) 一、课题说明

霓虹灯显示程序设计

引言 我们知道汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言,汇编语言对于硬件的控制具有独特的优势。一方面,汇编语言指令是用一些具有相应含义的助忆符来表达的,所以,它要比机器语言容易掌握和运用,但另一方面,它要直接使用CPU的资源,相对高级程序设计语言来说,它又显得难掌握。 霓虹灯是日常生活中常见的灯饰,它装点了夜空,丰富了人们的生活,让夜间的城市更加美丽。通过汇编语言的学习,我们通过汇编语言,可实现霓虹灯的控制与操作,实现其显示与闪烁,或者是其他的动态变化,从而可以很方便的达到理想效果。INT 10H 是由BIOS 对屏幕及显示器所提供的服务程序,汇编语言的INT 10号中断提供了设置显示模式、设置颜色模式、设置光标位置、按指定属性显示字符等功能,可以显示汉字或图像,同时也提供了初始化屏幕或滚屏等功能号,通过擦除子程序以及清屏子程序的配合运用,可以达到让汉字或图像闪烁或运动的功能。而文字的显示我们又可以通过取模软件轻松获得,这使得整个编译过程轻松了很多,同时可以让文字或图标的显示更加规范和多样化,达到霓虹灯多样变化的目的。 本次课程设计,研究的正是霓虹灯显示程序设计,我们可通过对INT 10号中断的功能调用实现,设计出我们想要的霓虹灯显示效果。在整个设计过程,我们可以加强对课本知识的巩固,并借此拓展自己的知识面。 关键词:汇编语言霓虹灯中断字符运行调试 1设计要求及分析 1.1设计要求 1)用汇编语言编写一个霓虹灯的模拟显示程序; 2)在屏幕上显示你的中文名字或其它文字,按某种规律闪烁变化,按“q”键退出; 3)撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。

微机原理课程设计

微机原理与应用课程设计

目录 一、设计任务 1、计时秒表,具有分、秒和百分之一秒的计时功能。 2、可以在屏幕中央显示计时结果,屏幕显示彩色图案和文字。 3、秒表具有键控启/停功能,而且可以随时通过键盘复位,清零。 二、设计原理 1、HALT(启动子程序) 2、DIS(宏定义——苹果显示程序) 3、DISS(宏定义——字符串的输出) 4、CLOUR(字体颜色设置程序) 5、IOSET(设置光标位置子程序) 6、GO(初始化显示子程序) 7、TIME(延时子程序) 8、TRAN(压缩BCD码转ASCII码程序) 9、复位、停止等功能的实现 三、流程图 a)主程序流程图 b)压缩BCD转ASCII码子程序流程图 c)延时子程序流程图 四、程序段 五、程序调试 六、程序运行结果 七、心得体会

八、参考文献 一、设计任务: 1.计时秒表,具有分、秒和百分之一秒的计时功能,并可以在屏幕中央显示计时结果。 2.屏幕显示彩色图案和文字。 3.秒表具有键控启/停功能,而且可以随时通过键盘复位,清零。 二、设计原理: 本程序的主要设计原理是用主程序完成百分之一秒与秒之间的转换,显示计时结果,实现暂停,暂停再启动,复位,复位再启动的功能,并通过调用一些附加程序,缩减主程序的长度,提高运行效率和精度,现将用到的所有附加程序的原理及其在运行过程中所起到的作用汇总如下: 1.DIS(宏定义——苹果显示程序) 通过宏调用,实现苹果图案的显示。在宏定义里,设置一个形参变量,作为移动光标的位置,在下面调用宏中,给予变量X不同的实参,输出苹果图案。 2.DISS(宏定义——字符串的输出) 原理同上。 3.CLOUR(字体颜色设置程序) 通过字体颜色设置程序,实现屏显字体颜色的改变。当改变BX值时,字体颜色会改变。 4.HALT(启动子程序) 通过启动子程序,实现计时的开始,当从键盘输入一个字符时,判断是否等于S,如果不等,则在循环执行启动子程序中动态等待,直到输入的字符为S 时,计时开始。 5.IOSET(设置光标位置子程序) 通过设置光标子程序,来设置显示的区域。一般整个屏幕可显示25行,80列,屏幕左上角字符位置为0行0列,右下脚字符为24行79列,对应十六进制为:左上脚为(0,0),右下脚为(18,4F)。入口信息为:(AH)=2 要设置光标;(BH)=0 页号;(DH,DL)=00要置光标于0行0列。DX赋值为0D27H,光标置位于屏幕中央。 6.GO(初始化显示子程序) 通过将在数据段定义的BUFFER数组的首址赋给BX,将待显示初值字符串00:00存入数组中的相应位置,当每次复位以后,重新调用该子程序,将程序的执行结果修正为00:00,并显示于屏幕上,从而实现了程序的初值设定和复位功能。 7.TIME(延时子程序) 计算机每执行一条指令,虽然很快,但是需要一些时间,因此在本程序中可以通过延时程序,让计算机去执行一些无关的程序,来达到时钟秒与百分之一秒转换时的时间延迟。每条指令执行时间的长短,是以计算机的时钟周期为基本单位的,因此不同的计算机可以通过修改延时程序数值来使其达到准确计时。 8.TRAN(压缩BCD码转ASCII码程序)

PLC实训 霓虹灯控制电路

一、实训题目:霓虹灯控制电路 实训目的及要求: 1、掌握欧姆龙PLC的指令,具有独立分析和设计程序的能力 2、掌握PLC梯形图的基本设计方法 3、培养分析和解决实际工程问题的能力 4、培养程序设计及调试的能力 5、熟悉霓虹灯控制电路系统的原理及要求 实训设备: 1、OMRON PLC及模拟试验装置 2、安装有CX-P编程软件的PC机 3、PC机与PLC通讯的RS232电缆线 实训内容: 1、分析工艺过程,明确控制要求 控制要求:设计一个霓虹灯控制电路如图5所示,该电路可以控制霓虹 灯L1,L2,L3按照如下方式亮灭:(1)L1亮1s (2)L2亮1s (3)L3亮1s (4)三个灯都灭1s (5)三个灯都亮1s (6)三个灯都灭1s (7)三个灯都亮1s (8)三个灯都灭1s (9)1~8循环直到按下关断按钮。 图1霓虹灯控制示意图 2、统计I/O点数并选择PLC型号 输入:开始按钮00000,复位按钮00001。 输出:彩灯1,彩灯2,彩灯3。 输入一共有2个,考虑到留有15%~20%的余量即2×(1+15%)=2.3 取整数3,所以共需3个输入点。输出共有3个,3×(1+15%)=3.45取整数4, 所以共需4个输出点。可以选OMRON公司的CPM1A/CPM2A型PLC就能满足此例的要求。 4、PLC控制程序设计及分析

实现功能:按下开始按钮00000,中间继电器20000自锁,并且启动定时器TIM000,定 时1秒,按下复位按钮00001或中间继电器20001带电后,程序复位,或者定时器TIM007定时完毕,程序复位 实现功能:中间继电器20000带电后,并且定时器TIM000定时完毕,中间继电器20001自锁,并且启动定时器TIM001,定时1秒,按下复位开关00001或中间继电器20002带电后,程序复位。 实现功能:中间继电器20001带电后,定时器TIM001定时完毕,中间继电器20002自锁,并且启动定时器TIM002,定时1秒,按下复位开关00001或中间继电器20003带电后,程序复位。 实现功能:中间继电器20002带电后,定时器TIM002定时完毕,中间继电器20003自锁,并且启动定时器TIM003,定时1秒,按下复位开关00001或中间继电器20004带电后,程序复位。 实现功能:中间继电器20003带电后,定时器TIM003定时完毕,中间继电器20004自锁,并且启动定时器TIM004,定时1秒,按下复位开关00001或中间继电器20005带电后,程序复位。 实现功能:中间继电器20004带电后,定时器TIM004定时完毕,中间继电器20005自锁,并且启动定时器TIM005,定时1秒,按下复位开关00001或中间继电器20006带电后,程序复位。 实现功能:中间继电器20005带电后,定时器TIM005定时完毕,中间继电器20006自锁,并且启动定时器TIM006,定时1秒,按下复位开关00001或中间继电器20007带电后,程序复位。 实现功能:中间继电器20006带电后,定时器TIM006定时完毕,中间继电器20007自锁,并且启动定时器TIM007,定时1秒,按下复位开关00001或中间继电器20008带电后,程序复位。 实现功能:中间继电器20007带电后,定时器TIM007定时完毕,启动中间继电器20008,当按下复位开关00001后,程序复位。 实现功能:中间继电器20001、20002、20003、20005、20007控制彩灯01002、01003、 01004。 二、实训题目:小车自动选向、定位控制 实训目的及要求: 1、掌握欧姆龙PLC的指令,具有独立分析和设计程序的能力

相关文档
最新文档