微机原理大作业

合集下载

微机原理程序设计大作业-2011

微机原理程序设计大作业-2011

微机原理与程序设计大作业----汇编语言程序设计方法1. 试编写一个程序,要求能从键盘接收一个个位数N,然后响铃N次(响铃的ASCⅡ码为07)。

2. 从键盘输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并将计数值显示在屏幕上。

3. 试编写一个程序,要求比较数组ARRAY中的三个16位补码数,并根据比较结果在屏幕上显示如下信息:(1) 如果三个数都不相等则显示0;(2) 如果三个数有二个相等则显示1;(3) 如果三个数都相等则显示2。

4. 从键盘输入一系列字符(以回车符结束),并按字母、数字及其它字符分类计数,最后显示出这三类计数结果。

5. 假设已经编制好5个歌曲程序,它们的段地址和偏移地址存放在数据段的跳转表SINGLIST中,试编制程序,根据从键盘输入的歌曲编号1~5,转去执行五个歌曲程序中的一个。

6. 试编制一个程序,把AX中存放的16进制数转换为ASCII码,并将对应的ASCII码依次存放在MEM数组中的四个字节中。

例如:当(AX)= 2A49H时,程序执行完后,MEM中的四个字节的内容为39H,34H,41H,32H。

7. 设有10个学生的成绩分别是76,69,84,90,73,88,89,63,100,80分,试编制一个子程序统计60~69分,70~79分,80~89分,90~99分及100分的人数,放在S6,S7,S8,S9和S10单元中。

8. 编写一个子程序嵌套结构的程序模块,分别从键盘输入姓名及8个字符的电话号码,并以一定的格式显示出来。

主程序TELIST:∙显示提示符INPUT NAME:;∙调用子程序INPUT_NAME输入姓名;∙显示提示符INPUT A TELEPHONE NUMBER:;∙调用子程序INPUT_PHONE输入电话号码;∙调用子程序PRINT_LINE显示姓名及电话号码。

子程序INPUT_NAME:∙调用键盘输入子程序GET_CHAR,把输入的姓名放在INBUF缓冲区中;∙把INBUF中的项目移入输出行OUT_NAME中。

南京邮电大学微机原理作业

南京邮电大学微机原理作业
(由题意可知,使用的是从8259的IR1中断,即用户中断,中断类型为71H或者0AH)
斜体下划线部分可跳过
用户定义的中断服务程序有两个设计方法:
①定义用户中断服务程序为“71H型”
②定义用户中断服务程序为“0AH型”
用户中断服务程序结束
①若用户中断定义为0AH型,服务程序结束前只向主8259送结束命令
5.用系统机串行口采用中断方式完成字符发送和接收,编程时应采取哪些措施?
答:⑴中断允许寄存器相应位置1
⑵MODEM控制寄存器 ,即 打通8250的中断请求通道。
⑶8259相应中断屏蔽位置0(主8259 、 )— 8259
⑷CPU处于开中断(STI)— CPU
6.A、B两台PC机利用主串口进行点-点单工通信(不用联络线),发送采用查询方式,接收采用中断方式。一帧字符包含7个数据位,1个停止位,1个校验位,通信速率为4800波特(分频系数为0018H)。
STI;开中断
SCAN:MOVAH, 01H;设置功能号
INT16H;有键入?
JZSCAN;否循环
CALLRESET;恢复现场
MOVAH, 4CH
INT21H
;--------------------------------------
SERVICEPROC
PUSHA
PUSHDS;保护现场
MOVAX, DATA
MESGDB'Welcome!','$';显示的字符串
DATAENDS
CODESEGMENTUSE16
ASSUMECS:CODE, DS:DATA
BEG:MOVAX, DATA
MOVDS, AX
CLI;关中断
CALLI8259;8259初始化

微机原理作业及参考答案

微机原理作业及参考答案

第一章计算机基础(P32)1-1电子管,晶体管,中小规模集成电路、大规模、超大规模集成电路。

1-2把CPU和一组称为寄存器(Registers)的特殊存储器集成在一片大规模集成电路或超大规模集成电路封装之中,这个器件才被称为微处理器。

以微处理器为核心,配上由大规模集成电路制作的只读存储器(ROM)、读写存储器(RAM)、输入/输出、接口电路及系统总线等所组成的计算机,称为微型计算机。

微型计算机系统是微型计算机配置相应的系统软件,应用软件及外部设备等.1-3写出下列机器数的真值:(1)01101110 (2)10001101(3)01011001 (4)11001110答案:(1)+110 (2)-13(原码) -114(反码)-115(补码)(3)+89 (4)-78(原码)-49(反码)-50(补码)1-4写出下列二进制数的原码、反码和补码(设字长为8位):(1)+010111 (2)+101011(3)-101000 (4)-111111答案:(1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111(2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011(3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000(4)[x]原=10111111 [x]反= 11000000 [x]补=110000011-5 当下列各二进制数分别代表原码,反码,和补码时,其等效的十进制数值为多少?(1)00001110 表示原码14,反码14,表示补码为14(2)11111111 表示原码-127,反码-0,表示补码为-1(3)10000000 表示原码-0,反码-127,表示补码为-128(4)10000001 表示原码-1,反码-126,表示补码为-1271-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。

东北大学接口技术微机原理课程设计大作业

东北大学接口技术微机原理课程设计大作业

东北大学接口技术报告步进电机控制系统学院XXXXXXXXXXXXXXXXX班级XXXXXXXXXXXXXXXXXXX姓名XXXXX学号XXXXXXXXXX日期XXXXXXXXXXXX【实验目的】1、利用PC机和实验箱,设计并实现给定步进电机的控制。

2、进一步掌握对芯片的硬件和软件综合设计方法。

3、了解微机的工作原理,微型计算机的基本结构,接口技术及汇编语言程序设计。

【实验内容】1、控制步进电机转动,要求转速1步/秒。

2、基于实验箱,设计并实现接口和驱动电路。

3、用汇编语言编制程序。

4、改善步进电机的控制性能,控制步进电机转/停;正转/反转;改变转速(至少3档);单步。

【实验设备】1)MUT-III型实验箱2)计算机【总体设计】1、8253定时控制步进速度。

2、8255输出控制脉冲,再经75452驱动电机。

3、系统运行时,通过按键的不同来控制电机转/停;正转/反转;改变转速(至少3档);单步。

【硬件设计】因采用了PC机和PC总线接口应用平台,硬件电路相对简单,除利用了PC机本身资源外(如中断资源),还利用了平台上的8253计数/定时器、8255并行接口单元,再加上外围驱动电路,便构成可步进电机控制电路,硬件原理图如图1:图中75452元件是正与非驱动器,OC门输出,所以加上拉电阻;8253的作用是输出定时信号向CPU申请中断要求输出电机走步的控制信号。

图1【芯片介绍】(1)8253定时器/计数器电路该电路由1片8253组成,8253的片选输入端插孔CS8253,数据口、地址、读、写线均已接好,T0、T1、T2时钟输入分别为8253CLK0、8253CLK1、8253CLK2。

定时器输出、GATE控制孔对应如下:OUT0、GATE0、OUT1、GATE1、OUT2、GATE2、CLK2。

原理图如下:注:GATE信号无输入时为高电平(2)82558255可编程并口电路:该电路由1片8255组成,8255的数据口,地址,读写线,复位控制线均已接好,片选输入端插孔为8255CS,A,B,C三端口的插孔分别为:PA0~PA7,PB0~PB7,PC0~PC7.电路原理如图:8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。

微机原理K60大作业

微机原理K60大作业

多功能电子时钟系统1、显示时间24小时制,可调时间,按*键后两位分钟数闪,表示可以调节(0键+,#键-),再按*键时钟闪,再次按下则表示时间调整完毕,2、Key2按下之后显示闹钟界面,同样可以调节,闹钟用LED1示意蜂鸣器强度,可以通过电位器调节。

调节时假设闹钟响(灯亮);再按key1回到时钟界面;当前时间与闹钟设置时间一样时,闹钟响(LED1亮)1分钟结束后熄灭。

3、Key3按下之后进入秒表界面,按1键开始/暂停,2键停止;3键返回时钟界面4、时间快捷修改法:Uart2电脑发给K60“12.12.12”可以精确修改时间到秒,同时显示修改后时间及当前闹钟设置值。

5、初始时间12.12.12,初始闹钟00.00,初始闹钟功能关闭,按下闹钟设置键(key2)闹钟功能开启;思路:1、Gpio :闹钟(LED1)(8)、时间LED2、(8+4)、uart2、按键1、2、3+闪+加+减2、按键:按键1、2、3+闪+加+减3、Uart2发送给电脑时间,电脑可以发送时间。

4、ADC电位器5、MCG时钟6、PIT0=1s,PIT1=5ms,PIT2闪7、Irq中断方式代码:#include"MK60D10.h"#include"adc.h"#include"irq.h"#include"xianshi.h"#include"uart.h"#include"xianshi.h"int shizhong=12,fenzhong=12,miaozhong=0;float voltage=0;int s[6]={0},n[4]={0};unsigned int table[10]={0x3F,0x06,0x5B,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned int ptb=0;unsigned int miaobiaom=0,miaobiaoms=0,m[4]={0};//Ãë±íunsigned char chs[6]={0},chn[4]={0};//²¢ËÍʱ¼äunsigned int i=0,j=0,ii=0;unsigned int key1sta=1,key2sta=1,key3sta=1,temp1,temp2,temp3,N=0;//pwmint pwm;//fasong¼Æʱint fasong1s=0;//juzhengjianpanunsigned int bKeyTest=0;int panduan1=0;int jishu=0,panduanshan=0;//ÉÁÁÁvoid pit(void){SIM->SCGC6|=1<<23;PIT->MCR&=~0X2;//¶¨Ê±1sPIT->CHANNEL[0].LDVAL=48000000-1;PIT->CHANNEL[0].TCTRL|=0X03;enable_irq(68);//10MSPIT->CHANNEL[1].LDVAL=480000-1;PIT->CHANNEL[1].TCTRL|=0X03;enable_irq(69);//5msPIT->CHANNEL[2].LDVAL=120000-1;PIT->CHANNEL[2].TCTRL|=0X03;enable_irq(70);//0.2MSPIT->CHANNEL[3].LDVAL=9600-1;PIT->CHANNEL[3].TCTRL|=0X03;enable_irq(71);}void PIT0_IRQHandler(void ){PIT->CHANNEL[0].TFLG|=0x1u;//mÃë¼Æʱmiaozhong++;if(miaozhong>59){fenzhong++;miaozhong=0;}if(fenzhong>59){shizhong++;fenzhong=0;}if(fenzhong<0)fenzhong=59;if(shizhong>23){shizhong=0;}if(shizhong<0)shizhong=23;//Ãë¼Æʱ½áÊøs[0]=shizhong/10;s[1]=shizhong%10;s[2]=fenzhong/10;s[3]=fenzhong%10;s[4]=miaozhong/10;s[5]=miaozhong%10;n[0]=naozhongs/10;n[1]=naozhongs%10;n[2]=naozhongf/10;n[3]=naozhongf%10;for(i=0;i<6;i++)chs[i]=s[i]+'0';for(i=0;i<5;i++)chn[i]=n[i]+'0';if(panduan1){//²¢ËÍʱ¼äuart2_putstring("the time is ");for(i=0,j=0;i<6;i++,j++){if(j==2||j==4) uart2_putchar('-');uart2_putchar(chs[i]);}uart2_putstring(" / the alarm clock is ");for(i=0,j=0;i<4;i++,j++){if(j==2) u art2_putchar('-');uart2_putchar(chn[i]);}uart2_putstring("\n");//²¢ËÍÍê³Épanduan1=0;}}void PIT1_IRQHandler(void ) //10ms{PIT->CHANNEL[1].TFLG|=0x1u;if(model==3&&model3_1){miaobiaoms++;if(miaobiaoms==100){miaobiaom++;miaobiaoms=0;}}m[0]=miaobiaom/10;m[1]=miaobiaom%10;m[2]=miaobiaoms/10;m[3]=miaobiaoms%10;//°´¼üN++;if(N%5==0){TestKey();//juzhengjianpan}if(N%2==0){temp1=PTE->PDIR;temp1&=(1<<26);if((key1sta&&(!temp1))) //ʱÖÓKEY1{if(model!=3) model=1;else {model3_1=~model3_1;}}if(temp1) key1sta=1;else key1sta=0;//temp2=PTE->PDIR;temp2&=(1<<25);if(key2sta&&(!temp2)) //ÄÖÖÓ{if(model!=3) { model=2;naozhongkai=1;}else {model3_2=0;model3_1=0;}if(model3_2==0){miaobiaom=0;miaobiaoms=0;model3_2=1;}}if(temp2) key2sta=1;else key2sta=0;//temp3=PTE->PDIR;temp3&=(1<<24);if(key3sta&&(!temp3)) //Ãë±íKEY3{if(model!=3){model=3;model3_1=0;model3_2=1;}else {model=1; }}if(temp3) key3sta=1;else key3sta=0;}//uart²¢ËÍʱ¼äif(panduan){shizhong=(UART2_RecBuf[0]-48)*10+UART2_RecBuf[1]-48;fenzhong=(UART2_RecBuf[3]-48)*10+UART2_RecBuf[4]-48;miaozhong=(UART2_RecBuf[6]-48)*10+UART2_RecBuf[7]-48-1;panduan=0;panduan1=1;}}void PIT2_IRQHandler(void ) //2.5ms4¶ÎÊýÂë¹ÜÏÔʾ{PIT->CHANNEL[2].TFLG|=0x1u;voltage=3.3*adc0_convert()/4095;naozhong();PTB->PDOR&=~0Xf;PTB->PDOR|=1<<ptb;PTB->PDOR|=0xff<<16;if(model==1){if(ptb==0&&panduanshan!=2) PTB->PDOR&=~(table[s[0]]<<16);if(ptb==1&&panduanshan!=2) PTB->PDOR&=~((table[s[1]]|(0x01<<7))<<16);if(ptb==2&&panduanshan!=1) PTB->PDOR&=~(table[s[2]]<<16);if(ptb==3&&panduanshan!=1) PTB->PDOR&=~(table[s[3]]<<16);}if(model==2){if(ptb==0&&panduanshan!=2) PTB->PDOR&=~(table[n[0]]<<16);if(ptb==1&&panduanshan!=2) PTB->PDOR&=~((table[n[1]]|(0x01<<7))<<16);if(ptb==2&&panduanshan!=1) PTB->PDOR&=~(table[n[2]]<<16);if(ptb==3&&panduanshan!=1) PTB->PDOR&=~(table[n[3]]<<16);}if(model==3){if(ptb==0&&panduanshan!=2) { PTB->PDOR&=~(table[m[0]]<<16); }if(ptb==1&&panduanshan!=2) PTB->PDOR&=~((table[m[1]]|(0x01<<7))<<16);if(ptb==2&&panduanshan!=1) PTB->PDOR&=~(table[m[2]]<<16);if(ptb==3&&panduanshan!=1) PTB->PDOR&=~(table[m[3]]<<16);}ptb++;if(tiaozheng1!=0){if(jishu>=9)if(ptb==2||ptb==3){if(tiaozheng1%2!=0) panduanshan=1;else panduanshan=2;if(jishu>=18) {jishu=0;panduanshan=0;}}}else panduanshan=0;if(ptb>3) {ptb=0;jishu++;}}void PIT3_IRQHandler(void )//ÄÖÖÓÏÔʾ{pwm=voltage*100/3.3;PIT->CHANNEL[3].TFLG|=0x1u;if((naozhongL==1||model==2)&&model!=3){if(ii<pwm) PTC->PDOR&=~0xff;else PTC->PDOR|=0xff;ii++;if(ii==100) ii=0;}else PTC->PDOR|=0xff;}。

微机原理课程设计大作业

微机原理课程设计大作业

微机原理课程设计大作业一、课程目标知识目标:1. 让学生掌握微机原理的基本知识,包括计算机硬件组成、工作原理及性能指标。

2. 帮助学生理解并掌握汇编语言编程,能运用汇编语言实现基本的输入输出功能。

3. 让学生了解微机系统中的中断原理及其应用。

技能目标:1. 培养学生运用微机原理知识进行实际电路设计和分析的能力。

2. 培养学生独立完成汇编语言编程,实现微机控制相关功能的能力。

3. 提高学生运用所学知识解决实际问题的能力。

情感态度价值观目标:1. 培养学生对微机原理课程的兴趣,激发学生学习热情,增强学习主动性。

2. 培养学生具备团队合作精神,学会在团队中分工合作、共同解决问题。

3. 引导学生关注微机原理在科技发展中的应用,认识其在社会发展中的重要性。

课程性质:本课程为微机原理课程的实践环节,以大作业的形式进行,旨在培养学生的实践能力和创新能力。

学生特点:学生已具备一定的微机原理知识,具有一定的汇编语言编程基础,但实践能力有待提高。

教学要求:结合学生特点,注重理论与实践相结合,强调在实践中掌握知识,提高学生的实际操作能力和解决问题的能力。

将课程目标分解为具体的学习成果,以便于后续教学设计和评估。

二、教学内容本课程教学内容主要包括以下三个方面:1. 微机原理基础知识回顾:- 计算机硬件系统组成与工作原理- 微处理器结构及性能指标- 存储器层次结构与分类- 指令系统与寻址方式2. 汇编语言编程与实践:- 汇编语言基本语法与指令- 常用伪指令与宏指令- 程序结构与流程控制- 中断处理与中断服务程序编写3. 微机系统设计与分析:- 微机系统设计方法与步骤- 基本I/O接口电路设计- 中断控制器设计与实现- 微机控制系统综合设计教学大纲安排如下:1. 第一周:微机原理基础知识回顾2. 第二周:汇编语言编程与实践3. 第三周:微机系统设计与分析4. 第四周:大作业实践与指导教学内容与教材关联性说明:1. 教学内容与教材章节相对应,确保学生能够结合教材深入理解课程内容。

微机原理大作业

微机原理大作业

微机原理大作业本页仅作为文档页封面,使用时可以删除This document is for reference only-rar21year.March微机原理大作业基于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处理器发送中断请求,利用该中断同步,8086处理器周期的从8255并行接口输入8位开关量的值,并存入到RAM的某个地址中。

7、请编写实现上述功能的完整的汇编程序代码,包括主程序及中断服务程序,在主程序中需要完成中断向量表的初始化(假定8259采用8086的30号中断进行同步,中断服务程序段的标号为:INT30_ISR),8259,8253(假定外部能有的时钟源为1MHz)及8255的初始化;在中断服务程序实现从8255中输入开关量并存储到RAM的某个地址中。

MODEL SMALL.DATACNT DB 0000HINT-TBL SEGMENT AT 0 ;中断向量表ORG 30*4DD INT30_ISRINT-TBL ENDAPORT EQU 221H ;8255地址BPURT EQU 223HCPURT EQU 225HCONTR EQU 227HTIME_1 EQU 320H ;8253地址TIME_2 EQU 322HTIME_3 EQU 324HCONTR_8253 EQU 326HMPORT0 EQU 300H ;8259地址MPORT1 EQU 302HRAM1 EQU 10000HRAM2 EQU F0000H.CODE.STARTUPMOV AL,90H ;定义8255A工作方式A组方式0输入MOV DX,CONTROUT DX,ALMOV AL,14H ;定义8253计数器0工作方式方式2MOV DX,CONTR_8253OUT DX,ALMOV AL,54H ;定义8253计数器1工作方式方式2 MOV DX,CONTR_8253OUT DX,ALMOV AL,94H ;定义8253计数器2工作方式方式2 MOV DX,CONTR_8253OUT DX,ALMOV AL,64H ;将外部能有的时钟源为1MHz转换为1s MOV DX,TIME_1OUT DX,ALMOV AL,64HMOV DX,TIME_2OUT DX,ALMOV AL,64HMOV DX,TIME_3OUT DX,ALLOOP1: JMP LOOP2 ;主程序进入无限循环,等中断LOOP2: JMP LOOP1.exit ;中断程序部分INT30_ISR:CLT ;8259A关中断MOV AL, 13H ;ICW1OUT MPORT0, ALMOV AL, 0C7H ;ICW2OUT MPORT1, ALMOV AL, 01HOUT MPORT1,ALMOV DX,APORTIN AL,DXCMP CNT,4000HJB CASE1CMP CNT,8000HJB CASE2JMP CASE3CASE1 MOV DX,CNT+RAM1 ;第一块RAM未写满OUT DX,ALJMP CNT_INCCASE2 MOV DX,CNT+RAM2-40000H ;第一块RAM写满,第二款RAM未写满OUT DX,ALJMP CNT_INCCASE3 MOV DX,RAM1 ;两块RAM写满OUT DX,ALMOV CNT,0JMP CNT_INCCNT_INC: INC CNTMOV DX,RAM1OUT DX,ALSTI ;开中断END。

微原大作业

微原大作业

微机原理与接口技术 ----大作业2016.6.24大作业:微处理器系统应用设计ARM微处理器系统32位数据总线(D31-D0)、32位地址总线(A31-A0)和控制线RD、WE、0BE和IRQ0。

要求存储器容BE、1BE、2BE、3量为1GB,其中ROM存储区512MB,从0x00000000开始的连续存储区,采用128MB ROM芯片;RAM存储区512MB,采用128MB SRAM 芯片,从0x20000000开始的连续存储区。

SRAM和ROM芯片通过总线与ARM微处理器系统相连;I/O接口为一片8282锁存器、一片七段数码管(共阴极)、一个按键,如下图所示;数码管通过8282锁存器与PA口相连,按键与ARM微处理器IRQ0相连。

每按一次键,通过中断方式在数码管显示其加1后的值(显示值为9时加1后显示0)。

数码管初值为本人学号的最后一位。

编写完成上述处理程序。

处理程序中采用子程序进行数码显示,中断方式实现按键处理,中断服务程序包括显示子程序。

IRQ0图8282锁存器接口图0-9数码管显示字样:要求:1、给出设计的RAM和ROM地址范围及必要说明;2、画出采用基本逻辑门(与、或、非门类)设计译码电路的微处理器总线与存储器连接图;3、画出完成上述处理程序流程图,并做必要的说明;4、程序从地址0x400处启动,给出完整处理程序清单,并有必要的注释。

一.ROM和RAM设计ROM区芯片个数:512M/128M=4片起始地址:0x00000000终止地址:0x1FFFFFFFROM芯片地址线:A[0:26]RAM区芯片个数:512M/128M=4片起始地址:0x20000000终止地址:0x3FFFFFFFRAM 芯片地址线:A[0:26]128MB = 134217728 B = B因此需要27位的地址总线访问存储器地址总线分配: A0~A26 作为存储器地址 A29 A28 A27 作为片选信号272二.电路图设计A29A30A31D[0:31]三.处理程序流程图四.处理程序清单Startup.s------------------------------------------------AREA RESET,CODEEXPORT __VectorsEXPORT Reset_Handler__VectorsDCD __initial_spDCD Reset_HandlerSPACE 14*4SPACE 6*4DCD EXTI0_HandlerReset_Handler PROCIMPORT EX4_EXTIldr r1,=EX4_EXTIbx r1B .ENDPEXTI0_Handler PROCIMPORT EXTI0_Cldr r1,=EXTI0_Cbx r1BX LRENDPAREA STACK,DATASPACE 0x100__initial_spENDMyhead.h---------------------------------------------------------------------- struct _RCC{IntCR;int CFGR;int CIR;int APB2RSTR;int APB1RSTR;int AHBENR;int APB2ENR;int APB1ENR;int BDCR;int CSR;};#define RCC ((volatile struct _RCC *)0x40021000)struct _GPIO{int CRL;int CRH;int IDR;int ODR;int BSRR;};#define GPIOB ((volatile struct _GPIO *)0x40010C00) #define GPIOA ((volatile struct _GPIO *)0x40010800)struct _USART{int SR;int DR;int BRR;int CR1;int CR2;int CR3;};#define USART1 ((volatile struct _USART *)0x40013800)struct _NVIC{int ISER[8];int rsv0[24];int ICER[8];int rsv1[24];int ISPR[8];int rsv2[24];int ICPR[8];int rsv3[24];int IABR[8];int rsv4[56];char IPR[240];int rsv5[644];int STIR;};#define NVIC ((volatile struct _NVIC *)0xE000E100)struct _BTIM{int CR1;int CR2;int rsv0;int DIER;int SR;int rsv1[4];int CNT;int PSC;int ARR;};#define TIM1 ((volatile struct _BTIM *)0x40012C00)struct _DMA_CH{int CCR;int CNDTR;int CPAR;int CMAR;int rsv;};struct _DMA{int ISR;int IFCR;struct _DMA_CH CH[7];};#define DMA1 ((volatile struct _DMA *)0x40020000) #define DMA2 ((volatile struct _DMA *)0x40020400)struct _AFIO{int EVCR;int MAPR;int EXTICR[4];int RESERVED0;int MAPR2;};#define AFIO ((volatile struct _AFIO *) 0x40010000)struct _EXTI{intIMR;int EMR;int RTSR;int FTSR;int SWIER;int PR;};#define EXTI ((volatile struct _EXTI *) 0x40010400 )Myfunction.c--------------------------------------------------------------------------------------------------- #include "Myhead.h"void RCC_Init(){RCC->APB2ENR|=((1<<3)|(1<<2)|(1<<0)); //PB PA AFIOGPIOB->CRL=0x88008; //设置PE3 PE4}void LED_Init(){GPIOA->CRL=0x33333333; //设置输出GPIOA->ODR|=(1<<5); //首先让数码管熄灭}void KEY_Init(){GPIOB->CRL=0x8; //按键设置GPIOB->ODR=0;}void AFIO_Init(){AFIO->EXTICR[0]=0x1; //PB0 TO EXTI0}void EXTI_Init(){EXTI->IMR=0x1; // EXTI0 使能EXTI->FTSR=0x1; // EXTI0 增加}void EXTI_Clear(){EXTI->PR=0x1; // EXTI0 除能}void NVIC_Init(){NVIC->ISER[0]=0xFFFFFFFF; // EXTI0 使能}void LED_Start(){GPIOA->ODR = 0xB6; //显示我的号尾数5 }void LED_On(){int t;t=GPIOA->ODR;if(t==0xFC) GPIOA->ODR=0x60; //0->1if(t==0x60) GPIOA->ODR=0xDA; //1->2if(t==0xDA) GPIOA->ODR=0xF2; //2->3if(t==0xF2) GPIOA->ODR=0x66; //3->4if(t==0x66) GPIOA->ODR=0xB6; //4->5if(t==0xB6) GPIOA->ODR=0xBE; //5->6if(t==0xBE) GPIOA->ODR=0xE0; //6->7if(t==0xE0) GPIOA->ODR=0xFE; //7->8if(t==0xFE) GPIOA->ODR=0xF6; //8->9if(t==0xF6) GPIOA->ODR=0xFC; //9->0}void EXTI0_C(){LED_On();}int EX4_EXTI(){RCC_Init();LED_Init();KEY_Init();AFIO_Init();EXTI_Init();NVIC_Init();for(;;){}return 0; }。

西安电子科技大学微机原理大作业

西安电子科技大学微机原理大作业

西安电子科技大学微机原理大作业第一次上机一、实验目的1. 熟练掌握8086/8088的各种寻址方式及应用。

2.掌握DEBUG调试程序中的一些常用命令的使用方法,为以后的实验打下基础二、实验仪器586微机 1台三、实验内容1.关于数据的寻址方式练习8086/8088 提供多种方式实现操作数寻址,大体可分为7种:a. 立即寻址b. 寄存器寻址c. 直接寻址d. 寄存器间接寻址e. 寄存器相对寻址f. 基址变址寻址g. 基址变址且相对寻址掌握8086/8088的这些寻址方式,是学习汇编语言编程的关键。

指令SRC 寻址方式SRC的地址AX 推算值AX 实际值MOV AX, CX寄存器寻址0005 0005 MOV AX, 500H 立即寻址0500 0500 MOV AX, TABLE 直接寻址1541:0004 A5A 4 A5A 4MOV AX, ES:[BX] 寄存器间接寻址 1542:0004 C5C 4 C5C4MOV AX, [BX+05H] 寄存器相对寻址 1541:0009 AAA 9 AAA 9 MOV AX,寄存器相153FB8B B8B7 MOV AX, TABLE [BX] 寄存器相对寻址 1541:0008 A9A 8 A9A8MOV AX, 07H [BX] 寄存器相对寻址 1541:000B ACA B ACA BMOV AX, [BP]寄存器间接寻址 153F :0003 B4B 3 B4B 3 MOV AX, TABLE [BP] 寄存器相对寻址 1541:0007 A8A 7 A8A 7 MOV AX, 08H [BP] 寄存器相对寻址 153F :000B BCB B BCB B MOV AX, [BP+06H] 寄存器相对寻址 153F :0009 BAB 9 BAB 9 MOV AX,寄存器相1541A7A A7A6MOV AX, [BP]+05H 寄存器相对寻址153F:0008B9B8B9B8MOV AX, ES: [SI+03H] 寄存器相对寻址1542:0005C6C5C6C5MOV AX, [DI+06H] 寄存器相对寻址1541:0007A8A7A8A7MOV AX, [DI]+05H 寄存器相对寻址1541:0006A7A6A7A6MOV AX, TABLE [SI] 寄存器相对寻址1541:0006A7A6A7A6MOV AX, [SI] 寄存器间接寻址1541:0002A3A2A3A2MOV AX, TABLE 寄存器相1541A6A A6A[DI] 对寻址:00055 5MOV AX, [SI]+05H 寄存器相对寻址1541:0007A8A7A8A7MOV AX, [BX] [DI+01H] 基址变址且相对寻址1541:0006A7A6A7A6MOV AX, [BX] [SI]+03H 基址变址且相对寻址1541:0009AAA9AAA9MOV AX, TABLE [BX] [SI] 基址变址且相对寻址1541:000AABAAABAAMOV AX, ES:[BX] [DI] 基址变址寻址1542:0005C6C5C6C5MOV AX, [BP] [DI+02H] 基址变址且相对寻址153F:0006B7B6B7B6MOV AX, TABLE 基址变址1541A9A A9A[BP] [DI] 且相对寻址:00088 8MOV AX, ES:[BP] [SI] 基址变址寻址1542:0005C6C5C6C5MOV AX, [BP] [SI+05H] 基址变址且相对寻址153F:000ABBBABBBAMOV AX, 03H [BP] [DI] 基址变址且相对寻址153F:0007B8B7B8B7MOV AX, [BP] [SI] 基址变址寻址153F:0005B6B5B6B5MOV AX, [BP+02H] [DI+03H] 基址变址且相对寻址153F:0009BAB9BAB9MOV AX, TABLE [BP+02H][DI+03H] 基址变址且相对寻址1541:000DAEADAEAD第二次上机一、实验目的1. 熟练掌握汇编语言程序设计的方法及上机步骤。

微机原理经典课后作业,考试必考

微机原理经典课后作业,考试必考

微机原理经典课后作业,考试必考课后作业第一章作业1、若AX=AF7CH,BX=BEE7H,CPU分别执行加法指令和减法指令后各状态标志位的值是什么?2、8086系统中存储器的逻辑地址和物理地址之间有什么关系?3、设段地址为4ABFH,物理地址为50000H,求有效地址是什么?4、设CS=3100H,DS=3140H,两个段的空间均为64K个单元,问两个段重叠区为多少个单元?两个段的段空间之和为多少?5、在8086系统中,已知当前SS寄存器的内容为2345H,SP的内容0100H,请说明该堆栈段在存储器中的物理地址的范围。

若当前堆栈段中已存有10个字节的数据,那么原来SP的内容是什么数值?6、如果12MHz的振荡信号接至8284时钟输入端,其输出频率接8086/8088的CLK端。

求在插入一个等待周期的情况下从内存读一个字节数据所需的最小时间。

7、现有8个字节的数据为:34H、45H、56H、67H、78H、89H、9AH、ABH,假定它们在存储器中的物理地址为400A5H~400ACH。

若当前(DS)=4002H,求这8个数据的偏移地址。

如要以最少时间读出这些数据,需要访问存储器多少次?每次读出的数据是什么?并用图示之。

8、设段寄存器CS=2400H,指令指示器IP=6F30H,此时指令的物理地址PA 是多少?指向这一物理地址的CS值和IP值是否是唯一的?9、什么叫总线周期?8086/8088系统中的总线周期由几个时钟周期组成?如果CPU的主时钟频率为25MHz,一个时钟周期是多少?一个基本总线周期是多少时间?第三章作业3-3 若80386的控制寄存器CR0中PG、PE全为1,则CPU当前所处的工作方式如何?3-5 有一个段描述符,放在局部描述符表的第12项中,该描述符的请求特权级为2,求该描述符的选择子内容。

3-6 某一个段描述符的选择子内容为0531H,请解释该选择子的含义。

3-7在段页式管理中,若允许分页,则页的大小为多少?如果一个页面首地址为86B05000H,则上一页和下一页的页面首地址各为多少?第四章作业4-3 设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0010H,(21200H)=78H,(21201H)=56H,(20100H)=68H,(21110H)=ABH,(20110H)=F4H,(20111H)=CDH,(21120H)=67H 试问下列各指令执行完后,AL或AX寄存器的内容各是什么?各指令寻址方式是什么?(1) MOV AX,1200H(2) MOV AL,BL(3) MOV AX,[1200H](4) MOV AL,[BX](5) MOV AL,1010H[BX](6) MOV AX,[BX][SI](7) MOV AL,1010H[BX][SI]4-4 判断下列指令的正误,若是错误的,请说明原因。

微机原理作业参考答案

微机原理作业参考答案
DIV DIVISOR
MOV XX, AX
第四次
教材P. 69-70习题4.4-4.8中任选3题
习题4.4
MOV CL, 4
SHL AH, CL
MOV BL, 0FH
AND AL, BL
OR AH, AL
习题4.5
MOV CX, 8
MOV BL, 0
L1:
SHL AL, 1
RCR BL ,1
LOOP L1
INC SI
JLOOP:
INC BX
LOOP L1
(3)
本程序片段将求得的绝对值送数据段ABS开始的单元中
MOV BX, OFFSET BUF
MOV SI, OFFSET ABS
MOV CX, 50
L1:
MOV AL, [BX]
CMP AL ,0
JGE JLOOP
NEG AL
JLOOP:
MOV [SI], AL
在保护模式下,Pentium处理器可以直接寻址高达4GB的物理存储器。存储器的硬件空间被组织成64位的单元,每个64位的单元有8个可独立寻址的字节,这8个字节有连续的存储器地址,如下图所示。
在保护模式下,通过地址线A31~A3和字节选通信号BE7#~BE0#访问存储器,由地址线A31~A3选择64位的存储单元,由字节选通信号BE7#~BE0#选择相应的字节。
第五个时钟ads被置起有效地址b和第二个总线周期的总线状态被驱动送出wr被驱动为高电平表明为一个写周期cache被驱动为高电平表明该周期为非缓存式总线周期故第二个总线周期为非缓存式单次传送写周期
第一次
1.微型计算机系统有哪三个层次,简述其内涵及其联系与区别

2.试述冯诺依曼存储程序工作原理

微机原理作业及参考答案1

微机原理作业及参考答案1

第一次课外作业:1、微型计算机由哪5个主要部件组成?微型计算机系统包含哪些部分答:微型计算机由微处理器、存储器、输入\输出接口电路、系统总线和定时电路5个主要部件组成。

微机系统包含微型计算机、外围设备、系统软件和应用软件等部分。

2、微机总线包括哪几类总线?答:包括数据总线、地址总线和控制总线。

3、请简要描述数据总线、地址总线和控制总线的基本特点。

答:○1数据总线:在MPU和其他部件之间双向传递数据信息;○2地址总线:由MPU向其他部件单向传递地址信息;○3控制总线:双向传送控制信号,一方面MPU根据指令译码结果输出控制信号,另一方面MPU响应外部器件的请求信号。

4、CPU内部由哪几个主要功能部件构成?各自的主要作用是什么?答:1.内部寄存器阵列:用来寄存或暂存参与运算的数据;2.累加器和算术运算单元:对数据进行算术运算、逻辑运算;3.指令寄存器、指令译码器、定时及各种控制信号产生电路:把用户程序中的指令暂存,翻译并按照一定的时序发出控制信号;4.内部总线:各内部器件之间信息传递。

5、指令译码器起什么作用?答:将用户程序中的指令翻译成机器码以便计算机识别和执行。

6、请简述诺依曼计算机的工作原理(指令执行过程或计算机是如何执行一条指令的)。

答:诺依曼计算机是一个存储控制结构,其工作原理是从内存中取指令,对指令译码后得到操作码和地址,从地址中取出操作数,根据操作码对操作数进行操作。

7、CPU内部16位地址寄存器如何寻址和访问CPU外部20根地址形成的1M地址空间?答:对地址进行分段。

8、什么是段地址、什么是偏移地址?答:段地址是段起始地址的高16位值;偏移地址是段内某物理单元的实际地址相对段起始地址的偏移值。

9、CPU内部的CS段寄存器和IP(或称PC)指令寄存器有什么作用?答:CS用来识别当前代码段;IP用来存储代码段偏移地址。

10、什么是物理地址、逻辑地址、有效地址和绝对地址?答:物理地址是指物理内存中的实际地址;逻辑地址指由段基址和段内偏移地址组成的地址;有效地址是指编程时使用的地址;绝对地址是指根据存储器的管理机制将有效地址转换过来与内存空间意义对应的实际地址。

微机原理期末大作业

微机原理期末大作业

微机原理期末大作业——iPad设计一设计思路通过一个学期对微型计算机原理的学习,我初步掌握了微型计算机的内部构造与工作原理,学会了一些微型计算机设计方法,也对微型计算机设计产生了兴趣。

我利用本学期所学的关于微处理器及其接口设备,以及微处理器的编程语言相关知识,并利用网络资源自己设计了一个iPad 平板电脑模型。

(2010年1月27日,在美国旧金山欧巴布也那艺术中心所举行的苹果公司发布会上,传闻已久的平板电脑——iPad由首席执行官史蒂夫·乔布斯亲自发布。

iPad定位介于苹果的智能手机iPhone和笔记本电脑产品之间,通体只有四个按键,与iPhone布局一样,提供浏览互联网、收发电子邮件、观看电子书、播放音频或视频等功能。

)二设计要求要求设计出的模型理论上具有与真实iPad相仿的功能,但对使用的器材不做限制。

设计应有一个微型计算机所必需的部件,设计应构成一套完整的简单微型计算机系统。

并能够模仿真实iPad,具有显示器、触摸输入、扬声器输出、摄像头输入等功能器件。

三设计内容1、硬件系统主板系统主板采用飞思卡尔(Freescale)i.MX51 (Cortex-A8, 800MHz)的小尺寸核心主板(53mm*97mm),板载WiFi,支持3D加速,支持720P视频播放,支持两路micro Sd卡,支持USB OTG。

内部USB host 接口和UART接口,可扩展3G模块和蓝牙模块。

结构简洁,BOM成本低,量产方便。

性能参数接口描述本方案基于飞思卡尔(Freescale)i.MX51 (Cortex-A8,800MHz)的小尺寸核心主板(53mm*97mm),板载WiFi,支持3D加速,支持720P视频播放,支持两路micro Sd卡,支持USB OTG。

内部USB host接口和UART接口,可扩展3G模块和蓝牙模块。

规格参数触屏系统目前主要有几种类型的触摸屏,它们分别是:电阻式(双层),表面电容式和感应电容式,表面声波式,红外式,以及弯曲波式、有源数字转换器式和光学成像式。

微机原理作业及答案

微机原理作业及答案

一、二、三、四章作业第一章作业1、简述微型计算机的硬件系统结构,并说明其主要功能。

2、试利用一个字节的字长,将十进制-115转换为相应的二进制的原码、反码和补码。

解:(-115)原(11110011)2 (-115)反(10001100)(-115)补(10001101)3、已知X补1100111,则X原,2X补并判断结果是否溢出。

解:题目没有特殊说明,将最高为(第六位作为符号位)X反X补-11100110,则X原1011001 2X补X补X补110011********* 1001110 C6C5110,不溢出另外,可以补齐第七位为0或者1,再进行计算获得。

第一章作业4、十进制389对应的二进制数是110000101,BCD码是001110001001,每位数字用字符表示时ASC码是333839H。

5、下列无符号数中,最大的是(转化为10进制比较)A 11001002 B 1438C 10011000BCD D 6516 第二章作业1、8088CPU与8086CPU的差别是什么?数据线和部分引脚2、8086CPU有哪些寄存器?复位值为多少?AX BX CX DX SP BP SI DI IP CS DS ES SS FR 注意:CS:IPFFFF:0000H 3、8086系统的寻址空间采用什么结构?用什么信号作为本选信号?答:采用分体结构,将1MB的存储空间分为两个体:寄地址存储体和偶地址存储器,各为512KB。

奇地址存储器数据线与系统数据总线高八位相连,用BHE作为选通信号;偶地址存储体的数据线与系统数据总线低八位相连,用A0作为选通信号。

4、什么是存储空间的逻辑分段与存储器单元的逻辑地址?答:8086寻址空间按字节编址,存储空间为1MB,每个存储单元地址为20位。

由于CPU总线宽度和寄存器都为16位,如何形成20位地址。

物理地址段地址16有效地址地址的高16位称为段地址,存放在段寄存器。

物理地址唯一,指向一个存储单元,逻辑地址不唯一。

微机原理作业

微机原理作业

微机原理作业第一章题1.1A 把下列十进制数转换为二进制,十六进制和BCD数;1.135.6252.548.753.376.1254.254.25题1.1B 要求同上,要转换的十进制数如下;1.67.3752.936.5268.875 4.218.0625题1.2A 写下列十进制数的原码,反码和补码表示(用8位二进制);1.+652.-1153.-654.-115题1.2B 要求同题 1.2A数据如下;1.+332.+1273.-334.-127题1.3A 用16位二进制,写出下列十进制数的原码,反码,和补码表示;1.+622.-623.+2534.-2535.+6156.-615题1.4A 写出下列用补码表示的二进制数的真直;1.011011102.010110013.100011014.11111001题1.4B 要求同题 1.4A数据如下;1.011100012.000110113.100001014.11111110 ,第三章汇编语言程序设计题3.1A在下列程序运行后,给相应的寄存器及存储单元填入运行的结果:MOV AL,10HMOV byte PTR [1000],0FFH MMOV CX,1000H BLMOV BX,2000H 1000HMOV [BX],AL BHXCHG CX,BXMOV DH,[BX] CLMOV DL,01HXCHG CX,BX CHMOV [BX],DL 2000HHLT DL题 3.1B DH要求同题 3.1A程序如下;MOV AL,50H ALMOV BP,1000HMOV BX,2000HMOV [BP],ALMOV DH,20HMOV [BX],DHMOV DL,01HMOV DL,[BX]MOV CX,3000HHLT题3.2,如在自1000H单元开始有一个100个数的数椐块。

要把它传送到自2000H开始的存储区中去,用以下三种方法,分别编制程序;1;不用数据块转送指令;2;用单个转送的数据块转送指令;3;用数据块成组转送指令;题3.3A 利用变址寄存器遍一个程序,把自1000H单元内开始的100个数转送到自1070H开始的存储区中去,题3.3B 要求用 3.3A,源地址为2050H,目的地址为2000H,数据块长度为50,题3.4 编一个程序,把自1000H单元开始的100个数转送至1050H开始的存储区中(注意数据区有重叠)。

微机原理与接口技术_大作业

微机原理与接口技术_大作业

课程设计报告课程:微机原理与接口技术题目:键盘扫描实验班级:学号:姓名:日期:一、设计目的通过本次课程设计,掌握8255芯片使用方法和编程方法,理解所学的芯片的原理、内部结构等,从而提高对芯片的综合运用能力,进一步掌握微机系统的软件、硬件设计的方法、设计步骤,掌握微机系统与接口扩展电路的设计方法,做到理论联系实际,提高动手能力和分析问题、解决问题的能力,理论联系实际,实现由学习知识到应用知识的初步过渡。

二、设计要求利用8255可编程并行口做一个键盘扫描实验,每一个键对应一个ASCII码,并实现在数码管上同一位显示。

三、设计思想8255是一种可编程并行I/O接口芯片,具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位,可与外设并行进行数据交换。

A口和B口内具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换。

把8255并口和键盘,组成一个键盘装置,通过CPU对8255的控制最总达到键扫的目的,每一个键对应一个ASCII 码字符,通过8255的输入和输出,最终显示在屏幕上。

四、原理图1.芯片接线2.8255实验连线:3.按键ASCII码:A B1 C0 DF E五、程序框架1.主程序:2.键盘扫描程序:3.显示程序:六、程序代码;****************根据查看端口资源修改下列符号值*******************IOY0 EQU 9C00H ;片选IOY0对应的端口始地址;*****************************************************************MY8255_A EQU IOY0+00H*4 ;8255的A口地址MY8255_B EQU IOY0+01H*4 ;8255的B口地址MY8255_C EQU IOY0+02H*4 ;8255的C口地址MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENTMES DB 'Press any key to exit!',0AH,0DH,0AH,0DH,'$'DTABLE DB 3FH,77H,7CH,4FH,06H,6DH,7DH,39H,3FH,6FH,77H,5EH,39H,71H,79H,71H TT DB 0HDATA ENDSCODE SEGMENT ;数据段ASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV DX, OFFSET MESMOV AH, 09HINT 21HMOV DX, MY8255_MODE ;控制字寄存器MOV AL, 81HOUT DX, ALBEGIN: CALL CLEAR ;调用清屏函数CALL CCSCAN ;键扫函数JNZ GETKEY1 ;有键按下发生跳转CALL CLEARMOV DX, MY8255_A ;刷新MOV AL, 11011111BOUT DX, ALMOV DX, MY8255_BMOV AL, TTOUT DX, ALMOV AH, 1INT 16HJZ BEGINQUIT: MOV AX, 4C00HINT 21HGETKEY1:MOV CH, 0FEH ;打开第一根列线MOV CL, 00H ;纪录打开的列线COLUM: MOV AL, CHMOV DX, MY8255_AOUT DX,AL ;把AL输给端口MOV DX, MY8255_C ;读入三行IN AL, DXL1: TEST AL,01H ;逻辑与判断行线开关 JNZ L2 ;关的跳第二行MOV AL,00HJMP KCODEL2: TEST AL,02HJNZ L3MOV AL,04HJMP KCODEL3: TEST AL,04HJNZ L4MOV AL,08HJMP KCODEL4: TEST AL,08HJNZ NEXTMOV AL,0CHKCODE: ADD AL,CL ;CL加入存储器对应数MOV CL,AL ;纪录ALYY: CALL CLEAR ;判断按键是否弹起CALL CCSCANCALL CLEARMOV DX,MY8255_A ;刷新MOV AL,11011111BOUT DX,ALMOV DX,MY8255_BMOV AL,TTOUT DX,ALJNE YY ;不为零有键按KON: CALL CLEARMOV AL,CLMOV BX,OFFSET DTABLE ;定义变量首地址AND AX,00FFHADD BX,AXMOV AL,[BX]MOV CL, ALMOV DX,MY8255_A ;A口控制列线和数码管MOV AL,11011111B ;关掉五个打开对应的一个OUT DX, ALMOV AL, CLMOV DX, MY8255_BOUT DX, ALMOV TT, ALJMP KERRNEXT: INC CLMOV AL, CHTEST AL,08H ;将AL和第三根列线比较JZ KERR ;真跳转ROL AL,1 ;不是第三根左移一顺序扫 MOV CH, ALJMP COLUMKERR: JMP BEGINCCSCAN PROC NEARMOV AL, 00H MOV DX, MY8255_AOUT DX, ALMOV DX, MY8255_CIN AL, DXNOT ALAND AL, 0FHRETCCSCAN ENDPCLEAR PROC NEARMOV DX, MY8255_BMOV AL, 00HOUT DX, ALRETCLEAR ENDP ;结束子程序CODE ENDSEND START。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

洛阳理工学院微机原理与接口技术《微机原理与接口技术》作为我们机械工程专业的必修的考察课程。

本课程主要讲了计算机接口相关的基本原理、微处理器系统和微型计算机系统的总线、计算机接口技术的介绍以及计算机接口技术在工程实际当中的应用等课程内容的介绍,概括了微机原理与计算机接口技术,微型计算机系统是以微型计算机为核心。

课程主要内容第一章:主要了叙述微型计算机的发展构成和数的表示方法(1)超、大、中、小型计算机阶段(1946年-1980年)采用计算机来代替人的脑力劳动,提高了工作效率,能够解决较复杂的数学计算和数据处理(2)微型计算机阶段(1981年-1990年)微型计算机大量普及,几乎应用于所有领域,对世界科技和经济的发展起到了重要的推动作用。

(3)计算机网络阶段(1991年至今)。

计算机的数值表示方法:二进制,八进制,十进制,十六进制。

要会各个进制之间的数制转换。

计算机网络为人类实现资源共享提供了有力的帮助,从而促进了信息化社会的到来,实现了遍及全球的信息资源共享。

微机系统的基本组成1.微型计算机系统由硬件和软件两个部分组成。

2.系统总线可分为3类:数据总线DB(Data Bus),地址总线AB(Address Bus),控制总线CB(Control Bus)。

3.微机的工作过程就是程序的执行过程,即不断地从存储器中取出指令,然后执行指令的过程。

第二章8086/8088微处理器1.8086微处理器结构:CPU内部结构:总线接口部件BIU,执行部件EU;CPU寄存器结构:通用寄存器,段寄存器,标志寄存器,指令指针寄存器;CPU引脚及其功能:公用引脚,最小模式控制信号引脚,最大模式控制信号引脚。

2、8086/8088 CPU芯片的引脚及其功能8086/8088 CPU具有40条引脚,双列直插式封装,采用分时复用地址数据总线,从而使8086/8088 CPU用40条引脚实现20位地址、16位数据、控制信号及状态信号的传输。

3.8086微机系统存储器组织:存储器组成和分段。

8086微机系统的I/O结构4.8086最小/最大模式系统配置:8086/8088 CPU芯片可以在两种模式下工作,即最大模式和最小模式。

最大模式:指系统中通常含有两个或多个微处理器(即多微处理器系统),其中一个主处理器就是8086/8088 CPU,另外的处理器可以是协处理器I/O处理器。

最小模式:在系统中只有8086/8088一个微处理器。

5.8086CPU时序第三章 8086寻址方式和指令系统1.寻址方式:立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,基址寻址,变址寻址,基址加变址寻址,串寻址,端口寻址,隐含寻址。

2.8086指令系统:数据传送指令,算术运算指令,移位指令,程序控制指令,串操作指令,处理器控制指令,I/O指令,中断指令。

第四章汇编语言、程序设计一、计算机指令编码8086与8088的指令系统完全相同,主要特点:(1) 采用可变长指令,机器指令格式由1~6字节组成,比较复杂,最短8位,最长48位。

(2) 寻址方式多样灵活,处理数据的能力比较强,可处理字节或字、带符号或无符号的二进制数据以及压缩型/非压缩型的十进制数据。

(3) 有重复指令和乘、除运算指令。

扩充了条件转移、移位/循环指令。

(4) 为加强软件中断功能和支持多处理器系统的工作,增设了有关的指令。

1.指令的编码指令:直接控制电路实现特定功能的信息。

机器指令:面向机器,0和1表示机器是否可接受并执行指令。

汇编指令:面向人,符号表示,必须翻译才能执行。

汇编指令的格式:一般格式:操作码操作数具体格式:标号:操作码(空格分隔符)目的操作数(存放结果),(逗号分隔符)源操作数;注释一条指令可以无操作数,必须有操作码,不同的机器,操作数个数不同。

第五章存储器存储器是微型计算机系统中用来存放程序和数据的基本单元或设备。

按存取方式分类(1)随机存取存储器RAM a. 静态RAM b. 动态RAM(2)只读存储器ROM存储器与CPU的连接。

存储器接口应考虑的几个问题1. 存储器与CPU之间的时序配合2. CPU总线负载能力;3. 存储芯片的选用:包括存储器容量及存储器空间的安排第六章输入输出与中断I/O接口:就是将外设连接到总线上的一组逻辑电路的总称,也称为外设接口。

在计算机控制系统中,CPU与外部设备之间进行的信息交换,都是通过接口来实现的。

1、中断源:引起CPU中断的事件,即引起中断的原因或来源。

中断源分为两大类:来自CPU内部的,称为内部中断源;来自CPU外部的,称为外部中断源;1) 内部中断源包括:① CPU执行指令时产生的异常;②特殊操作引起的异常;③是由程序员安排在程序中的INT n 软件中断指令。

2) 外部中断源包括:① I/O设备、数据通道;②实时时钟;③故障源。

2、中断的工作过程1.中断请求2.中断响应3.中断处理4.中断返回第七章:常用可编程数字接口电路1.可编程定时器/计数器Intel8253计算机系统的定时方法通常分软件定时和硬件定时8253的工作方式每个通道都具有六种工作方式的选择权,需注意以下几点:(1)当控制字写入Intel 8253时,其内部所有的控制逻辑电路立即复位,输出端OUT进入初始状态;(2)计数器的启动软启动:硬启动:(3)多数情况下,计数器启动一次只工作一个周期,但有两种方式可供选择,若选择则自动重复计数。

2. 8255A的工作方式8255A具有三种工作方式:方式0—基本输入输出方式;方式1—选通输入输出方式;方式2—双向传送方式。

实例分析例1、已知片外RAM的10H单元存放8位二进制数,要求将其转移成相应的ASCII码,并以高位在前,低位在后的顺序,依次存放到片外RAM以11H为首地址的连续单元中,试编程。

解:先将中间单元置成30H,然后判欲转换位是否为1,若是,则将中间单元内容加1;否则,中间单元内容保持不变。

通过左移指令实现由高到低的顺序进行转换。

ORG 1000HSTART:MOV R2,#08H ;循环计数初值(循环次数知)MOV R0,#10H ;地址指针初值MOVX A,@R0 ;取数MOV B,A ;暂存B中LOOP:MOV A,#30H ;将中间单元(A)置成30H JNB B.7,NA ;判断转换的二进制位为0否?若是转NAINC A ;若为1,则(A)内容加1,成为1的ASCII码“31H”NA:INC R0 ;修改地址指针MOVX @R0,A ;存放转换的结果MOV A,BRL A,B ;作好准备,判断下一位MOV B,A ;暂存DJNZ R2,LOOP ;判断转换结束否?未完继续SJMP $END例2:编程完成求1~100的累加和,结果送SUM单元。

源程序设计如下:DATA SEGMENTSUM DW ? ;预留结果单元CN EQU 100 ;计数终止值DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART:MOV AX,DATA ;初始化DSMOV DS,AXMOV AX,0 ;累加器清零MOV CX,1 ;置循环计数初始值LP:ADD AX,CX ;求累加和INC CX ;计数器加1CMP CX,CN ;CX和终止值比较JBE LP ;小于等于转LPMOV SUM,AX ;结果送SUMMOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START ;汇编结束例3:将键盘输入的小写字母转换为大写字母显示在屏幕上。

源程序设计如下:CODE SEGMENT ;代码段定义ASSUME CS:CODESTART:MOV AL,01H ;DOS调用的01号功能从键盘输入字符INT 21HCMP AL,‘a’;与‘a’的ASCII码比较JB EXIT ;低于‘a’,转EXIT CMP AL,‘z’;与‘z’的ASCII码比较JA EXIT ;高于‘z’,转EXITSUB AL,20H ;大小写字母相差20HMOV DL,AL ;转换后结果送DLMOV AH,02H ;DOS调用02号功能,显示结果INT 21HEXIT:MOV AH,4CH ;返回DOSINT 21HCODE END ;代码段结束END START ;汇编结束第 8章总线技术PCI总线:PCI总线是32位总线。

PCI总线的总线频率为33.3MHz,总线宽度为64位的情况下,总线数据传输率为266.4 MB/s 。

第 9章可编程接口芯片及其8255A及其应用8255A的内部结构、控制字、各工作方式的特点及有关的固定连线。

重点掌握8255A方式0、方式1的应用。

在并行可编程电路8255中共有3个8位的I/O端口Intel 8255A的PA口有一个8位数据输入锁存器和8位数据输出锁存/缓冲器。

Intel 8255A的PB(PC口)有一个8位数据输入缓冲器和8位数据输出锁存/缓冲器。

8255 A工作于基本输入/输出方式下,输出和输入数据为输出数据锁存,输入数据不锁存。

8254的内部结构、初始化编程。

要求会分析各计数器的工作方式,计数初值。

8254的内部结构8254内部结构由数据总线缓冲器、读/写逻辑、控制字寄存器以及3个独立的16位计数器组成。

计数器包括:8位的控制字寄存器和状态寄存器16位的计数初值寄存器CR16位的减1计数器CE16位的输出锁存寄存器OL可编程计数/定时器电路8254的工作方式共有6种。

定时器/计数器输出信号OUT 输出高电平信号时,表明计数执行单元计数值已经等于0 。

定时器/计数器的门控信号是由外围设备送来的,可用作为对时钟的控制。

定时器/计数器的输出OUT可以连到系统控制总线上的中断请求线上。

当计数到达“0”时,或者其他情况下使 OUT端有输出时,产生中断。

当定时取计数器的输出连到一个输入/输出设备上时,可去启动一个输入/输出操作。

对8254当计数初值为0时,定时时间最长。

8254初始化写入控制字后,若再写入初始值要经过(一个时钟上升沿和一个下降沿),计数执行部件开始记数。

8254工作于方式0时,当计数值减为0时输出 OUT为高电平一直维持到复位或改变计数值。

8254工作于方式 1时,欲使输出负脉冲加宽,则可以在输出计数期间重新加入带有上升沿的GATE信号8254工作于方式1时,输出负脉冲的宽度等于计数初值 N个CLK脉冲宽度。

8254工作于方式2时,若计数值为 N时,每输入N-1个 CLK脉冲,则输出一个负脉冲。

8254工作于方式3时,当计数值为一奇数时,则输出信号的低电平比高电平持续时间少一个CLK周期。

8254 作于方式3时,方波的重复周期是计数初值N个脉冲之和。

习以及在印刷领域的应用产生重大的影响,并会在以后的学习生活或工作中得到更广泛的应用。

相关文档
最新文档