您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 广工计算机接口与通信实验报告(原创)
接口与通讯实验报告1、8253定时/计数器实验2、8255并行接口实验3、数字式时钟(电子钟)4、D/A(数/模)转换实验5、A/D(模/数)转换实验学生学院计算机学院专业班级学号311000学生姓名指导教师2013年1月1日__计算机__学院__2010级计算机科学与技术_专业__四___班___组、学号3110006015姓名张法光协作者_________教师评定_________________实验题目8253定时/计数器实验一、实验目的与要求学习8253可编程定时器/计时器定时方法。学习8253多级串联实现大时间常数的定时方法。学习8086/86控制8253可编程定时器的方法。二、实验内容用8253对标准脉冲信号进行计数,就可以实现定时功能。用板上的1MHz作为标准信号,将8253可编程计数器/定时器的时间常数设在1000000次,就可以在定时器的管脚上输出1秒针高/1秒钟低得脉冲信号。因为8253每个计数器只有十六位,要用两个计数器才能实现一百万次的技术,实现每一秒输出状态发生一次反转。1、实验电路2、实验连线8253的CS,接地址译码CS4,8253_GATEO,接VCC(是+5V),8253_GATE1,也接VCC(是+5V)。8253_CLK1,接1MHz。具体连线见下表:3、实验原理8253即可做定时器又可作计数器:(1)计数:计数器装入初值后,当GATE为高电平时,可用外部事件为CLK,脉冲对计数值进行减1计数,每来一个脉冲减1,当计数值减至0时,在OUT端输出一个标志信号。(2)定时:计数器装入初值后,当GATE为高电平时,由CLK脉冲触发开始自动计数,当计数到零时,发计数结束定时信号。8253控制字4、实验程序框图三、实验程序与注释CONTROLequ0c003h;控制口地址COUNT0equ0c000h;计数器0地址COUNT1equ0c001h;计数器1地址COUNT2equ0c002h;计数器2地址codesegmentassumecs:codestartprocnearmoval,36H(00110110B);计数器0,16位,方式3,二进制movdx,CONTROLoutdx,al;将控制字写入控制寄存器movax,1000;在计数器0中写入初值movdx,COUNT0outdx,al;计数器低字节moval,ahoutdx,al;计数器高字节moval,76H(01110110B);计数器1,16位,方式3,二进制movdx,CONTROLoutdx,al;将控制字写入控制寄存器movax,1000;在计数器1中写入初值movdx,COUNT1outdx,al;计数器低字节moval,ahoutdx,al;计数器高字节jmp$startendpcodeendsendstart若改用方式2,并改变时间常数。如何修改程序。(程序段加粗为修改部分)CONTROLequ0c003h;控制口地址COUNT0equ0c000h;计数器0地址COUNT1equ0c001h;计数器1地址COUNT2equ0c002h;计数器2地址codesegmentassumecs:codestartprocnearmoval,34H(00110100B);计数器0,16位,方式2,二进制movdx,CONTROLoutdx,al;将控制字写入控制寄存器movax,5000;在计数器0中写入初值movdx,COUNT0outdx,al;计数器低字节moval,ahoutdx,al;计数器高字节moval,74H(01110110B);计数器1,16位,方式2,二进制movdx,CONTROLoutdx,al;将控制字写入控制寄存器movax,200;在计数器1中写入初值movdx,COUNT1outdx,al;计数器低字节moval,ahoutdx,al;计数器高字节jmp$startendpcodeendsendstart__计算机__学院__2010级计算机科学与技术_专业__四___班___组、学号3110006015姓名张法光协作者_________教师评定_________________实验题目8255并行接口实验一、实验目的与要求1.了解8255芯片结构及编程方法。2.了解8255输入/输出实验方法。二、实验内容利用8255可编程并行口芯片,实现输入/输出实验,实验中用8255PA口作输出,PB口作输入。1、实验电路2、实验连线8255的CS,接地址译码/CS0。PA0-PA7(PA口)接LED0-LED7(LED),PB0-PB7(PB口)接K0-K7(开关量)。数据线、读/写控制、地址线、复位信号板上已接好。连接孔1连接孔2连接孔1连接孔2连接孔1连接孔2CS0→8255_CS注:若8255的CS接地址孔8000H。则PA口地址为8000HPB口地址为8001HPC口地址为8002H控制口地址为8003HL0→8255-PA0L1→8255-PA1L2→8255-PA2L3→8255-PA3L4→8255-PA4L5→8255-PA5L6→8255-PA6L7→8255-PA7K0→8255-PB0K1→8255-PB1K2→8255-PB2K3→8255-PB3K4→8255-PB4K5→8255-PB5K6→8255-PB6K7→8255-PB73、实验原理可编程通用接口芯片8255A有三个八位的并行I/O口,它有三种工作方式。本实验采用是方式0:PA,PC口输出,PB口输入。*8255控制字4.实验程序框图三、实验程序与注释modeequ82H;10000010B;方式0,PA,PC输出,PB输入PortAequ8000h;PortAPortBequ8001h;PortBPortCequ8002h;PortCCAddrequ8003h;控制字地址codesegmentassumecs:codestartprocnearStart:moval,modemovdx,CAddroutdx,al;输出控制字movdx,PortCoutal,dx;输出到PortCmovdx,PortBindx,al;输入PortBmovdx,PortAoutdx,al;输出到PortAmovah,200calldelayjmpStartendpdelayprocnear;入栈保护现场pushaxmoval,0pushcxmovcx,axloop$;出栈恢复现场popcxpopaxretdelayendpcodeendsendstart若将B口和C口的功能对调(连线对调),如何编写程序。(程序段加粗为修改部分)modeequ89H;10001001B,方式0,PA,PB输出,PC输入PortAequ8000h;PortAPortBequ8001h;PortBPortCequ8002h;PortCCAddrequ8003h;控制字地址codesegmentassumecs:codestartprocnearStart:moval,modemovdx,CAddroutdx,al;输出控制字movdx,PortCinal,dx;读入PortCmovdx,PortBoutdx,al;输出到PortBmovdx,PortAoutdx,al;输出到PortAmovah,200calldelayjmpStartendpdelayprocnearpushaxmoval,0pushcxmovcx,axloop$popcxpopaxretdelayendpcodeendsendstart__计算机__学院__2010级计算机科学与技术_专业__四___班___组、学号3110006015姓名张法光协作者_________教师评定_________________实验题目数字式时钟(电子钟)一、实验目的与要求进一步掌握定时器的使用和编程方法。进一步掌握中断处理程序的编程方法。进一步掌握数码显示电路的驱动方法。二、实验内容利用CPU的定时器和试验仪上提供的数码显示电路,设计一个电子时钟。格式如下:XXXXXX由左向右分别为:时、分、秒。1、实验电路2、实验连线连接孔1连接孔2连接孔1连接孔2CS4→8253_CSVCC→8253_GATE11MHz→8253_CLK1CS0→KEY/LED_CSCS5→8259CS8253_OUT1→8259_INT03、实验原理对于8088的实验,8255做定时器,用定时器输出的脉冲控制8259产生中断,在8259中断处理程序中,对时、分、秒进行计数,在等待中断的循环中用LED显示时间。8253用定时/计数器1,8253片选接CS4,地址为0C000H,8253时钟源CLK1接时钟信号1MHz。8253的GATE1接VCC。8259中断INTO接8253的OUT1,片选接CS5,地址为0D000H。显示电路的KEY/LEDCS接CS0,地址为08000H。定时器没100us中断一次,在中断服务程序中,对中断次数进行技术,100us计数10000次就是1秒。然后再对秒计数得到分和小时值,并送入显示缓存区。4、实验程序框图三、实验程序与注释;本实验利用8253做定时器,用定时器输出的脉冲控制8259产生中断;在8259中断处理程序中,对时、分、秒进行计数,在等待中断的循;环中用LED显示时间。;8253用定时器/计数器1,8253片选接CS4,地址为0C000H。8253时钟;源CLK1接分频电路的F/16输出。分频器的Fin接1MHz时钟。8253的;GATE1接VCC。;8259中断INT0接8253的OUT1,片选接CS5,地址为0D000H。;显示电路的KEY/LEDCS接CS0,地址为08000H。;CONTROLequ0c003hCOUNT0equ0c000hCOUNT1equ0c001hCOUNT2equ0c002hmd8255equ82h;8255工作方式PA8255equ8000h;8255PA口输出地址CTL8255equ8003h;8255控制口地址OUTBITequ08002h;位控制口OUTSEGequ08004h;段控制口ICW1equ13H;(00010011B),单片8259,上升沿中断,要写ICW4ICW2equ20H;(00100000B),中断号为20HICW4equ01H;(00000001B),工作在8086/88方式OCW1equFEH;(11111110B),只响应INT0中断CS8259Aequ0d000h;8259的基地址和偶地址CS8259Bequ0d001hdatasegmentCNTdb0LEDBufdb6dup(?);显示缓冲Numdb1dup(?);显示的数据DelayTdb1dup(?)Hourdb0Minutedb0Seconddb0LEDMAP:;八段管显示码db3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb7fh,6fh,77h,7ch,39h,5eh,79h,71hdataendscodesegmentassumecs:code,ds:dataDelayprocnearpushax;延时子程序pushcxmoval,0movcx,axloop$popcxpopaxretDelayendpDisplayLEDprocnearmovbx,offsetLEDBufmovcl,6;共6个八段管movah,20h;00100000b,从左边开始显示DLoop:movdx,OUTBITmoval,0outdx,al;关所有八段管moval,[bx]movdx,OUTSEGoutdx,almovdx,OUTBITmoval,ahoutdx,al;显示一位八段管pushaxmovah,1callDelaypopaxshrah,1incbxdeccljnzDLoopmovdx,OUTBITmoval,0outdx,al;关所有八段管retDisplayLEDendpIEnterprocnearpushaxpushdxincSec
本文标题:广工计算机接口与通信实验报告(原创)
链接地址:https://www.777doc.com/doc-316238 .html