您好,欢迎访问三七文档
微机原理大作业基于8086最小方式系统总线完成电路设计及编程:1、扩展16K字节的ROM存储器,起始地址为:0x10000;RDM/IOA1~A13D0~D15+5V+5V偶片奇片A010A19A28A37A46A55A64A73A825A924A1021A1123A122CE20OE22PGM27VPP1D011D112D213D315D416D517D618D719U32764A010A19A28A37A46A55A64A73A825A924A1021A1123A122CE20OE22PGM27VPP1D011D112D213D315D416D517D618D719U42764奇片123U1:A74S00A16U2OR_3A19~A17A15~A142、扩展16K字节的RAM存储器,起始地址为:0xF0000;D0D1D2D3D4D5D6D7D8D9D10D11D12D13D14D15A1A2A4A5A6A7A9A13A1A2A3A4A5A6A7A8A9A10A11A12A13A8A3A10A11A12A14A15BHEWRRDA18A17A16M/IO1Y071Y161Y251Y341C11E22Y092Y1102Y2112Y3122C152E14A13B3U174LS155A010A19A28A37A46A55A64A73A825A924A1021A1123A122CE20CS26WE27OE22D011D112D213D315D416D517D618D719U36264A1~A13U2NOTA010A19A28A37A46A55A64A73A825A924A1021A1123A122CE20CS26WE27OE22D011D112D213D315D416D517D618D719U46264D0~D15+5V+5V偶片奇片A0U5NAND_5A193、设计一片8259中断控制器,端口地址分别为:0x300,0x302;A1INTAWRRDA9A8M/IOIR018IR119IR220IR321IR422IR523IR624IR725INT17INTA26CS1WR2RD3A027SP/EN16D[0..7]CAS[0..2]U18259INTRU4OR+5VU3NANDA7~A2A0D15~D8U2OR_34、设计一片8253定时控制器,端口地址分别为:0x320,0x322,x324,0x326;A13A11A12A10A8A9A14A15A8A7A4A3A5A1A2AD[0..15]READY22INTR18NMI17RESET21CLK19MN/MX33HOLD/GT131HLDA/GT030A[16..19]M/IO/S028ALE/QS025DT/R/S127INTA/QS124TEST23BHE34DEN/S226RD32WR/LOCK29U18086U3OR23451U4:A4072U6NOTU7NOT910111213U5:B4072U9OR_6U8NOTD08D17D26D35D44D53D62D71RD22WR23A019A120CS21CLK09GATE011OUT010CLK115GATE114OUT113CLK218GATE216OUT217U28253A5、设计一片8255并行接口,端口地址分别为:0x221,0x223,x225,0x227;D8D15D9D10D11D12D13D14A13A11A12A1A0A10A5A9A14A15A8A7A6A4A3AD[0..15]READY22INTR18NMI17RESET21CLK19MN/MX33HOLD/GT131HLDA/GT030A[16..19]M/IO/S028ALE/QS025DT/R/S127INTA/QS124TEST23BHE34DEN/S226RD32WR/LOCK29U18086D034D133D232D331D430D529D628D727RD5WR36A09A18RESET35CS6PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710U28255AU3OR23451U4:A4072U6NOTU7NOT910111213U5:B4072U9OR_86、设计外部连接电路实现通过8253每一秒钟产生周期中断信号,并利用该信号通过8259向8086处理器发送中断请求,利用该中断同步,8086处理器周期的从8255并行接口输入8位开关量的值,并存入到RAM的某个地址中。A0A15A14A7A6A11A10A9A8A2A1A15A6A14A13A12A11A10A7A9A8A5A4A3D0D7D1D2D3D4D5D6+5V+5VA15A5A9A14A13A12A11A10A8A6A9A4A3D0D7D1D2D3D4D5D61MHzA12A13A0A2A3A4A5A0A0A19A18A17A16A0+5V+5VD8D7D6D5D4D3D2D1D0D15D14D13D12D11D10D9A2A1+5VAD[0..15]READY22INTR18NMI17RESET21CLK19MN/MX33HOLD/GT131HLDA/GT030A[16..19]M/IO/S028ALE/QS025DT/R/S127INTA/QS124TEST23BHE34DEN/S226RD32WR/LOCK29U18086IR018IR119IR220IR321IR422IR523IR624IR725INT17INTA26CS1WR2RD3A027SP/EN16D[0..7]CAS[0..2]U28259U3OR_8D08D17D26D35D44D53D62D71RD22WR23A019A120CS21CLK09GATE011OUT010CLK115GATE114OUT113CLK218GATE216OUT217U78253AU8OR_8U9NANDU10OR_4U11OR_3D034D133D232D331D430D529D628D727RD5WR36A09A18RESET35CS6PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710U128255AU13OR_8U14OR_4U15NOTU16NOTU17OR_4R110kR210kR310kR410kR510kR610kR710kR810k+5V+5VU18AND_2U4OR_5U5OR_3U6NOTA010A19A28A37A46A55A64A73A825A924A1021A1123A122CE20CS26WE27OE22D011D112D213D315D416D517D618D719U196264A010A19A28A37A46A55A64A73A825A924A1021A1123A122CE20CS26WE27OE22D011D112D213D315D416D517D618D719U2062641Y071Y161Y251Y341C11E22Y092Y1102Y2112Y3122C152E14A13B3U2174LS155U22AND_5U23NOTU24NOT7、请编写实现上述功能的完整的汇编程序代码,包括主程序及中断服务程序,在主程序中需要完成中断向量表的初始化(假定8259采用8086的30号中断进行同步,中断服务程序段的标号为:INT30_ISR),8259,8253(假定外部能有的时钟源为1MHz)及8255的初始化;在中断服务程序实现从8255中输入开关量并存储到RAM的某个地址中。MODELSMALL.DATACNTDB0000HINT-TBLSEGMENTAT0;中断向量表ORG30*4DDINT30_ISRINT-TBLENDAPORTEQU221H;8255地址BPURTEQU223HCPURTEQU225HCONTREQU227HTIME_1EQU320H;8253地址TIME_2EQU322HTIME_3EQU324HCONTR_8253EQU326HMPORT0EQU300H;8259地址MPORT1EQU302HRAM1EQU10000HRAM2EQUF0000H.CODE.STARTUPMOVAL,90H;定义8255A工作方式A组方式0输入MOVDX,CONTROUTDX,ALMOVAL,14H;定义8253计数器0工作方式方式2MOVDX,CONTR_8253OUTDX,ALMOVAL,54H;定义8253计数器1工作方式方式2MOVDX,CONTR_8253OUTDX,ALMOVAL,94H;定义8253计数器2工作方式方式2MOVDX,CONTR_8253OUTDX,ALMOVAL,64H;将外部能有的时钟源为1MHz转换为1sMOVDX,TIME_1OUTDX,ALMOVAL,64HMOVDX,TIME_2OUTDX,ALMOVAL,64HMOVDX,TIME_3OUTDX,ALLOOP1:JMPLOOP2;主程序进入无限循环,等中断LOOP2:JMPLOOP1.exit;中断程序部分INT30_ISR:CLT;8259A关中断MOVAL,13H;ICW1OUTMPORT0,ALMOVAL,0C7H;ICW2OUTMPORT1,ALMOVAL,01HOUTMPORT1,ALMOVDX,APORTINAL,DXCMPCNT,4000HJBCASE1CMPCNT,8000HJBCASE2JMPCASE3CASE1MOVDX,CNT+RAM1;第一块RAM未写满OUTDX,ALJMPCNT_INCCASE2MOVDX,CNT+RAM2-40000H;第一块RAM写满,第二款RAM未写满OUTDX,ALJMPCNT_INCCASE3MOVDX,RAM1;两块RAM写满OUTDX,ALMOVCNT,0JMPCNT_INCCNT_INC:INCCNTMOVDX,RAM1OUTDX,ALSTI;开中断END
本文标题:微机原理大作业
链接地址:https://www.777doc.com/doc-6186001 .html