当前位置:文档之家› 微机原理与接口技术课程设计说明书

微机原理与接口技术课程设计说明书

微机原理与接口技术课程设计说明书
微机原理与接口技术课程设计说明书

微机原理与接口技术课程设计

说明书

目录

一、设计目的 (3)

二、设计任务及要求 (3)

三、所需元件器材 (3)

四、最小系统原理图及其说明 (4)

1、最小系统原理图 (4)

2、扩展接口电路如下 (5)

3、最小系统PCB (5)

4、A T89S52引脚图及说明 (6)

4.1、主要性能 (6)

4.2、引脚说明 (7)

4.3、特殊功能寄存器 (9)

4.4、存储器结构 (12)

5、12MHz晶振作用 (12)

6、单片机晶振电路 (13)

六、软件编程 (13)

七、程序解释说明 (14)

说明书

一、设计目的

使大家对上学期学习的微机原理与接口技术进一步的掌握和巩固,掌握电路板的焊接技术,会利用软件实现简单的程序设计和调试。

二、设计任务及要求

该课题基本思路是利用最小系统的接口扩展成流水灯。要求电路开启后,红黄蓝绿四种颜色的灯在时钟信号作用下按以下规律转换状态。电路开启后,要求红黄蓝绿四种颜色的灯在脉冲作用下顺序,循环点亮。

三、所需元件器材

1、USB ISP下载线1根

2、实验板

3、A T89S52 1片U1

4、DIP40底座 1 个U1

5、1N4007 1个D1

6、30pF直插电容 2 个C1,C2

7、25V10uF电容 1 个C3

8、5.1K 9脚排阻 1 个R3

9、12MHz晶振,直插 1 个X

10、10K电阻 2 个R1,R2

11、1K电阻 1 个R4

12、LED(绿) 1 个LED

13、USB接口1个

14、IDC10接口 1 个PD1

15、40脚排针 1 条P0-P3

16、两脚按键 1 个S1

17、USB延长线1根用于提供板上的5V电源

18、杜邦排线20芯用于最小系统与扩展板连接

四、最小系统原理图及其说明

1、最小系统原理图

8051最小系统原理图

2、扩展接口电路如下

3、最小系统PCB

(2)8051最小系统PCB

从原理图中可以看出,如果要让接在P2.0口的LED1亮起来,那么只要把P2.0口的电平变为低电平就可以了;相反,如果要接在P2.0口的LED1熄灭,就要把P2.0口的电平变为高电平;同理,接在P2.1~P2.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。

4、AT89S52引脚图及说明

4.1、主要性能

1、与MCS-51单片机产品兼容;

2、8K字节在系统可编程Flash存储器;

3、1000次擦写周期;

4、全静态操作:0Hz-33MHz;

5、三级加密程序存储器;

6、32个可编程I/O口线;

7、三个16位定时器/计数器;

8、六个中断源;

9、全双工UART串行通道;

10、低功耗空闲和掉电模式;

11、掉电后中断可唤醒;

12、看门狗定时器;

13、双数据指针;

14、掉电标识符。

4.2、引脚说明

AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程

AT89S52引脚图DIP封装Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,A T89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL 逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0不具有内部上拉电阻。在flash 编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。

P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2 的触发输入(P1.1/T2EX)。在flash编程和校验时,P1口接收低8位地址字节。

引脚号第二功能:

P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出

P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

P1.5 MOSI(在系统编程用)

P1.6 MISO(在系统编程用)

P1.7 SCK(在系统编程用)

P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动AT89S52引脚图PLCC封装4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。

端口引脚第二功能:

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 INTO(外中断0)

P3.3 INT1(外中断1)

P3.4 TO(定时/计数器0)

P3.5 T1(定时/计数器1)

P3.6 WR(外部数据存储器写选通)

P3.7 RD(外部数据存储器读选通)

此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。

RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲

用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH 存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2:振荡器反相放大器的输出端。

4.3、特殊功能寄存器

特殊功能寄存器(SFR)的地址空间映象如表1所示。AT89S52 特殊寄存器映象及复位值并不是所有的地址都被定义了。片上没有定义的地址是不能用的。读这些地址,一般将得到一个随机数据;写入的数据将会无效。

用户不应该给这些未定义的地址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。

定时器2 寄存器:寄存器T2CON 和T2MOD 包含定时器2 的控制位和状态位(如表2和表3所示),寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。

中断寄存器:各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。

表2 T2CON:定时器/计数器2控制寄存器

T2CON 地址为0C8H 复位值:0000 0000B位可寻址

符号TF2 E XF2 RLCLK TCLK EXEN2 TR2 C/T2 CP/RL2

引脚7 6 5 4 3 2 1 0

TF2 定时器2 溢出标志位。必须软件清“0”。RCLK=1 或TCLK=1 时,TF2不

用置位。

EXF2 定时器2 外部标志位。EXEN2=1 时,T2EX 上的负跳变而出现捕捉或重载时,EXF2 会被硬件置位。定时器2 打开,EXF2=1 时,将引导CPU执行定

时器2 中断程序。EXF2 必须如见清“0”。在向下/向上技术模式(DCEN=1)下EXF2不能引起中断。

RLCLK 串行口接收数据时钟标志位。若RCLK=1,串行口将使用定时器2 溢出脉冲作为串行口工作模式1 和3 的串口接收时钟;RCLK=0,将使用定时器1计数溢出作为串口接收时钟。

TCLK 串行口发送数据时钟标志位。若TCLK=1,串行口将使用定时器2 溢出脉冲作

为串行口工作模式1 和3 的串口发送时钟;TCLK=0,将使用定时器1计数溢出作为串口发送时钟。

EXEN2 定时器2外部允许标志位。当EXEN2=1时,如果定时器2没有用作串行时钟,T2EX(P1.1)的负跳变将引起定时器2 捕捉和重载。若EXEN2=0,定时器2

将视T2EX端的信号无效

TR2 开始/停止控制定时器2。TR2=1,定时器2开始工作

C/T2 定时器2 定时/计数选择标志位。C/T2 =0,定时;C/T2 =1,外部事件计

数(下降沿触发)

CP/RL2 捕捉/重载选择标志位。当EXEN2=1时,CP/RL2=1,T2EX出现负脉冲,会引起捕捉操作;当定时器2溢出或EXEN2=1时T2EX出现负跳变,都会出现自动重载操作。CP/RL2=0 将引起T2EX 的负脉冲。当RCKL=1或TCKL=1时,此标志位无效,定时器2溢出时,强制做自动重载操作。

双数据指针寄存器:为了更有利于访问内部和外部数据存储器,系统提供了两路16位数据指针寄存器:位于SFR中82H~83H的DP0和位于84H~85。特殊寄存器AUXR1中DPS=0 选择DP0;DPS=1 选择DP1。用户应该在访问数据指针寄存器前先初始化DPS至合理的值。

AUXR 地址:8EH 复位值:XXX00XX0B不可位寻址

DISALE

7 6 5 4 3 2 1 0

预留扩展用

DISALE ALE使能标志位

DISALE 操作方式

0 ALE 以1/6晶振频率输出信号

1 ALE 只有在执行MOVX 或MOVC指令时激活

DISRTO 复位输出标志位

DISRTO

0 看门狗(WDT)定时结束,Reset 输出高电平

1 Reset 只有输入

WDIDLE 空闲模式下WDT 使能标志位

WDIDLE

0 空闲模式下,WDT继续计数

1 空闲模式下,WDT停止计数

掉电标志位:掉电标志位(POF)位于特殊寄存器PCON的第四位(PCON.4)。上电期间POF置“1”。POF可以软件控制使用与否,但不受复位影响。

表3b AUXR1:辅助寄存器1

AUXR1 地址:A2H 复位值:XXXXXXX0B

不可位寻址

DPS

7 6 5 4 3 2 1 0

预留扩展用

DPS 数据指针选择位

DPS

0 选择DPTR寄存器DP0L和DP0H

1 选择DPTR寄存器DP1L和DP1H

4.4、存储器结构

MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。

程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。

对于89S52,如果EA 接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:2000H~FFFFH。

数据存储器:A T89S52 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。

当一条指令访问高于7FH 的地址时,寻址方式决定CPU 访问高128 字节RAM 还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。

例如,下面的直接寻址指令访问0A0H(P2口)存储单元MOV 0A0H , #data使用间接寻址方式访问高128 字节RAM。例如,下面的间接寻址方式中,R0 内容为0A0H,访问的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。

MOV @R0 , #data堆栈操作也是简介寻址方式。因此,高128字节数据RAM也可用于堆栈空间。

5、12MHz晶振作用

晶振作用:给单片机正常工作提供稳定的时钟信号。

原理:在石英晶体的两个极板上加一个电场,晶片会产生械变形,对极板施加机械力使其变形,又会在极板上产生相应的电荷,这叫压电效应。如果在两个极板上加上交变电压,晶片便会产生机械变形振荡,同时这种机械振荡还会产生交变的电场(比较微小),但是当外加交表电压的频率与晶片固有的频率(由其形状和尺寸决定)相等时,机械振动的幅度会加剧,产生交变电场也增大,叫做压电谐波。即是去掉晶振,电路照样能振荡,并且如果把那两个电容改成可调电容的话也能得到想要的某个频率那还要晶振干什么,晶振、陶瓷谐振槽路、RC振荡器以及硅振荡器是适用于微控制器的四种时钟电源。针对具体应用优化时钟源设计依赖于以下因素:成本、精度和环境参数。RC振荡器能够快速启动,成本也比较低,但通常在整个温度和工作电源电压范围内精度较差,会在标称输出频率的5%至50%范围内变化:

但相对RC振荡器而言,基于晶振与陶瓷谐振槽路的振荡器通常能提供非常高的初始精度和较低的温度系数。

6、单片机晶振电路

MCS-51单片机内部的振荡电路是一个增益反相放大器,引线XYAL1和XTAL2分别为反相放大器的输入和内部时钟电路输入和来自反相放大器的输出,该反相放大器可以配置为片内振荡器。单片机内部虽然有震荡电路,但要形成时钟,外部还需要附加电路石晶振荡和陶瓷振荡均可采用,有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,单必须保证脉冲的高低电平要求的宽度。晶振电路如图4、5所示。

内部晶振电路

单片机的时钟产生方式有两种,分别为:内部时钟方式和外部时钟方式。利用其内部的震荡电路XTAL1和XTAL2外接定时元件,内部震荡电路便产生自激震荡,用示波器可以观察到XTAL2的输出时钟信号。在MCS-52中通常用内部时钟方式,也就是在XTAL1和XTAL2之间连接晶体振荡器与电容构成稳定的自激震荡器。

晶体和电容决定了单片机的工作精度为1微秒,晶体可在1.2-12MHZ之间选择。MCS-51单片机在通常情况下,使用震荡频率为6MHZ的石英晶体,而12MHZ频率主要是在高速串行通信情况才使用,在这里我们用的是12MHZ的石英晶体。对电容无严格要求,但它在取值对震荡频率的输出的稳定性、大小及震荡电路起震荡速度有点影响。C1和C2可在10-100pF之间取值,一般情况下取30pF。外部时钟方式是把外部震荡信号源直接接入XTAL1

或XTAL2。由于XTAL2的逻辑电平不是TTL,所以还要接上拉电阻。

六、软件编程

#include

unsigned char code

table[]={0x00,0xff,0x00,0xff,0x00,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xbf,0xdf,0xef,0 xf7,0xfb,0xfd,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x00,0 xff,0x00,0xff,0x00,0xff,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7e,0x7d,0x7b,0x77,0x6f,0x5f,0x3f,

0x3e,0x3d,0x3b,0x37,0x2f,0x1f,0x1e,0x1d,0x1b,0x17,0x0f,0x0e,0x0d,0x0b,0x07,0x06,0x05,0x0 3,0x02,0x01,0x00,0xff,0x00,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x7e,0xbe,0xde,0xee,0 xf6,0xfa,0xfc,0x7c,0xbc,0xdc,0xec,0xf4,0xf8,0x78,0xb8,0xd8,0xe8,0xf0,0x70,0xb0,0xd0,0xe0,0x 60,0xa0,0xc0,0x40,0x80,0x00,0xff,0x00,0xff,0x00,0xff,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,0x bd,0xdb,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xc3,0x81,0x00, 0x81,0xc3,0xe7,0x00,0xff,0x00,0xff,0x00,0xff,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0 x55,0xff,0x00,0xff,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x00,0xff,0x00,0xff,0x0 0,0xff,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0xff,0x 00,0xff,0x24,0x92,0x49,0x24,0x92,0x49,0x24,0x92,0x49,0x24,0x92,0x49,0x24,0x92,0x49,0x00, 0xff,0x00,0xff,0x00,0xff,0x11,0x22,0x44,0x88,0x11,0x22,0x44,0x88,0x11,0x22,0x44,0x88,0x11, 0x22,0x44,0x88,0x11,0x22,0x44,0x88,0xff,0x00,0xff,0x88,0x44,0x22,0x11,0x88,0x44,0x22,0x11 ,0x88,0x44,0x22,0x11,0x88,0x44,0x22,0x11,0x88,0x44,0x22,0x11,0x00,0x00,0x00,0x00,0xff}; unsigned char dispcount;

void delay02s(void)

{

unsigned char i,j,k;

for(i=20;i>0;i--)

for(j=30;j>0;j--)

for(k=248;k>0;k--);

}

void main(void)

{

while(1)

{

for(dispcount=0;dispcount<270;dispcount++)

{

P2=table[dispcount];

delay02s();

}

}

}

七、程序解释说明

#include /*51系列单片机头文件*/

unsigned char code

table[]={0x00,0xff,0x00,0xff,0x00,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xbf,0xdf,0xef,0 xf7,0xfb,0xfd,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x00,0 xff,0x00,0xff,0x00,0xff,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7e,0x7d,0x7b,0x77,0x6f,0x5f,0x3f, 0x3e,0x3d,0x3b,0x37,0x2f,0x1f,0x1e,0x1d,0x1b,0x17,0x0f,0x0e,0x0d,0x0b,0x07,0x06,0x05,0x0 3,0x02,0x01,0x00,0xff,0x00,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x7e,0xbe,0xde,0xee,0

xf6,0xfa,0xfc,0x7c,0xbc,0xdc,0xec,0xf4,0xf8,0x78,0xb8,0xd8,0xe8,0xf0,0x70,0xb0,0xd0,0xe0,0x 60,0xa0,0xc0,0x40,0x80,0x00,0xff,0x00,0xff,0x00,0xff,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,0x bd,0xdb,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xc3,0x81,0x00, 0x81,0xc3,0xe7,0x00,0xff,0x00,0xff,0x00,0xff,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0 x55,0xff,0x00,0xff,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x00,0xff,0x00,0xff,0x0 0,0xff,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0xff,0x 00,0xff,0x24,0x92,0x49,0x24,0x92,0x49,0x24,0x92,0x49,0x24,0x92,0x49,0x24,0x92,0x49,0x00, 0xff,0x00,0xff,0x00,0xff,0x11,0x22,0x44,0x88,0x11,0x22,0x44,0x88,0x11,0x22,0x44,0x88,0x11, 0x22,0x44,0x88,0x11,0x22,0x44,0x88,0xff,0x00,0xff,0x88,0x44,0x22,0x11,0x88,0x44,0x22,0x11 ,0x88,0x44,0x22,0x11,0x88,0x44,0x22,0x11,0x88,0x44,0x22,0x11,0x00,0x00,0x00,0x00,0xff};

/*定义一维数组*/

unsigned char dispcount; /*定义无符号字符*/

void delay02s(void) /*延时函数*/

{

unsigned char i,j,k; /*定义无符号字符*/

for(i=20;i>0;i--)

for(j=30;j>0;j--)

for(k=248;k>0;k--); /*嵌套循环,共循环((248*2+3)*30+3))*20=299460us=200ms=0.2s*/

}

void main(void) /*主函数*/

{

while(1) /*无限循环*/

{

for(dispcount=0;dispcount<270;dispcount++) /*dispcount自加1*/

{

P2=table[dispcount]; /*将数组中的值取到P2口中,点亮对应的灯*/

delay02s(); /*调用延时函数*/

}

}

}

当上述程序编写好以后,我们需要使用keil编译软件对其编译,得到单片机所能识别的二进制代码,然后再用编程器将二进制代码烧写到A T89S52单片机中,最后连接好电路通电,我们就看到灯的“流水”效果了。

程序烧入过程如下:

1、将程序重命名为“XXX.C”

2、用KEIL创建新工程,命名“YYY”,选择型号“A TMEL-89C52”,右击“SOURCE GROUP 1”添加文件“XXX.C”关闭。打开程序。编译连接调试程序。没有问题。右击TARGET1,选择OPTIONS FOR TARGET "TARGET1",打开“OUTPUT”选项卡,勾选“CREATE HEX

3、安装USB-ASP驱动

4、打开A VR-FIGHTER软件。芯片选择“A T89S52”,装FLASH,找到“YYY.HEX”文件。

点击编程,当右侧提示“芯片编程结束”。完成烧入。

微机原理与接口技术(第三版)课本习题答案

第二章 8086体系结构与80x86CPU 1.8086CPU由哪两部分构成它们的主要功能是什么 答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。 2.8086CPU预取指令队列有什么好处8086CPU内部的并行操作体现在哪里答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。8086CPU 内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。 5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个逻辑地址呢答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址相加形成物理地址。具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。逻辑地址由段基址和偏移地址两部分构成,都是无符号的16位二进制数,程序设计时采用逻辑地址,也是1MB。 6.8086系统中的存储器为什么要采用分段结构有什么好处 答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址

微机原理与接口技术课程设计报告

微机原理与接口课程设计设计题目:红外通信

微机接口与原理课程设计成绩评定表 姓名学号10291164 课程设计题目:红外通信 课程设计答辩或提问记录: 成绩评定依据: 课程设计预习报告及方案设计情况(30%): 课程设计考勤情况(15%): 课程设计调试情况(30%): 课程设计总结报告与答辩情况(25%): 最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字:年月日

红外通信课程设计任务书 学生姓名:指导教师:牛 一、课程设计题目: 题目:红外通信 内容:应用红外发射管和接收管,完成数据的发射和接收。发射管和接收管接在普通的I/O口。要求2个按键,一个按键是数据的0和1的变换,另一个按键是发送键。数据在1个数码管上显示。 二、课程设计要求 1. 根据具体设计课题的技术指标和给定条件,独立进行方案论证和电路设计,要求概念清楚、方案合理、方法正确、步骤完整; 2. 查阅有关参考资料和手册,并能正确选择有关元器件和参数,对设计方案进行仿真; 3. 完成预习报告,报告中要有设计方案,设计电路图,还要有仿真结果; 4. 进实验室进行电路调试,边调试边修正方案; 5. 撰写课程设计报告——最终的电路图、调试过程中遇到的问题和解决问题的方法。 三、进度安排 1.时间安排 序号内容学时安排(天) 1 方案论证和系统设计 1 2 完成电路仿真,写预习报告 1 3 电路调试 2 4 写设计总结报告与答辩 1 合计 5 设计调试地点:电气楼410 2.执行要求 微机原理与接口技术课程成绩优秀的可以自拟题目,其余的同学都是指定题目。,每组不得超过2人,要求学生在教师的指导下,独力完成所设计的详细电路(包括计算和器件选型)。严禁抄袭,严禁两篇设计报告雷同。

(完整版)微机原理及接口技术(习题答案)

范文范例学习指导 第1章微机运算基础 习题和思考题 1.请完成以下计算: 174.66D=(10101110.10101)B=(AE. A8)H 10101110101.01011B=(1397.344)D=(575.58)H 4BCH=(010*********)B=()BCD 2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值 是多少? 答:当X表示原码时,其真值为:+101010 当X表示补码时,其真值为:+101010 当X表示反码时,其真值为:+101010 当X表示无符号数数时,其真值为:00101010 3.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出? 120+18 -33-37 -90-70 50+84 答:120+18 其补码形式分别为:(120)补=01111000 (18)补=00010010 01111000 + 00010010 10001010 由于C s=0 ,C p=1,因此有溢出,结果错误 -33-37 其补码形式为:(-33)补=11011111 (-37)补=11011011 11011111 +11011011 10111010 由于C s=1, C p=1,所以没有溢出,结果正确 -90-70 其补码形式为:(-90)补=10011100 (-70)补=10111010 10011100 +10111010 01010110 由于C s=1, C p=0,所以有溢出,结果错误 50+84

其补码形式为:(50)补=00110010 (84)补=01010100 00110010 +01010100 10000110 由于C s=0, C p=1,所以有溢出,结果错误 4.请写出下列字符串的ASCII码值。 My name is Zhang san. 4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E 第2章 80X86微机系统 习题与思考题 1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么? 答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。 各部件的功能分别是:1、输入设备通过输入接口电路将程序和数据输入内存;2、运算器是进行算术运算和逻辑运算的部件,它是指令的执行部件;3、控制器是计算机的指挥中心,它负责对指令进行译码,产生出整个指令系统所需要的全部操作的控制信号,控制运算器、存储器、输入/输出接口等部件完成指令规定的操作;4、存储器用来存放程序、原始操作数、运算的中间结果数据和最终结果数据; 5、输出设备是CPU通过相应的输出接口电路将程序运行的结果及程序、数据送到的设备; 2.微处理器的发展过程是什么? 答:微型计算机的发展过程是: 第一代(1946~1957)——采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓等为存储手段;软件上采用机器语言,后期采用汇编语言。 第二代(1957~1965)——采用晶体管为逻辑部件,用磁芯、磁盘作内存和外存;软件上广泛采用高级语言,并出现了早期的操作系统。 第三代(1965~1971)——采用中小规模集成电路为主要部件,以磁芯、磁盘作内存和外存;软件上广泛使用操作系统,产生了分时、实时等操作系统和计算机网络。 第四代(1971~至今)——采用大规模集成电路(LSI)、超大规模集成电路(VLSI)为主要部件,以半导体存储器和磁盘为内、外存储器;在软件方法上产生了结构化程序设计和面向对象程序设计的思想。 3.简述80486微处理器的基本结构。 书12页 4.80486微处理器的工作模式有几种?当CS内容为1000H,IP内容为7896H,求在实地址 模式下的物理地址为多少? 答:实模式和保护模式及虚拟8086模式。当CS内容为1000H,IP内容为7896H,在实地

微机原理与接口技术实验报告

微机原理与接口技术实验报告

2

3

实验一:数据传送 实验学时:2 实验类型:验证 实验要求:必修 一.实验目的 1.学习程序设计的基本方法和技能,掌握用汇编语言设计、编写、调试和运行程序的方法; 学习用全屏幕编辑软件QEDIT.EXE建立源程序(.ASM文件); 学习用汇编软件MASM.EXE对源文件汇编产生目标文件(.OBJ文件); 学习用连接程序LINK.EXE对目标文件产生可执行文件(.EXE文件); 学习用调试软件TD.EXE调试可执行文件; 2.掌握各种寻址方法以及简单指令的执行过程。 二.实验器材 PC机 三.实验组织运行要求 1.利用堆栈实现AX的内容与BX的内容进行交换。堆栈指针SP=2000H,AX=3000H,BX=5000H; 2.汇编、调试、观察、记录结果; ⑴用QEDIT.EXE软件输入汇编语言源程序,以.ASM格式文件存盘; ⑵用MASM对源程序进行汇编产生二进制目标文件(.OBJ文件),再用连接程序LINK产生可执行文件(.EXE文件); ⑶用调试软件TD调试、运行程序,观察、记录结果。 四.实验步骤 1.进入子目录E:>\SY86后,利用QEDIT.EXE(简称Q)送入以下汇编语言源程序,并以M1.ASM文件存盘 ⑴汇编语言程序的上机过程 ①进入\SY86子目录 E:>CD\SY86 E:\SY86> ②进入QEDIT.EXE 编辑界面 E:\SY86> Q ③输入文件名*.ASM(如M1.ASM)后,输入源程序 源程序 DATA SEGMENT PARA PUBLIC’DATA’ ;数据段定义 DB 512 DUP(0) DATA ENDS STACK SEGMENT PARA STACK’STACK’ ;堆栈段定义 DB 512 DUP( ?) 4

微机原理与接口技术(第二版) 清华大学出版社

习题1 1.什么是汇编语言,汇编程序,和机器语言? 答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。 2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么? 答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。 这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。 3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。 答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。 “存储程序控制”的概念可简要地概括为以下几点: ①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。 ②在计算机内部采用二进制来表示程序和数据。 ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 ④五大部件以运算器为中心进行组织。 4.请说明微型计算机系统的工作过程。 答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存

放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。 5.试说明微处理器字长的意义。 答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。计算机的字长越大,其性能越优越。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。 6.微机系统中采用的总线结构有几种类型?各有什么特点? 答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。 7.将下列十进制数转换成二进制数、八进制数、十六进制数。 ①(4.75)10=(0100.11)2=(4.6)8=(4.C)16 ②(2.25)10=(10.01)2=(2.2)8=(2.8)16 ③(1.875)10=(1.111)2=(1.7)8=(1.E)16 8.将下列二进制数转换成十进制数。 ①(1011.011)2=(11.375)10 ②(1101.01011)2=(13.58)10 ③(111.001)2=(7.2)10 9.将下列十进制数转换成8421BCD码。 ① 2006=(0010 0000 0000 0110)BCD ② 123.456=(0001 0010 0011.0100 0101 0110)BCD 10.求下列带符号十进制数的8位基2码补码。 ① [+127]补= 01111111

微机原理与接口技术_课程设计实验报告

课程设计实验报告 课程:现代微机原理与接口技术题目:键盘扫描实验

班级:数字媒体 1004 学号: 0305100417 学生:海洋 指导老师:天天 日期: 2012.6.18 一、实验目的 (1)掌握键盘扫描的应用及编程 (2)掌握LED的应用 二、实验设备 PC计算机一台,TD-PIT + 实验系统一套。 三、实验原理 (1)8255芯片:8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。可与外设并行进行数据交换。A口和B口具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换。把8255并口和键盘,组成一个键盘装置。通过cpu对8255的控制最总达到键扫的目的。每一个键对应一个ASCII 码字符,通过8255的输入和输出,最终显示在屏幕上。 (2)LED数码显示原理:数码管的 7 个段及小数点都是由 LED 块组成的,显示方式分为静态显示和动态显示两种。数码管在静态显示方式时,其共阳管的位选信号均为低电平,四个数码管的共用段选线 a、b、c、d、e、f、g、dp 分别与单片机的 8 根 I/O 口线相连,显示数字时只要给相应的段选线送低电平。数码管在动态显示方式时,在某一时刻只能有一个数码管被点亮显示数字,其余的处于非选通状态,位选码端口的信号改变时,段选码端口的信号也要做相应的改变,每位显示字符停留显示的时间一般为1-5ms,利用人眼睛的视觉惯性,在数码管上就能看到相当稳定的数字显示。 (3)键盘扫描原理:第一步,使行线为编程的输入线,列线是输出线,拉低所有的列线,判断行线的变化,如果有按键按下,按键按下的对应行线被拉低,否则所有的行

微机原理与接口技术学习心得

本学期微机原理课程已经结束,关于微机课程的心得体会甚多。微机原理与接口技术作为一门专业课,虽然要求没有专业课那么高,但是却对自己今后的工作总会有一定的帮助。记得老师第一节课说学微机原理是为以后的单片机打基础,这就让我下定决心学好微机原理这门课程。 初学《微机原理与接口技术》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理与接口技术》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。 然而,事物总有两面性。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇

单片机接口技术课程设计报告

轻工业学院本科 单片机与接口技术课程设计 总结报告 设计题目:定时器控制交通灯(带故障报警) 学生:忠良王彦峰王永亮方庆刚 系别:计算机与通信工程学院 专业:通信工程 班级:通信工程08-1班 学号:9 指导教师:晓雷副教授 2011年1月7日

轻工业学院 课程设计任务书 题目定时器控制交通灯(带故障报警) 专业班级通信工程08-1班学号忠良59号 主要容、基本要求、主要参考资料等: 1. 课程设计目的 (1) 加强对所学理论知识的理解,提高综合应用、分析能力; (2) 掌握MCS51单片机开发系统的使用; (3) 学习与掌握程序设计方法及硬件电路的设计还有联调仿真最 终成所选择课题的设计; (4) 利用简单的应用系统,培养应用系统的开发能力。 2. 课程设计要求 (1)完成LED灯的显示、按键识别、电铃发出响声等,并完成模拟交通灯的功能; (2)从源程序、软件模拟、调试方面完成软件系统; (3)利用开发系统完成系统的总体调试、程序烧写,实现应用系统功能,并能对系统运行中的问题进行分析。 3. 参考资料

(1)单片机典型系统设计实例精讲为,黄科,雷道仲编著电子工业出版发行2006.5(3,4); (2)单片机原理及应用建忠编著电子科技大学; (3)AT89系列单片机原理与接口技术王幸之,钟爱琴等编著航空航天大学出版发行2004; (4)51单片机编程基础与开发实例详解岂兴明,唐杰等编著人民邮电出版发行。 完成期限:2011-1-7 指导教师签名:晓雷 课程负责人签名:晓雷 2011年01月3日 目录 第一章设计容与要求4 第二章设计原理5 1.单片机概述5 2.STC89C52芯片简介6 3.定时器/计数器8

微机原理与接口技术习题答案

《微机原理与接口技术》习题答案 一、单项选择题 1、80486CPU进行算术和逻辑运算时,可处理的信息的长度为( D )。 A、32位 B、16位 C、8位 D、都可以 2、在下面关于微处理器的叙述中,错误的是( C ) 。 A、微处理器是用超大规模集成电路制成的具有运算和控制功能的芯片 B、一台计算机的CPU含有1个或多个微处理器 C、寄存器由具有特殊用途的部分内存单元组成,是内存的一部分 D、不同型号的CPU可能具有不同的机器指令 3、若用MB作为PC机主存容量的计量单位,1MB等于( B )字节。 A、210个字节 B、220个字节 C、230个字节 D、240个字节 4、运算器在执行两个用补码表示的整数加法时,判断其是否溢出的规则为( D )。 A、两个整数相加,若最高位(符号位)有进位,则一定发生溢出 B、两个整数相加,若结果的符号位为0,则一定发生溢出 C、两个整数相加,若结果的符号位为1,则一定发生溢出 D、两个同号的整数相加,若结果的符号位与加数的符号位相反,则一定发生溢出 5、运算器的主要功能是( C )。 A、算术运算 B、逻辑运算 C、算术运算与逻辑运算 D、函数运算 6、指令ADD CX,55H[BP]的源操作数的寻址方式是(D )。 A、寄存器寻址 B、直接寻址 C、寄存器间接寻址 D、寄存器相对寻址 7、设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=(A ) A、113AH B、114AH C、1144H D、1140H 8、若SI=0053H,BP=0054H,执行SUB SI,BP后,则( C)。 A、CF=0,OF=0 B、CF=0,OF=1 C、CF=1,OF=0 D、CF=1,OF=1 9、已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,[BP]执行后,(BX)=(D ) 。 A、0102H B、0201H C、245AH D、5A24H 10、实模式下80486CPU对指令的寻址由(A )决定。 A、CS,IP B、DS,IP C、SS,IP D、ES,IP 11、使用80486汇编语言的伪操作指令定义: VAL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则

微机接口技术课程设计(DOC)

河北科技大学 课程设计报告 学生姓名:学号: 专业班级:电子信息工程班 课程名称:微机接口技术课程设计学年学期:2014—2015学年第二学期指导教师:王震洲 2 01 5 年7 月

课程设计成绩评定表

目录 一、课程设计目的及意义 (1) 二、课程设计任务及要求 (1) 三、设计内容与步骤 (1) 四、硬件电路设计 (2) 五、程序设计 (7) 六、数字频率示波器调试 (11) 七、课程设计总结及体会 (13) 附录:、接口实验卡电路原理图 (14)

一、课程设计目的及意义 数字存储示波器是常用的电子测量仪器之一,其中采用的转换、转换及数据处理技术与《微机接口技术》课程内容联系紧密。通过本设计,学生可掌握、转换电路的设计和调试方法,培养学生分析解决实际问题的能力。 二、课程设计任务及设计要求 本设计通过简单的转换接口电路,配合汇编语言程序设计,实现最基本的信号波形采集与存储,并通过简单的转换接口电路,将存储的数据还原为信号波形,在普通示波器的屏幕上显示出来。 被测信号产生电路参见“、接口实验扩展卡电路原理图”。当按下S1时,电容C5完全放电,转换器输入电压为零;抬起S1时,电容C5开始充电,转换器输入电压按过渡过程开始上升,最终达到+5V。图中时间常数约为10,整个充电过程需要3~5倍的时间常数时间。设计要求使用转换器捕捉电容C5充电的完整过程,并将采样数据存储起来。然后依次将采样数据通过转换器循环输出,产生一定频率的重复波形,送到普通示波器显示。 基本要求:使用一个转换器通道,将信号波形施加到示波器的Y轴,X轴扫描信号由示波器产生并调节,实现充电过程的波形稳定显示。 发挥部分:将示波器调整在方式,采样数据的转换器输出接到Y轴输入端,增加一个转换器通道,产生频率可变的X轴扫描信号,接到示波器X轴外部输入端,使充电过程的波形稳定显示。 三、设计内容与步骤 1、数字存储示波器原理分析 由于单片机实验系统已经提供了相关信号线,使用0809、0832和相关外围电路元件,组成了最基本的转换和转换电路。可由0809负责采集电容C5充电时的信号,并将其转换为数字信号,并存储。0832将存储的数字信号,转换为模拟的电压值,再将其设置为循环输出,产生一定频率的重复波形,送到普通示波器显示。

微机原理与接口技术课程设计报告

V .. . .. 微机原理与接口技术 课程设计报告 项目名称:十进制数计算器的设计与实现 专业名称:计算机科学与技术(交通信息工程)学生姓名:李俊(201324020311) 教师姓名:马荣贵 2016年1月1日

一、项目名称及要求 (3) 1项目名称 (3) 2项目要求 (3) 二、项目背景及设计目的 (3) 1项目背景 (3) 2项目目的 (3) 三、设计思路 (3) 1总体设计思路 (3) 2设计流程图 (3) 四、项目方案及原理图 (3) 1项目方案 (3) 2并行接口8255A (3) 3键盘输入模块 (3) 4LED数码管输出模块 (3) 5原理图设计 (3) 五、结果与分析 (3) 1实现现象 (3) 2现象分析 (3) 六、总结及体会 (3) 七、附录 (3) 1参考文献 (3) 2源代码 (3)

一、项目名称及要求 1 项目名称 十进制数计算器的设计与实现 2 项目要求 运用学过的《微机原理与接口技术》课程以及本学期的上机实验操作经验,根据题目设计要求进行软硬件系统的设计和实现,从而加深对本课程知识点的理解。通过具体项目的实践,来提高学生的动手能力以及实时解决问题的能力,使学生综合能力得到显著提升。 本课题要求学生熟练运用并行接口8255A芯片、4*4键盘输入模块以及 LED数码管输出模块的工作原理以及相应元件驱动程序的编写。 要求通过4*4键盘输入,LED数码管显示来完成简单计算器的功能(加减乘除操作) 二、项目背景及设计目的 1 项目背景 大学课程设计是为了辅助学生加深对本课程的理论知识的理解和提高。通过动手完成实际的项目设计及实现,减小理论与实践的距离,让同学对实际项目实现的流程有个大体的感受。通过合作完成项目,提高同学的合作意识,以及模块化设计理念。 2 项目目的

(完整版)微机原理与接口技术知识点总结整理

《微机原理与接口技术》复习参考资料 第一章概述 一、计算机中的数制 1、无符号数的表示方法: (1)十进制计数的表示法 特点:以十为底,逢十进一; 共有0-9十个数字符号。 (2)二进制计数表示方法: 特点:以2为底,逢2进位; 只有0和1两个符号。 (3)十六进制数的表示法: 特点:以16为底,逢16进位; 有0--9及A—F(表示10~15)共16个数字符号。 2、各种数制之间的转换 (1)非十进制数到十进制数的转换 按相应进位计数制的权表达式展开,再按十进制求和。(见书本1.2.3,1.2.4)(2)十进制数制转换为二进制数制 ●十进制→二进制的转换: 整数部分:除2取余; 小数部分:乘2取整。 ●十进制→十六进制的转换: 整数部分:除16取余; 小数部分:乘16取整。 以小数点为起点求得整数和小数的各个位。 (3)二进制与十六进制数之间的转换 用4位二进制数表示1位十六进制数 3、无符号数二进制的运算(见教材P5) 4、二进制数的逻辑运算 特点:按位运算,无进借位 (1)与运算 只有A、B变量皆为1时,与运算的结果就是1 (2)或运算 A、B变量中,只要有一个为1,或运算的结果就是1 (3)非运算 (4)异或运算 A、B两个变量只要不同,异或运算的结果就是1 二、计算机中的码制 1、对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X的原码记作[X]原,反码记作[X]反,补码记作[X]补。

注意:对正数,三种表示法均相同。 它们的差别在于对负数的表示。 (1)原码 定义: 符号位:0表示正,1表示负; 数值位:真值的绝对值。 注意:数0的原码不唯一 (2)反码 定义: 若X>0 ,则[X]反=[X]原 若X<0,则[X]反= 对应原码的符号位不变,数值部分按位求反 注意:数0的反码也不唯一 (3)补码 定义: 若X>0,则[X]补= [X]反= [X]原 若X<0,则[X]补= [X]反+1 注意:机器字长为8时,数0的补码唯一,同为00000000 2、8位二进制的表示范围: 原码:-127~+127 反码:-127~+127 补码:-128~+127 3、特殊数10000000 ●该数在原码中定义为:-0 ●在反码中定义为:-127 ●在补码中定义为:-128 ●对无符号数:(10000000)2= 128 三、信息的编码 1、十进制数的二进制数编码 用4位二进制数表示一位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。(1)压缩BCD码的每一位用4位二进制表示,0000~1001表示0~9,一个字节表示两位十进制数。 (2)非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的0000~1001表示0~9 2、字符的编码 计算机采用7位二进制代码对字符进行编码 (1)数字0~9的编码是0110000~0111001,它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。

微机原理与接口技术

第二章 8086系统结构 一、 8086CPU 的内部结构 1.总线接口部件BIU (Bus Interface Unit ) 组成:20位地址加法器,专用寄存器组,6字节指令队列,总线控制电路。 作用:负责从内存指定单元中取出指令,送入指令流队列中排队;取出指令所需的操作 数送EU 单元去执行。 工作过程:由段寄存器与IP 形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。 *当指令队列有2个或2个以上的字节空余时,BIU 自动将指令取到指令队列中。若遇到转移指令等,则将指令队列清空,BIU 重新取新地址中的指令代码,送入指令队列。 *指令指针IP 由BIU 自动修改,IP 总是指向下一条将要执行指令的地址。 2.指令执行部件EU (Exection Unit) 组成:算术逻辑单元(ALU ),标志寄存器(FR ),通用寄存器,EU 控制系统等。 作用:负责指令的执行,完成指令的操作。 工作过程:从队列中取得指令,进行译码,根据指令要求向EU 内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O 端口,则EU 将操作数的偏移地址送给BIU ,由BIU 取得操作数送给EU 。 二、 8088/8086的寄存器结构 标志寄存器 ALU DI DH SP SI BP DL AL AH BL BH CL CH ES SS DS CS 内部暂存器输入 / 输出控制 电路1432EU 控制系 统20位16位8086总线指令 队列总线 接口单元执行 单元 6 516位 属第三代微处理器 运算能力: 数据总线:DB

机电接口技术课程设计报告

四川省广播电视大学机电接口技术课程设计设计题目:定时器控制交通灯(带故障报警) 学生姓名: 专业:机械制造及其自动化 学号: 课程设计任务书

题目定时器控制交通灯(带故障报警) 主要内容、基本要求、主要参考资料等: 1. 课程设计目的 (1) 加强对所学理论知识的理解,提高综合应用、分析能力; (2) 掌握MCS51单片机开发系统的使用; (3) 学习与掌握程序设计方法及硬件电路的设计还有联调仿真最终成所选择课 题的设计; (4) 利用简单的应用系统,培养应用系统的开发能力。 2. 课程设计要求 (1)完成LED灯的显示、按键识别、电铃发出响声等,并完成模拟交通灯的功能; (2)从源程序、软件模拟、调试方面完成软件系统; (3)利用开发系统完成系统的总体调试、程序烧写,实现应用系统功能,并能对系统运行中的问题进行分析。 3. 参考资料 (1)单片机典型系统设计实例精讲彭为,黄科,雷道仲编著电子工业出版社出版发行 2006.5(3,4); (2)单片机原理及应用李建忠编著西安电子科技大学出版社; (3)AT89系列单片机原理与接口技术王幸之,钟爱琴等编著北京航空航天大学出版社出版发行 2004; (4)51单片机编程基础与开发实例详解岂兴明,唐杰等编著人民邮电出版社出版发行。 目录

第一章设计内容与要求 (3) 第二章设计原理 (4) 1.单片机概述 (4) 2.STC89C52芯片简介 (4) 3.定时器/计数器 (6) 4.设计思路 (7) 第三章程序流程图 (7) 第四章源程序清单 (8) 第五章硬件电路图及仿真结果 (11) 第六章课程设计体会 (11) 第七章参考资料 (12) 第一章设计内容与要求 1. 设计题目:定时器控制交通灯(带故障报警) 2. 课程设计目的 (1) 加强对所学理论知识的理解,提高综合应用、分析能力; (2) 掌握MCS51单片机开发系统的使用; (3) 学习与掌握程序设计方法及硬件电路的设计还有联调仿真最终成所选择课 题的设计; (4) 利用简单的应用系统,培养应用系统的开发能力。 3. 课程设计要求 (1)完成LED灯的显示、按键识别、电铃发出响声等,并完成模拟交通灯的功能;

微机原理与接口技术试题库(含答案)汇总

一、问答题 1、下列字符表示成相应的ASCII码是多少? (1)换行0AH (2)字母“Q”51H (3)空格20H 2、下列各机器数所表示数的范围是多少? (1)8位二进制无符号定点整数; 0~255 (2)8位二进制无符号定点小数;0.996094 (3)16位二进制无符号定点整数;0~65535 (4)用补码表示的16位二进制有符号整数;-32768~32767 3、(111)X=273,基数X=?16 4、有一个二进制小数X=0.X1X2X3X4X5X6 (1)若使X≥1/2,则X1……X6应满足什么条件? X1=1 若使X>1/8,则X1……X6应满足什么条件?X1∨X2 ∨X3=1 (2) 5、有两个二进制数X=01101010,Y=10001100,试比较它们的大小。 (1)X和Y两个数均为无符号数;X>Y (2)X和Y两个数均为有符号的补码数。X

微机原理与接口技术实验报告

微机原理与接口技术实验报告 班级: 通信1309 姓名: 张哲熙 学号: 13212171

指导教师: 周永华 实验一交通信号灯模拟控制 一.实验目的 交通信号灯模拟控制是一个基于实际工程原理, 结合文献、现实十字路口交通等得研究, 对工程问题进行确定、表述和建模分析, 获得最优设计方案, 理解并在工程实践中遵守工程职业道德规范, 根据实验室实验环境限定条件确定实验方案。所有知识涵盖本课程中的并行接口芯片、汇编语言程序设计、算法分析、接口地址的确定、外围设备的控制等。经过此实验能够理解微机系统中接口电路的作用, 掌握软件硬件协同工作原理, 熟悉微机原理与接口技术的综合应用。最终达到如下实验目的: ( 1) 掌握可编程并行接口 8255 芯片的工作原理 ( 2) 掌握利用并行接口芯片 8255 实现信号灯控制的硬件设计和软件设计 ( 3) 掌握接口电路及汇编语言程序设计的调试方法 ( 4) 了解 PC 机和实验系统板的连接原理, 理解系统机扩

展原理 ( 5) 了解并行接口芯片在工程实践中的典型应用及实现方式。 二.实验内容 设计利用 TPC- A 实验系统提供的 8255 芯片和信号灯设计实现十字路口交通灯的模拟控制的硬件连接和程序设计。 1.设计要求 (1)经过实际调研了解十字路口交通灯原理, 确定实现的算法流程。 (2)利用实验系统设计硬件电路, 明确 8255 芯片端口地址。(3)编程实现并调试完成交通信号灯的模拟控制。 (4)分析设计方案并比较和实际交通信号灯的技术性能差别。 2.设计目标和性能指标 ( 1) 考察一个实际十字交通等路口交通控制, 模拟在实验室实现。 ( 2) 扩展功能: 用 LED 应倒计时方式显示各路口灯亮时间。( 3) 对于复杂多路口应该如何设计。例如结合车流、人流等多方

微机原理与接口技术课程设计-倒计时

微机原理与接口技术课程设计报告 题目:倒计时 学院:西安理工大学专业:机械实际制造及其自动化班级机械四班学号: 学生姓名刘小虎指导教师 课程成绩完成日期 2014年12月15日 目录

一.设计功能............. 错误!未定义书签。二.设计原理及原理图..... 错误!未定义书签。 1. 系统总设计原理....... 错误!未定义书签。 2. 硬件框架原理图....... 错误!未定义书签。 3. 硬件介绍............. 错误!未定义书签。 4. 功能电路............. 错误!未定义书签。三.程序模块及流程图..... 错误!未定义书签。 1. 8255A初始化 ......... 错误!未定义书签。 2. 显示程序模块......... 错误!未定义书签。 3. 延时程序模块......... 错误!未定义书签。 4. 控制程序模块......... 错误!未定义书签。 5. LED灯点亮程序模块 ... 错误!未定义书签。四.源程序............... 错误!未定义书签。五.总结................. 错误!未定义书签。附录1:系统硬件框架...... 错误!未定义书签。附录2:系统总程序流程图.. 错误!未定义书签。 题目:倒计时

一.设计功能 本次课程设计我们在TD-PIT+实验系统和PC机平台上利用并行接口8255A、键盘及数码管显示单元、开关及LED显示单元、键盘按键和电脑显示屏设计成一个倒计时器。具体功能包括: 1.用2位8段共阴数码管显示倒计时时间; 2.使用开关K0实现暂停/启动功能,开关K1实现倒计时复位功能; 3.倒计时为0时8盏LED灯实现跑马灯功能; 4.利用数字键输入倒计时初始数值,按键“r”实现重新启动倒计时器, 按键“e”实现退出程序进入DOS环境下,并对其他按键进行屏蔽; 5.屏幕显示相应的提示信息,包括提示用户输入数据、倒计时结束、倒计 时结束后用户进行的操作; 6.可以任意设定倒计时的初始时间,每隔1秒钟计时器减1,直到为0; 7.在倒计时过程中可通过开关K1实现退出当前的倒计时并开始新一轮的 倒计时。 二.设计原理及原理图 1.系统总设计原理 我们选择并行接口8255A芯片,在程序中使用延时语句来输出秒脉冲,并在其中调用显示函数不断刷新数码管进行数值显示。使用8255A作为输入/输出接口,其中A端口为输出口,连接LED显示单元的D8~D15;B端口为输出口,连接数码管的A~Dp,进行数码管的段锁存;C端口高4位为输出口,连接数码管的X4~X1,进行位锁存,低4位为输入端,连接开关的K3~K0。采用在软件中控制循环程序的方式来控制倒计时的复位和暂停功能,并通过程序来显示语句和读入用户的键盘输入,以进行相应操作。此方案性价比高,但由于使用了软件延时,当芯片损耗以及芯片在工作时间过长后会出现倒计时不够准确。 2.硬件框架原理图 图1 系统设计硬件框架

微机原理与接口技术

微机原理及接口技术 第一部分客观题 一、单项选择题(每小题2分,共10分) 1. 寄存器ECX勺低16位部分可以用 ____________ 达。 A EX B CX C CH D CL 2. 8086处理器执行“ OUT DX,AL指令时,AL的数据出现在_____________ 输出给外设。 A控制总线B地址总线C电源和地线D 数据总线 3. 与DRAM目比,SRAM勺特点是___________ 。 A集成度高、存取周期长B集成度低、存取周期长 C集成度高、存取周期短D集成度低、存取周期短 4. 使用语句“ var dword 3721 ”定义的变量var在主存占用___________ 字节存储空间。 A 1 B 2 C 4 D 8 5. 用8K>8结构SRAM芯片构成64000H H6FFFFH地址范围的存储器,需要使用__________ 。 A 4 B 6 C 8 D 10 二、对错判断题(每小题2分,共10分)(说明:正确的选“ A ,错误选“ B” 6. IA-32 处理器设置的中断标志IF = 0是关中断,表示禁止内部中断和外部中断的所有中断请求。X

7. 已知var是一个变量,语句“ add esi,byte ptr var ”没有语法错误。X 8. DMA传输由DMA控制器控制,无需处理器执行I/O指令。V 9. 高性能计算机中常使用Cache (高速缓冲存储器)提高主存性能。V 10. 向某个I/O端口写入一个数据,一定可以从该I/O端口读回这个数据。V 第二部分主观题 一、填空题(每空2分,共10分) 1. 8086处理器引脚有3个最基本的读写控制信号,它们是M/IO*,—RD* __________ 和____ /R* ______ 。 2. 逻辑地址由—段基地址_________ 口偏移地址两部分组成。代码段中下一条要执行的指令由CS和 _____ 指针IP ____ 寄存器指示,后者在实地址模型中起作用 的仅有_____ 指针 ____ 寄存器部分。 二、问答题(每小题6分,共30分) 1. 什么是JMP指令的近(near)转移和远(far )转移? jmp指令的近转移是指在同一个段里面的转移,也叫做段内近转移,用汇编编码就是这样的jmp near ptr标号 jmp指令的远转移是指段与段之间的转移,就是说不在同一个段的转移,用汇编编码就是这样的jmp far ptr 标号 2. 什么是存储访问的局部性原理,它分成哪两个方面的局部性? 程序局部性原理:虚拟存储管理的效率与程序局部性程序有很大关系。根据统计,进程运行时,在一段时间内,其程序的执行往往呈现岀高度的局限性,包括时间局部性和空间局部性。 1、时间局部性:是指若一条指令被执行,则在不久的将来,它可能再被执行。 2、空间局部性:是指一旦一个存储单元被访问,那它附近的单元也将很快被访问。

单片机原理及其接口技术实验报告

单片机原理及其接口技术实验指导书 实验1 Keil C51的使用(汇编语言) 一.实验目的: 初步掌握Keil C51(汇编语言)和ZY15MCU12BD型综合单片机实验箱的操作和使用,能够输入和运行简单的程序。 二.实验设备: ZY15MCU12BD型综合单片机实验箱一台、具有一个RS232串行口并安装Keil C51的计算机一台。 三.实验原理及环境: 在计算机上已安装Keil C51软件。这个软件既可以与硬件(ZY15MCU12BD型综合单片机实验箱)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。 四:实验内容: 1.掌握软件的开发过程: 1)建立一个工程项目选择芯片确定选项。 2)加入C 源文件或汇编源文件。 3)用项目管理器生成各种应用文件。 4)检查并修改源文件中的错误。 5)编译连接通过后进行软件模拟仿真。 6)编译连接通过后进行硬件仿真。 2.按以上步骤实现在P1.0输出一个频率为1Hz的方波。 3.在2的基础上,实现同时在P1.0和P1.1上各输出一个频率同为1Hz但电平状态相反的方波。 五:程序清单: ORG 0000H AGAIN:CPL P1.0 MOV R0,#10 ;延时0.5秒 LOOP1: MOV R1,#100 LOOP2: MOV R2,#250 DJNZ R2,$ DJNZ R1,LOOP2 DJNZ R0,LOOP1 SJMP AGAIN END 六:实验步骤: 1.建立一个工程项目选择芯片确定选项 如图1-1所示:①Project→②New Project→③输入工程名test→④保存工程文件(鼠标点击保存按钮)

相关主题
文本预览
相关文档 最新文档