文档库 最新最全的文档下载
当前位置:文档库 › 武汉科技大学微机原理课程设计 模拟电梯系统(汇编)

武汉科技大学微机原理课程设计 模拟电梯系统(汇编)

武汉科技大学微机原理课程设计 模拟电梯系统(汇编)
武汉科技大学微机原理课程设计 模拟电梯系统(汇编)

二○一三~二○一四学年第二学期

电子技术学院

电子信息工程系

课程设计报告书

班级:

姓名:

课程名称:微机原理及应用课程设计学时学分: 1 周 1 学分

指导老师:杨君

二○一三年十二月三十一日

一、课程设计目的:

综合运用本课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。

二、课程设计时间安排:

第一天:教师布置设计任务,讲解设计要求,提示设计要点。

第二~三天:查阅资料(在图书馆或上网),提出设计方案。

第三~七天:画出详细设计图(电路图),编写程序,调试程序,得出实验结果并写出设计报告。

三、课程设计选题:

设计要求:

(1). 在1-- 8楼之间一次可输入多个任意楼层号连续控制电梯按指定楼层号顺序上升与下降.以上过程完成后可重新输入任意楼层号连续控制电梯按指定楼层号顺序上升与下降.只有按ESC键才退出程序返回DOS状态。例如: 1-3-5-7-6-4-2-1 (可观察教十楼电梯的实际运行情况).

(2). 在1 -- 7 楼之间按任意顺序不连续控制电梯上升与下降. 按一次计算机键盘的上箭头电梯上升一楼,按一次计算机键盘的下箭头电梯下降一楼. (上箭头的ASCII码19H , 下箭头的ASCII码1AH . )

(3). 在电梯上升与下降过程中,要显示出1--7 楼之间所要到达的楼层数,同时还要用箭头显示电梯是上升状态还是下降状态.

(4). 电梯运行到指定楼层后,打开电梯门,然后关门继续运行.

(5). 电梯运行时, 在任意时刻遇到紧急情况时应能实时中断电梯运行.也可以在任意时刻恢复电梯运行.(按A/a 键模拟中断发生,电梯停止运行.按B/b 键恢复电梯运行)

(6). 在计算机屏幕上将电梯的平面模型改成三维立体模型.

(7). 在电梯旁画一个小方块.这个小方块随电梯上升而上升,下降而下降.以增

加电梯运行时的动感.

(8). 电梯仿真软件运行时,应在计算机屏幕上详细说明其使用方法,以及本软件作者姓名和日期.

报告要求:

(1). 在报告中应对电梯仿真软件的设计思想,设计方法用文字详细说明.

(2). 在报告中应有完整的程序清单(必需加注释).

(3). 在报告中应有完整的程序框图.

(4). 谈谈自己通过这次设计实践的收获和体会.

参考文献:

[1] 朱定华,微机原理、汇编与接口技术,清华大学出版社,2005

[2] 徐士良,PC机C图形编程手册,清华大学出版社,1994

四、课程设计内容:

1、程序模块:

2、程序流程图:

3、程序设计思路:

电梯模拟程序主要是一个画图程序,程序需要利用一连串的画图指令来实现动画效果。首先,程序中将用到INT 10H的一系列指令来实现画图功能。要实现动画效果,如电梯门开关、电梯上下移动就必须在生成新的图形同时将老的图形擦去,所以运动的过程分为擦去原有图像和画新图像两部分完成。当新的图形可以直接覆盖原有效果时则直接画新图形即可,新图形无法覆盖老效果时则首先要用背景颜色将原有图形重绘一次,这样就达到了擦出的效果。CPU完成一连串画图指令速度是非常迅速的,为了清除观察到动画效果所以添加了一个延时模块,在画图命令中调用此命令可以清晰观察到动画效果。其次,还需要INT 21H 的9H号功能实现字符串的显示功能。

由于需要键盘输入电梯控制相关指令,所以需要用到INT 16H的1H号功能停止和继续电梯的运动;还需要INT 21H的0AH号功能实现输入兵显示字符串;以及INT 21H的0CH号功能清空键盘缓存。

在此基础上,用一系列的循环、判断、跳转命令将各种功能结合起来最终搭建成模拟电梯程序。

4、程序代码及注释:

CLEAR MACRO ; 清屏的宏

MOV BH,7 ; 卷入行属性,黑底白字,正常显示.

MOV AX,0600H ; AH=6 屏幕初始化或上卷.AL=0 整个窗口空白. INT 10H ; CH=左上角行号,CL=左下角列号.

ENDM ; DH=右上角行号,DL=右下角列号.

;---------------------------------------

POS MACRO ; 移动光标的宏

MOV BH,00H ; BH=页号 DH,DL=行号,列号.

MOV AH,02H ; AH=2 置光标位置.

INT 10H

ENDM

;---------------------------------------

HENG MACRO X1,Y1,COLOR,X2 ; 写横的宏

LOCAL BH1 ; 定义标号

MOV CX,X1 ; 起始点横作标-->CX

MOV DX,Y1 ; 起始点纵作标-->DX

BH1: MOV AH,0CH ; 写象素

MOV AL,COLOR ; 设定颜色参数-->AL

INT 10H

INC CX

CMP CX,X2 ; 写至终点横作标为止

JNZ BH1

ENDM

;---------------------------------------

SHU MACRO CX1,CY1,COLOR,CY2 ; 写竖的宏

LOCAL BH2 ; 定义标号

MOV CX,CX1

MOV DX,CY1

BH2: MOV AH,0CH

MOV AL,COLOR ; AL=(00--0FH)共16种颜色.

INT 10H

INC DX

CMP DX,CY2

JNZ BH2

ENDM

;---------------------------------------

DELAY MACRO ;延时1s的宏

LOCAL READ

PUSH DX ;入栈,保护原有DX、CX中的数据

PUSH CX

SUB AX,AX

INT 1AH ;INT 1AH的0号功能读当前时钟值,CX:DX=时钟

计数值

MOV TIME,DX

MOV TIME[2],CX

READ: SUB AX,AX

INT 1AH

SUB DX,TIME

SBB CX,TIME[2]

CMP DX,DLY

JB READ

POP CX ;出栈,恢复现场

POP DX

ENDM

;---------------------------------------

UP MACRO N,DX1 ;小方块上升的宏

LOCAL UPA,UPB ; 定义标号

MOV AL,N ;小方块从N-1层上升至N层

MOV CH,30 ;小方块上升一层,并且将下一层的小方块清除 MUL CH ;30*N个像素

MOV DX,430

SUB DX,AX ;430-30*N个像素得到画小方块的纵坐标下限值 MOV [DZ],DX

ADD DX,20 ;每个小方块边长为20个像素

MOV DX1,DX ;得到纵坐标上限值

UPA: HENG 170,[DZ],0CH,190 ;画小方块

INC [DZ]

MOV AX,DX1

CMP [DZ],AX

JNZ UPA

ADD DX,11 ;坐标调整到移动之前的坐标

MOV [DZ],DX

ADD DX,20

MOV DX1,DX

UPB: HENG 170,[DZ],00H,190 ;擦原小方块

INC [DZ]

MOV AX,DX1

CMP [DZ],AX

JNZ UPB

ENDM

;---------------------------------------

DOWN MACRO N,DX1 ;小方块下降的宏

LOCAL DOWNA,DOWNB ; 定义标号

MOV AL,N ;小方块从N+1层下降至N层

MOV CH,30 ;小方块下降一层,并且将上一层的小方块清除 MUL CH

MOV DX,430

SUB DX,AX

MOV [DZ],DX

ADD DX,20

MOV DX1,DX

DOWNA: HENG 170,[DZ],0CH,190 ;画小方块

INC [DZ]

MOV AX,DX1

CMP [DZ],AX

JNZ DOWNA

SUB DX,49

MOV [DZ],DX

ADD DX,20

MOV DX1,DX

DOWNB: HENG 170,[DZ],00H,190 ;擦原有小方块

INC [DZ]

MOV AX,DX1

CMP [DZ],AX

JNZ DOWNB

ENDM

;---------------------------------------

CLOSE MACRO ;画电梯关门状态的宏

LOCAL CE

MOV [DZ],220

CE: HENG 210,[DZ],09H,370 ;电梯关门

INC [DZ]

CMP [DZ],420

JNZ CE

SHU 291,220,02H,420 ;电梯大门缝隙 SHU 290,220,02H,420

SHU 289,220,02H,420

ENDM

;---------------------------------------

HALF MACRO ;画电梯半开门状态的宏

LOCAL HF

MOV [DZ],221

HF: HENG 210,[DZ],09H,250 ;电梯半开门 HENG 252,[DZ],07H,328

HENG 330,[DZ],09H,370

INC [DZ]

CMP [DZ],420

JNZ HF

SHU 251,220,02H,420 ;电梯大门缝隙 SHU 329,220,02H,420

ENDM

;---------------------------------------

FULL MACRO ;画电梯全开门状态的宏

LOCAL FL

MOV [DZ],221

FL: HENG 210,[DZ],09H,215 ;电梯全开门 HENG 217,[DZ],07H,363

HENG 365,[DZ],09H,370

INC [DZ]

CMP [DZ],420

JNZ FL

SHU 216,220,02H,420 ;电梯大门缝隙 SHU 364,220,02H,420

ENDM

;---------------------------------------

PAUSE MACRO ;电梯紧急暂停的宏

LOCAL WAIT,WAN

SUB AX,AX

MOV AH,1

CMP AL,'a' ;读取键盘缓存中是否有"a",有就进入暂停等待循

环,没有则退出

JNZ WAN

MOV DX,0301H

POS

MOV DX,OFFSET MSG7 ;显示MSG7

MOV AH,9

INT 21H

MOV AH,0CH ;清空键盘缓存

INT 21H

WAIT: CLC ;CF=0

MOV AH,1

INT 16H

CMP AL,'b' ;检测键盘缓存中是否有"b",有就退出暂停等待循

环,没有则继续循环

JNZ WAIT

WAN: MOV DX,0301H

POS

MOV DX,OFFSET MSG6 ;用于将MSG7的信息擦除

MOV AH,9

INT 21H

MOV AH,0CH

INT 21H

ENDM

;---------------------------------------

data segment

MSG1 DB 'Please press "1-8" or "w/s" ro others to terminate.(eg: 1-3-8/w): $' ; 输出多个空格是为了清空上一次的输入

MSG2 DB 'Please press any key.','$'

MSG3 DB 'Floor: $'

MSG4 DB 'Direction: $'

MSG5 DB 'To: $'

MSG6 DB 'When the elevator running, please press "a" to emergency stop. $'

MSG7 DB 'Please press "b" to continue. $'

MSG8 DB 'WUST LiGang 2014.2.5 $'

DAT DB 0FFH,0,255 DUP(0)

DLY EQU 18

DZ DW 0

TIME DW 0,0

NUM1 DB 1

NUM2 DB 1

COUNT DB 0

DX2 DW 0

data ends

;---------------------------------------

stacks segment

STA DW 100 DUP(0)

TOP DW ?

stacks ends

;---------------------------------------

code segment

assume cs:code,ds:data,ss:stacks

;---------------------------------------

start proc far

mov ax,data

mov ds,ax

mov ax,stacks

mov ss,ax

mov ax,data

mov es,ax

push ax

push bx

push cx

push dx

push si

push di

MOV CX,0

MOV DX,2479H

MOV BH,7

MOV AX,0601H

INT 10H

MOV AX,0012H ;置图形显示方式

INT 10H ;640列*480行,16色.

MOV DX,0 ;光标位置初始化

POS

HENG 220,99,0AH,420 ;信息栏外边框 HENG 220,151,0AH,420

SHU 220,99,0AH,151

SHU 420,99,0AH,151

HENG 223,102,0AH,417 ;信息栏内边框 HENG 223,148,0AH,417

SHU 223,102,0AH,148

SHU 417,102,0AH,148

CLOSE ;电梯大门处于关闭状态

HENG 210,220,02H,370 ;电梯大门缝隙边框 HENG 210,420,02H,370

SHU 210,220,02H,420

SHU 370,220,02H,420

HENG 209,219,02H,371 ;加粗边框

SHU 209,220,02H,420

SHU 371,220,02H,420

MOV [DZ],219

MOV DX1,210

MOV DX2,370

SB1: HENG DX1,[DZ],03H,DX2 ;三维电梯上侧面 DEC [DZ]

INC DX1

INC DX2

CMP [DZ],180

JNZ SB1

MOV [DZ],371

MOV DX1,220

MOV DX2,420

SB2: SHU [DZ],DX1,03H,DX2 ;三维电梯右侧面 INC [DZ]

DEC DX1

DEC DX2

CMP [DZ],410

JNZ SB2

MOV [DZ],421

SB3: HENG 160,[DZ],0EH,200 ;画电梯框架

SUB [DZ],30

CMP [DZ],151

JNZ SB3

SHU 160,181,0EH,422

SHU 200,181,0EH,422

MOV [DZ],400

BRICK: HENG 170,[DZ],0CH,190 ;画初始小方块

INC [DZ]

MOV AX,420

CMP [DZ],AX

JNZ BRICK

MOV DX,072BH

POS

MOV DL,NUM1

ADD DL,30H

MOV AH,2

INT 21H ;初始楼层显示"1"

MOV DX,1C3BH

POS

MOV DX,OFFSET MSG8 ;显示MSG8

MOV AH,9

INT 21H

MOV DX,0723H

POS

MOV DX,OFFSET MSG3 ;显示MSG3

MOV AH,9

INT 21H

MOV DX,081DH

POS

MOV DX,OFFSET MSG4 ;显示MSG4

MOV AH,9

INT 21H

MOV DX,082DH

POS

MOV DX,OFFSET MSG5 ;显示MSG5

MOV AH,9

INT 21H

MOV DX,0301H

POS

MOV DX,OFFSET MSG6 ;显示MSG6

MOV AH,9

INT 21H

INPUT: MOV DX,0101H

POS

MOV DX,OFFSET MSG1 ;显示MSG1

MOV AH,9

INT 21H

MOV DX,0143H

POS

MOV DX,OFFSET DAT ;输入并显示字符串

MOV AH,10

INT 21H

MOV AL,DAT+1

MOV COUNT,AL ;记录输入的字符个数

MOV BP,2

MOV AL,DAT[BP]

CMP AL,'w' ;输入w则上升一层

JE UP1

CMP AL,'s' ;输入s则下降一层

JE DOWN1

CMP AL,31H ;输入小于1的ACSⅡ码则退出

JB OVER

CMP AL,38H ;输入大于8的ACSⅡ码则退出

JA OVER

AND AL,0FH ;输入1至8则进入多楼层控制命令循环TARGET1 MOV NUM1,AL

TARGET1: ADD BP,2 ;因为输入格式为"1-2-6",每次BP偏移两位起到

了仅取有效位数字的作用

MOV AL,DAT[BP]

AND AL,0FH ;将字符转换为数字

CMP AL,1 ;检测后续输入的字符是否合法,超出1~8范围则

返回输入界面

JB INPUT

CMP AL,8

JA INPUT

MOV NUM2,AL

MOV DX,0831H

POS

MOV DL,DAT[BP] ;显示电梯下一站要停的楼层数

MOV AH,2

INT 21H

DELAY

TARGET2: MOV AL,NUM2

CMP AL,NUM1 ;若下一站楼层大于当前楼层,则跳至上升命令段 JA TARGET3 ;若下一站楼层小于当前楼层,则在当前命令段

MOV AL,NUM2

CMP AL,NUM1 ;第二次比较,若到达目标楼层或两站楼层相同则

跳至SHOW命令显示开关门动画

JZ SHOW

DEC NUM1

PAUSE ;在画图命令之前插入暂停命令,确保电梯在任何

楼层时都能暂停

DOWN NUM1,DX1 ;电梯下降

MOV DX,0829H

POS

MOV DL,19H ;显示下箭头

MOV AH,2

INT 21H

MOV DX,072BH

POS

MOV DL,NUM1 ;显示当前楼层数

ADD DL,30H ;将数字转换为ASCⅡ码

MOV AH,2

INT 21H

DELAY ;电梯在每一层停留1S以便观察

JMP TARGET2

TARGET3: INC NUM1

PAUSE ;在画图命令之前插入暂停命令,确保电梯在任何

楼层时都能暂停

UP NUM1,DX1 ;电梯上升

MOV DX,0829H

POS

MOV DL,18H ;显示上箭头

MOV AH,2

INT 21H

MOV DX,072BH

POS

MOV DL,NUM1 ;显示当前楼层数

ADD DL,30H ;将数字转换为ASCⅡ码

MOV AH,2

INT 21H

DELAY ;电梯在每一层停留1S以便观察

JMP TARGET2

UP1: CMP NUM1,8

JNB INPUT

INC NUM1

MOV DX,0831H

POS

MOV DL,NUM1 ;显示电梯下一站要停的楼层数

ADD DL,30H

MOV AH,2

INT 21H

UP NUM1,DX1 ;电梯上一层

MOV DX,0829H

MOV DL,18H ;显示上箭头

MOV AH,2

INT 21H

MOV DX,072BH

POS

MOV DL,NUM1 ;显示当前楼层数

ADD DL,30H ;将数字转换为ASCⅡ码

MOV AH,2

INT 21H

JMP SHOW

DOWN1: CMP NUM1,1

JNA INPUT

DEC NUM1

MOV DX,0831H

POS

MOV DL,NUM1 ;显示电梯下一站要停的楼层数

ADD DL,30H

MOV AH,2

INT 21H

DOWN NUM1,DX1 ;电梯下一层

MOV DX,0829H

POS

MOV DL,19H ;显示下箭头

MOV AH,2

INT 21H

MOV DX,072BH

POS

MOV DL,NUM1 ;显示当前楼层数

ADD DL,30H ;将数字转换为ASCⅡ码

MOV AH,2

INT 21H

SHOW: MOV DX,0829H

POS

MOV DL,'-' ;到达楼层时"Direction"显示"-"

MOV AH,2

INT 21H

DELAY ;电梯门开关每个动作间停留1S以便观察

PAUSE ;每个动作后插入PAUSE使电梯能在开关门时暂停 HALF

DELAY

PAUSE

DELAY

PAUSE

HALF

DELAY

PAUSE

CLOSE

DELAY

PAUSE

SUB AX,AX

INT 1AH

MOV TIME,DX

MOV TIME[2],CX

MOV AH,0CH

INT 21H ;清空键盘缓冲区

MOV AL,COUNT

CBW ;将字节扩展为字

CMP BP,AX ;若此时没到输入数据最后一位则进入TARGET1,

若已到最后一位则进入INPUT开始新一轮运行 JB TARGET1

JMP INPUT

OVER: MOV DX,101CH ;显示MSG2

POS

MOV DX,OFFSET MSG2

MOV AH,9

INT 21H

MOV DL,0FFH

MOV AH,6

INT 21H

JZ OVER

MOV CX,0

MOV DX,2479H

CLEAR

MOV AX,4C00H

INT 21H ; 返回DOS.

MOV AH,02H

INT 10H ; 恢复文本显示方式.

pop di

pop si

pop dx

pop cx

pop bx

pop ax

start endp

;---------------------------------------- code ends

end start

5、程序运行截图:

程序初始界面

电梯移动界面

开关门状态(半开)

暂停状态(第二行提示语句改变)

程序退出界面

五、心得体会:

此次课程设计是我首次使用汇编语言进行大规模编程,在这个过程中我学到了很多“微机原理及应用”课堂上未曾提到的知识,也加深了在课堂上学到的知识,使我对于微机原理和汇编语言的掌握程度达到了新的高度。

我选择的题目一例题中让我接触到利用“宏”编程的思路,对于“宏”的利用在课堂上了解得并不多吗,参考例题,我在自己的程序中大量使用“宏”,大大降低了代码的编写量。

在程序中需要用到许多不同功能的中断命令完成绘图、输入字符串等功能,我将课本内容和网上资料结合,于程序不同地方选择合适的中断以达到理想的效果,在这个过程中我学会了更多的中断使用方法。

最初对程序模块进行设计时,在很多方面没有思路,于是我在网上查阅了很多程序代码,归纳它们可行的办法,我在这个过程中加强了资料查阅能力和代码阅读能力。程序编写过程中,不少想实现的功能用已知的命令无法完成,我在网上查阅了不少汇编语言命令手册,在程序里使用了很多原来不曾了解的命令,我也从中掌握了不少新的命令。

这一次编写的程序代码量比较庞大,我并不是一口气全部写完的,而是一点点功能逐步完成逐步调试,最后再将所有功能结合在一起调试。我从总结出提编程、调试等一系列提高工作效率的经验与方法。

总的来说,通过这一次课程设计,对我熟练运用微机原理和汇编语言知识起到了不可或缺的锻炼作用,加强了我在这方面的能力。

微机原理课程设计报告交通灯

WORD格式微机原理课程设计 设计题目交通灯的设计 实验课程名称微机原理 姓名王培培 学号080309069 专业09自动化班级2 指导教师张朝龙 开课学期2011至2012学年上学期

一、实验设计方案 实验名称:交通灯的设计实验时间:2011/12/23 小组合作:是□否?小组成员:无 1、实验目的: 分析实际的十字路口交通灯的亮灭过程,用实验箱上的8255实现交通灯的控制。(红,黄,绿三色灯) 2、实验设备及材料: 微机原理和接口技术实验室的实验箱和电脑设备等。 3、理论依据: 此设计是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。 如硬件连接图所示(在后),红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255 的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4(南东北西)路口的红灯,B,C口类推。8086工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,AD8~AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端。8253的 三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK,2 OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30s定时到。OUT2产生 1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。8255三个口全部工作在方式0既基本 输入输出方式,红绿灯的转换由软件编程实现。

4、实验方法步骤及注意事项: ○1设计思路 红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1 控制。 设8253各口地址分别为:设8253基地址即通道0地址为04A0H,通道1为04A2H,通道2 为04A4H,命令控制口为04A6H。 黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波,8255控制或门打开的时 间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。 由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方 式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方 式,理论设计输出周期为0.01s的方波。1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1s,因此 通道0的计数初值为10000=2710H。由此方波分别作为clock1和clock2的输入时钟脉冲,所以 通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H 既30s,计数到则输出一个高电平到8255的PA7口,8255将A口数据输入到8086,8086检测 到高电平既完成30s定时。通道2工作在方式3需输出一个1HZ的方波,通过一个或门和8086 共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为100=64H,将黄灯的状态 反馈到8055的端口PB7和PC7,同样输入到8086,8086通过两次检测端口状态可知黄灯的状态 变化,计9次状态变化可完成5次闪烁。 三个通道的门控信号都未用,均接+5V即可。 ○ 2硬件原理及电路图 由于8255A与8086CPU是以低八位数据线相连接的,所以应该是8255A的A1、A 0 线分别与 8086CPU的A2、A线相连,而将8086的 1 A 0 线作为选通信号。如果是按8255A内部地址来看, 则在图中它的地址是PA口地址即(CS+000H),PB口地址为(CS+001H),PC口地址为(CS+002H),

微机原理课程设计报告

微机原理课程设计报告 课程设计是每一个大学生在大学生涯中都不可或缺的, 它使我们在实践中了巩固了所学的知识、在实践中锻炼自己的动手能力,本文就来分享一篇微机原理课程设计报告,希望对大家能有所帮助! 微机原理课程设计报告(一)以前从没有学过关于 汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。 我们在这个过程中有很多自己的感受,我想很多同学都 会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。看着自己做出来的东西,心里面的感觉真的很好。虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。很有成就感。 我想微机原理课程设计和其他课程设计有共同的地方, 那就是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。但是我想他也有它的独特指出,那就是让我们进入一个神奇的世界,那就是编程。对于很多学过汇编或者其他的类似程序的同学来说,这不算新奇,但是对于我来说真的新奇,很有趣,也是我有更多的兴趣学习微机原理和其他的汇编。 微机原理与接口技术是一门很有趣的课程,任何一个计 算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。 学习该门课程知识时,其思维方法也和其它课程不同,

微机原理课程设计电压报警器实验报告

南通大学电子信息学院 微机原理课程设计 报告书 课题名: 班级: 姓名: 学号: 指导老师: 日期: xxx

目录 1.设计目的 (2) 2.设计内容 (2) 3.设计要求 (2) 4.设计原理 (3) 5.硬件电路图 (3) 6.程序代码 (5) 7.程序及硬件系统调试情况 (19) 8.设计总结与体会 (19)

一、设计目的 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。 通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。 二、设计内容 设计一个电压报警器,要求采集实验箱提供的0~5V的电压,当输入电压在3V以内,显示电压值,如2.42。当输入电压超过3V,显示ERR,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,

电梯模拟课程设计

[问题描述] 设计一个电梯模拟系统。这是一个离散的模拟程序,因为电梯系统是乘客和电梯等 “活动体”构成的集合,虽然他们彼此交互作用,但他们的行为是基本独立的。在离散的模拟中,以模拟时钟决定每个活动体的动作发生的时刻和顺序.系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进到某个动作预定要发生的下一个时刻。 [基本要求] (1) 模拟某校五层教学楼的电梯系统。该楼有一个自动电梯,能在每层停留。五个楼层由下至上依次称为地下层、第一层、第二层、第三层和第四层,其个第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来到该层候命。 (2) 乘客可随机地进出于任何层。对每个入来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。 (3) 模拟时钟从0开始,时间单位为0.1秒。人和电梯的各种动作均要耗费一定的时间单位(简记为t),比如: 有人进出时,电梯每隔40t测试一次,若无人进出,则关门。 关门和开门各需要20t 每个人进出电梯均需要25t 如果电梯在某层静止时间超过300t,则驶回1层候命。 (4) 按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。 [测试数据] 模拟时钟Time的初值为0,终值可在500—l0000范围内逐步增加。 [实现提示] (1) 楼层由下至上依次编号为0,1,2,3,4。每目有要求Up(上)和Down(下)的两个按钮,对应l0个变量CallUp[0..4]和 CallDown[0..4]。电梯内5个目标层按钮对应变量CallCar[0..4]。有人按下某个按钮时,相应的变量就置为1,一旦要求满足后,电梯就把该变量清为0。 (2) 电梯处于三种状态之一:GoingUp(上行)、GoingDown(下行)和IdIe(停候)。如果电梯处于IdIe状态且不在1层,则关门并驶回1层。在1层停候时,电梯是闭门候命。一旦收到往另一层的命令,就转入GoingUp或GoingDown状态,执行相应的操作。

最新微机原理课程设计任务书模板

微机原理课程设计任 务书模板

南京工程学院 课程设计任务书 课程名称微机原理及应用院(系、部、中心 专业电气工程及其自动化 班级 起止日期 指导教师

[1] 李继灿.新编16/32微型计算机原理及应用[M].北京:清华大学出版社,2004 [2] 李干林. 微机原理实验指导书 [M] .南京工程学院,2010. [3]郑学坚,周斌. 微型计算机原理及应用[M] . 北京:清华大学出版社,2001. [4]朱定华等. 微型计算机原理及应用[M]. 北京:电子工业出版社,2005. 5.课程设计进度安排 起止日期工作内容 2010年9月6日9月7~5月9日 9月10日复习微机原理知识,根据任务书构思设计方案 完成8255、8253实验,并构思课设的硬件接线。进行课设内容的汇编程序设计及内容调试。 进行课设内容考核。 6.成绩考核办法 (1)工作表现:独立工作能力及设计过程的表现。占总成绩的30%。 (2)设计成果:设计说明书、程序、的质量。占总成绩的40%。 (3)考核测评:课程设计结束前,指导教师应采用考试对所指导的学生进行测 评。测评成绩占总成绩的30%。 教研室审查意见: 教研室主任签字: 年月日

七.参考文献 [1] 李继灿.新编16/32微型计算机原理及应用[M].北京:清华大学出版社,2004 [2] 李干林. 微机原理实验指导书 [M] .南京工程学院,2010. [3]郑学坚,周斌. 微型计算机原理及应用[M] . 北京:清华大学出版社,2001. [4]朱定华等. 微型计算机原理及应用[M]. 北京:电子工业出版社,2005.

嵌入式课程设计-电梯系统

一、实验目的 1、熟悉ARM开发板的基本使用和基本开发流程。 2、加强对嵌入式操作系统的了解,加强对课内知识的使用。 3、熟悉基本的单片机开发环境。 4、锻炼一定团队合作能力以及对嵌入式问题的解决能力。 二、实验仪器及设备 安装开发环境的PC机 ARM7实验板及相应链接线 AK Series Emulator 仿真器 三、实验内容或任务 1、基本实验 内容1:ARM(LPC2131)&ADS V1.2环境熟悉 LPC2131 硬件环境介绍; ADS 工具简介; 要求:了解LPC2131 Demo Board 资源、环境;掌握ADS工具使用。 内容2:ADS 模板工具& ARM C语言程序设计 ADS环境中编程模板的理解与使用; 使用ADS工具,基于LPC2131进行简单的C程序设计; 要求:熟练掌握ADS工具的使用,掌握ARM C程序设计、调试技术; 内容3:GPIO Output(LED、Beep)实验 理解ARM 芯片引脚功能选择; 理解GPIO的使用设置、输出驱动方法; 熟练掌握ADS工具,基于LPC2131进行简单的C程序设计; 要求:实现一个秒闪航标灯和蜂鸣。 内容4:GPIO Input(Key Input)实验 理解ARM 芯片引脚功能选择; 理解GPIO的使用设置、输入驱动方法; 熟练掌握ADS工具,基于LPC2131进行简单的C程序设计; 要求:实现一个秒闪航标灯和可按键控制的蜂鸣器。 内容5:Eint VIC实验

理解ARM 芯片引脚功能选择; 理解外中断的含义与应用; 熟练掌握ADS工具,基于LPC2131进行简单的C程序设计; 要求:实现一个秒闪航标灯和可按键控制的蜂鸣器(用外中断方式实现)。 内容6:定时器 理解ARM 芯片引脚功能选择; 理解GPIO的使用设置、输入/输出驱动方法; 熟练掌握ADS工具,基于LPC2131进行简单的C程序设计; 要求:基于ucosII的GPIO、定时器、RTC、串口等综合实验。 内容7:异步串行口UART 理解ARM 芯片引脚功能选择; 理解GPIO的使用设置、输入/输出驱动方法; 理解UART串行通信原理,学习ARM UART资源的驱动编程; 熟练掌握ADS工具,基于LPC2131进行简单的C程序设计; 要求:结合前边内容,实现LPC2131和PC端串行传输数据信息。 2.、选题实验 电梯控制系统 要求该控制器应具备如下功能: 1,通过键盘输入楼层,输入之后数码管从当前位置向上或向下运行。流水灯表示运动方向。 2,流水灯在运行中显示电梯正在运行的方向,并且在电梯到达时在该楼层亮闪3次。 3,运行到对应楼层,显示楼层号。 4,灯表示运行楼层 5,可同时满足多用户需求。达到该系统与现实电梯系统的一致性。 6,数码管数字大小增减表示向上、向下。

微机原理课程设计报告

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

目录 一、课程设计题目................. 错误!未定义书签。 二、设计目的..................... 错误!未定义书签。 三、设计内容..................... 错误!未定义书签。 四、设计所需器材与工具 (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点阵显示器件一片。

数据结构课程设计报告--电梯模拟

课程设计 课程名称数据结构 题目名称 2.8电梯模拟(难度5) 学生学院计算机学院 专业班级 XXXXXXXXXX 学号XXXXXXXX 学生姓名 XXX 指导教师 XX 2013年7月4日

电梯模拟系统 一、简单介绍 1、问题描述 设计一个电梯模拟系统,这是一个离散的模拟程序,因为电梯系统是乘客和电梯等“活动体”构成的集合,虽然他们彼此交互作用,但他们的行为是基本独立的,在离散的模拟中,以模拟时钟决定每个活动体的动作发生的时刻和顺序,系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进到某个动作预定要发生的下一个时刻。 2、基本要求 (1)、模拟某校五层教学楼的电梯系统。该楼有一个自动电梯,能在每层停留。五个楼层由下至上依次称为地下层、第一层、第二层、第三层,第四层,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来到该层候命。 (2)、乘客可随机地进出于任何层。对每个人来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。 (3)、模拟时钟从0开始,时间单位为0.1秒。人和电梯的各种动作均要消耗一定的时间单位(简记为t),比如:有人进出时,电梯每隔40t测试一次,若无人进出,则关门;关门和开门各需要20t;每个人进出电梯均需要25t;如果电梯在某层静止时间超过300t,则驶回1层侯命。 (4)、按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。 二、设计目的 当初之所以选择做电梯模拟这个课题,主要是因为觉得当今时代需要,所以觉得想尝试一下,因为为了方便,我们都会选择乘坐电梯,既省时间又省力,粗略看了书本里面的描述,觉得应该不难,只是按照要求输出动作序列即可,后来经过老师的辅导,才发现,原来自己选了个最难的课程设计,也问了同学,很多都是因为太难了才没有选这个题目,因为它远比想象中的复杂的多很多,它实际上是模拟现实中的电梯的运行状况,因此要考虑很多现实中遇到的实际情况,坐过电梯的人都会应该有点印象,现实中的电梯是按照每个人按下按钮的时间顺序进行服务的,但是,并不是将一个人接进来后就直接开往其目的楼层就完事,其实,当电梯将某个人送往其目的楼层的过程中,经过某层时,如果此层的人也要用电梯,虽然其按按钮的时间有可能比先前那个人晚,但是电梯依旧会开门将其接入,然后继续送前一个人去目的地,之后再送这个人去他的目的楼层,如果有多人在电梯中时,也是按照申请时间的先后决定先去哪层的,同理,若在某层,电梯中的某个人,或者某几个人要在该层下,电梯也不能忽略这些,而是要先开门使要下的人出去,之后继续开往先前的楼层,所以设计时,每当电梯上升或下降一层后,都应该检测现在电梯所处的这层有没有人有用电梯的请求,或者电梯中的人有没有要在该层下的情况,若有则电梯要在该层停一下,否则继续上升或下降…. 此外,当电梯停在某一层时不外乎三种情况:1.此层有个人{或有几个人}等候要用电梯 2.电梯中的某个人或者某几个人要在该楼层下 3.则是前面两种情况的结合,此时情况相当复杂,因为,题目要求电梯开门和关门都要消耗一定的时间(题目中没有提电梯上升或者下降一层需要多少时间,所以不妨就假定为30t),而且人进电梯和人出电梯时也要消耗一定的时间,这说明了当同一时刻有至少两个以上的人要进行同一种动作的时候(比方说都是要出电梯,或都是在某一层等电梯,电梯来了后都要进去),但是因为每个人进出电梯都要消耗时间,所以不能单纯的同时让这些人同进或同出电梯,而是要有先后顺序的进出,此为其

汇编与微机原理课程设计报告

微机接口课程设计报告 (题目:模拟自动门) 指导老师郭兰英 班级2015240204

目录 一概述 (1) 1.1 课程设计名称 (1) 1.2 课程设计要求 (1) 1.3 课程设计目的 (1) 二设计思想 (1) 三实施方案 (2) 3.1 获得传感器和“门”的状态 (2) 3.2 驱动步进电机和点阵模块 (2) 3.3 实现硬件延时 (3) 四硬件原理 (3) 4.1 中断控制器8259 (4) 4.2并行接口8255 (4) 4.3 定时/计数器8254 (5) 4.4 点阵LED显示屏 (5) 4.5 步进电机 (6) 4.6 红外距离传感器 (7) 五软件流程 (8) 六程序运行结果及分析 (11) 6.1 开门状态 (11) 6.2 关门状态 (12) 6.3 关门操作进行时中断到开门操作 (14)

6.4特殊状态 (15) 七个人感想 (16) 八附录 (18)

一、概述 1.1课程设计名称 模拟自动门 1.2课程设计要求 1)用汇编语言编程完成硬件接口功能设计。 2)硬件电路基于80x86微机接口。 3)程序功能包含:步进电机转动、点阵显示开关门、传感器检测是否有人、8254延时。 4)传感器检测有人时开门,门全开后延时几秒关门,若关门时检测到有人,立刻开门。 1.3课程设计目的 通过本课程设计,让学生对微机系统有一个较面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。要求同学分组完成课题,写出课程设计说明书,画出电路原理图,说明工作原理,编写设计程序及程序流程图。 二、设计思想 本程序主要功能是模拟商场等公共场所的自动门,实现有物体靠近并被传感器检测到时发生一系列变化的效果,模拟实现开门关门的功能。 为了尽量模拟真实场景下的自动门状态变化,本程序主要可以实现以下功能: 1、当传感器可检测范围内检测到物体,并且“门”为“关”的状态,立即“打开门”,即用一系列的硬件动作模拟自动门打开的动作和状态。 2、当“门”完全打开后一段时间后,传感器范围内检测不到物体时,立即“关闭门”, 用一系列的硬件动作模拟自动门关闭的动作和状态。

微机原理课程设计题目

计算机科学与技术04级 微机原理课程设计 一、课程设计的目的 课程设计是实验的提高和综合。通常,学习知识是由浅入深、由此及彼,一点点的学习和积累的,而应用知识则是综合运用所积累的知识来分析和解决实际问题、从知识的系统性来检验对各层次知识的掌握程度。 ?课程设计的目的是让学生把理论学习和实验教学阶段所掌握的知识通过一个设计实例,经历一次理论和实践结合、软件和硬件结合的综合训练,也是一次工程实践能力的检验。这次课程设计大家应当把它作为毕业设计的预演。 ?锻炼通过各种媒体和途径主动获取知识的能力。 二、课程设计的要求 ?课程设计要求独立完成、严禁抄袭; ?较大的题目可以多人合作完成,但每个人都应有自己所承担的任务,并在自己的报告中客观如实地反映; ?课程设计既是综合能力的锻炼,也是协作精神和科学诚信品质的锻炼。如果做相同的题目,要保证各自的独立性,实现方法的多样性。 ?微机原理是一门硬件技术为主、软硬件结合的课程,因此要求,所有的选题都要描述清楚硬件设计的原理和软件设计的逻辑思路。设计尽量在实验箱上完成。 ?在功能设计上尽量完善、贴近实用、有人机交互(人机交互可实用实验箱上的键盘重新定义) ?登录本系的网页,查阅毕业设计的相关文件和设计规范,学习设计报告撰写的各个环节,并在课程设计中认真实践。 ?要珍惜这次课程设计,这是一次总结复习、知识拓展、能力锻炼的大好机会。 ?课题完成后要有一分规范的设计报告。 三、课程设计的时间安排 课程设计的时间为2个完整的教学周。每天的上午一班,下午二班实验室开放,为大家提供调试、辅导的时间。 四、课程设计报告要求 ?为锻炼学生的论文写作能力,为今后的毕业设计(毕业论文)做准备,对设计报告的完成尝试做较高的要求。

PLC课程设计(三层电梯控制系统)

三层电梯控制系统的模拟 我设计的三层电梯控制系统的主要功能有:①楼层指示灯亮时表示停在相应的楼层,②每当停在各楼层时其楼层指示灯闪烁1秒接着常亮,③有呼叫的楼层有响应,反之没有,④电梯上升途中只响应上升呼叫,下降途中只响应下降呼叫,任何反方向的呼叫均无效。 2. 硬件电路设计和描述 ①模拟装置介绍 S1、S2、S3分别为轿厢内一层、二层、三层电梯内选按钮;D2、D3分别为二层、三层电梯外下降呼叫按钮;U1、U2分别为一层、二层电梯外上升呼叫按钮;SQ1、SQ2、SQ3分别为一层、二层、三层行程开关,模拟实际电梯位置传感器的作用。 L1、L2、L3分别为一层、二层、三层电梯位置指示灯;DOWN为电梯下降状态指示灯;UP为电梯上升状态指示灯;SL1、SL2、SL3分

别为轿厢内一层、二层、三层电梯内选指示灯。 ②控制要求 电梯由安装在各楼层门口的上升和下降呼叫按钮进行呼叫操纵,其操纵内容为电梯运行方向。电梯轿箱内设有楼层内选按钮S1~S3,用以选择需停靠的楼层。L1为一层指示、L2为二层指示、L3为三层指示,SQ1~SQ3为到位行程开关。电梯上升途中只响应上升呼叫,下降途中只响应下降呼叫,任何反方向的呼叫均无效。例如,电梯停在由一层运行至三层的过程中,在二层轿箱外呼叫时,若按二层上升呼叫按钮,电梯响应呼叫;若按二层下降呼叫按钮,电梯运行至二层时将不响应呼叫运行至三层,然后再下降,响应二层下降呼叫按钮。 电梯位置由行程开关SQ1、SQ2、SQ3决定,电梯运行由手动依次拨动行程开关完成,其运行方向由上升、下降指示灯UP、DOWN 决定。 例如:闭合开关SQ1,电梯位置指示灯L1亮,表示电梯停在1层,这时按下三层下呼按钮D3,上升指示灯UP亮,电梯处于上升状态。断开SQ1、闭合SQ2,L1灭、L2亮,表示电梯运行至二层,上升指示灯UP仍亮;断开SQ2、闭合SQ3,电梯运行至三层,上升指示灯UP 灭,电梯结束上升状态,以此类推。 当电梯在三层时(开关SQ3闭合),电梯位置指示灯L3亮。按下轿厢内选开关S1,电梯进入下降状态。在电梯从三层运行至一层的过程中,若按下二层上呼U2与下呼按钮D2,由于电梯处于下降状态中,电梯将只响应二层下呼,不响应二层上呼。当电梯运行至二层时,

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

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

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

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

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

微机原理课程设计

微机原理课程设计

《微机原理与接口技术》课程设计 院系: 班级: 姓名: 指导教师: 日期:

一设计任务: 编写一汇编语言程序,要求从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数和十进制数。(课例027、017、024) 二设计方案 将接收到的数转成16进制数,将这个数保存在一个通用寄存器中(如AX),然后对AX循环做16次SHL,由carry标志寄存器的状态来判断显示0/1。十六位二进制数保存在BX中,对BX中的二进制数循环左移,每次移一位,然后把BL中的二进制数送给AL,再对AL 的前7位进行屏蔽,只留一位原本是最高位的那位二进制数,它要么为1,要么为0。然而把AL中的这位二进制数转换为十进制数,并且输出,由于AL高7位都为0,所以转换位十进制后,然后要么为1,要么为0,并且与那位二进制数相对应。这样循环做16次,就把整个BX中的二进制数都显示出来。 软件VisulASMSetup汇编程序的上机过程是: 1)打开软件建立新文件并把程序粘贴在文件上点击汇编源程序2)下一步然后再点链接目标码 3)然后点调试程序 4)最后点运行程序

三流程图 N N 开始 初始化循环计数值 BX 循环逻辑左移一个数位 输入一个四位的 十六进制数 >9吗? 转换为十进制 显示二进制数 循环计数器 =0? 结束

1.程序运行结果截图

附录 STACK SEGMENT PARA STACK 'STACK' DW200DUP(0);初始化堆栈大小为 STACK ENDS DATE SEGMENT TRANB DB0DH,0AH,'The transformed binary is:',0DH,0AH,'$' TRAND DB0DH,0AH,'The transformed demical is:',0DH,0AH,'$' RESULT DB5DUP(?),'$' DATE ENDS CODE SEGMENT

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

合肥工业大学 计算机与信息学院 课程设计 课程:微机原理与接口技术设计专业班级:计算机科学与技术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、时间运算子程序设计 该子程序的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟

单片机课程设计之电梯控制系统

微控综合系统课程设计报告 专 班 姓 学 2016 年 12 月 23 日

摘要 本文介绍了一种采用STC15F2K60S2芯片进行电梯控制系统的设计方法,主要阐述如何使用单片机进行编程来实现电子设计的方法,利用单片机编程实现功能,简洁而又多变的设计方法,缩短了研发周期,同时使电梯控制系统体积更小功能更强大。硬件部分主要由单片机的最小模块、电梯内外按钮控制模块、数码管显示楼层模块、发光二极管显示目的楼层模块、报警显示模块组成。软件部分使用kiel软件进行C语言程序编写,用proteus软件进行仿真调试。本设计具有电梯控制系统所需的一些基本功能,能通过方向按键选择方向,能通过数字按键选择楼层,数码管显示实时楼层数,电动机控制部分采用直流电机及H桥驱动电路,使电梯箱能上下运动。硬件设计简单可靠,结合软件,基本实现了五层电梯运行的模拟仿真。 关键词:STC15F2K60S2芯片;电梯控制系统;C语言 Abstract This paper describes the use of a STC15F2K60S2 chip for elevator control system design methods, mainly elaborates how to use microcontroller programming method to realize electronic design, realize the function of the use of single-chip programming, concise and changing the design method shortens the development cycle, at the same time the elevator control system smaller and more powerful. The hardware part is composed of the smallest module of the microcontroller, the internal and external button control module, the digital control display module, the light emitting diode display module and the alarm module. The software part uses the Kiel software to carry on the C language programming, uses the Proteus Software to carry on the simulation debugging. Some of the basic functions of the design of the elevator control system required, canchoose direction key direction through the number keys to select the floor, real-time digital display of the number of floors, the motor control part adopts DC motor and H bridge driving circuit, the elevator box can move up and down. The hardware design is simple and reliable, combined with the software, the basic realization of the five elevator operation simulation. Key words: STC15F2K60S2 chip; elevator control system; C language. 1.引言 随着现代高科技的发展,住房和办公用楼都已经逐渐向高层发展。电梯是高层宾馆、商店、住宅、多层仓库等高层建筑不可缺少的垂直方向的交通运输工具。因此电梯在我们的生活中起着举足轻重的作用。电梯已不仅是一种生产环节中的重要设备,更是一种人们频繁乘用的交通运输设备。由于传统的电梯运行逻辑控制系统采用的是继电器逻辑控制线路。采用这种控制线路,存在易出故障、维护不便、运行寿命较短、占用空间大等缺点。从技术发展来看,这种系统将逐渐被

8086.8088微机原理课程设计

8086/8088微机原理课程设计 1、课程设计说明 “微机原理与接口技术课程设计”主要是测试学生的8086/8088系统输入输出技术应用能力、数字电路应用能力和程序设计能力。 设计题目中综合了《数字逻辑》、《微机原理与接口技术》和《程序设计基础》等课程中的相关知识点。特别是电气工程系各专业学习了《模拟电子》、《传感器技术》、《单片机技术》等课程,给题目的扩展和实际应用提供了基础。本课程的课程设计实际上是一个综合性应用的设计和制作。 这里只给出了部分课程设计的题目,主要和接口电路有关,每个题目的实现方式和扩展空间都很大,指导教师可根据学生的具体情况决定设计题目的内容和设计量。纯汇编语言软件的设计未在这里列出。 欢迎学生自拟题目,经指导教师审核其难易程度和确定所用器材,优先选用。 2、课程设计计分办法 课程设计的计分由课设题目(60)、课设报告(20)、考勤(20)三部分组成。 一、题目的选择 设计题目分为星级制(★),根据选择题目的难易程度确定成绩,以百分制计算,按比例计入总成绩。要根据个人情况合理选择题目,不可多组选择同一题目。 1、无星为最简题目,做完多个题目仅记分为及格(69分及以下)。 2、1星(★)为简单题目,做完1个题目记分为良(70~89分)。 3、2星(★★)为较难题目,做完1个题目记分优(90~100分)。 4、星级题目多做可提高分值。 5、课设一般为分组实施,主要设计者记原星级分值,辅助者减1星。 6.、未完成设计者视设计程度减星计分。 7、无星题目可单人完成,但不选题目者记0分。 二、报告要求 课设报告应按规定格式书写,并按时上交。报告原则上要求手工书写,如要打印必须是独立版本,遇雷同课设报告均不计入总成绩。 三、考勤 考勤。点名一次未到扣5分,5次以上记0分。

微机原理课程设计--电梯控制

目录 一、课设目的 (1) 二、课设内容与要求 (1) 三、电梯设计的具体实现 (1) (一)电梯的工作方式 (1) (二)总体设计思路 (2) (三)系统硬件电路设计 (3) 1、设计结构 (3) 2、模块分析 (3) 3、画出响应的电路图 (4) (四)软件设计 (4) 1.主要设计模块要求 (5) 2.程序流程图 (5) (1)主程序框图. (5) (2)中断服务程序框图 (6) (3)电梯算法流程图 (7) 四、实现程序 (11) 五、设计体会 (19) 六、附录 (20) 七、参考资料 (21)

一、课设目的 1.学会用微机原理; 2.掌握计算机对输入信号检测和输出控制的基本方法; 3.掌握常用按钮、发光二极管的使用方法。 4.提高学生的动手能力,达到理论和实践紧密结合。 二、课设内容与要求 1. 课设内容 首先了解电梯运行规律,我们结合实际假设电梯的几种运行情况: (1)若当前电梯停在某层(七段码显示相应楼层,7个LED 全灭)。键入1~9数字键,如键入的数字与当前电梯停层同,则不产生动作;若不同则相应楼层的LED亮;如再按运行键,则电梯自动判别上升或下降(在运行过程中七段码显示楼层变化)一直到达希望停的楼层(七段码显示该楼层,相应LED亮); (2)若当前电梯正在上升或下降运行中(此时七段码显示楼层变化,LED指示希望抵达的楼层);若键入新的希望停的楼层数字(相应的LED亮),则对同方向(上升或下降)未到的楼层能停,对其它情况则先停原来按下的楼层,然后按运行键后继续运行)。有如下几种情况: 电梯当前在3层,向上运行,LED 指示希望在5层停,此时若键入3,则电梯将在5楼停(同方向),若再按运行键,则继续运行至7层停; 键入的不是5而是7,则电梯将先停在7层,再按运行键,运行至7层停; 键入的不是7(或5),而是1,则电梯先停在7层(先达同方向楼层)。再按运行键,运行至1层停。 2.连接线路 并行接口电路选择8255芯片,七段数码管、LED 指示灯连接线路由学生自己设计,可 参考实验指导书的相关内容。楼层数字键和运行按钮都可由PC机键盘代替 3.编写程序 4.调试程序。汇编、连接后执行程序,观察电梯运行情况。

微机原理步进电机控制课程设计报告

河北科技大学 课程设计报告学生姓名:学号: 专业班级: 课程名称: 学年学期: 2 0 —2 0 学年第学期指导教师: 2 0 年月 课程设计成绩评定表

目录 一、设计题目………………………………………………………………. 二、设计目的………………………………………………………………. 三、设计原理及方案………………………………………………………. 四、实现方法………………………………………………………………. 五、实施结果………………………………………………………………. 六、改进意见及建议……………………………………………………….

七、设计体会………………………………………………………………. 、 一、设计题目 编程实现步进电机的控制 二、设计目的 1.了解步进电机控制的基本原理 2.掌握控制步进电机转动的编程方法 3.了解8086控制外部设备的常用电路 4.掌握8255的使用方法 三、设计原理及方案 设计原理 步进电机驱动原理是通过对每相线圈中的电流的顺序切换(实验中的步进电机有四相线圈,每次有二相线圈有电流,有电流的相顺序变化),来使电机作步进式旋转。 驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。 利用 8255对四相步进电机进行控制。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A…),双(双相绕组通电)四拍(AB-BC-CD-DA-AB…),八拍(A-AB-B-BC-C-CD-D-DA-A…)等。 通过编程对8255的输出进行控制,使输出按照相序表给驱动电路供电,则步进电机的输入也和相序表一致,这样步进电机就可以正向转动或反向转动。 硬件连接图 四.实现方法 .步进电机控制程序流图

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