资源描述:
《微机原理大作业.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、微机原理大作业基于8086最小方式系统总线完成电路设计及编程:1、扩展16K字节的ROM存储器,起始地址为:0x10000;2、扩展16K字节的RAM存储器,起始地址为:0xF0000;3、设计一片8259中断控制器,端口地址分别为:0x300,0x302;4、设计一片8253定时控制器,端口地址分别为:0x320,0x322,x324,0x326;5、设计一片8255并行接口,端口地址分别为:0x221,0x223,x225,0x227;6、设计外部连接电路实现通过8253每一秒钟产生周期中断信号,并利用该信号通过8259向8086处理
2、器发送中断请求,利用该中断同步,8086处理器周期的从8255并行接口输入8位开关量的值,并存入到RAM的某个地址中。7、请编写实现上述功能的完整的汇编程序代码,包括主程序及中断服务程序,在主程序中需要完成中断向量表的初始化(假定8259采用8086的30号中断进行同步,中断服务程序段的标号为:INT30_ISR),8259,8253(假定外部能有的时钟源为1MHz)及8255的初始化;在中断服务程序实现从8255中输入开关量并存储到RAM的某个地址中。MODELSMALL.DATACNTDB0000HINT-TBLSEGMENTAT0;
3、中断向量表ORG30*4DDINT30_ISRINT-TBLENDAPORTEQU221H;8255地址BPURTEQU223HCPURTEQU225HCONTREQU227HTIME_1EQU320H;8253地址TIME_2EQU322HTIME_3EQU324HCONTR_8253EQU326HMPORT0EQU300H;8259地址MPORT1EQU302HRAM1EQU10000HRAM2EQUF0000H.CODE.STARTUPMOVAL,90H;定义8255A工作方式A组方式0输入MOVDX,CONTROUTDX,ALMO
4、VAL,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
5、;主程序进入无限循环,等中断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-40000
6、H;第一块RAM写满,第二款RAM未写满OUTDX,ALJMPCNT_INCCASE3MOVDX,RAM1;两块RAM写满OUTDX,ALMOVCNT,0JMPCNT_INCCNT_INC:INCCNTMOVDX,RAM1OUTDX,ALSTI;开中断END