首页 微机实验程序Word版

微机实验程序Word版

举报
开通vip

微机实验程序Word版PAGE/NUMPAGES1一、实验目的1、熟悉74LS273,74LS244的应用接口方法。    2、掌握用锁存器、三态门扩展简单并行输入、输出口的方法。 二、实验内容 逻辑电平开关的状态输入74LS244,然后通过74LS273锁存输出,利用LED显示电路作为输出的状态显示。三、实验原理介绍   本实验用到两部分电路:开关量输入输出电路,简单I/O口扩展电路。四、实验步骤    1、实验接线:(«表示相互连接)     CS0«CS244CS1«CS273K...

微机实验程序Word版
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
本文档为【微机实验程序Word版】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥12.0 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
夕夕资料
拥有专业强大的教研实力和完善的师资团队,专注为用户提供合同简历、论文写作、PPT设计、计划书、策划案、各类模板等,同时素材和资料部分来自网络,仅供参考.
格式:doc
大小:205KB
软件:Word
页数:0
分类:文学
上传时间:2021-05-06
浏览量:24