PAGE/NUMPAGES1一、实验目的1、熟悉74LS273,74LS244的应用接口方法。 2、掌握用锁存器、三态门扩展简单并行输入、输出口的方法。 二、实验内容 逻辑电平开关的状态输入74LS244,然后通过74LS273锁存输出,利用LED显示电路作为输出的状态显示。三、实验原理介绍 本实验用到两部分电路:开关量输入输出电路,简单I/O口扩展电路。四、实验步骤 1、实验接线:(«表示相互连接) CS0«CS244CS1«CS273K1~K8«IN0~IN7(对应连接)O0~O7«LED1~LED8 2、编辑程序,单步运行,调试程序 3、调试通过后,全速运行程序,观看实验结果。 4、编写实验
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
。五、实验提示 74LS244或74LS273的片选信号可以改变,例如连接CS2,此时应同时修改程序中相应的地址。六、实验结果 程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。例如:K2置于L位置,则对应的LED2应该点亮。七、程序框图(实验程序名:T244273.ASM)八、程序源代码清单 assumecs:code codesegmentpublic org100h start:movdx,04a0h;74LS244地址 inal,dx;读输入开关量 movdx,04b0h;74LS273地址 outdx,al;输出至LED jmpstart codeends endstart一、实验目的1.掌握PC机外存扩展的方法。 2.熟悉6264芯片的接口方法。3.掌握8086十六位数据存储的方法。二、实验内容 向02000~020FFH单元的偶地址送入AAH,奇地址送入55H。三、实验原理介绍 本实验用到存储器电路,见硬件说明。四、实验步骤 1、实验接线 本实验无需接线。 2、编写调试程序 3、运行实验程序,可采取单步、设置断点方式,打开内存窗口可看到内存区的变化。五、实验提示 1、RAM区的地址为02000H,编程时可段地址设为01000H,则偏移地址为1000H。 2、如果按字节进行存储,则AL为55H或AAH;如果按字进行存储,则AX应为55AAH。 3、6264、62256等是计算机系统扩展中经常用到的随机存储器芯片(RAM),主要用作数据存储器扩展。本实验所进行的内存置数在程序中经常用到。计算机系统运行中会频繁地进行内存与外设或者内存与内存之间的数据传输,所以本实验虽然简单但对理解系统程序的运行很关键,望学习和实验时认真对待。六、实验结果 在断点1处内存区02000H~020FFH单元为00H;在断点2处偶地址为AAH,奇地址为55H七、程序框图(实验程序名:RAM.ASM)八、程序源代码清单 codesegment assumecs:code org0100h start:movax,0100h movds,ax;数据段地址 moves,ax movsi,1000h;偏移地址 movcx,0100h;循环次数 moval,0 intram:mov[si],al incsi loopintram movsi,1000h;设置断点处 movcx,100h movax,55aah fil:mov[si],ax;RAM区循环置数 incsi ;mov[si],ah incsi loopfil nop;设置断点处 jmpstart codeends endstart一、实验目的 掌握8255A的编程原理。二、实验内容 8255A的A口作为输入口,与逻辑电平开关相连。8255A的B口作为输出口,与发光二极管相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。三、实验原理介绍 本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。四、实验步骤 1、实验接线 CS0«CS8255PA0~PA7«K1~K8PB0~PB7«LED1~LED8 2、编程并全速或单步运行。 3、全速运行时拨动开关,观察发光二极管的变化。当开关某位置于L时,对应的发光二极管点亮,置于H时熄灭。五、实验提示 8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本实验也是如此。实验中,8255A工作于基本输入输出方式(方式0)。六、实验结果 程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。例如:K2置于L位置,则对应的LED2应该点亮。七、程序框图(实验程序名:t8255.asm)八、程序源代码清单 assumecs:code codesegmentpublic org100h start:movdx,04a6h;控制寄存器地址 movax,90h;设置为A口输入,B口输出 outdx,ax start1:movdx,04a0h;A口地址 inax,dx;输入 movdx,04a2h;B口地址 outdx,ax;输出 jmpstart1 codeends endstart一、实验目的 掌握8253定时器的编程原理,用示波器观察不同模式下的输出波形。二、实验内容 8253计数器0,1,2工作于方波方式,观察其输出波形。三、实验原理介绍 本实验用到两部分电路:脉冲产生电路、8253定时器/计数器电路四、实验步骤 1、实验连线: CS0«CS8253OUT0«8253CLK2OUT2«LED1示波器«OUT1 CLK3«8253CLK0,CLK3«8253CLK1 2、编程调试程序 3、全速运行,观察实验结果五、实验提示 8253是计算机系统中经常使用的可编程定时器/计数器,其内部有三个相互独立的计数器,分别称为T0,T1,T2。8253有多种工作方式,其中方式3为方波方式。当计数器设好初值后,计数器递减计数,在计数值的前一半输出高电平,后一半输出低电平。实验中,T0、T1的时钟由CLK3提供,其频率为750KHz。程序中,T0的初值设为927CH(37500十进制),则OUT0输出的方波周期为(37500*4/3*10-6=0.05s)。T2采用OUT0的输出为时钟,则在T2中设置初值为n时,则OUT2输出方波周期为n*0.05s。n的最大值为FFFFH,所以OUT2输出方波最大周期为3276.75s(=54.6分钟)。可见,采用计数器叠加使用后,输出周期范围可以大幅度提高,这在实际控制中是非常有用的。六、实验结果 程序全速运行后,LED1闪烁(周期为0.25s),OUT1示波器观察为方波,频率为15KHz。七、程序框图(实验程序名:t8253.asm)八、程序源代码清单 assumecs:code codesegmentpublic org100h start: movdx,04a6h;控制寄存器 movax,36h;计数器0,方式3 outdx,ax movdx,04a0h movax,7Ch outdx,ax movax,92h outdx,ax;计数值927Ch movdx,04a6h movax,76h;计数器1,方式3 outdx,ax movdx,04a2h movax,32h outdx,ax movax,0;计数值32h outdx,ax movdx,04a6h movax,0b6h;计数器2,方式3 outdx,ax movdx,04a4h movax,04h outdx,ax movax,0;计数值04h outdx,ax next: nop jmpnext codeends endstart一、实验目的 熟悉A/D转换的基本原理,掌握ADC0809的使用方法。二、实验内容 从ADIN0输入一路模拟信号,启动A/D转换,用简单输入口(74LS244)查询EOC信号,转换结束后查看转换结果。同时用万用表测量输入的模拟电压,与转换后的数字量比较。作图,横坐标是模拟电压,纵坐标是转换的数字量,检查A/D转换的线性度。其它通道实验与通道0类似,相应修改地址即可。三、实验原理介绍 本实验用到两部分电路:简单I/O口扩展电路、A/D、D/A电路四、实验步骤 1、实验连线 AN0«ADIN0CS0«CS0809CS1«CS244EOC«IN0 2、用实验箱左上角的“VERF.ADJ”电位器调节ADC080912脚上的参考电压至5V。 3、编写程序并全速运行。 4、检查显示数据是否与电位器输出的电压相符合。五、实验提示 实验电路中启动信号START与地址锁存信号相连,所以启动A/D转换的方法为: MOVDX,ADDRESS;ADDRESS是ADC0809的端口地址 OUTAL,DX;发片选及IOW信号,启动0通道六、实验结果 在输入电压AN0分别为0V,1V,2V,3V,4V,5V时显示数据分别为00H,33H,66H,99H,0CCH,0FFH(数据低位略有偏差属正常现象)。七、程序框图(实验程序名:t0809.ASM)八、程序源代码清单 con8279equ0492h dat8279equ0490h assumecs:code codesegmentpublic org100h start:jmpstart1 segcoddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h start1:movdx,04a0h movax,34h outdx,ax;启动通道0 wait1:movdx,04b0h;CS244 inax,dx;读EOC andax,1 cmpax,1 jnewait1;如果EOC=0,waiting.... movdx,04a0h inax,dx;读转换结果 andax,0ffh movbx,ax nop; disp:movdi,offsetsegcod movax,08h;工作方式,16位,左入 movdx,con8279 outdx,ax movax,90h movdx,con8279 outdx,ax;写显示RAM命令,地址自增 movdx,dat8279 pushbx andbx,0f0h;取高4位 movcl,4 shrbx,cl adddi,bx moval,cs:[di] movah,0 outdx,ax;写RAM0 nop nop movdi,offsetsegcod popbx andbx,0fh;取低4位 adddi,bx moval,cs:[di] movah,0 outdx,ax;写RAM1 delay:movcx,0ffffh;timedelay delay1:nop nop loopdelay1 jmpstart1 codeends endstart一、实验目的 熟悉数模转换的基本原理,掌握D/A的使用方法。二、实验内容 利用D/A转换器产生锯齿波和三角波。三、实验原理图 本实验用A/D、D/A电路四、实验步骤 1、实验接线 CS0«CS0832示波器«DOUTDS跳线:1«2 2、用实验箱左上角的“VERF.ADJ”电位器调节0832的8脚上的参考电压至5V。 3、调试程序并全速运行,产生不同波形。 4、用示波器观察波形。五、实验提示 利用电位器“ZERO.ADJ”可以调零,“RANGE.ADJ”电位器调整满偏值。 DAC0832在本实验中,工作在双缓冲接口方式下。 当地址线A1=0时可锁存输入数据;当A1=1时,可起动转换输出。所以要进行D/A转换需分二步进 行,方法如下: MOVDX,ADDRESS;ADDRESS片选信号偶地址 MOVAL,DATA OUTDX,AL ADDDX,2 OUTDX,AL六、程序框图 程序一产生锯齿波程序二产生三角波(实验程序名:dac-1.asm)(实验程序名:dac-2.asm)七、程序源代码清单dac-1.asm assumecs:code codesegmentpublic org100h start:movdx,04a0h up1:movbx,0 up2:movax,bx outdx,ax;锁存数据 movdx,04a2h outdx,ax;输出使能 movdx,04a0h incbx;数据加一 jmpup2 codeends endstart dac-2.asm assumecs:code codesegmentpublic org100h start:movdx,04a0h movbx,0 up:movax,bx outdx,ax;锁存数据 movdx,04a2h outdx,ax;输出使能 incbx movdx,04a0h cmpbx,0ffh jneup;产生三角波上升沿 down:movax,bx outdx,ax;锁存数据 movdx,04a2h outdx,ax;输出使能 decbx movdx,04a0h cmpbx,0 jnedown;产生三角波下降沿 jmpup codeends endstart一、实验目的 1、熟悉串行通信的一般原理和8250的工原理。 2、了解RS--232串行接口
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
及连接方法。 3、掌握8250芯片的编程方法。二、实验内容 在实验箱与PC机(上位机)之间实现串行通信,主机每下传一个字符,如通讯正确则下位机返回一个同样的字符,如果不正确,则无返回或不相同。三、实验原理介绍 实验原理图见8250串行接口电路。由MAX232完成RS232电平和TTL电平的转换,由8250完成数据的收发。8250内部有10个寄存器,分别对应着不同的IO口地址。对不同的寄存器进行初始化或读出写入操作就可以完成与计算机的通信。由于不能同时收发数据,所以8250又称为通用串行异步收发器,简写为:UART。8250实验电路的所有信号均已连好。四、实验步骤 1、实验接线 利用串口电缆连接实验箱的串口和计算机的串口(COM1或COM2) 2、编写程序。 3、在实验箱上运行86编译系统,下载实验程序8250.asm,并全速运行。 4、实验箱退出86编译系统,启动实验六的上位机驱动程序T6UP.EXE,首先选择串行端口(COM1或COM2),端口与步骤1一致,键入串口号即可,然后从键盘上输入字符,看返回字符是否正确。欲退出T6UP.EXE,按回车键。五、实验提示 实验中,通讯波特率选用9600bps。上下位机均采用查询方式。8250的端口地址为0480起始的偶地址单元。 实验中,上位机向下位机发送一个字符,下位机将接收到的字符返回。事实上这就实现了串口通信的基本过程。掌握了此实验中的编程方法再编制复杂的串行通信程序也就不难了。 串行通信和并行通信是计算机与外围设备进行信息交换的基本方法,二者有不同的特点。简而言之,前者电路及连线简单,最少用三根线就可以实现串口通信,但通信速率慢,适用于长距离慢速通信;后者电路及连线复杂,成本较高,但通信速率快,适用于短距离高速通信。六、程序框图8250.ASM七、程序源代码清单 ;******************************************* codesegment;definedatasegment assumecs:code org0100h start:movbx,0480h movdx,bx adddx,6 movax,80h outdx,ax movdx,bx movax,0ch;000ch---9600,clk=4.77MHZ/4 ;AL=4770000/16/9600/4=8 outdx,ax adddx,2 movax,0h outdx,ax adddx,4 movax,07;nope,8bit,1stop outdx,ax movdx,bx adddx,2;nointerupt movax,0 outdx,ax adddx,8h inax,dx movdx,bx inax,dx crd:callrecv callsend jmpcrd send:pushax movbx,0480h movdx,bx adddx,0ah inax,dx testax,20h jnzrecv2 popax jmpsend recv2:popax movdx,bx outdx,ax ret recv:movbx,0480h movdx,bx adddx,0ah inax,dx testax,01h jnzrecv1 jmprecv recv1:movdx,bx inax,dx ret codeends;endofcodesegment endstart;endassembly一、实验目的 1、进一步掌握8279的工作原理。 2、学习LED显示器的使用方法。 3、熟悉8279的接口方法。二、实验内容 在两位LED上循环显示01,12,23,34,45-----DE,EF。三、实验原理介绍 显示器的段选码由OUTA口和OUTB口输出,经74LS244驱动后送给共阴极LED。显示器的位扫描信号经74LS138译码、75451驱动后提供给LED的公共极。RL0~RL7提供了键盘列扫描接口,KA0~KA3提供键盘的行扫描接口。原理图见8279键盘、显示电路。四、实验步骤 1、实验连线本实验无需额外接线。 2、编写调试程序,全速运行,观察实验结果五、实验提示 1、LED是共阴极的,其七段LED的段选码为:字符012345 6 7 8 9 AB 段选码 3fh06h5bh 4fh 66h 6dh 7dh07h7fh6fh77h7ch CDEF39h5eh79h71h 2、LED显示的方法为动态显示。六、实验程序框图(实验程序名:T8279d.asm)七、程序源代码清单 con8279equ0492h dat8279equ0490h assumecs:code codesegmentpublic org100h start: jmpstart1 segcoddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h start1: calldelay movdi,offsetsegcod movcx,15;循环次数 disp: movax,08h;工作方式,16位,左入 movdx,con8279 outdx,ax movax,90h movdx,con8279 outdx,ax;写显示RAM命令,地址自增 movdx,dat8279 moval,cs:[di] movah,0 outdx,ax;写RAM0 nop nop incdi moval,cs:[di] movah,0 outdx,ax;写RAM1 nop nop pushcx calldelay;延时 callblack;全灭 calldelay;延时 popcx loopdisp jmpstart black: movdx,con8279 movax,0d1h outdx,ax;allclearanddelay ret delay: movcx,8fffh;timedelay delay1: nop nop loopdelay1 ret codeends endstart一、实验目的 1、掌握8279的工作原理。 2、熟悉8279与键盘接口的方法。 3、学习、了解键盘扩展方法。二、实验内容 将每次按键产生的键码显示在LED数码管。三、实验原理介绍 实验原理图见8279键盘显示电路。四、实验步骤 1、实验接线:将8279的RL0~RL7分别与键盘的RL10~RL17相连。 2、将8279的KA0~KA2分别与键盘的KA10~KA12相连。 3、用查询法编程 4、全速运行程序,按动按键,观察显示键值的变化。五、实验提示 1、8279的I/O地址已连好,为490的偶地址,即:数据口为490H,状态口为492H。 2、8279外部输入时钟已连好,时钟频率为1MHZ。 3、8279的键盘格式为:D7D6D5D4D3D2D1D0CNTLSHFT扫描回复 实验设定扫描信号连接键盘的列线,恢复信号连接键盘的行线,所以,D5D4D3表示按下键所在的列号,D2D1D0表示按下的键所在的行号。采用8279可以识别最大达8x8的矩阵键盘。六、实验结果 第一行键值从左至右依次为:C0—C5; 第二行键值从左至右依次为:C6—CB; 第三行键值从左至右依次为:CC—D1; 第四行键值从左至右依次为:D2—D7;七、实验程序框图(实验程序名:T8279.asm)八、程序源代码清单 con8279equ0492h dat8279equ0490h assumecs:code codesegmentpublic org100h start:jmpstart1 segcoddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h start1:movdx,con8279 moval,10h outdx,al;编码扫描键盘,双键锁定 moval,2ah;10分频得到100KHz outdx,al callblack rkey:movdx,con8279 disla2:inax,dx;读入状态字 andax,07h jzdisla2;没有按键则等待! movdx,dat8279 inax,dx;读入键值 andax,0ffh movbx,ax nop;设断点观察键值 callblack;总清显示RAM nop disp:movdi,offsetsegcod movax,08h;工作方式,16位,左入 movdx,con8279 outdx,ax movax,90h movdx,con8279 outdx,ax;写显示RAM命令,地址自增 movdx,dat8279 pushbx andbx,0f0h movcl,4 shrbx,cl adddi,bx moval,cs:[di] movah,0 outdx,ax;写RAM0 nop nop movdi,offsetsegcod popbx andbx,0fh adddi,bx moval,cs:[di] movah,0 outdx,ax;写RAM1 nop nop pushcx jmprkey black:movdx,con8279 movax,0d1h outdx,ax;显示RAM全部清零 movcx,80h;循环次数 clsb:nop nop loopclsb ret codeends endstart一、实验目的 1、掌握8259A的工作原理。 2、掌握编写中断服务程序方法。 3、掌握初始化中断向量的方法。二、实验内容 用单脉冲发生器作为中断源,在中断服务程序中,通过74LS273输出一个数据,以点亮或熄灭与中断源相对应位置的LED。三、实验原理介绍 本实验用到三部分电路:单脉冲发生器电路、简单I/O口扩展电路和8259中断控制器电路。四、实验步骤 1、实验接线 CS0«CS8259CS1«CS273O0«LED1P+«IR0INT«INTRINTA«QINTA 2、编译调试程序 3、全速运行程序,按动单脉冲按键,观察LED的亮灭情况。五、实验提示 1、8259的使用说明请详细阅读教科书。 2、8086的中断系统是向量中断方式。内存中特定位置有一中断向量表,表内存有不同中断类型的中断向量(中断入口地址)。不同中断类型的中断向量在表内有对应的偏移地址,其计算方法是:中断类型*4。 3、中断类型由8259通过数据总线送给8086,8086内部电路会将该类型值自动乘4,而后赋给指令指针,从而转向中断向量表的相应单元取得中断入口地址,之后就进入中断服务程序。请仔细研读8259的工作时序。 4、中断类型的高5位由8259寄存器ICW2
决定
郑伟家庭教育讲座全集个人独资股东决定成立安全领导小组关于成立临时党支部关于注销分公司决定
,低3位由中断源IRx的编码自动填入。IR0~IR7的编码分别为000,001,010,011,100,101,110,111。六、实验结果 全速运行程序,按一下单脉冲,LED1点亮;再按一下,LED1熄灭,如此循环往复。七、实验程序框图(实验程序名:8259.asm)八、程序源代码清单 con8279equ0492h dat8279equ0490h assumecs:code codesegmentpublic org100h start:jmpstart1 segcoddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h start1:movdx,con8279 moval,10h outdx,al;编码扫描键盘,双键锁定 moval,2ah;10分频得到100KHz outdx,al callblack rkey:movdx,con8279 disla2:inax,dx;读入状态字 andax,07h jzdisla2;没有按键则等待! movdx,dat8279 inax,dx;读入键值 andax,0ffh movbx,ax nop;设断点观察键值 callblack;总清显示RAM nop disp:movdi,offsetsegcod movax,08h;工作方式,16位,左入 movdx,con8279 outdx,ax movax,90h movdx,con8279 outdx,ax;写显示RAM命令,地址自增 movdx,dat8279 pushbx andbx,0f0h movcl,4 shrbx,cl adddi,bx moval,cs:[di] movah,0 outdx,ax;写RAM0 nop nop movdi,offsetsegcod popbx andbx,0fh adddi,bx moval,cs:[di] movah,0 outdx,ax;写RAM1 nop nop pushcx jmprkey black:movdx,con8279 movax,0d1h outdx,ax;显示RAM全部清零 movcx,80h;循环次数 clsb:nop nop loopclsb ret codeends endstart一、实验目的 掌握DMA工作方式的原理和DMA控制器8237—5的编程使用方法。二、实验内容 用DMA方式将02000H到020FFH共100H个字节的传送到02100H起的100H个单元里。源地址单元内容初始化为55H,传送结束后目的地址的内容也应是55H。三、实验原理介绍 原理图见8237DMA传输电路四、实验步骤 1、实验接线:CS6«CS8237 2、编辑调试程序 3、光标置于“位置一”,点击“ToCur”,运行到位置一处,观察初始化的情况;光标置于“位置二”,点击“ToCur”,运行到位置二处观察内存的变化。五、实验提示 1、8237的端口地址偶地址有效 2、本实验是Memory到Memory的DMA传送过程。在MM传送方式中,要占用两个通道,通道0是DMA读方式,通道1是DMA写方式。读写的长度由通道1控制,DMA的启动只能由通道零软件请求启动。六、实验结果 在位置一、位置二设断点全速运行程序,运行到位置一处时从02000H到020FFH共100H个单元里为55H,从02100H起的100H个单元里为0;运行到位置二时02000H到021FFH共200H个单元里都为55H。七、实验程序框图(实验程序名:t8237.asm)八、程序源代码清单 assumecs:code codesegmentpublic org100h start: movbx,0 movsi,1000h moval,55h movcx,100h fil:mov[si],al incsi loopfil;2000h起初始化256字节为55h movsi,1100h moval,00h movcx,100h fil1:mov[si],al incsi loopfil1 movcx,100h;2100h起初始化256字节为00h rdma:movdx,0f01ah;位置一 movax,0 outdx,ax;主清 movdx,0f000h movax,bx outdx,ax movax,20h outdx,al;通道0基地址寄存器写入2000h movdx,0f004h movax,bx outdx,ax movax,21h outdx,ax;通道1基地值寄存器写入2100h movdx,0f002h movax,0ffh outdx,ax movax,0 outdx,ax;通道0基字节数计数器写入ffh movdx,0f006h movax,0ffh outdx,ax movax,0 outdx,ax;通道1基字节数计数器写入ffh movdx,0f016h movax,88h outdx,ax;通道0模式:块传输,DMA读 movax,85h outdx,ax;通道1模式:块传输,DMA写 movdx,0f01eh movax,0fh outdx,ax;屏蔽四个通道 movdx,0f010h movax,03h outdx,ax;命令寄存器,允许存储器到存储器传输 movdx,0f012h movax,4 outdx,ax;通道0请求设置 wait:movdx,0f010h inal,dx andal,02h jzwait;DMA完否? nop nop;位置二 jmpstart codeends endstart一、实验目的 掌握点阵式LCD的工作原理、使用方法以及动态显示的编程方法。二、实验内容 编程在液晶屏上显示汉字“北京理工达盛科技有限公司”。三、实验原理介绍 LCD显示原理见硬件介绍部分。用8255的A口作为数据口,C口的PC0、PC7作为握手信号。四、实验步骤 1、实验接线:CS0«CS8255,PA0~PA7«DB0~DB7,PC0«REQ,PC7«BUSY 2、编辑调试程序 3、全速运行程序五、实验提示 1、8255的端口地址偶地址有效 2、8255的PC口可通过指令进行位操作。六、实验结果 液晶屏上显示汉字“北京理工达盛科技有限公司”。七、实验程序框图(实验程序名:LCD.asm)八、程序源代码清单 ;=============================================== ;箱86液晶显示 ;CS0接CS8255,DB0-DB7接PA0-PA7,BUSY接PC7,REQ接PC0 assumecs:code codesegmentpublic org100h ;=============================================== start:movdx,04a6h movax,88h outdx,ax movax,70h outdx,ax moval,0f4h callcomd calldelay start1:movsi,offset[table] movcx,60 wr1:movdx,04a4h inax,dx andax,80h jnzwr1 moval,[si] callcomd incsi loopwr1 calldelay ok:jmpstart1 ;=============================================== delay:movcx,1000h dlyb:loopdlyb ret ;=============================================== comd:movdx,04a0h outdx,al movdx,04a6h movax,71h outdx,ax mon:movdx,04a4h inax,dx andax,80h jzmon movdx,04a6h movax,70h outdx,ax ret ;=============================================== table:DB0F0H,01D,00D,17D,17D,0F0H,02D,00D,30D,09D DB0F0H,03D,00D,32D,77D,0F0H,04D,00D,25D,04D DB0F0H,05D,00D,20D,79D,0F0H,06D,00D,42D,02D DB0F0H,01D,01D,31D,38D,0F0H,02D,01D,28D,28D DB0F0H,03D,01D,51D,48D,0F0H,04D,01D,47D,62D DB0F0H,05D,01D,25D,11D,0F0H,06D,01D,43D,30D codeends endstart一、实验目的 掌握CPLD译码的实现方法,EPM7064的编程及下载方法。二、实验内容 对用户CPLD编程,并用LCS0、LCS1重作74LS273、74LS244I/O读写实验。三、实验原理介绍 EPM7064的管脚分配见下图所示:四、实验步骤 1.实验接线 将ALTERA下载电缆一端接PC机并口,一端接实验箱下载口,JTAG跳线接到USER端。 2.在MAXPLUSⅡ上编辑译码文件,经编译、仿真无误后下载到CPLD中。五、实验提示 随机提供的译码文件译出的地址为: LCS0:0DOOOH~0D07FHLCS1:0DO80H~0D0FFH LCS2:0D1OOH~0D17FHLCS3:0D18OH~0D1FFH LCS4:0D2OOH~0D27FHLCS5:0D28OH~0D2FFH LCS6:0D3OOH~0D3FFHLCS7:0D40OH~0D5FFH 用户若要修改此译码,须注意: 若A15~A12为“0000”,则A6A5=“00”所对应的地址空间不可用(即倒数第二位16进制数不能为0、1、8、9)。六、实验结果 见74LS273、74LS244I/O读写实验,CS0、CS1换成LCS0、LCS1,执行程序为tcpld.asm。七、CPLD译码文件(user_el_iii.vhd) libraryIEEE; useIEEE.std_logic_1164.all; useIEEE.std_logic_unsigned.all; entityuser_el_iiiis port(Address:INSTD_LOGIC_VECTOR(15DOWNTO0); RD,WR,MIO,AEN:INSTD_LOGIC; IOWR,IORD,MEMW,MEMR:INSTD_LOGIC; LCS:OUTSTD_LOGIC_VECTOR(7DOWNTO0) ); enduser_el_iii; ARCHITECTUREarchde1OFuser_el_iiiIS BEGIN LCS<="11111110"WHEN (Address>"1100111111111111")AND(Address<"1101000010000000")ELSE "11111101"WHEN (Address>"1101000001111111")AND(Address<"1101000100000000")ELSE"11111011"WHEN (Address>"1101000011111111")AND(Address<"1101000110000000")ELSE"11110111"WHEN (Address>"1101000101111111")AND(Address<"1101001000000000")ELSE "11101111"WHEN (Address>"1101000111111111")AND(Address<"1101001010000000")ELSE "11011111"WHEN (Address>"1101001001111111")AND(Address<"1101001100000000")ELSE "1011