好文档 - 专业文书写作范文服务资料分享网站

单片机原理与应用及c51程序设计答案

天下 分享 时间: 加入收藏 我要投稿 点赞

(8) 状态固化:完成前期工作之后,将程序烧录到eeprom等程序存储器上,保证单片机系统每次上电后都能正确运行程序。

(9) 文档说明:将程序的功能和使用方法,程序的基本结构和所采用的主要算法以及程序必要说明和注意事项等问题整理成一个文档,不仅便于用户使用,而且便于对程序的维护和扩充。

2.(1)bit位标量:利用它可定义一个位标量,但不能定义位指针,也不能定义位数组。它的值是一个二进制位,不是 0 就是 1,类似一些高级语言中的 boolean 类型中的 true 和 false。

(2) sbit可寻址位:利用它能定义内部 ram 中的可寻址位或特殊功能寄存器中的可寻址位。

(3) sfr特殊功能寄存器:利用它能定义 8051系列单片机内部的所有特殊功能寄存器,

(4) sfr16特殊功能寄存器:sfr16和 sfr 一样用于操作特殊功能寄存器,所不一样的是它用于操作占两个字节的寄存器,如定时器t0和t1。

3.变址寻址

变址寻址是以某个寄存器的内容为基础,然后在这个基础上再加上地址偏移量,形成真正的操作数地址,需要特别指出的是用来作为基础的寄存器可以是pc或是dptr,地址偏移量存储在累加器a中。 相对录址

相对寻址主要是针对跳转指令而言的。对于跳转指令,跳转去的目标指令的地址是通过正在执行的指令地址来确定的,一般是采用正在执行的指令地址加上偏移量的方式。即:转移目的地址=当前pc值+相对偏移量rel。偏移量可以是正也可以是负,偏移量是采用有符号数的存储形式即补码的形式来存储的。 位寻址

位寻址方式是指将要访问的数据是一个单独的位,指定位数据的方式有:通过位地址、通过字节地址加点及位数、通过寄存器名加点及位数、通过位的名称。 4.1)sp=sp+1=61h

sp=sp+1=62h (61h)=pc的低字节=03h (62h)=pc的高字节=20h 2)pc=3456h3)可以 4)2kb=2048 byte

5.62h , 30h , 70h 6.0cbh 7.交换a、b的内容 编程题

1.mov a, 45h

anl a, #0fh orl a, #0fh mov 45h, a 2.start:

loop: mov r0,#30h mov mov cjne mov ljmp inc djnz mov ret r2,#20h a,@r0 a,#0aah,next 51h,#01h exit r0 r2,loop 51h,#00h next: exit: 3. org main:

第4章 0000h mov a, 30h addmov mov addc mov a, 40h 40h, a a, 31h a, 41h 41h, a ;第二字节加法并送结果 ;最低字节加法并送结果 ljmp main ;跳转到主程序中 mova, 32h addc a, 42h mov mov addc mov end 42h, a a, 33h a, 43h 43h,a ;第四字节加法并送结果,进位位在cy中 ;第三字节加法并送结果 填空题

1. serial window # serial window #22.编译 链接

3.create hex file 4. target xtal(mhz) 5. small、compact 、 large 选择题

1.bd 2.b3.d 4.b5.a 简答题

1. 一般来说,一个单片机软件开发的过程是这样的:

2. (1)建立工程;(2)设置工程;(3)建立c源文件;(4)编译、连接;(5)调试;(6)运行。 程序调试一般用单步执行,全速执行,在线汇编,断点设置等方法。

3. keil提供了一个集成开发环境(ide:integrated development environment )uvision,它包括c编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器。这样在开发应用软件的过程中,编辑、编译、汇编、连接、调试等各阶段都集成在一个环境中,先用编辑器编写程序,接着调用编译器进行编译,连接后即可直接运行。这样避免了过去先用编辑器进行编辑,然后退出编辑状态进行

编译,调试后又要调用编辑器的重复过程,因此可以缩短开发周期。

【篇二:单片机c51程序设计实验报告书】

txt>一、实验目的:学会设计proteus 7仿真电路,学习p1口的使用方法和延时子程序的编写用keil uvision 3编程实现发光二极管的流水点亮。

二、实验原理:p1口为8位准双向i/o口,它的每一位都可以分别定义为输入线或输出线(作为输入时,口锁存器必须置1)。p1口

作为输出,接8个发光二极管d1~d8经限流电阻分别接至8个引脚。本实验仿真电路图、流程图如下: 三、实验代码: #includereg51.h

#includeintrins.h //移位库函数包含于此头文件中 void

delay(unsigned int d) //定义延时子函数 { while(--d0);} void main()

{ unsigned char i,sel; while(1) { sel=0xfe; for(i=0;i=8;i++) { p1=sel; //显示变量赋给p1口delay(50000); //延时sel=_crol_(sel,1);//改变显示变量 } }}

四、实验结论:用while语句实现发光二极管循环流水点亮,从上到下一次点亮。

实验二 c51分支程序设计

一、实验目的:学习多分支选择结构和switch语句,了解循环的嵌套。

二、实验原理:do while 循环先执行后判断是否循环,switch括号中的表达式的值与某case后的常量表达式的值相同时,就执行它后面的语句,遇到break语句则退出switch语句。本实验仿真电路图、流程图如下: (仿真电路图) (流程图)

三、实验代码:

#include reg51.h void main() { char a;do

{ p1=0xff; a=p1; a=a0x03; switch(a) { case 0:p2=0x0e;break; case 1:p2=0x0d;break; case 2:p2=0x0b;break; case 3:p2=0x07;break; } }while(1); }

四、实验结论:多分支选择的switch/case语句,可直接处理并行多分支选择问题,从匹配表达式的括号开始执行,不再进行判断。 实验三 外部中断实验

一、实验目的:掌握外部中断的原理以及中断处理程序的编写方法。 二、实验原理:外部中断0和外部中断1均为下降沿触发,当外部中断0发生时,p0端口的电平反向,当外部中断1发生时,p1端口的电平反向,led状态取反,引脚p3.2、p3.3是外部中断int0和int1的输入端,本实验仿真电路图、流程图如下: (仿真电路图)

(主程序)(中断服务程序) 三、实验代码:

#includereg51.h #includestdio.h void iso(void) interrupt 0

{ p0=~p0; } //p0端口反向 void is1(void) interrupt 2 { p1=~p1; } //p1端口反向 void main ()

{ p0=0x00; p1=0xff;scon=0x50;tmod=0x22;th1=0xf3;tr1=1;

it0=1; it1=1; //设置下降沿触发方式ex0=1; ex1=1; ea=1;//中断允许while(1); }

四、实验结论:利用外中断程序可控制led的亮灭,p0口、p1口电平反向,led状态取反。 实验四 定时/计数器实验

一、实验目的:学习定时计数器的使用和编写方法,进一步掌握中断处理程序的方法以及对示波器的了解。

二、实验原理:启动定时器t1延时10ms,当定时时间到产生中断,执行中断程序,led熄灭,t1再延时10ms,点亮led,如此循环,本实验仿真电路图、流程图如下: (仿真电路图)

【篇三:单片机原理及应用作业答案】

1.单片机是把组成微型计算机的各功能部件即(微处理器

(cpu))、(存储器(rom和ram))、(总线)、(定时器/计数器)、(输入/输出接口(i/o口))及(中断系统)等部件集成在一块芯片上的微型计算机。

2.什么叫单片机?其主要特点有哪些? 解:

将微处理器(cpu)、存储器(存放程序或数据的rom和ram)、总线、定时器/计数器、输入/输出接口(i/o口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。

单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。 第1章 mcs-51单片机的结构与原理

15. mcs-51系列单片机的引脚中有多少根i/o线?它们与单片机对外的地址总线和数据总线之间有什么关系?其地址总线和数据总线各有多少位?对外可寻址的地址空间有多大? 解:

mcs-51系列单片机有4个i/o端口,每个端口都是8位双向口,共占32根引脚。每个端口都包括一个锁存器(即专用寄存器p0~

p3)、一个输入驱动器和输入缓冲器。通常把4个端口称为p0~p3。在无片外扩展的存储器的系统中,这4个端口的每一位都可以作为双向通用i/o端口使用。在具有片外扩展存储器的系统中,p2口作为高8位地址线,p0口分时作为低8位地址线和双向数据总线。 mcs-51系列单片机数据总线为8位,地址总线为18位,对外可寻址空间为64kb。

25. 开机复位后,cpu使用的是哪组工作寄存器(r0-rn)?它们的地址是什么?cpu如何确定和改变当前工作寄存器组(r0-rn)? 解:

开机复位后,cpu使用的是第0组工作寄存器。它们的地址是00h-07h。cpu通过对程序状态字psw中rs1和rs0的设置来确定和改变当前工作寄存器组。

27. mcs-51单片机的时钟周期、机器周期、指令周期是如何定义的?当主频为12mhz的时候,一个机器周期是多长时间?执行一条最长的指令需要多长时间? 解:

时钟周期又称为振荡周期,由单片机内部振荡电路osc产生,定义为osc时钟频率的倒数。时钟周期又称为节拍(用p表示)。时钟周期是时序中的最小单位。一个状态有两个节拍,

机器周期定义为实现特定功能所需的时间。mcs-51的机器周期由12个时钟周期构成。 执行一条指令所需要的时间称为指令周期,指令周期是时序中的最大单位。由于机器执行不同指令所需的时间不同,因此不同指令所包含的机器周期数也不尽相同。mcs-51的指令可能包括1~4个不等的机器周期。

当mcs-51的主频为12mhz时,一个机器周期为1?s。执行一条指令需要的最长时间为4?s。

第2章 mcs-51单片机指令系统与汇编语言程序设计 4. 假定累加器a中的内容为30h,执行指令1000h:

movca,@a+pc后,把程序存储器( 1031h )单元的内容送入累加器a中。

7. 指出下列各指令在程序存储器中所占的字节数 (1)mov dptr,#1234h 3字节 (2)movx a, @dptr1字节

单片机原理与应用及c51程序设计答案

(8)状态固化:完成前期工作之后,将程序烧录到eeprom等程序存储器上,保证单片机系统每次上电后都能正确运行程序。(9)文档说明:将程序的功能和使用方法,程序的基本结构和所采用的主要算法以及程序必要说明和注意事项等问题整理成一个文档,不仅便于用户使用,而且便于对程序的维护和扩充。2.(1)bit位标量:利用它可定义一个位标量,但不能定义位指针,也不
推荐度:
点击下载文档文档为doc格式
20bf94thaf3gyk618jsm0fvam2gysn007bl
领取福利

微信扫码领取福利

微信扫码分享