计算机接口技术课堂大作业1

合集下载

吉大2020-2022学期《计算机接口技术》在线作业一(1)答案

吉大2020-2022学期《计算机接口技术》在线作业一(1)答案

吉大2020-2022学期《计算机接口技术》在线作业一提醒:本科目含有多少随机试卷,请核实本套试卷是否是您需要的材料!!!一、单选题(共17题,68分1、串行通信主要用于( )A近距离通信系统B远程通信系统C并行通信系统D局域网通信系统提示:复习课程相关知识802,并完成上述题目[正确参考选择]:B2、主机与外设传送数据时,采用()方式,主机与外设是串行工作的。

A程序查询B中断CDMADIOP处理机提示:复习课程相关知识802,并完成上述题目[正确参考选择]:A3、8255A引脚信号/WR=0,/CS=0,A1=1,A0=1时,表示()。

ACPU向数据口写数据BCPU向控制口送控制字CCPU读8255A控制口D无效操作提示:复习课程相关知识802,并完成上述题目[正确参考选择]:BMA方式中,周期“窃取”是窃取一个()。

A存储周期B指令周期CCPU周期D总线周期提示:复习课程相关知识802,并完成上述题目[正确参考选择]:A5、支持无条件传送方式的接口电路中,至少应包含()。

A数据端口,控制端口B状态端口C控制端口D数据端口提示:复习课程相关知识802,并完成上述题目[正确参考选择]:D——————————6、CPU与外设间数据传送的控制方式有()。

A中断方式BDMA方式C程序控制方式D以上三种都是提示:复习课程相关知识802,并完成上述题目[正确参考选择]:D7、PC机中,确定硬中断的服务程序入口地址的是()。

A主程序中的调用指令B主程序中的转移指令C中断控制器发出的类型码D中断控制器中的中断服务寄存器提示:复习课程相关知识802,并完成上述题目[正确参考选择]:C8、设中断向量表18CH~18FH单元中,依次存放着12H、34H、56H、78H,则中断服务程序的入口地址(段基址:偏移地址)为( )A1234H:5678HB3412H:7856HC5678H:1234HD7856H:3412H提示:复习课程相关知识802,并完成上述题目[正确参考选择]:D9、在异步通信方式中,通常采用()来校验错误。

【奥鹏】吉大19秋学期《计算机接口技术》在线作业一[5]答案

【奥鹏】吉大19秋学期《计算机接口技术》在线作业一[5]答案

【奥鹏】吉大19秋学期《计算机接口技术》在线作业一
试卷总分:100 得分:100
一、单选题(共17题,68分
1、8255A的方式选择控制字为80H,其含义是()。

AA、B、C口全为输入
BA口为输出,其他为输入
CA、B为方式0
DA、B、C口均为方式0,输出
[仔细分析以上题目,运用所学知识完成作答]
参考选择:C
2、执行返回指令,退出中断服务程序,这时返回地址来自()。

AROM区
B程序计数器
C堆栈区
DCPU的暂存寄存器
[仔细分析以上题目,运用所学知识完成作答]
参考选择:C
3、DMA方式中,周期“窃取”是窃取一个()。

A存储周期
B指令周期
CCPU周期
D总线周期
[仔细分析以上题目,运用所学知识完成作答]
参考选择:A
4、串行异步通信协议所规定的一帧数据中,允许最长的一帧数据共有()位。

A13
B7
C12
D8
[仔细分析以上题目,运用所学知识完成作答]
参考选择:C
5、串行通信主要用于( )
A近距离通信系统
B远程通信系统
C并行通信系统
D局域网通信系统
[仔细分析以上题目,运用所学知识完成作答]
参考选择:B。

计算机接口技术课堂大作业1

计算机接口技术课堂大作业1

计算机接口技术课堂大作业参考答案(1)姓名:班级:学号:成绩:——————————————————————————————————一.填空题(每空2分,共30分)1.接口的编址方式有(统一编址)和(独立编址)。

2.数据输入/输出的三种基本方式是(查询)、(中断)和(DMA)。

3.8086CPU的外部中断引脚有(INTR)和(NMI)。

4.在8086CPU系统中,设某中断源的中断类型号为08H,中断矢量为0100H:1000H,则相应的中断矢量存储地址为(0020H);从该地址开始,连续的4个存储单元存放的内容依次为(00H、10H、00H、01H)。

5.定时器/计数器8254的地址范围是304H~307H,则控制端口的地址是(307H)。

6.如用译码器74LS138的输出信号与8086CPU的WR信号组合后成为8255A的片选控制信号,应选用下列哪中逻辑电路(B)。

A.与门 B.和门C.与非门D.和非门7.在某一存储器系统中,设有只读存储器16KB,随机存储器48KB,用16根地址线来寻址,如只读存储器位于低地址段,则其地址范围是(C)。

A. 0000H—2BFFHB. 0000H—0FFFHC. 0000H—3FFFHD. 0000H—4AFFH8.键盘硬中断的类型号是9,它对应的中断向量指针是( 0000:0024H )。

(包括段地址和徧移量)9.在给接口编址的过程中,如果有5根地址线没有参加译码,则可能产生(32)个重叠的地址。

10.某8254A定时器/计数器0的CLK0输入时钟频率是1MHz,要求的定时时间是10ms,则定时器/计数器0的定时常数应该是(10000)二.简答题(每小题5分,共40分)1.什么是端口?8086共有多少端口?答:一个I/O地址称为一个端口;8086共有65536个端口。

2.请用74LS138设计一个产生308H~30FH的PC机译码电路。

答:3.请简述在8254A定时器/计数器中,什么是硬件触发和软件触发?答:软件触发特点:8253A初始化后,只要写入定时/计数常数,8253A就开始计数.。

计算机接口技术大作业

计算机接口技术大作业

计算机中断技术大作业题目深入理解中断系统哈尔滨工业大学本科毕业设计(论文)目录一:什么是中断? (3)1.1中断的定义 (3)1.2中断技术差生的原因 (4)1.3中断技术差生的优点 (6)1.4中断技术差生的缺点 (8)二:基本概念 (9)2.1中断源 (9)我们把引起中断的原因,或者能够发出中断请求信号的来源统称为中断源。

在上面看书的例子中,打断你看书的时间就是中断源(电话响了)。

(9)2.2中断嵌套 (9)2.3中断级联 (10)图2.3 (11)2.4软中断,硬中断 (11)2.5NMI(不可屏蔽中断)&可屏蔽中断 (12)2.6中断请求号&中断向量 (12)2.7中断响应INTA&中断周期 (12)中断响应INTA:当8259A接收到第一个/INTA有效的负脉冲后,将被响应的中断源置入ISR(正在服务寄存器)的对应位,即ISR对应位置1,同时把IRR(中断请求寄存器)的对应位清0; (12)2.8单步中断&IF中断允许标志位 (13)2.9IMR中断屏蔽字&中断优先级 (13)2.10中断控制器&APIC (13)2.11中断共享&中断冲突 (13)2.12MSI-X中断(PCI E)、中断处理子程序 (14)2.130号中断、1号中断 (14)2.14中断描述符、中断描述符表 (14)2.15异常 (14)2.16中断门、OS的事件、消息 (15)三:中断资源相关 (15)3.1我的电脑中断相关资源占用情况 (15)3.2ISA中断 (19)3.3PCI中断 (23)3.4IRQ0-15中断请求外的 (23)四:中断系统 (23)4.1中断系统怎样协调完成中断过程 (24)哈尔滨工业大学本科毕业设计(论文)五:多处理器系统的中断 (25)5.1怎么连接 (25)5.1如何处理 (26)六:硬件、软件是怎么配合完成中断处理的 (26)七:编写8251查询发送、中断接收的自检程序 (28)哈尔滨工业大学本科毕业设计(论文)摘要学习计算机组成原理和计算机接口技术之中,“中断”是一个必须要学习的美容,计算机之所以能够“智能”的运行起来使得其更容易被人使用很重要的一点就是有了中断技术。

福师大本科计算机接口技术作业1

福师大本科计算机接口技术作业1

福师大本科计算机接口技术作业1第1章基础知识1.1进制变换(153.375)10=(10011001.011)2=(231.3)8=(99.6)16;(369.5)10=(101110001.1)2=(561.4)8=(171.8)16(10000000)2=(128)10=(200)8=(80)161.2① 11110000B=( 360Q )8=( F0H )16= (240D )10;1111111111111111B=( 177777Q )8=( FFFFH )16 = (65535D )10② 32AH =( 1100101010)2=(1452)8= (810)10;FFFE H =(1111111111111110)2=(177776)8 = (65534)101.5真值与机器数(设系统为8 位字长)⑴.已知补码求真值(有符十进制表示)①11110000B 真值=-16②00110110B 真值=+54⑵.已知真值求机器数X=-28 [X]原=10011100 [X]补=111001001.6 下列各数为十六进制表示的8位二进制数,请说明当它们被看作是用补码表示的带符号数时,它们所表示的十进制数是什么?(1)59H (2)B2H (3)73H (4)F4H(1)+89 (2)-78(3) +115 (4) -12第2章基本电路2.1 ALU是什么部件?其主要功能是什么?答:ALU是算术逻辑单元,是进行算术和逻辑运算的部件,是运算器的基本电路。

2.3 N位地址的存储器其容量是多少?若某动态存储器芯片有行、列地址各12位,该芯片的存储单元数是多少?若系统中需组成一个256K字节的RAM,选用128K×4位的芯片,需要多少片?答:容量=2N。

行12位+列12位=地址共24位,容量=224=16M。

2.4 什么是总线?微型机采作总线结构有何好处?答:各部件之间信息的公共通道。

相对简单,成本低,具有良好的扩充性。

微型计算机接口技术大作业

微型计算机接口技术大作业

微型计算机接口技术大作业学院(系):软件学院专业:软件工程班级:姓名:学生学号:电话:2011年6月5日P2P语音聊天工具一、程序简介程序实现了文字聊天和语音聊天,程序即可以作为服务器端侦听其他用户的连接请求,也可以作为客户端主动连接其他用户。

程序使用了Win32 API提供的用于多媒体服务的函数接口,主要涉及波形音频设备的相关内容。

程序主要分为四个模块:1.主程序模块(消息处理和界面控制)2.负责接收连接的服务器Socket模块3.负责接收和发送数据的客户端模块4.声卡数据的采集和播放模块二、流程图主模块流程图:负责接收连接的服务器Socket模块:负责接收和发送数据的客户端模块:声卡数据的采集和播放模块流程图:三、代码实现代码主要是用MFC对话框程序框架编写的,对于界面上的控件和消息传递的部分,此处略去,仅仅给出主要程序的代码。

主模块代码://初始化端口号、聊天消息框和输入框CExample2_ChatRoomDlg::CExample2_ChatRoomDlg(CWnd* pParent /*=NULL*/) : CDialog(CExample2_ChatRoomDlg::IDD, pParent){//{{AFX_DATA_INIT(CExample2_ChatRoomDlg)m_sInputString = _T(""); //输入框m_sShowString = _T(""); //聊天消息框m_uPort = 4000; //端口号//}}AFX_DATA_INIT// Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);}//初始化服务器IP地址(默认设置为本机的IP地址)BOOL CExample2_ChatRoomDlg::OnInitDialog(){CDialog::OnInitDialog();ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL){CStringstrAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);}}SetIcon(m_hIcon, TRUE);SetIcon(m_hIcon, FALSE);if(AfxSocketInit(NULL)==0){AfxMessageBox("CSocketInital Error");}BYTE f0,f1,f2,f3;CString name;CClientSocket::GetLocalHostName(name); //获取本机名CClientSocket::GetIpAddress(name,f0,f1,f2,f3); //获取本机IP//设置服务器IP为本机IP((CIPAddressCtrl *)(GetDlgItem(IDC_IPADDRESS)))->SetAddress(f0,f1,f2,f3);m_bInit=false;m_bClient=false;m_willchating=TRUE;return TRUE;}//显示主窗体BOOL CExample2_ChatRoomApp::InitInstance(){AfxEnableControlContainer();#ifdef _AFXDLLEnable3dControls();#elseEnable3dControlsStatic();#endifCExample2_ChatRoomDlg dlg; //创建窗体实例m_pMainWnd = &dlg;intnResponse = dlg.DoModal();if (nResponse == IDOK){}else if (nResponse == IDCANCEL){}return FALSE;}//对于用户更改聊天窗口内容的判断void CExample2_ChatRoomDlg::OnInputText(){if(!m_bInit) //如果用户还没有连接就输入聊天内容,提示用户先连接{AfxMessageBox("还没有连接到服务器!");return;}//如果用户按下Enter按钮,且焦点在输入窗口中,则对当前聊天室中的所//有用户发送消息CString in;CMessgmsg;GetDlgItemText(IDC_INPUTTEXT,in);if(in.GetLength()<1){return;} //如果用户没有输入内容,返回if(in.GetAt(in.GetLength()-1)=='\n'){in.TrimRight(" ");SetDlgItemText(IDC_INPUTTEXT,"");if(in.GetLength()>2){m_sMsgList+=in;SetDlgItemText(IDC_SHOWTEXT,m_sMsgList);Intm_iLineCurrentPos=((CEdit*)(GetDlgItem(IDC_SHOWTEXT)))->GetLineCount();((CEdit*)(GetDlgItem(IDC_SHOWTEXT)))->LineScroll(m_iLineCurrentPos);msg.m_strText=in;if(!m_bClient){POSITION pos;for(pos=m_connectionList.GetHeadPosition();pos!=NULL;){ //循环遍历所有建立连接的用户,分别发送消息CClientSocket * t= (CClientSocket *)m_connectionList.GetNext(pos);t->SendMessage(&msg);}}else{m_clientsocket.SendMessage(&msg);}}}}//建立服务器按钮void CExample2_ChatRoomDlg::OnSetserver(){if(!m_bInit){m_bClient=false; //作为服务器端m_bInit=true;if(m_pListenSocket.Init(GetDlgItemInt(IDC_PORT),this)==FALSE){ //初始化服务器(建立套接字并侦听,详见Server模块)m_bInit=false;return;}}}//连接服务器按钮void CExample2_ChatRoomDlg::OnConnectserver(){if(!m_bInit){BYTE f0,f1,f2,f3;CString name;//读取服务器IP输入框中的数据((CIPAddressCtrl *)(GetDlgItem(IDC_IPADDRESS)))->GetAddress(f0,f1,f2,f3);CStringip;ip.Format("%d.%d.%d.%d",f0,f1,f2,f3);m_bClient=true;m_clientsocket.Create();if(m_clientsocket.Connect(ip,GetDlgItemInt(IDC_PORT))) //连接服务器{m_clientsocket.Init(this);SetDlgItemText(IDC_SHOWTEXT,"成功连接到服务器.");m_bInit=true;}else{m_clientsocket.Close();AfxMessageBox("连接服务器失败!");m_bInit=false;}}}//用户按下语音聊天按钮void CExample2_ChatRoomDlg::OnNewsend(){if(m_willchating==TRUE){m_sound.Init(this); //初始化音频m_sound.Record(); //开始录音SetDlgItemText(IDC_NEWSEND,"停止语音聊天");m_willchating=FALSE;}else{CSingleLocklock(&m_mutex,TRUE);m_sound.StopRecord(); //停止录音SetDlgItemText(IDC_NEWSEND,"语音聊天");m_willchating=TRUE;lock.Unlock();}}负责接收连接的服务器Socket模块代码://服务器初始化BOOL CServerSocket::Init(UINT port, CExample2_ChatRoomDlg* dlg){m_uPort=port;m_dlg=dlg;if(Create(m_uPort)==FALSE) //创建套接字{AfxMessageBox("Server Socket Create Error");return FALSE;}if(this->Listen()==FALSE) //侦听{AfxMessageBox("Server Listen Error");return FALSE;}m_dlg->SetDlgItemText(IDC_SHOWTEXT,"正在侦听其他用户的连接请求!");return TRUE;}//当有连接请求时把该用户加入连接队列中void CExample2_ChatRoomDlg::ProcessPendingAccept(){CClientSocket* pSocket = new CClientSocket(); //为该用户分配一个套接口if (m_pListenSocket.Accept(*pSocket)) //接收连接请求{CMessgmsg;msg.m_strText="一个游客进入聊天室了\n";m_sShowString+="一个游客进入聊天室了\n";POSITION pos;//向所有用户发送消息for(pos=m_connectionList.GetHeadPosition();pos!=NULL;){CClientSocket * t= (CClientSocket *)m_connectionList.GetNext(pos);t->SendMessage(&msg);}pSocket->Init(this);m_connectionList.AddTail(pSocket);}elsedeletepSocket;}负责接收和发送数据的客户端模块代码://发送消息BOOL CClientSocket::SendMessage(CMessg * msg){if (m_aSessionOut != NULL){msg->Serialize(*m_aSessionOut);m_aSessionOut->Flush();return TRUE;}else{//对方关闭了连接m_bClose=true;CloseSocket();m_dlg->CloseSessionSocket();return FALSE;}}//接收消息voidCClientSocket::OnReceive(intnErrorCode){CSocket::OnReceive(nErrorCode);do{CMessg temp;temp.Serialize(*m_aSessionIn);m_dlg->m_sMsgList+=temp.m_strText; //添加条目m_dlg->SetDlgItemText(IDC_SHOWTEXT,m_dlg->m_sMsgList);if(temp.m_tag==1&&m_dlg->m_willchating==FALSE)//如果有声音过来并且本机的声音设备已经准备好了则首先在本机发出声音{memcpy(m_dlg->m_sound.m_cBufferOut,temp.m_buffer,MAX_BUFFER_SIZE);}intlinenum=((CEdit*)(m_dlg->GetDlgItem(IDC_SHOWTEXT)))->GetLineCount();((CEdit *)(m_dlg->GetDlgItem(IDC_SHOWTEXT)))->LineScroll(linenum);if(!m_dlg->m_bClient) //如果是服务器端的话,转发消息{for(POSITIONpos=m_dlg->m_connectionList.GetHeadPosition();pos!=NULL;){CClientSocket * t = (CClientSocket*)m_dlg->m_connectionList.GetNext(pos);if(t->m_hSocket!=this->m_hSocket){t->SendMessage(&temp);}}}}while (!m_aSessionIn->IsBufferEmpty());}声卡数据的采集和播放模块代码://初始化voidCSound::Init(CExample2_ChatRoomDlg *dlg){int result;m_dlg=dlg;if(waveInGetNumDevs()==0) //是否有音频输入设备{AfxMessageBox("There is no sound input device");}if(waveOutGetNumDevs()==0) //是否有音频输出设备{AfxMessageBox("There is no sound output device");}//指定录音格式m_soundFormat.wFormatTag=WAVE_FORMAT_PCM;m_soundFormat.nChannels=1;m_soundFormat.nSamplesPerSec=8000;m_soundFormat.nAvgBytesPerSec=16000;m_soundFormat.nBlockAlign=2;m_soundFormat.cbSize=0;m_soundFormat.wBitsPerSample=16;int res=waveInOpen(&m_hWaveIn,WAVE_MAPPER, &m_soundFormat, (DWORD)m_dlg->m_hWnd,0L,CALLBACK_WINDOW); //打开录音设备if(res!= MMSYSERR_NOERROR){AfxMessageBox("Error in waveInOpen function");return ;}res=waveOutOpen(&m_hWaveOut,WAVE_MAPPER, &m_soundFormat, (DWORD)m_dlg->m_hWnd,0L,CALLBACK_WINDOW); //打开录音设备if(res!= MMSYSERR_NOERROR){AfxMessageBox("Error in waveOutOpen function");return ;}//inm_pWaveHdrIn[0].lpData=m_cBufferIn;m_pWaveHdrIn[0].dwBufferLength=MAX_BUFFER_SIZE;m_pWaveHdrIn[0].dwBytesRecorded=0;m_pWaveHdrIn[0].dwFlags=0;result=waveInPrepareHeader(m_hWaveIn,&m_pWaveHdrIn[0],sizeof(WAVEHDR) ); //准备内存块录音if (result!= MMSYSERR_NOERROR){AfxMessageBox(_T("Cannot InPrepareHeader !"));return;};//增加内存块result=waveInAddBuffer(m_hWaveIn,&m_pWaveHdrIn[0],sizeof(WAVEHDR));if (result!= MMSYSERR_NOERROR){AfxMessageBox(_T("Cannot InAddBuffer !"));return;};//outm_pWaveHdrOut[0].lpData=m_cBufferOut;m_pWaveHdrOut[0].dwBufferLength=MAX_BUFFER_SIZE;m_pWaveHdrOut[0].dwBytesRecorded=0;m_pWaveHdrOut[0].dwFlags=0;waveOutPrepareHeader(m_hWaveOut,&m_pWaveHdrOut[0],sizeof(WAVEHDR)); //准备内存块录音waveOutWrite(m_hWaveOut,&m_pWaveHdrOut[0],sizeof(WAVEHDR));}//开始录音voidCSound::Record(){waveInStart(m_hWaveIn);//开始录音}//播放本地声音voidCSound::Play(){memcpy(m_cBufferOut,m_cBufferIn,MAX_BUFFER_SIZE);}//停止录音voidCSound::StopRecord(){waveInStop(m_hWaveIn); //停止录音waveInReset(m_hWaveIn); //清空内存块}//清空录音缓冲区voidCSound::FreeRecordBuffer(){intresult=waveInUnprepareHeader(m_hWaveIn,&m_pWaveHdrIn[0],sizeof(WAVEHDR)); if (result!= MMSYSERR_NOERROR){AfxMessageBox(_T("Cannot UnInPrepareHeader !"));return;}; //inm_pWaveHdrIn[0].lpData=m_cBufferIn;m_pWaveHdrIn[0].dwBufferLength=MAX_BUFFER_SIZE;m_pWaveHdrIn[0].dwBytesRecorded=0;m_pWaveHdrIn[0].dwFlags=0;result=waveInPrepareHeader(m_hWaveIn,&m_pWaveHdrIn[0],sizeof(WAVEHDR) ); //准备内存块录音if (result!= MMSYSERR_NOERROR){AfxMessageBox(_T("Cannot InPrepareHeader !"));return;}; //inresult=waveInAddBuffer(m_hWaveIn,&m_pWaveHdrIn[0],sizeof(WAVEHDR)); //增加内存块if (result!= MMSYSERR_NOERROR){AfxMessageBox(_T("Cannot InAddBuffer !"));return;}; //in}//清空输出缓冲区voidCSound::FreePlayBuffer(){staticbool once=true;int result;result=waveOutUnprepareHeader(m_hWaveOut,&m_pWaveHdrOut[0],sizeof(W AVEHDR));m_pWaveHdrOut[0].lpData=m_cBufferOut;m_pWaveHdrOut[0].dwBufferLength=MAX_BUFFER_SIZE;m_pWaveHdrOut[0].dwBytesRecorded=0;m_pWaveHdrOut[0].dwFlags=0;result=waveOutPrepareHeader(m_hWaveOut,&m_pWaveHdrOut[0],sizeof(WAV EHDR)); //准备内存块录音if (result!= MMSYSERR_NOERROR){AfxMessageBox(_T("Cannot OutPrepareHeader !"));return;}; //outresult=waveOutWrite(m_hWaveOut,&m_pWaveHdrOut[0],sizeof(WAVEHDR)); //增加内存块if (result!= MMSYSERR_NOERROR){AfxMessageBox(_T("Cannot OutWrite !"));return;}; //out}//输入缓冲区满的时候触发的发送音频消息函数void CExample2_ChatRoomDlg::WriteBufferFull(LPARAM lp,WPARAMwp){m_sound.Play();//发出本地声音CSingleLocklock(&m_mutex,TRUE);CMessgmsg;msg.m_strText="";msg.m_tag=1;memcpy(msg.m_buffer,m_sound.m_cBufferIn,MAX_BUFFER_SIZE);if(!m_bClient){POSITION pos;for(pos=m_connectionList.GetHeadPosition();pos!=NULL;){ //如果是服务器端,就给所有客户端发送音频CClientSocket * t= (CClientSocket *)m_connectionList.GetNext(pos);t->SendMessage(&msg);}}else{m_clientsocket.SendMessage(&msg);}m_sound.FreeRecordBuffer();m_sound.FreePlayBuffer();lock.Unlock();}四、程序运行结果截图五、心得与体会通过学习大作业和平时的小作业,了解并掌握了网络通信编程、视频和音频传输技术,对于MPI、语音识别技术也有了一定的了解。

计算机接口专业技术大作业

计算机接口专业技术大作业

计算机接口技术大作业————————————————————————————————作者:————————————————————————————————日期:计算机中断技术大作业题目深入理解中断系统哈尔滨工业大学本科毕业设计(论文)目录一:什么是中断? (2)1.1中断的定义 (2)1.2中断技术差生的原因 (3)1.3中断技术差生的优点 (5)1.4中断技术差生的缺点 (7)二:基本概念 (8)2.1中断源 (8)我们把引起中断的原因,或者能够发出中断请求信号的来源统称为中断源。

在上面看书的例子中,打断你看书的时间就是中断源(电话响了)。

(8)2.2中断嵌套 (8)2.3中断级联 (9)图2.3 (10)2.4软中断,硬中断 (10)2.5NMI(不可屏蔽中断)&可屏蔽中断 (11)2.6中断请求号&中断向量 (11)2.7中断响应INTA&中断周期 (11)中断响应INTA:当8259A接收到第一个/INTA有效的负脉冲后,将被响应的中断源置入ISR(正在服务寄存器)的对应位,即ISR对应位置1,同时把IRR(中断请求寄存器)的对应位清0; (11)2.8单步中断&IF中断允许标志位 (12)2.9IMR中断屏蔽字&中断优先级 (12)2.10中断控制器&APIC (12)2.11中断共享&中断冲突 (12)2.12MSI-X中断(PCI E)、中断处理子程序 (13)2.130号中断、1号中断 (13)2.14中断描述符、中断描述符表 (13)2.15异常 (13)2.16中断门、OS的事件、消息 (14)三:中断资源相关 (14)3.1我的电脑中断相关资源占用情况 (14)3.2ISA中断 (18)3.3PCI中断 (22)3.4IRQ0-15中断请求外的 (22)四:中断系统 (22)4.1中断系统怎样协调完成中断过程 (23)哈尔滨工业大学本科毕业设计(论文)五:多处理器系统的中断 (24)5.1怎么连接 (24)5.1如何处理 (25)六:硬件、软件是怎么配合完成中断处理的 (25)七:编写8251查询发送、中断接收的自检程序 (27)哈尔滨工业大学本科毕业设计(论文)摘要学习计算机组成原理和计算机接口技术之中,“中断”是一个必须要学习的美容,计算机之所以能够“智能”的运行起来使得其更容易被人使用很重要的一点就是有了中断技术。

计算机接口技术大作业

计算机接口技术大作业

计算机接口技术大作业课题名称:单路中断方式A/D采集及8355LED显示驱动班级:B13082041姓名:高炼学号:132208100055一.技术要求及说明1.一路检测,在LED上显示。

2.判断上下限并区别显示,下限LED全灭,上限LED全亮。

二.硬件原理及说明1.8259芯片内部结构原理如图2. 8255A内部结构8255芯片编程模型A口方式控制输出结构图8255方式选择控制字3.ADC0809内部结构图ADC0809通道选择表如图74HC138的作用:就是选择芯片时用的,提供芯片的入口地址74HC138集成译码器原理图5.电位器作用电位器的作用就是产生模拟信号,输送到模数转换器,然后模数转换器将模拟信号转变为数字信号。

6.LED灯LED灯的亮灭由8255的PA口控制,8个PA口中输出高电平的PA口对应的LED灯就会发光。

三.总体流程及重要子程序流程设计与分析四.收获与体会模数转换,电位器产生模拟信号,产生的模拟信号就通过模数转换器转变成数字信号,产生的数字信号输入到8259中断控制器中,使8259在适当的时候产生中断,通过中断控制8255的工作方式,而译码器的作用就是提供每个芯片的入口地址。

五.程序清单程序源代码:#define PA8255 0x8000 //8255 PA输出地址#define CTL8255 0x8003#define CS0809 0x9000#define mode 0x82#define ICW1 0x13 //单片8259, 上升沿中断, 要写ICW4#define ICW2 0x20 // 中断号为20H#define ICW4 0x01 // 工作在8086/88 方式#define OCW1 0xfe // 只响应INT0 中断#define CS8259A 0xd000#define CS8259B 0xd001extern unsigned char IN(unsigned int port);extern void OUT(unsigned int port, unsigned char v); extern void DISABLE(void);extern void ENABLE(void);extern void SETINT(unsigned char NO, unsigned int *ENTER); unsigned char buf;unsigned char Read0809(){unsigned char i;OUT(CS0809, 0); //起动A/Dfor (i=0; i<0x80; i++) ; //延时>100usreturn(IN(CS0809)); //读入结果}interrupt IEnter(){if(buf == 0x00) //下限{OUT(PA8255, 0x00);}else if(buf == 0xff) //上限{OUT(PA8255, 0xff);}else{OUT(PA8255, 0x3c);}OUT(CS8259A, 0x20); //中断服务程序结束指令}void IInit() //初始化{OUT(CS8259A, ICW1);OUT(CS8259B, ICW2);OUT(CS8259B, ICW4);OUT(CS8259B, OCW1);}void main(){OUT(CTL8255,mode);DISABLE(); //关闭中断响应IInit();SETINT(ICW2, &IEnter); //中断入口地址ENABLE(); //打开中断响应while (1){buf = Read0809();}叮叮小文库}欢迎有需要的朋友下载!!11。

微型计算机接口技术 大作业

微型计算机接口技术  大作业

小组成员:赖…,欧…,李…..一、设计任务及要求编写一实现电子琴的程序,并实现若干扩展功能。

基本功能:用8257键盘输入对应的七个音阶,通过实验箱的喇叭发出声音,并通过七段数码管显示输入音阶;扩展功能:1、录音:记录所弹奏曲目2、放录音:任意时刻重放最新记录曲目3、在程序中可预设一曲目,按一键实现播放该曲目。

4、在播放录制曲目或预设曲目时,按8279键盘上任意键可以暂停播放,再按一次从暂停处继续播放。

5、程序运行时有友好的用户介面二、元件与仪器介绍本设计所要用到的元器件有:计时器8253,使用8088芯片的键盘控制器,并行控制器8255A,实验箱。

2.1 8253的介绍8253是可编程的计数器/定时器,其内部有三个独立的16位计数器/定时器通道,每个计数器通道均可按6种不同的方式工作,并且都可以按二进制或十进制计数。

2.1.1 8253的工作原理8253是可编程的计数器/定时器,其CLK0~CLK2是计数器0~2的时钟脉冲输入端, GATE0~GATE2是门控脉冲输入端, OUT0~OUT2是输出端及内部结构见下图。

当用8253做外部事件计数器时,在CLK端所加的计数脉冲由外部事件产生,这些脉冲的间隔可以不相等。

如果要用它做定时器,则CLK端应输入精确的时钟脉冲。

这时, 8253所能实现的定时时间决定于计数脉冲的频率和计数器的初值,即定时时间=时钟脉冲周期t c ×预置的计数初值n8253的控制逻辑由5个控制信号WR、CS、A1和A0组成,对应的操作见表1。

8253编程时,要对其控制字寄存器写入相应的控制字,控制字寄存器格式如表2所示。

其中: SC1, SC0———通道选择位。

为00, 01, 10分别表示选择0, 1, 2通道。

RL1, RL0——读/写操作位。

00 表示锁存数据,可随时读取计数器中的计数值; 01 表示只读/写低8位,高8位自动置为0; 10表示只读/写高8位,低8位自动置为0; 11表示读/写16位数据,先低8位,后高8位。

华工计算机接口技术作业-网院接口技术课后作业全解

华工计算机接口技术作业-网院接口技术课后作业全解

第一题:名词解释主频、字长、总线、单片机、RAM ROM接口、端口、统一编址、I/O端口独立编址、中断、中断向量、DMA并行通信、数模转换、模数转换、串行通信、波特率、异步通信、同步通信1、主频:即CPU内核工作的时钟频率2、字长: 字长是直接用二进制代码指令表达的计算机语言,指令是用0和1 组成的一串代码,它们有一定的位数,并分成若干字长段,各段的编码表示不同的含义,例如某台计算机字长为16位,即有16个二进制数组成一条指令或其它信息3、总线:是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束,按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号4、单片机:把构成一个微型计算机的一些功能部件集成在一块芯片之中的计算机。

5、R AM:又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)6 ROM:只读存储器。

断电后信息不丢失,如计算机启动用的BIOS芯片。

存取速度很低,(较RAM而言)且不能改写7、接口:CPU和存储器、外部设备或者两种外部设备,或者两种机器之间通过系统总线进行连接的逻辑部件(或称电路)。

它是CPU与外界进行信息交换的中转站,是CPU和外界交换信息的通道。

8、端口:计算机中所有能被指令直接寻址的I/O 口。

每个端口都有各自独一无二的端口地址。

9、统一编址:从存储空间划出一部分地址空间给I/O设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令。

10、I/O端口独立编址:对接口中的端口单独编址而不占用存储空间,使用专门的I/O指令对端口进行操作,大型计算机通常采用这种方式。

11、中断:CPU在正常运行程序时,由于内部/外部事件或由程序预先安排引起CPU暂停正在运行的程序,而转到为内部/外部或为预先安排事件服务的程序中去。

服务完毕再返回去继续执行被暂停的程序。

计算机接口技术大作业

计算机接口技术大作业

计算机接口技术大作业班级:姓名:学号:指导老师:设计内容:总结计算机接口技术发展,CPU可以选择8086或者单片机,应用所学芯片(不限于)8255、8251、8253、8237、8259、0809、0832、8279及总线接口相关知识,设计一套系统或一个小装置。

要求至少用到以上三款芯片或接口技术,提倡在proteus 中仿真,然后到实验室验证。

计算机接口技术发展微机系统中,接口处于微机总线与设备之间,进行CPU与设备之间的信息交换。

设置接口的目的有两条:通过接口实现设备与总线的连接;连接起来以后,CPU通过接口对设备进行访问,即操作或控制设备。

接口技术的基本内容包括设备接口设计和应用程序设计,实现把设备连接到用户总线(ISA)和完成对设备在应用层的访问。

接口技术的新内容包括总线接口设计和设备驱动程序设计,实现把用户总线(ISA)连接到PCI总线和完成对设备在windows操作系统核心层的访问。

设备驱动程序的程序结构,编程语言,开发工具和程序设计,调试,安装方法与应用程序完全不同,是现代微机接口技术的新内容。

接口技术的发展是随着微机体系结构(CPU,总线,存储器)和被连接的对象,以及操作系统应用环境的发展而发展的。

当接口的两端及应用环境发生了变化,作为中间桥梁的接口也必须发生变化。

这种变化与发展,过去是如此,今后仍然如此。

早期的计算机系统,接口与设备之间无明显的边界,接口与设备控制器做在一起。

到8位微机,在接口与设备之间有了边界,并且出现了许多接口标准。

早期计算机系统中并没有设置独立的接口电路,对外设的控制和管理完全由CPU直接操作。

由于微机技术的发展,其应用越来越广泛,外设品种和门类大大增加,且性能各异,操作复杂,因此,不设接口就不行了。

为了解决矛盾,开始在CPU与外设之间设置了简单的接口电路,后来逐步发展成为独立功能的接口和设备控制器,把对外设的控制任务交给接口去完成,这样大大减轻了主机的负担,简化了CPU对外设的控制和管理。

华南理工网络教育计算机接口技术随堂练习答案.doc

华南理工网络教育计算机接口技术随堂练习答案.doc

计算机接口技术随堂练习答案 第一章微机接口技术概述1. 1. 8086微处理器可寻址访问的最大I/O 空间是()。

参考答案:B2. 2.CPU 的控制总线提供()。

A.数据信号流B.所有存储器和I/O 设备的时序信号及控制信号C. 來自I/O 设备和存储器的响应信号D.前面B 和C 两项参考答案:D3. 3. CPU 的数据总线提供()◊A.数据信号流B.所有存储器和I/O 设备的时序信号及控制信号C.來自I/O 设备和存储器的响应信号D.地址信号流参考答案:A4. 4. CPU 的地址总线提供()0A.数据信号流B.所有存储器和I/O 设备的时序信号及控制信号C.來自I/O 设备和存储器的响应信号D.地址信号流参考答案:D5. 5. CPU 在执行OUT DX ,AL 指令时,CPU 往控制总线上送出的有效信号是()A.ww B参考答案:A6. 6. CPU 在执行OUT DX ,AL 指令时,CPU 往地址总线上送出的有效信号是() A.DX 寄存器所存放的地址BAL 寄存器所存放的数据C BFiSWD. MBKW参考答案:A7. 7. CPU 在执行OUT DX ,AL 指令时,CPU 往数据总线上送出的有效信号是()A.DX 寄存器所存放的地址BAL 寄存器所存放的数据C nR~»WD hBA MOW参考答案:B8. 8086 CPU 寄存器中,能在操作数内存寻址时用作地址寄存器的是()。

A.AX B BX C CX D. DX答题:A. B. C. D.(已提交)参考答案:B问题解析:9. 8086CPU 在作外设输入时,控制信号M/® A.11 B00C01 D. 10答题:A. B. C. D.(已提交)A.1KB B.64KB C.640KB D.1MBDT/E 必须是()。

参考答案:B问题解析:10. 8086CPU基本总线周期中,地址信号在()时间发生。

A.T1 BT3 C T2 D. T4 答题:A.B.C.D.(已提交)参考答案:A问题解析:11. 11.8086CPU在作总线操作时,遇至ij READY=L后可插入()。

吉大18秋学期《计算机接口技术》在线作业一(满分)

吉大18秋学期《计算机接口技术》在线作业一(满分)

------------------------------------------------------------------------------------------------------------------------------ (单选题) 1: 系统规定:串行口1的中断号是( )A: 0BHB: 0CHC: 0DHD: 0EH正确答案:(单选题) 2: 一片1ntel8255A需占用()个端口地址。

A: 2B: 4C: 6D: 8正确答案:(单选题) 3: 将微处理器、内存储器及I/O接口连接起来的总线是()。

A: 片总线B: 外总线C: 系统总线D: 局部总线正确答案:(单选题) 4: 串行通信中,若收发双方的动作由同一个时钟信号控制,则称为()串行通信。

A: 同步B: 异步C: 全双工D: 半双工正确答案:(单选题) 5: 如果约定在字符编码的传送中采用偶校验,若接收到校验代码11010010,则表明传送中()。

A: 未出现错误B: 出现奇数位错C: 出现偶数位错D: 最高位出错正确答案:(单选题) 6: 同步串行通信的帧格式开头有同步字符SYNC,其作用是将“消息到达”通知( )A: 接收器B: 发送器C: 调制解调器D: CPU正确答案:(单选题) 7: 异步串行通信的接口电路中,提供准确的发送和接收时钟的模块是( )A: A发送器/接收器B: 比特率发生器C: 电平转换电路------------------------------------------------------------------------------------------------------------------------------ D: 接收/发送移位寄存器正确答案:(单选题) 8: 在8255的初始化程序中,使INTEA=1的目的是使()。

A: A口在中断方式下完成输入/输出操作B: B口在中断方式下完成输入/输出操作C: A口在查询方式下完成输入/输出操作D: B口在查询方式下完成输入/输出操作正确答案:(单选题) 9: 串行异步通信协议所规定的一帧数据中,允许最长的一帧数据共有()位。

华工计算机接口技术作业-网院接口技术课后作业全解

华工计算机接口技术作业-网院接口技术课后作业全解

第一题:名词解释主频、字长、总线、单片机、RAM、ROM、接口、端口、统一编址、I/O端口独立编址、中断、中断向量、DMA、并行通信、数模转换、模数转换、串行通信、波特率、异步通信、同步通信1、主频:即CPU内核工作的时钟频率2、字长:字长是直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干字长段,各段的编码表示不同的含义,例如某台计算机字长为16位,即有16个二进制数组成一条指令或其它信息3、总线:是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束,按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号4、单片机:把构成一个微型计算机的一些功能部件集成在一块芯片之中的计算机。

5、RAM:又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)6、ROM:只读存储器。

断电后信息不丢失,如计算机启动用的BIOS芯片。

存取速度很低,(较RAM而言)且不能改写7、接口:CPU和存储器、外部设备或者两种外部设备,或者两种机器之间通过系统总线进行连接的逻辑部件(或称电路)。

它是CPU与外界进行信息交换的中转站,是CPU和外界交换信息的通道。

8、端口:计算机中所有能被指令直接寻址的I/O口。

每个端口都有各自独一无二的端口地址。

9、统一编址:从存储空间划出一部分地址空间给I/O设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令。

10、I/O端口独立编址:对接口中的端口单独编址而不占用存储空间,使用专门的I/O指令对端口进行操作,大型计算机通常采用这种方式。

11、中断:CPU在正常运行程序时,由于内部/外部事件或由程序预先安排引起CPU暂停正在运行的程序,而转到为内部/外部或为预先安排事件服务的程序中去。

服务完毕再返回去继续执行被暂停的程序。

计算机接口大作业

计算机接口大作业

《计算机接口技术及其应用》大作业电子琴设计班级:姓名 :学号 :指导老师:一、设计目的:1.掌握8255A、8253、DAC0832、8279的原理及连接方式,并学会综合应用;2.熟悉8255A、8253、DAC0832、8279芯片与PC机连接方式3.进一步巩固8255A、8253、DAC0832、8279的初始化和应用知识。

二、设计资料1.8255A8255A在使用前要写入一个方式控制字,共有三种;方式0 :基本的输入输出方式,即无须联络就可以直接进行的I/O方式。

方式1 :选通I/O,此时接口和外围设备需联络信号进行协调,只有A口和B口可以工作在方式1。

方式2:双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。

2.82538253内部有三个计数器,分别成为计数器0、计数器1和计数器2。

每个计数器的输入和输出都决定于设置在控制寄存器中的控制字。

每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。

每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。

3.DAC0832一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。

输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。

根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。

8279可按其功能分为:键盘功能块;显示功能块;控制功能块,与CPU 接口功能块控制功能包括控制和定时寄存器,定时和控制,扫描计数器三部分,它主要用来控制键盘和 显示功能块工作。

《计算机接口技术》大作业

《计算机接口技术》大作业

苏州科技学院电子与信息工程学院《计算机接口技术》大作业专业:电子信息工程班级:姓名:学号:2012年6月1.设计内容:应用所学芯片8255、8251、8253、8237、8259、0809、0832及总线接口相关知识,在proteus中设计一套系统或一个小装置。

要求至少用到以上三款芯片或接口技术。

2.考核要求:1、设计具有基本完整的功能,具有可实现性;2、强调创新性和应用性,不与现有系统、产品雷同;3、硬件设计要求详尽,软件设计可以限于主要功能和关键部分4、自拟题目,题目要求新颖3.硬件设计3.1 设计思想硬件电路的搭建主要由8255A、8251和8253组成,利用地址译码器将8086芯片的端口地址分隔开,然后分给各个芯片。

3.2主要元器件介绍3.2.1 8255A模型8255共有40个引脚,采用双列直插式封装,各引脚功能如下:D0--D7:三态双向数据线,与单片机数据总线连接,用来传送数据信息。

CS:片选信号线,低电平有效,表示芯片被选中。

RD:读出信号线,低电平有效,控制数据的读出。

WR:写入信号线,低电平有效,控制数据的写入。

Vcc:+5V电源。

PA0--PA7:A口输入/输出线。

PB0--PB7:B口输入/输出线。

PC0--PC7:C口输入/输出线。

RESET:复位信号线。

A1、A0:地址线,用来选择8255内部端口。

GND:地线。

其控制逻辑为:8255内部包括三个并行数据输入/输出端口,两个工作方式控制电路,一个读/写控制逻辑电路和8位总线缓冲器。

各部分功能概括如下:(1)端口A、B、CA口:是一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器。

B口:是一个8位数据输入/输出锁存器/缓冲器和一个8位数据输入锁存器。

C口:是一个8位数据输出锁存器/缓冲器和一个8位数据输入缓冲器(输入不锁存)。

通常A口、B口作为数据输入/输出端口。

C口作为控制/状态信息端口,它在“方式控制字”的控制下可分为两个4位端口,每个端口有一个4位锁存器,分别与A口、B口配合使用,作为控制信号输出或状态信息输入端口。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机接口技术课堂大作业参考答案(1)
姓名:班级:学号:成绩:——————————————————————————————————一.填空题(每空2分,共30分)
1.接口的编址方式有(统一编址)和(独立编址)。

2.数据输入/输出的三种基本方式是(查询)、(中断)和(DMA)。

3.8086CPU的外部中断引脚有(INTR)和(NMI)。

4.在8086CPU系统中,设某中断源的中断类型号为08H,中断矢量为0100H:1000H,则相应的中断矢量存储地址为(0020H);从该地址开始,连续的4个存储单元存放的内容依次为(00H、10H、00H、01H)。

5.定时器/计数器8254的地址范围是304H~307H,则控制端口的地址是(307H)。

6.如用译码器74LS138的输出信号与8086CPU的WR信号组合后成为8255A的片选控制信号,应选用下列哪中逻辑电路(B)。

A.与门 B.和门C.与非门D.和非门
7.在某一存储器系统中,设有只读存储器16KB,随机存储器48KB,用16根地址线来寻址,如只读存储器位于低地址段,则其地址范围是(C)。

A. 0000H—2BFFH
B. 0000H—0FFFH
C. 0000H—3FFFH
D. 0000H—4AFFH
8.键盘硬中断的类型号是9,它对应的中断向量指针是( 0000:0024H )。

(包括段地址和徧移量)
9.在给接口编址的过程中,如果有5根地址线没有参加译码,则可能产生(32)个重叠的地址。

10.某8254A定时器/计数器0的CLK0输入时钟频率是1MHz,要求的定时时间是10ms,则定时器/计数器0的定时常数应该是(10000)
二.简答题(每小题5分,共40分)
1.什么是端口?8086共有多少端口?
答:一个I/O地址称为一个端口;8086共有65536个端口。

2.请用74LS138设计一个产生308H~30FH的PC机译码电路。

答:
3.请简述在8254A定时器/计数器中,什么是硬件触发和软件触发?
答:软件触发特点:8253A初始化后,只要写入定时/计数常数,8253A就开始计数.。

硬件触发特点:8253A初始化并写入定时/计数常数后,还必须有一个硬件的触发信号,8253A才能开始计数。

4.什么是中断向量?什么是中断向量表?中断向量地址与中断向量表的关系是什么?
答:中断向量是中断服务程序的入口地址,把系统中所有的中断类型码及其对应的中断向量按一定的规律存放在一个区域内,这个存储区域就叫中断向量表。

中断向量地址也叫中断向量指针,它指出了中断入口地址在中断向量表中存放的位置。

5.什么是硬件中断和软件中断?在PC机中两者的处理过程有什么不同?
答:硬件中断是通过中断请求线输入电信号来请求处理机进行中断服务;软件中断是处理机内部识别并进行处理的中断过程。

硬件中断一般是由中断控制器提供中断类型码,处理机自动转向中断处理程序;软件中断完全由处理机内部形成中断处理程序的入口地址并转向中断处理程序,不需外部提供信息。

6.定时与计数有什么不同的特点?
答:定时与计数在本质上是一致的,不同的是,定时是对固定频率的脉冲信号计数。

7.I/O地址线作端口寻址时,高位地址线和低位地址线各作何用?如何决定低位地址线的根数?
答:高位地址线主要接译码器,用来选择接口芯片;低位地址线用来选择片内地址。

低位地址线的根数可由片内地址最多的芯片来决定,如片内最多是32个地址,则需5根低位地址线。

8.什么是中断嵌套?全嵌套与特殊嵌套有什么区别?
答:为了使更紧急的级别高的中断源及时得到服务,需要暂时中断(挂起)当前正在执行的级别较低的中断服务程序,去处理级别更高的中断源,待处理完以后,再返回到被中断了的中断服务程序继续执行。

只有优先级高的才能打断优先级低的,称为全嵌套;同级的中断能够被打断,称为特殊嵌套。

三.编程题(每小题15分,共30分)
1.某16位机的中断系统如下图所示,设主、从片的工作方式为边沿触发,主片的中断类型号为10H~17H,从片A的中断类型号为20H~27H,从片B的中断类型号为28H~2FH,主从片都允许嵌套,请写出系统的初试化程序。

主片初始化:
MOV AL,00010001B OUT 20H,AL
MOV AL,10H
OUT 21H,AL
MOV AL,01000100B OUT 21H,AL
MOV AL,00010001B OUT 21H,AL
从片A初始化:
MOV AL,00010001B OUT 0A0H,AL MOV AL,20H
OUT 0A1H,AL MOV AL,03
OUT 0A1H,AL MOV AL,00000001B OUT 0A1H,AL
从片B初始化:
MOV AL,00010001B OUT 0B0H,AL MOV AL,28H
OUT 0B1H,AL MOV AL,06
OUT 0B1H,AL MOV AL,00000001B
OUT 0B1H,AL
2.写出如下图所示原理图中,芯片8254选通工作的地址范围,各端口地址各为多少?如设8254计数器0为BCD 码计数方式,工作于方式3(方波发生器),CLK 0输入端每来5个计数脉冲,输出端OUT 0的高电平与低电平反相一次(对称方波),请写出初始化程序。

(1)地址范围:80H ~
计数器0#:80H ; 计数器2#:82H ; 控制寄存器:83H
(2)计数器0为BCD 码计数方式,工作于方式3,方式控制字为00010111B=17H
CLK0输入端每来5个计数脉冲,输出端OUT0的高电平与低电平反相
一次(对称方波),即计数初值为10,BCD 码计数,为10H 。

(3)8253初始化程序:
MOV AL ,17H
OUT 83H ,AL
MOV AL ,10H
OUT 80H ,AL 8254 A A A A A A。

相关文档
最新文档