东华大学微机课程设计

东华大学微机课程设计
东华大学微机课程设计

图形的移动旋转可以分几步进行:(1)先在屏幕上显示某个图形(自定义图形);(2)延时适当时间(3)清除这个图形;(4)改变图形显示的行列坐标及倾角(5)返回第(1)步,重复上述过程。按下回车结束。可自定义上、下、左、右移动键及顺时针、逆时针旋转键,还可以直接给出移动坐标、旋转角等。

;includeMyMacro.h

;*****************************宏文件包含*********************************

; MyMacro.inc - macro definitions defined by for easy input/output

; written date : 2014/1/5

; ——————声明——————

;以下创建一些程序中经常用到的功能的宏,其中一部分引用EMU8086环境内置宏文件emu8086.inc或

;经本人修改后完成。为了省掉链接过程,这里将该部分不另存为一个文件,而是直接包含在此。

;*********************输出字符串******************

; this macro prints a string that is given as a parameter, example:

; PRINT 'hello world!'

; new line is NOT added.

PRINT MACRO sdat

LOCAL next_char, s_dcl, printed, skip_dcl

PUSH AX ; store registers...

PUSH SI ;

PUSH BX

JMP skip_dcl ; skip declaration.

s_dcl DB sdat, 0

skip_dcl:

LEA SI, s_dcl

MOV BX,3

next_char:

MOV AL, CS:[SI]

CMP AL, 0

JZ printed

INC SI

MOV AH, 0Eh ; teletype function.

INT 10h

JMP next_char

printed:

POP BX

POP SI ; re-store registers...

POP AX ;

ENDM

;************************************************

; position:

GOTOXY MACRO col, row

PUSH AX

PUSH BX

PUSH DX

MOV AH, 02h

MOV DH, row

MOV DL, col

MOV BH, 0

INT 10h

POP DX

POP BX

POP AX

ENDM

;************************************************

;******************单字符的输出******************* ; this macro prints a char in AL and advances

; the current cursor position:

PUTC MACRO char

PUSH AX

PUSH BX

MOV BX,01

MOV AL, char

MOV AH, 0Eh

INT 10h

POP BX

POP AX

ENDM

;************************************************

;*********************清屏函数****************** ; this macro defines procedure to clear the screen,

; (done by scrolling entire screen window),

; and set cursor position to top of it:

DEFINE_CLEAR_SCREEN MACRO

LOCAL skip_proc_clear_screen

; protect from wrong definition location:

JMP skip_proc_clear_screen

CLEAR_SCREEN PROC NEAR

PUSH AX ; store registers...

PUSH DS ;

PUSH BX ;

MOV AX, 40h

MOV DS, AX ; for getting screen parameters.

MOV AH, 06h ; scroll up function id.

MOV AL, 0 ; scroll all lines!

MOV BH, 10H ; attribute for new lines.

MOV CH, 0 ; upper row.

MOV CL, 0 ; upper col.

MOV DI, 84h ; rows on screen -1,

MOV DH, [DI] ; lower row (byte).

MOV DI, 4Ah ; columns on screen,

MOV DL, [DI]

DEC DL ; lower col.

INT 10h

; set cursor position to top

; of the screen:

MOV BH, 0 ; current page.

MOV DL, 0 ; col.

MOV DH, 0 ; row.

MOV AH, 02

INT 10h

POP DI ; re-store registers...

POP CX ;

POP BX ;

POP DS ;

POP AX ;

RET

CLEAR_SCREEN ENDP

skip_proc_clear_screen:

DEFINE_CLEAR_SCREEN ENDM

;*************************************************************************

;************************************************************************* data segment

flag dw 0 ;临时标志位

tempchardb 0,0,0

tendb 10

ten1dw 10

bufferdb 5,?,5 dup(0) ;用于AH=0AH, INT 21H功能的缓冲区,存放输入数据

x1dw ?

y1dw ?

x2dw ?

y2dw ?

diffx2dw ?

diffy2dw ?

incxdw ?

incydw ?

;用于计算旋转角度的三角函数表

cosdxdw 100,97,87,71,49,24,0,-24,-49,-71,-87,-97,-100,-97,-87,-71,-49,-24,0,24,49,71,87,97 sindxdw 0,-24,-49,-71,-87,-97,-100,-97,-87,-71,-49,-24,0,24,49,71,87,97,100,97,87,71,49,24 data ends

stack segment

dw 128 dup(0) ;堆栈,主要用于保护现场和函数参数传递

stack ends

codes segment

assumecs:codes,ds:data,ss:stack

;***************正式程序段**********************

start:

DEFINE_CLEAR_SCREEN

mov ax, data

mov ds, ax ;数据段和附加段同段

moves, ax

mov al,12h ;设置图形模式640*480*16S

mov ah,0

int 10h

mov ah,0bh ;设置背景色

mov bh,0

mov bl,7ch

int 10h

GOTOXY 38,0 ;设置光标位置

PUTC 02

PUTC 02

PUTC 02

GOTOXY 8,1

PRINT '|-_-------------------------WELCOME-----------------------------_-|'

GOTOXY 8,2

PRINT '| Move or rotate the figure as the following tips |'

GOTOXY 8,3

PRINT '| Up(W) | Rotate |' GOTOXY 8,4

PRINT '| Left(S) Right(D) | Counterclockwise(J) Clockwise(K)|'

GOTOXY 8,5

PRINT '| Down(S) | |'

GOTOXY 8,7

PRINT '| You can enter the setting mode when you input 'i',then you |'

GOTOXY 8,8

PRINT '| can set the parameters each time with a 'enter' key ended. |'

GOTOXY 8,9

PRINT '| |'

GOTOXY 8,10

PRINT '|-_-------- ALL RIGHTS RESERVED----------_-|'

GOTOXY 2,11

PRINT 'PRESS ANYKEY TO SHOW THE FIGURE...(YOU CAN EXIT ANYTIME WHEN YOU INPUT ENTER.)' GOTOXY 5,5

mov si,200

mov di,200

mov ah,8

int 21h

xorbx,bx

jmppress_w

get_key:

mov ah,8 ;识别按键,进入对应的处理过程

int 21h

cmpal,'w'

jepress_w

cmpal,'s'

jepress_s

cmpal,'a'

jepress_a

cmpal,'d'

jepress_d

cmpal,'j'

jepress_j

cmpal,'k'

jepress_k

cmp al,27

cmpal,'i'

jepress_i

cmp al,0dh

je quit_

jmpget_key

; jepress_esc

quit_: ;按回车键退出系统时设置提示符确认,防止误操作退出系统GOTOXY 4,8

PRINT 'Do you want to exit? '

GOTOXY 4,9

PRINT 'Input y to exit, and input n to cancel...'

chooseexit:

mov ah,8

jeexit_system

cmpal,'n'

jecancel_exit

jmpchooseexit

cancel_exit:

callshow_figure

jmpget_key

exit_system:

mov ax, 4c00h ;程序返回操作系统

int 21h

;*************上下左右平移和旋转操作************** press_w:

dec di

call judge_range ;移动图形之前,先判断是否移出界movax,flag

cmp ax,1

jnzgo_w

callshow_figure

jmpget_key

go_w:

inc di

jmpget_key

press_s:

inc di

calljudge_range

movax,flag

cmp ax,1

jnzgo_s

callshow_figure

jmpget_key

go_s:

dec di

jmpget_key

press_a:

decsi

calljudge_range

movax,flag

cmp ax,1

jnzgo_a

callshow_figure

jmpget_key

go_a:

incsi

press_d:

incsi

calljudge_range

movax,flag

cmp ax,1

jnzgo_d

callshow_figure

jmpget_key

go_d:

decsi

jmpget_key

press_j:

cmp bx,44

jnarotateback

mov bx,-2

rotateback:

incbx ;BX自增2,寻址三角函数表incbx

calljudge_range

movax,flag

cmp ax,1

jnzgo_j

callshow_figure

jmpget_key

go_j:

decbx

decbx

jmpget_key

press_k:

cmp bx,2

jnl rotateback1

mov bx,48

rotateback1:

decbx

decbx

calljudge_range

movax,flag

cmp ax,1

jnzgo_k

callshow_figure

jmpget_key

go_k:

incbx

incbx

;*******************交互输入参数值******************* press_i:

pushbx

push di

pushsi

GOTOXY 60,2 ;用':'指示对应位置的输入

PRINT ': '

calldata_input

cmp ax,000fh ;键入'o'代表退出参数设定模式

jnz goon1

pop si ;输入有误,恢复表征坐标和角度的寄存器值pop di

popbx

callshow_figure

jmpget_key

goon1:

addsi,ax

calljudge_range

movax,flag

cmp ax,1

jzninputx_error

popsi

pop di

popbx

jmpinput_error

ninputx_error:

GOTOXY 60,3

PRINT ': '

calldata_input

adddi,ax

calljudge_range

movax,flag

cmp ax,1

jzninputy_error

popsi

pop di

popbx

jmpinput_error

ninputy_error:

GOTOXY 60,4

PRINT ': '

calldata_input

shl ax,1

jl judgebx1

call_judge:

calljudge_range

movax,flag

cmp ax,1

jzninputa_error

popsi

pop di

popbx

jmpinput_error

judgebx:

sub bx,48

cmp bx,46

jgjudgebx

jmpcall_judge

judgebx1:

add bx,48

cmp bx,0

jl judgebx1

jmpcall_judge

ninputa_error: ;输入无误,清楚入栈内容,防止占用空间pop cx

pop cx

pop cx

callshow_figure

jmpget_key

;**********************************************

;*****************数据输入函数*****************

data_inputproc

pushbx

push cx

push dx

leadx,buffer

mov ah,0Ah

int 21h

mov ax,0

xorcx,cx

mov cl,buffer+1 ;系统自动载入,实际字符个数(不包括return) lea bx,buffer+2

cmp [bx],'-'

jz data_next1 ;判断输入的是否为负数

data_next:

adc ah,0

incbx

loopdata_next

jmpdatainput_exit

data_next1:

dec cl

incbx

data_next2:

mul ten1 ;输入代表负数,将输入数据求补后放在AX中

mov dl,[bx]

and dl,0fh

addal,dl

adc ah,0

incbx

loop data_next2

neg ax

datainput_exit:

mov cl,0 ;及时清空缓存区

mov buffer+1,cl

mov buffer+2,cl

mov buffer+3,cl

mov buffer+4,cl

mov buffer+5,cl

mov buffer+6,cl

pop dx

pop cx

popbx

ret

data_inputendp

;**********************************************

;***************输入错误提示*******************

input_error:

callshow_figure

GOTOXY 7,5

PRINT 'Input error,try again...(You can input 'o' to exit the setting mode)' jmppress_i

;**********************************************

;************判断坐标点是否越界的函数******************

judge_rangeproc

push dx

push ax

pushsi

add dx,100

cmp dx,20

jngnshow_exit ;注意是用有符号数比较cmp dx,620

jnlnshow_exit

movdx,di

add dx,100

cmp dx,100

jngnshow_exit

cmp dx,470

jnlnshow_exit

;判断第2个顶点是否出界

movdx,si

mov ax,[bx+cosdx]

add ax,100

adddx,ax

cmp dx,20

jngnshow_exit

cmp dx,620

jnlnshow_exit

movdx,di

mov ax,[bx+sindx]

add ax,100

adddx,ax

cmp dx,100

jngnshow_exit

cmp dx,470

jnlnshow_exit

;判断第3个顶点是否出界

movdx,si

mov ax,[bx+sindx]

neg ax

add ax,100

adddx,ax

cmp dx,20

jngnshow_exit

cmp dx,620

jnlnshow_exit

movdx,di

mov ax,[bx+cosdx]

add ax,100

adddx,ax

cmp dx,100

jngnshow_exit

cmp dx,470

movflag,ax ;flag作为坐标点是否出界的标志

pop di

popsi

pop ax

pop dx

ret

nshow_exit:

mov ax,0

movflag,ax ;flag为0代表出界,为1代表不出界pop di

popsi

pop ax

pop dx

ret

judge_rangeendp

;*****************************************************

;**********************描点函数*********************** draw_pointproc

push ax

pushbx

push cx

push dx

mov ah,0ch

xorbx,bx

movcx,si

movdx,di

mov al,01h ;LINE ATTRIBUTE

int 10h ;画像素点

pop dx

pop cx

popbx

pop ax

ret

draw_pointendp

;****************************************************

;*************Bresenham算法画直线******************** draw_lineproc

push si ;现场保护

push di

push ax

pushbx

push cx

mov si,x1 ;画线起点

cmp ax,y1

jzdraw_horline

mov ax,x2

cmp ax,x1

jzdraw_verline

sub ax,x1

jnc next1

mov incx,-1

neg ax

next1:

movdiffx,ax ;得到X方向的长度

mov ax,y2

sub ax,y1

jnc next2

mov incy,-1 ;incy和incx为1或-1决定了画线的方向neg ax

next2:

movdiffy,ax ;得到Y方向的长度

shl ax,1

mov diffy2,ax ;得到2倍的diffx和diffy

movax,diffx

shl ax,1

mov diffx2,ax

shr ax,1

cmpax,diffy

jbdxbdy

jzdxedy

;以X轴步进加1画线

movcx,diffx

mov ax,diffy2

subax,diffx

drawlop1:

cmp ax,0

jl errorl0

sub ax,diffx2 ;误差累积

adddi,incy

errorl0:

add ax,diffy2

addsi,incx

calldraw_point

loop drawlop1

jmpdrawline_exit

;以Y轴步进加1画线

cmp ax,0

jl errorl0_

sub ax,diffy2 ;误差累积addsi,incx

errorl0_:

add ax,diffx2

adddi,incy

calldraw_point

loop drawlop2

jmpdrawline_exit

dxedy:

movcx,diffy

drawlop5:

addsi,incx

adddi,incy

calldraw_point

loop drawlop5

jmpdrawline_exit

;画水平线

draw_horline:

mov ax,x2

sub ax,x1

ja next4

mov incx,-1

neg ax

next4:

movcx,ax

drawlop4:

addsi,incx

calldraw_point

loop drawlop4

jmpdrawline_exit

;画垂直线

draw_verline:

mov ax,y2

sub ax,y1

ja next3

mov incy,-1

neg ax

next3:

movcx,ax

drawlop3:

loop drawlop3

jmpdrawline_exit

;退出画线函数

drawline_exit:

pop cx

popbx

pop ax

pop di

popsi

ret

draw_lineendp

;***************************************************

;******************显示图像函数********************* show_figureproc

;显示自定义图形,这里显示等腰直接三角形

call CLEAR_SCREEN

;第1条线

callshow_back

mov x1,si

add x1,100

mov y1,di

add y1,100

mov x2,si

mov ax,[bx+cosdx]

add ax,100

add x2,ax

mov y2,di

mov ax,[bx+sindx]

add ax,100

add y2,ax

calldraw_line

;第2条线

mov x1,si

add x1,100

mov y1,di

add y1,100

mov x2,si

mov ax,[bx+sindx]

neg ax

add ax,100

add x2,ax

mov y2,di

mov ax,[bx+cosdx]

add ax,100

;第3条线

mov x1,si

mov ax,[bx+sindx]

neg ax

add ax,100

add x1,ax

mov y1,di

mov ax,[bx+cosdx]

add ax,100

add y1,ax

mov x2,si

mov ax,[bx+cosdx]

add ax,100

add x2,ax

mov y2,di

mov ax,[bx+sindx]

add ax,100

add y2,ax

calldraw_line

ret

show_figureendp

;*************************************************

;************************************************* show_backproc

push ax

;画一个边框

mov ax,20

mov x1,ax

mov ax,100

mov y1,ax

mov ax,620

mov x2,ax

mov ax,100

mov y2,ax

calldraw_line

mov ax,620

mov x1,ax

mov ax,470

mov y1,ax

calldraw_line

mov ax,20

mov x2,ax

mov ax,470

mov y2,ax

mov x1,ax

mov ax,100

mov y1,ax

calldraw_line

;显示设置参数信息

GOTOXY 5,0

PRINT '* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *'

GOTOXY 5,1

PRINT '* Location and angle Settings *' GOTOXY 5,2

PRINT '* Input the increment value on the x-axis *'

GOTOXY 5,3

PRINT '* Input the increment value on the y-axis *' GOTOXY 5,4

PRINT '* Input the rotating angle(integer times of 15 degree) *'

pop ax

ret

show_backendp

;*************************************************

codes ends ;结束

end start

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

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),

微机原理课程设计报告

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

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

微机原理实验报告

西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。编程并显示结果: 如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子

程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H = xxxxxxxxH 四、实验代码及结果 1.1、实验代码: DATA SEGMENT SZ DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H;存进数组 SHOW DB 'THE MAX IS: ','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;把数据的基地址赋给DS MOV DS,AX MOV DX,OFFSET SHOW ;调用DOS显示字符串 MOV AH,09H INT 21H MOV SI ,OFFSET SZ ;数组的偏移地址赋给SI MOV CX,10 ;存进数组的长度给CX MOV DH,80H ;将数组的第一个数写进DH NEXT: MOV BL,[SI] ;将数组的第一个数写进BL CMP DH,BL ;比较DH和BL中数的到校 JAE NEXT1 ;如果DH中的数大于BL中,将跳转到NEXT1 MOV DH,BL ;如果DH中的数小于BL中,将BL中的数赋给DH NEXT1: INC SI ;偏移地址加1 LOOP NEXT;循环,CX自减一直到0,DH中存数组的最大值 ;接下来的程序是将将最大值DH在屏幕上显示输出 MOV BX,02H NEXT2: MOV CL,4 ROL DH,CL ;将DH循环右移四位

东华大学线性VF转换课程设计报告材料2014

东华大学 线性V/F转换课程设计报告 信息科学与技术学院

目录 一、设计概述 (1) 二、设计任务及要求 (2) (1)设计任务 (2) (2)性能指标要求 (2) 三、设计方案选择 (2) 1.方案一及框图 (3) 2.方案二及框图 (3) 3.方案原理优缺点比较 (4) 四、设计思路 (4) 1、输入信号:电源分压电路 (5) 2、阻抗变换:电压跟随器 (5) 3、基准源 (6) 4、积分电路 (6) 5、脉冲输出电路 (7) 6、开关电路 (8) 7、总电路图 (9) 五、计算机仿真 (10) 六、实际组装与调试 (11) 1.电路器件表 (11) 2.总输出波形 (12) 3.实际连接电路 (13) 4.组装和调试过程 (13) 七、数据分析及改进 (14) (1)数据处理 (14) (2)数据分析 (14) (3)根据数据分析所得改进方法 (15) 八、心得与体会 (16) 九、参考文献 (17) 十、附录 (17) 一、各器件引脚图 (17) 二、手绘电路图 (17)

一、设计概述 线性V/F转换器是压控振荡器中完成外加电压和输出频率线性变换的部分。通过本次课程设计,应在了解线性V/F转换器设计原理及构成的基础上,利用集成运算放大器、积分电路以及脉冲电路等构成整个小系统,通过改变输入电压,实现对信号输入频率的线性变换。 二、设计任务及要求 (1)设计任务 选取基本集成放大器LF353、555定时器、三极管、电阻、电容和稳压管等元件,设计并制作一个简易线性V/F转换器。首先在multism仿真软件上进行电路设计和原理仿真,选取合适电阻参数,通过输出波形的频率测试线性V/F转换器的运行情况。其次在硬件设计平台上搭建电路,并进行调试,通过示波器观测电路的实际输出波形。最后将电路实际输出波形与理论分析和仿真结果进行比较,分析产生误差的原因并提出改进方法。 (2)性能指标要求 ●电源电压:±12V ; ●输入信号:直流信号0 ~10V可变; ●输出信号:频率为0~10kHz对应; ●精度:误差小于±30Hz; ●波形要求:脉冲宽度20~40μs、0 ~10V矩形波。

武科大微机原理课程设计

一、设计题目 键控数据采集及数值显示电路设计 二、设计任务 按不同的数字键(0、1、2、3、4、5、6、7)采集0809相应数据通道的模拟量,并在LED 数码管上显示值。设定输入模拟量在0—5V范围内,显示值在0—255范围内。 三、设计要求 1.画出连接线路图或功能模块引脚连接图。 2.采用8088CPU作主控制器,0809作A/D转换器,采用直接地址译码方法,给各芯片分配地址,选取芯片中必须包含有8255。 3.采用3个共阴极型LED动态显示,只需显示0—255范围内的值。 四、设计思想及需要用的主要芯片 1、设计思想 首先通过编程对8255初始化,然后通过8255对ADC0809转换器初始化,通过0~7号按键(在这里0~7号按键用开关实现,有按键的过程中会有抖动,所以需要加入一个74LS244芯片,用于缓冲),经8088微处理器处理后选择ADC0809的模拟通道,将0~5V内的模拟量通过选择的模拟通道传递给模数转换器,通过转换器把模拟量转换为0~255之间的数字量,将数字量通过可编程并行接口8255(在这里端口A作为数据输入端,端口B作为数据输出端,端口C作为控制端),送给LED数码管显示。 2.主要芯片及其功能 ADC0809与系统的接口包括两个输出口和一个输入口,第一个输出口用于控制芯片内部的模拟通道选择,CPU输出的通道地址从ADC0809的引脚ADDA、ADDB、ADDC输入,并利用ALE信号触发锁存;第二个输出口是哑元,用以触发ADC0809的引脚START启动转换。当转换结束后,ADC0809的引脚EOC会产生一个高电平的状态信号,该信号用于检测,也可用于申请中断。随后,CPU可以从ADC0809的引脚D0-D7输入转换后的数据。其芯片引脚图如下 8255是并行通信接口芯片,其基本功能是以并行的方式在系统总线与I/O设备之间传送

微机实验报告(1)

《微机实验》报告 实验名称 KeilC的使用与汇编语言上机操作 指导教师刘小英 专业班级中法1201 姓名肖洋学号 U3 联系电话 一、任务要求 1.掌握KeilC环境的使用 1)字节拆分、合并:调试程序,观察相关寄存器和单元的内容。 2)数据块填充:调试程序,观察相关寄存器和单元的内容。 2. 编写两个十六位数的加法程序。 有两个十六位无符号数,分别存放在从20H和30H开始的数据区中,低八位先存,高八 位在后,和存于R3(高八位)和R4(低八位),进位位存于R2。 二、设计思路 1.字节拆分、合并程序:利用汇编语言中的 XCHD 和 SWAP 两个语句来实现将八位二进制 数拆分为两个四位二进制数并分别存储于不同的存储空间的功能,BCD 码与 30H 相或(加 上 30H)得到 ASCII 码。将两个 ASCII 码和 0FH 相与(高四位清零)得到 BCD 码,利 用 SWAP 语句将高位数放至高四位,将高位数和低位数相或可实现字节的合并。 2.数据块填充程序:将 R0 用作计数器,DPTR 用作片外数据指针,A 作为原始数据来源, 依顺序在片外的存储单元内容填充数据。利用循环语句来减少程序长度,并控制填充单 元个数为片外 100H 个。(通过 R0 的进位控制) 3.两个十六位数加法程序:把第一个十六位无符号数的地八位和高八位分别存于 20H 和 21H 中,把第二个十六位无符号数的地八位和高八位分别存于 30H 和 31H 中,对 20H 和 30H 中的两个低八位进行 ADD 加法操作,结果存于 R4 中;然后对 21H 和 31H 中的两 个高八位进行 ADDC 带进位的加法操作,结果存于 R3 中.然后将累加器 A 清零,并和#00H

东华大学操作系统存储管理实验报告

东华大学计算机学院 操作系统实验报告 实验名称:存储管理问题 姓名:姜元杰 学号:111310228 班级:计算机1102 指导老师:李继云 报告日期:2013/11/2

一、实验概述 1.实验目标 存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式存储管理中页 面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式管理的 页面置换算法。 2.实验要求 1)通过随机数产生一个指令序列,共320条指令,指令的地址按下述 原则生成: ●50%的指令是顺序执行的; ●25%的指令是均匀分布在前地址部分。 ●25%的指令是均匀分布在后地址部分。 2)将指令序列变换成页地址流 ●页面大小= 10条指令 ●4页<=用户内存容量<=32页; ●用户虚存容量= 32页; ●在用户虚存中,按每K存放10条指令排列虚存地址 3)计算并输出下述各种算法在不同内存容量下的命中率。 ●先进先出的算法(FIFO); ●最近最少使用算法(LRU); ●最佳淘汰算法(OPT); ●命中率=1-页面失效次数/页地址流长度; 输出以表结构输出,行头是页码,列头是对应替换算法。在本实验 中,页地址流长度为320,页面失效次数为每次访问相应指令时,该 指令所对应的页不在内存的次数。

二、实验内容 1.设计思路 总体思路: 设计存储管理类(class StorageManagemen),封装FIFO,LRU,OPT算法实现函 数与各自所需公共或个体数据机构和公共代码部分,实现“TOP-DOWN”的程序设 计思想,增强代码结构性和可读性。 1)先进先出的算法(FIFO):FIFO是最简单的页置换算法,FIFO的页置 换的算法为每个页记录着该页调入内存的时间。当必须置换一页时,将 选择最旧的页。注意并不需要记录调入一页的确切时间,可以创建一个 FIFO队列来管理内存中的所有页。队列中的首页将被置换。当需要调入 页时,将它加入到队列的尾部。FIFO的页置换算法很好理解和实现,但 是,其性能并不是很好。所替代的页可能是很久以前使用的、现已不再 使用的初始化模块,另一方面,所替代的页可能包含一个以前初始化的 并且不断使用的常用变量。 2)最近最少使用算法(LRU):选择最近最长时间未访问过的页面予以淘 汰,默认过去一段时间内未访问过的页面,在最近的将来可能也不会被 访问。本实验实现算法通过为每个页面设置一个访问字段,用来记录页 面自上次被访问以来所经历的时间,淘汰页面时选择现有页面中值最大 的予以淘汰。尽管各类参考书声明LRU算法为堆栈类算法,但本实验通 过优先队列完全可以实现。 3)最佳淘汰算法(OPT):最佳置换算法所选择的被淘汰页面将是以后永不 使用,或者是在最长时间内不再被访问的页面,这样可以保证获得最低 的缺页率。本实验实现算法通过为每个页面设置一个CPU使用“间隔” ——即表示CPU将在未处理的页面序列中第几步处理到该页面,如果页 面不再被CPU处理,赋值为极大值(INT_MAX),淘汰页面时选择现有 页面中值最大的予以淘汰。本实验同LRU一样,通过优先队列实现。2.主要数据结构

微机原理与接口技术-键盘LED显示【课程设计报告】

微机原理与接口技术-键盘LED 显示【课程设计报告】

重庆大学 课程设计报告 课程名称:微机原理与接口技术 设计题目:键盘LED显示 院系:电气信息学院 班级:2007级 设计时间:2009年12月

第一章概述 (2) 1.1学习目的 (2) 1.2 计算机的应用 (3) 1.3学习计算机的意义 (3) 1.4课程设计目的 (4) 第二章总体方案设计 (4) 2.1 设计注意问题 (4) 2.2 总体思路 (5) 第三章硬件设计 (5) 3.1 8255工作原理 (5) 3.2 键盘工作原理 (7) 3.3 键特征值的形成 (8) 3.4段值的形成 (9) 3.5 8255接线图 (11) 第四章软件设计 (12) 4.1 8255初始化 (12) 4.2 键盘扫描的处理方法 (12) 4.2.1. 判断是否有键被按下的方法 (12) 4.2.2. 判断是否有键被按下的源程序 (13) 4.2.3 防抖动 (13) 4.2.4.防抖动的延时子程序 (14)

4.3 程序核心部分 (14) 4.3.1 逐行扫描 (14) 4.3.2逐行扫描的源程序 (15) 第五章源程序代码 (15) 5.1 根据整体思路以及软件设计得到的代码. 15 5.2 以上代码存在问题分析 (19) 第六章难点分析 (20) 第七章体会感慨建议 (25) 第八章参考文献 (26) 第一章概述 1.1学习目的 “微机原理与接口技术”是电气工程及其自动化专业的一门重要

的专业基础课程。我们通过该门课的学习,知道了微机的工作原理,微型计算机的基本结构,接口技术及汇编语言程序设计,为后续的课程的学习和今后的工作打下坚实的基础。通过实验可以培养学生利用计算机技术和编程手段分析,解决专业领域的各种问题的能力和意识,并进一步感受微机发展的微机发展的新技术和新方法。 1.2 计算机的应用 目前计算机的应用已经遍布各个行业,如科学计算、数据处理、过程控制、人工智能、网络应用等。 科学和工程计算:科学和工程计算的特点是计算量大,而逻辑关系相对简单,它是计算机重要应用领域之一。 数据和信息处理:数据处理是指对数据的收集、存储、加工、分析和传送的全过程。这些数据处理应用的特点是数据量很大,但计算相对简单。多媒体技术的发展,为数据处理增加了新鲜内容,都涉及更广泛的数据类型,这些数据处理过程不仅数据量大,而且还会带来大量的运算和复杂的运算过程。 过程控制:过程控制是生产自动化的重要技术内容和手段,它是由计算机对所采集到的数据按一定方法经过计算,然后输出到指定执行机构去控制生产的过程。 人工智能:人们把计算机模拟人脑力劳动的过程成为人工智能。人工智能是利用计算机来模拟人的思维过程,并利用计算机程序来实现这些过程。 1.3学习计算机的意义 电子计算机是一种能自动高速地进行大量运算的电子机器。电子计算机的出现和发展,是科学技术和生产力的卓越成就之一,反过来,它也极大地促进了科学技术和生产力的发展。

微机原理实验指导书-硬件部分(2015)

微机原理实验指导书硬件实验部分 东华大学信息学院 信息与控制实验中心 2015.12

关于微机原理硬件部分实验的说明 ●硬件实验主要分为基础实验和综合设计实验两部分。 基础实验部分每个实验需完成各自的实验报告。报告内容以每项实验的思考题内容为主,不需要抄录实验指导书提供的范例程序。报告内容具体要求为: 1、实验名称、所需设备、实验要求; 2、实验步骤简述 3、思考题解答; 4、有关思考题的程序的流程框图及源程序代码,源程序 需加上必要的注释; 5、思考题的程序在调试中出现的问题及解决过程。 综合设计实验须按照设计要求,利用实验设备提供的软硬件条件设计一个简单的红绿灯模拟系统。要求每小组完成硬件连线设计、连接,软件编程及调试,并提交相关的设计和调试报告。系统运行情况需进行实际运行检查。 ●基础实验必须完成,综合实验部分根据自身能力选做。 ●实验中先完成基础实验部分,再做综合设计实验。 ●硬件实验成绩按考勤情况(5%)、基本实验情况(85%)和综合设 计实验情况(10%)综合评定。

一、实验设备及软件介绍 第1部分硬件系统介绍 1. CPU单元及外围芯片 1)、微处理器:8086 2)、时钟频率:6MHz 3)、存储器 6264 系统RAM,地址范围 0~3FFFH,奇地址有效 6264 系统RAM,地址范围0~3FFFH,偶地址有效 27C64 系统ROM,地址范围 FC000~FFFFFH,奇地址有效 27C256 系统ROM,地址范围 FC000~FFFFFH,偶地址有效4)、可提供的对8086的基本实验 (1).简单I/O扩展实验 (2).存储器扩展实验 (3).CPLD地址译码实验 (4).8255可编程并口实验 (5).8253定时/计数器实验 (6).A/D0809实验 (7).D/A0832实验 (8).8250可编程串口实验 (9).8279显示器接口实验 (10).8279键盘扩展实验 (11).8259可编程中断控制器实验 (12).8237DMA控制器实验 5)、系统资源分配 本系统采用可编程逻辑器件(CPLD)EPM7128做地址的编译码工作,可通过芯片的JTAG接口与PC机相连,对芯片进行编程,可完成系统器件,如监控程序 存储器、用户程序存储器、数据存储器、系统显示控制器、系统串行通讯控制器 等的地址译码功能,同时也由部分地址单元经译码后输出(插孔CS0---CS5)给 用户使用,他们的地址固定,用户不可改变。

微机原理与接口技术 课程设计

摘要 霓虹灯主要是通过8255A对LED亮灭状态的控制,和8254定时/计数器的定时功能实现霓虹灯闪烁控制系统,外设是红、绿、黄三种颜色的发光二极管,在程序自动控制下,按照不同规律闪烁同时由数码管显示相应的闪烁方式。 关键字: 8255A 8254 LED 数码管

一、设计的任务和要求 设计霓虹灯闪烁控制系统,是外设的红、绿、黄三种颜色的发光二极管,在开关的控制下或者在程序自动控制下,按照不同规律闪烁。 要求发光二极管的亮、灭变化有一定的规律;发光二极管变化规律要求有多种状态。 二、设计小组成员及分工 本次课设由冀任共同完成,在课设中遇到的问题四个人共同思考解决。 三、总体设计 1、8254用于定时:定时/计数器0与定时器/计数器1共同构成100ms的定时器,确定执行相邻闪烁方式的间隔时间。 2.8255A用于控制LED的状态和数码管显示:PA0接8254的输出,B口接数码管,显示对应的闪烁方式,C口输出控制LED的状态。 3、六种闪烁方式: 方式1:从左向右依次点亮8个LED灯,数码管显示1 方式2:从右向左依次点亮8个LED灯,数码管显示2 方式3:从左向右依次点亮4个的红灯、2个黄灯和2个绿灯,数码管显示3 方式4:从左向右两个两个的点亮8个LED灯,数码管显示4 方式5:从两边向中间依次点亮8个LED灯,数码管显示5 方式6:按红、绿、黄顺序点亮相同颜色的灯,数码管显示6 1、芯片介绍 (1)芯片8255A 8255A是具有3个8位并行I/O口3种工作方式的可编程并行接口芯片。8255共有40个引脚,采用双列直插式封装。

D0--D7:三态双向数据线,与单片机数据总线连接,用来传送数据信息。 CS:片选信号线,低电平有效,表示芯片被选中。 RD:读出信号线,低电平有效,控制数据的读出。 WR:写入信号线,低电平有效,控制数据的写入。 Vcc:+5V电源。 PA0--PA7:A口输入/输出线。 PB0--PB7:B口输入/输出线。 PC0--PC7:C口输入/输出线。 RESET:复位信号线。 A1、A0:地址线,用来选择8255内部端口。 GND:地线。 三种工作状态: 1) 工作方式 0 :这是 8255A 中各端口的基本输入 / 输出方式。它只完成简单的并行输入 / 输出操作, CPU 可从指定端口输入信息,也可向指定端口输出信息,如果三个端口均处于工作方式 0 ,则可由工作方式控制字定义 16 种工作方式的组合。

微机实验报告

微机实验报告 标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

第一次实验 实验01 I/O端口地址译码实验 一、实验目的 掌握I/O地址译码电路的工作原理。 二、实验原理 1、实验电路如原理图所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址”输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,…… 当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,290H OUT DX,AL(或IN AL,DX) Y2输出一个负脉冲,执行下面两条指令: MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲。 (II型机) 2. 接线 II型机: I/O 地址/Y2(290H---297H) 接 D 触发器/CLK I/O 地址/Y4(2A0H---2A7H) 接 D 触发器/CD D 触发器/D 接 D 触发器/SD 接+5V D 触发器/Q 接逻辑笔或L7 I型机: I/O 地址/Y4 接 D 触发器/CLK I/O 地址/Y5 接 D 触发器/CD

…… 三、实验内容 利用负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。 四、实验内容实现分析 分析实验连接图;说明实现该内容的原理;画出流程图。 五、实验程序 DATA SEGMENT OUTPORT1 EQU 290H OUTPORT2 EQU 2A0H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA

东华大学数电课程设计报告——数字频率计

目录 第一章设计指标 (1) 1.1功能要求 (1) 1.2参数指标 (1) 第二章系统概述 (2) 2.1设计思想 (2) 2.2可行性论证 (2) 2.3各功能的组成 (2) 2.4总体工作过程 (2) 第三章单元电路设计与分析 (4) 3.1各单元电路的选择 (4) 3.2设计及工作原理分析 (11) 第四章电路的组构与调试 (13) 4.1 遇到的主要问题 (13) 4.2 现象记录及原因分析 (13) 4.3 解决措施及效果 (14) 4.4 功能的测试方法、步骤、设备、记录的数据 (14) 第五章结束语 (15) 5.1对设计题目的结论性意见及进一步改进的意向说明 (15) 5.2 总结设计的收获与体会 (15) 附图(电路图、电路总图) (16) 参考文献 (17)

第一章 设计指标 1.1 功能要求 1、整体功能要求 要求设计一个测量TTL 方波信号频率的数字系统。用按键选择测量信号频率。测量值采用4个LED 七段数码管显示,并以发光二极管指示测量对象:频率以及测量值得单位:Hz 、kHz 。频率的测量范围有四档量程。 1)测量结果显示4位有效数字,测量精度为万分之一。 2)频率测量范围:100.0Hz~999.9kHz ,分为4档。 第一档:100.1Hz~999.9Hz 第二档:1.000kHz~9.999kHz 第三档:10.00kHz~99.99kHz 第四档:100.0kHz~999.9kHz 3)量程切换可以采用两个按键SWB 、SWA 手动切换。 1.2参数指标 1、主要参数指标 1)测量范围:被测信号的最高频率和最低频率。 2)测量精度:测量数字值的有效位。 3)测量误差:主要有计数误差和时基误差。 ① 时基误差——定时时间不准造成的误差,与被测信号频率及数值有效位无关, 为恒定值: ② 计数误差——由于输入信号与标准定时信号不同步,可能产生1个脉冲的误差。 测量值有效位越多,计数相对误差越小: 累计标准时间TS 中被测信号的脉冲个数NX ,被测信号频率: %100Δ1 ΔX ?≈S f f %100ΔX ?≈X s f f f S X X T N f ≈

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

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

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

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

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

东华大学11级选课手册

东华大学2011级选课手册 东华大学学分制选课手册一、教学计划简介四年制本科专业教学计划是学校按照四年正常学习年限组织安排专业教学进程和课程教学的重要文件,是同学进行选课的基本依据,学校将根据教学计划和教学情况,确定并公布每学期的实际开设课程。同学在导师的指导下,参照教学计划中课程的建议学习时间,在开设课程范围内自主选择。教学计划总体框架和有关要求如下:1、教学计划理论教学和实践环节两部分组成。理论教学包含通识教育基础、学科基础、专业与专业前沿三部分课程,前两部分课程中有必修和选修课程之分,第三部分课程全为选修。实践环节包含综合实践和实践教学两类课程,全为必修课程。必修课程指学生必须修读的课程,因课程有前修和后续的关系,要求同学在教学计划

规定的学期内修读;选修课程指同学可以自主选读的课程。同学可以在各类选修课程中有目的地选课修读,但各类选修课要修满本专业教学计划规定的学分数。2、学生必须修满所在专业教学计划中规定的总学分数及各类别课程的规定学分后才能顺利毕业,不同类别课程的学分不能互相抵冲。“通识教育”课程包括政治法律、语言文字、自然科学、技术科学、军事体育和人文素质等六方面课程的学习与实践。除完成必修课程的学分外,还应修满大学外语类、计算机类、文化素质类、体育类等类别的选修课程学分。每类课程必须达到最低修读学分要求,例如大学英语学分要求合计为17学分,即大学英语类课程至少修满16学分,同时必须通过东华大学英语学业水平考试Ⅱ,获得1学分,方能取得毕业资格。“学科基础”按一级和二级学科设臵课程和实践环节,进行宽口径专业教育。学科基础必修课为学科大类或专业大类的公共课,学科

《微机原理与接口技术》课程设计-交通灯

信息工程系 计算机科学与技术 12计本1班 1214110214 黄 福 朱 茜 2015年06月29日 院 系: 专 业: 年级班级: 学 号: 姓 名:指导教师: 设计日期:

目录 一.课程设计目的 (3) 二.课程设计任务 (3) 三.总体设计方案 (3) 五.程序设计流程图 (4) 六. 程序连接图 (5) 七.程序清单 (5) 八.实验结果 (8) 九.课程设计总结和体会 (8)

一.课程设计目的 用汇编语言和微机原理实验箱完成实现双方向交通信号灯控制系统,以达到熟练运用汇编语言编程以及实验箱上各个芯片的灵活运用。 ⒈了解交通灯管理的基本工作原理 ⒉熟悉8253定时计数器的工作方式和编程应用 ⒊熟悉8255A并行接口的工作方式和编程应用 二.课程设计任务 本次课程设计的内容为双方向交通信号灯的控制和管理。 具体要求如下: 1.东西方向车辆放行20秒钟。即东西方向的绿灯和南北方向的红灯同时点亮25秒钟和黄灯点亮3秒钟。 2.南北方向车辆放行20秒钟后,转为南北方向的黄灯点亮3秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。 3.循环重复执行1和2两步骤。 三.总体设计方案 1、用实验系统8255A实现对信号灯的控制(B端口),A端口的PA6、PA7口用来和8253共同控制信号灯点亮的时间。 2、实验中,8255选用(10010000)方式选择字,A组工作0方式,A端口输入,PC4-PC7输出,B组0方式,B端口输出,PC3-PC0输出 3、实验中,8253采用两个计数器级联的方式达到定时的效果,8253计数器0的CLK0输入1MHZ的时钟脉冲,工作在模式3即方波发生器,理论设计OUT0 输出周期为0.01S的方波,则计数器0的初值为10000;OUT0输出的方波分别作为计数器1、计数器2的CLK1和CLK2的输入时钟脉冲,计数器1和计数器2工作方式为模式1,计数器1的初值为2500,即OUT1输出25秒,控制红绿灯的时间;计数器2初值为300,即OUT2输出3秒,控制黄灯的时间。

2020年东华大学计算机病毒课实验六宏病毒实验报告.pdf

计算机病毒实验报告 姓名: 学号: 老师: 日期:

一. 实验目的 Word宏是指能组织到一起为独立命令使用的一系列Word指令,它能使日常工作变得容易。本实验演示了宏的编写,通过两个简单的宏病毒示例,说明宏的原理及其安全漏洞和缺陷,理解宏病毒的作用机制,从而加强对宏病毒的认识,提高防范意识。 二. 实验内容 1. macro virus中的内容 2. 信安实验平台--->计算机病毒篇 ---->计算机宏病毒 3. 结合杀毒软件如诺顿、卡巴斯基等,观察病毒查杀现象 三. 实验环境 1. macro virus 硬件设备:局域网,终端PC机。 系统软件:Windows系列操作系统 支撑软件:Word 2003 软件设置:关闭杀毒软;打开Word 2003,在工具→宏→安全性中,将安全级别设置为低,在可靠发行商选项卡中,选择信任任何所有安装的加载项和模板,选择信任visual basic项目的访问. 实验环境配置如下图所示:

受感染终端受感染 Word 文档 被感染终端 2.计算机宏病毒 硬件设备:部署 WIN2003 系统的PC 机一台 软件工具:Office word2007

四.实验步骤及截图 1.自我复制,感染word公用模板和当前文档 打开一个word文档,然后按Alt+F11调用宏编写窗口(工具宏Visual Basic宏编辑器),在左侧的project—>Microsoft Word 对象ThisDocument中输入以上代码,保存,此时当前word文档就含有宏病毒 只要下次打开这个word文档,就会执行以上代码,并将自身复制到Normal.dot(word文档的公共模板)和当前文档的ThisDocument中,同时改变函数名(模板中为Document_Close,当前文档为Document_Open),此时所有的word文档打开和关闭时,都将运行以上的病毒代码,可以加入适当的恶意代码,影响word的正常使用,本例中只是简单的跳出一个提示框。

东华大学自动控制原理实验一

各位同学请注意: 1.上机实验为1-8周,每次上机请按照第一次的座位坐。 2.请先自习上机内容,实验内容可参考指导书。 3.9号机房座位安排见后面的名单,请按机位号入座,要点名哦。 实验一典型环节的MATLAB仿真 一、实验目的 1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。 3.定性了解各参数变化对典型环节动态特性的影响。 二、SIMULINK的使用 MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。1.运行MATLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。2.选择File菜单下New下的Model命令,新建一个simulink仿真环境常规模板。

3.在simulink仿真环境下,创建所需要的系统。 以图1-2所示的系统为例,说明基本设计步骤如下:

1)进入线性系统模块库,构建传递函数。点击simulink 下的“Continuous ”,再将右边窗口中“Transfer Fen ”的图标用左键拖至新建的“untitled ”窗口。 2)改变模块参数。在simulink 仿真环境“untitled ”窗口中双击该图标,即可改变传递函数。其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK ,即完成该模块的设置。 3)建立其它传递函数模块。按照上述方法,在不同的simulink 的模块库中,建立系统所需的传递函数模块。例:比例环节用“Math ”右边窗口“Gain ”的图标。 4)选取阶跃信号输入函数。用鼠标点击simulink 下的“Source ”,将右边窗口中“Step ”图标用左键拖至新建的“untitled ”窗口,形成一个阶跃函数输入模块。 5)选择输出方式。用鼠标点击simulink 下的“Sinks ”,就进入输出方式模块库,通常选用“Scope ”的示波器图标,将其用左键拖至新建的“untitled ”窗口。 6)选择反馈形式。为了形成闭环反馈系统,需选择“Math ” 模块库右边窗口“Sum ”图标,并用鼠标双击,将其设置为需要的反馈形式(改变正负号)。 7)连接各元件,用鼠标划线,构成闭环传递函数。 8)运行并观察响应曲线。用鼠标单击工具栏中的“”按钮,便能自动运行仿真环境下的系统框图模型。运行完之后用鼠标双击“Scope ”元件,即可看到响应曲线。 三、实验原理 1.比例环节的传递函数为 221211 ()2100,200Z R G s R K R K Z R =- =-=-== 图1-3所示左侧为其对应的模拟电路右侧即为SIMULINK 的图形。

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

河北科技大学 课程设计报告学生姓名:学号: 专业班级: 课程名称: 学年学期: 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的输出进行控制,使输出按照相序表给驱动电路供电,则步进电机的输入也和相序表一致,这样步进电机就可以正向转动或反向转动。 硬件连接图 四.实现方法 .步进电机控制程序流图

相关文档
最新文档