硬件生产实习报告.docx
《硬件生产实习报告.docx》由会员分享,可在线阅读,更多相关《硬件生产实习报告.docx(27页珍藏版)》请在冰豆网上搜索。
硬件生产实习报告
硬件生产实习报告
专 业:
06计算机科学与技术1班
姓名和学号:
指导教师:
实习时间:
实验一:
点阵显示汉字的应用程序设计
一、设计目的:
学习汇编综合程序设计及在点阵块上显示汉字的方法。
二、人员和分工:
a负责程序的编写,b负责线路的连接和程序的排错
三、实验环境:
PC微机一台、TD-PIT+实验系统一套。
四、题目分析,工作原理,设计思想
使用基本输入输出单元中的两路输出O[15:
0]和O[31:
16]分别控制点阵LED的行控制R[15:
0]和列控制L[15:
0]。
编写程序,使点阵LED的每一行和每一列依次循环显示。
利用取字模软件得到相应汉字的字符数组,编写程序,在16*16点阵上滚动显示汉字。
16×16点阵LED相当于16×16个发光管组成的阵列,其中每一行共用一个阳极(行控制),每一列共用一个阴极(列控制)。
行控制和列控制满足正确的电平就可使相应行列的发光管点亮。
实验步骤如下
(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。
(2)首先运行CHECK程序,查看I/O空间始地址。
(3)利用查出的地址编写程序,然后编译链接。
(4)连接实验线路。
(5)运行程序,观察LED显示是否正确。
五、电路图和流程图
六、源程序代码
;Led-HZ.asm
;32位LED点阵汉字显示实验
INCLUDELED-HZ.inc
.386P
;****************根据查看端口资源修改下列符号值*******************
IOY0EQU0E400H;片选IOY0对应的端口始地址
;*****************************************************************
STACK1SEGMENTSTACK
DW256DUP(?
)
STACK1ENDS
DATASEGMENTUSE16
MESDB'Pressanykeytoexit!
',0AH,0DH,0AH,0DH,'$'
ADDRDW?
DATAENDS
CODESEGMENTUSE16
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMES;显示退出提示信息
MOVAH,09H
INT21H
A2:
MOVADDR,OFFSETHZDOT;取汉字数组始地址
MOVSI,ADDR
A1:
MOVCX,20H;控制1屏显示时间
LOOP2:
CALLDISPHZ
SUBSI,32
LOOPLOOP2
KEY:
MOVAH,1;判断是否有按键按下?
INT16H
JNZQUIT
ADDSI,2
MOVAX,SI
SUBAX,ADDR
CMPAX,128;比较文字是否显示完毕
JNBA2
JMPA1
QUIT:
MOVEAX,0;灭灯
MOVDX,IOY0
OUTDX,EAX
MOVAX,4C00H;结束程序退出
INT21H
DISPHZPROCNEAR;显示1屏汉字子程序
PUSHCX
MOVCX,16
MOVBX,0FFFEH
LOOP1:
MOVAL,BYTEPTR[SI]
MOVAH,BYTEPTR[SI+1]
ROLEAX,16
MOVAX,BX
ADDSI,2
ROLBX,1
NOTEAX
MOVDX,IOY0
OUTDX,EAX
CALLDALLY
CALLDALLY
CALLDALLY
CALLDALLY
CALLDALLY
CALLDALLY
LOOPLOOP1
POPCX
RET
DISPHZENDP
DALLYPROCNEAR;软件延时子程序
MOVAX,0FFFFH
D1:
DECAX
JNZD1
RET
DALLYENDP
CODEENDS
ENDSTART
七、设计,实现,测试中发现的问题以及解决的方案
在做此实验时候,需要显示出自己的名字,在我们实现的过程中发现文字全部倒过来了,后来发现有2根线接错了,经过调试,文字终于变正确。
八、实验结果评述
正确的在LED上显示出自己的名字
实验二:
接口综合应用程序设计
一、设计目的
学习汇编综合程序设计及接口芯片的应用
二、人员和分工
a负责程序的编写b负责线路的连接和程序的排错
三、实验环境
PC微机一台、TD-PIT+实验系统一套。
四、题目分析,工作原理,设计思想
利用接口芯片8259、8253、8255来实现,每按5次开关,产生一次中断,控制流水灯显示。
实验步骤如下:
(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。
(2)首先运行CHECK程序,查看I/O空间始地址。
(3)利用查出的地址编写程序,然后编译链接。
(4)连接实验线路。
(5)运行程序,观察实验结果。
五、电路图(简要说明)和流程图(或算法)
按KK15次,产生中断,并行B口控制发光管流水显示
选8259的IR1,8254的T1计数器,8255的B口控制发光管,
8259的地址选IOY0(9800H),8253的地址选IOY2(9880H),8255的地址选IOY1(9840H)
8259单元系统总线8253单元8255单元开关及显示单元
D7-D0->XD7-XD0->D7-D0->D7-D0
WR->XIOW->WR->WR
RD->XIOR->RD->RD
CS->IOY0
IOY1->CS
IOY2->CS
IR1->OUT1
CLK1->KK1
GATE1->+5V
PB7-PB0->D7-D0
A0->XA2->A0->A0
XA3->A1->A1
六、源程序代码
;按KK15次,产生中断,并行B口控制发光管流水显示
STACK1SEGMENTSTACK
DW256DUP(?
)
STACK1ENDS
DATASEGMENT
IOY0EQU0e400H
IOY1EQU0e440H
IOY2EQU0e480H
ICW1EQUIOY0+00H;8259地址
ICW2EQUIOY0+04H
ICW3EQUIOY0+04H
ICW4EQUIOY0+04H
OCW1EQUIOY0+04H
OCW2EQUIOY0+00H
OCW3EQUIOY0+00H
A8255EQUIOY1+00h;8255的A口地址
B8255EQUIOY1+04h;8255的B口地址
C8255EQUIOY1+08h;8255的C口地址
ctr8255EQUIOY1+0ch;8255的控制寄存器地址
TABLE1DB01H,03H,02H,06H,04H,0CH,08H,09H
table2DB09H,08h,0ch,04h,06h,02h,03h,01h
TABLE3DB01H,02H,04H,08H,10H,20H,40H,80H
T08254EQUIOY2+00H*4;8254计数器0端口地址
T18254EQUIOY2+01H*4;8254计数器1端口地址
T28254EQUIOY2+02H*4;8254计数器2端口地址
ctr8254EQUIOY2+03H*4;8254控制寄存器端口地址
MES1DB'Presskk15time,bujinturn!
pressanykeytoexit!
',0AH,0DH,0AH,0DH,'$'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMES1;显示退出提示
MOVAH,09H
INT21H
MOVDX,ICW1;初始化实验系统中8259的ICW1
MOVAL,13H;边沿触发、单片8259、需要ICW4
OUTDX,AL
MOVDX,ICW2;初始化实验系统中8259的ICW2
MOVAL,08H
OUTDX,AL
MOVDX,ICW4;初始化实验系统中8259的ICW4
MOVAL,01H;非自动结束EOI
OUTDX,AL
MOVDX,OCW1;初始化实验系统中8259的OCW1
MOVAL,0FdH;打开IR0和IR1的屏蔽位
OUTDX,AL
MOVDX,ctr8255;初始化实验系统中8255
MOVAL,80H
OUTDX,AL
MOVDX,ctr8254;初始化实验系统中8254
MOVAL,50H
OUTDX,AL
MOVDX,T18254;T15
MOVAL,5
OUTDX,AL
QUERY:
MOVAH,1;判断是否有按键按下
INT16H
JNZQUIT;有按键则退出
MOVDX,OCW3;向8259的OCW3发送查询命令
MOVAL,0CH
OUTDX,AL
INAL,DX;读出查询字
TESTAL,80H;判断中断是否已响应最高位D7为1
JZQUERY;没有响应则继续查询
ANDAL,02H
CMPAL,00H;若为IR1请求,跳到ISR处理程序,D1=1则表示是IR1
JEISR
JMPQUERY
ISR:
MOVCX,8
MOVAL,01H
L2:
MOVDX,B8255
OUTDX,AL
CALLDALLY
SHLAL,1
LOOPL2
MOVDX,T18254;T15
MOVAL,5
OUTDX,AL
movdx,ocw2
moval,20h
outdx,al
JMPQUERY
DALLYPROCNEAR
PUSHAX
pushdx
movdx,05fffh;软件延时子程序
d2:
MOVAX,0FFFFH
D1:
DECAX
JNZD1
decdx
jnzd2
popdx
POPAX
RET
DALLYENDP
QUIT:
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
七、实验结果评述
每按5次开关,产生一次中断,指示灯像流水线一样慢慢亮起
实验三:
步进电机控制的应用程序设计
一、设计目的
学习汇编控制应用程序设计及步进电机的控制方法
二、人员和分工
a负责程序的编写,b负责线路的连接和程序的排错
三、实验环境
PC微机一台、TD-PIT+实验系统一套、选配四项八拍步进电机一个。
四、题目分析,工作原理,设计思想
学习步进电机的控制方法,编写程序,利用8255的B口来控制步进电机的运转。
使用开环控制方式能对步进电机的转动方向、速度、角度进行调节。
所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动一次。
根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。
实验步骤如下:
(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。
(2)首先运行CHECK程序,查看I/O空间始地址。
(3)利用查出的地址编写程序,然后编译链接。
(4)连接实验线路。
(5)运行程序,观察步进电机的转动情况。
注意:
步进电机不使用时请断开连接器,以免误操作使电机过分发热。
五、电路图(简要说明)和流程图(或算法)
总线8255单元驱动电路步进电机
XD7-XD0->D7-D0
XA3->A1
XA2->A0
XIOW->IOW
XIOR->IOR
IOY0->CS
PB0-PB3->A-D
+12V->5
A’-D’->4-1
六、源程序代码
STACK1SEGMENTSTACK
DW256DUP(?
)
STACK1ENDS
DATASEGMENT
IOY0EQU0E400H
IOY1EQU0E440H
IOY2EQU0E480H
ICW1EQUIOY0+00H;8259地址
ICW2EQUIOY0+04H
ICW3EQUIOY0+04H
ICW4EQUIOY0+04H
OCW1EQUIOY0+04H
OCW2EQUIOY0+00H
OCW3EQUIOY0+00H
A8255EQUIOY1+00h;8255的A口地址
B8255EQUIOY1+04h;8255的B口地址
C8255EQUIOY1+08h;8255的C口地址
ctr8255EQUIOY1+0ch;8255的控制寄存器地址
TABLE1DB01H,03H,02H,06H,04H,0CH,08H,09H
table2DB09H,08h,0ch,04h,06h,02h,03h,01h
TABLE3DB01H,02H,04H,08H,10H,20H,40H,80H
T08254EQUIOY2+00H*4;8254计数器0端口地址
T18254EQUIOY2+01H*4;8254计数器1端口地址
T28254EQUIOY2+02H*4;8254计数器2端口地址
ctr8254EQUIOY2+03H*4;8254控制寄存器端口地址
MES1DB'Presskk15time,bujinturn!
pressanykeytoexit!
',0AH,0DH,0AH,0DH,'$'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMES1;显示退出提示
MOVAH,09H
INT21H
MOVDX,ICW1;初始化实验系统中8259的ICW1
MOVAL,13H;边沿触发、单片8259、需要ICW4
OUTDX,AL
MOVDX,ICW2;初始化实验系统中8259的ICW2
MOVAL,08H
OUTDX,AL
MOVDX,ICW4;初始化实验系统中8259的ICW4
MOVAL,01H;非自动结束EOI
OUTDX,AL
MOVDX,OCW1;初始化实验系统中8259的OCW1
MOVAL,0FdH;打开IR0和IR1的屏蔽位
OUTDX,AL
MOVDX,ctr8255;初始化实验系统中的8255
MOVAL,80H
OUTDX,AL
MOVDX,ctr8254;初始化实验系统中的8254
MOVAL,50H
OUTDX,AL
MOVDX,T18254
MOVAL,5
OUTDX,AL
QUERY:
MOVAH,1;判断是否有按键按下
INT16H
JNZQUIT;有按键则按键退出
MOVDX,OCW3;向8259的OCW3发送查询命令OCH
MOVAL,0CH
OUTDX,AL
INAL,DX;读出查询字
TESTAL,80H;判断中断是否有响应,最高位D7为1,则表示有中断
JZQUERY
ANDAL,02H;若为IR1请求,跳到ISR处理程序,D1=1,则表示是IR1
CMPAL,00H
JEISR
JMPQUERY
ISR:
MOVSi,OFFSETTABLE1
MOVCX,8
L2:
MOVAL,[Si]
MOVDX,B8255
OUTDX,AL
CALLDALLY
CALLDALLY
INCSi
LOOPL2
MOVDX,T18254
MOVAL,4
OUTDX,AL
movdx,ocw2
moval,20h
outdx,al
JMPQUERY
DALLYPROCNEAR
PUSHAX
pushdx
movdx,05fffh;软件延时子程序
d2:
MOVAX,0FFFFH
D1:
DECAX
JNZD1
decdx
jnzd2
popdx
POPAX
RET
DALLYENDP
QUIT:
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
七、实验结果评述:
步进电机转动起来
实验四:
双机通信的应用程序设计
一、设计目的
学习汇编综合应用程序设计及实现双机通信。
二、人员和分工
a负责程序的编写,b负责线路的连接和程序的排错
三、实验环境
PC微机一台、TD-PIT+实验系统一至两套、示波器一台。
四、题目分析,工作原理,设计思想
原理:
16550是一种连接任何类型虚拟串行接口的可编程通信接口,与Intel微处理器完全兼容的使用非常广泛的异步接收器/发送器(UART)。
它内置了16字节的FIFO缓冲,最大通讯速率可达115Kb/s,是现代基于微处理器设备包括PC机和许多调制解调器的最普遍的通信接口。
16550的引脚如图1所示,其内部结构如图2所示。
图116550引脚图
图216550的内部结构图
使用两台实验装置,完成串口双机通讯,其中1号机作为发送机,完成数据的发送,2号机作为接收机,完成数据的接收和显示,2号机采用中断方式,当接收缓冲区满时去读数。
实验步骤如下:
(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。
(2)首先运行CHECK程序,查看I/O空间始地址。
(3)利用查出的地址编写程序,1号机编写发送程序,2号机编写接收程序,然后编译链接。
(4)连接实验线路。
(5)先运行2号机程序,同时再运行1号机程序,观察屏幕数据显示,看接收是否正确。
五、电路图(简要说明)和流程图(或算法)
六、源程序代码
发送端的程序:
;T16550-3.asm
;16550双机通信发送机程序
;***************根据CHECK配置信息修改下列符号值*******************
IOY0EQU9C00H;片选IOY0对应的端口始地址
;*****************************************************************
MY16550_0EQUIOY0+00H*4;16550数据缓冲寄存器端口地址
MY16550_1EQUIOY0+01H*4;16550中断允许寄存器端口地址
MY16550_3EQUIOY0+03H*4;16550线路控制寄存器端口地址
MY16550_4EQUIOY0+04H*4;16550MODEM控制寄存器端口地址
MY16550_5EQUIOY0+05H*4;16550线路状态寄存器端口地址
STACK1SEGMENTSTACK
DW256DUP(?
)
STACK1ENDS
DATASEGMENT
AADB2FH
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,MY16550_3;设置16550线路控制寄存器
MOVAL,80H;准备设置波特率除数寄存器
A1:
INCAA
MOVDX,MY16550_0
MOVAL,AA
OUTDX,AL
CALLDALLY
CMPAL,39H
JNZA1
QUIT:
MOVAX,4C00H;返回到DOS
INT21H
DALLYPROCNEAR;软件延时子程序
PUSHCX
PUSHAX
MOVCX,0300H
D1:
MOVAX,3000H
D2:
DECAX
JNZD2
LOOPD1
POPAX
POPCX
RET
DALLYENDP
CODEENDS
ENDSTART
实验五:
A/D转换应用
一、设计目的
学习模/数信号转换基本原理,掌握ADC0809芯片的使用方法。
二、人员和分工
a负责程序的编写,b负责线路的连接和程序的排错
三、实验环境
PC微机一台、TD-PIT+实验系统一套。
四、题目分析,工作原理,设计思想
实验原理:
ADC0809包括一个8位的逐次逼近型的ADC部分,并提供一个8通道的模拟多路开关和联合寻址逻辑。
用它可直接输入8个单端的模拟信号,分时进行A/D转换,在多点巡回检测、过程控制等应用领域中使用非常广泛。
ADC0809的主要技术指标为:
·分辨率:
8位·单电源:
+5V
·总的不可调误差:
±1LSB·转换时间:
取决于时钟频率
·模拟输入范围:
单极性0~5V·时钟频率范围:
10KHz~1280KHz
实验步骤:
(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。
(2)首先运行CHECK程序,查看I/O空间始地址。
(3)利用查出的地址编写程序,然后编译链接。
(4)如图所示连接实验线路。
(5)运行程序,调节电位器,观察屏幕上显示的数字量输出。
五、电路图(简要说明)和流程图(或算法)
六、源程序代码
;****************根据查看端口资源修改下列符号值*******************
IOY0EQU0E400H;片选IOY0对应的端口始地址
;*****************************************************************
AD0809EQUIOY0+00H;AD0809的端口地址
STACK1SEGMENTST