当前位置:文档之家› 单片机原理及应用实验报告

单片机原理及应用实验报告

单片机原理及应用实验报告
单片机原理及应用实验报告

单片机原理及应用

实验报告

班级:电子、物理

指导老师:李新鄂

实验1 Keil C51的使用实验报告(C语言)

一、实验目的

初步掌握Keil C51和SUN ES59PA实验仪的操作和使用,能够输入和运行简单的程序。

二、实验设备

SUN ES59PA实验仪一套、具有一个RS232串行口并安装Keil C51的计算机一台。

三、实验原理及环境

1.在计算机上已安装Keil软件。这个软件既可以与硬件(SUN ES59PA实验仪)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。

2. 实验的硬件环境:

A3区:CPU总线、I/O接口片选区

JP37,JP45:地址线A0..A7;

JP48、JP50:CPU的D0..D7,它只能作地址/数据总线使用,不能做I/O口使用;

JP32、JP94:CPU的P0口;

JP51、JP55:CPU的P1口;

JP59、JP95:CPU的P2,它可作I/O、地址线A8..A15使用;

JP61、JP64:CPU的P3口;

JP31:如果P0作地址/数据总线使用,请不要短接JP31;否则,请短接JP31。

片选区

F5区:发光二极管部分

发光二极管电路原理图

3.本实验硬件要求的硬件连接:

4)检查并修改源文件中的错误。

5)编译连接通过后进行软件模拟仿真。

6)编译连接通过后进行硬件仿真。

2.在本实验的硬件环境下,编程:实现同时在P1.0和P1.1上各输出一个频率同为1Hz

但电平状态相反的方波。

五、实验步骤和实验结果:

A、实现内容1的实验步骤和实验结果:

1. 在D盘根目录下新建一个工程目录sy101、运行Keil并新建一个工程项目:

①执行Project→New Project...命令。

②保证工程文件保存的文件夹为“D:\sy101”,输入工程名sy101。

③点击保存按钮,保存工程文件。

弹出下一对话框。

①选CPU厂家(Atmel)→②选CPU型号(AT89C51), ③选好后确定

接着设置晶振频率及生成HEX 文件等选项。

①Project→②Options for Target ‘Target 1’…→③在Target选项页中→④更改CPU 晶振频率为12MHz→⑤在Output选项页中→⑥选择生成HEX 文件,其它采用缺省设置→

⑦选好后点击确定。

2.建立C源程序文件

①执行File→New命令,弹出源文件编辑窗口。

输入以下C源程序:

#include "reg51.h"

main()

{ unsigned char i,j,k;

while(1)

{ P1^=0x01;

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

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

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

}

}

源程序编写完后,执行File→Save As...命令,将文件以“sy101.c”为文件名保存在“E:\sy101 ”文件夹下,获得C语言源程序文件。

3.将源程序文件加入工程,并用项目管理器生成(构建得到)各种应用文件

①在工程窗口,点击Target 1 之前+ 号→出现②Source Group1→③点击Source Group1并按鼠标右键会生弹出下拉菜单,选择④Add Files to Group ‘ Source Group 1’→⑤在打开的Add Files to Group ‘ Source Group 1’窗口中点击add向项目中添加sy101.c 源文件→⑥点击close关闭Add Files to Group ‘ Source Group 1’窗口→⑦在Source Group 1 前会出现一个+号→⑧点击+号,弹出sy101. c文件名,点击该文件名→⑨主编辑窗口中会出现该源程序文件的内容,执行Project→Build target 构建命令就会生成一系列文件,如OBJ 文件、LST 文件、HEX文件等。

4.检查并修改源文件中的错误

如果在源文件中存在错误,则在Output 窗口中会出现错误提示信息,可以在源程序中进行修改,然后存盘后重新构建。

5.编译连接通过后进行软件模拟仿真

Debug→Start/Stop Debug Session进入软件模拟的仿真窗口,可使用单步、设断点来进行调试和除错。

6.编译连接通过后进行硬件仿真

保证实验仪的仿真USB口与PC机USB口连接,用8针排线连接实验仪A3区的JP51和F5区的JP65(注意引脚一一对应),给实验仪通电,设置硬件实时仿真调试选项:单击工程窗口中的Target 1,执行Project→Options for Target ‘Targetl’ ...命令,在对话框的Debug 页选中“Use”单选框,在其后面的下拉式文本框中选中“SUN ES59PA”,其它采用默认选项,点击确定按钮。

执行Debug→Start/Stop Debug Session命令进入硬件实时调试窗口,执行Debug→Go 命令连续运行程序,观察LED发光管DS35的显示效果为:连接到P1.0的LED发光管DS35以1.12秒的周期闪烁。

另外进入硬件实时调试窗口后,还可打开各种观察窗口,进行设置断点、单步运行、运行到光标处、连续执行等调试操作。

B、实现内容2的实验步骤和实验结果:

1. 在D盘根目录下新建一个工程目录sy102、运行Keil并新建一个工程项目:

①执行Project→New Project...命令。

②保证工程文件保存的文件夹为“D:\sy102”,输入工程名sy102。

③点击保存按钮,保存工程文件。

弹出下一对话框。

①选CPU厂家(Atmel)→②选CPU型号(AT89C51), ③选好后确定

接着设置晶振频率及生成HEX 文件等选项。

①Project→②Options for Target ‘Target 1’…→③在Target选项页中→④更改CPU 晶振频率为12MHz→⑤在Output选项页中→⑥选择生成HEX 文件,其它采用缺省设置→

⑦选好后点击确定。

2.建立C源程序文件

①执行File→New命令,弹出源文件编辑窗口。

输入以下C源程序:

#include"reg52.h"

#define uchar unsigned char

#define SECOND 10

unsigned char count=0;

sbit L1=P1^0;

sbit L2=P1^1;

timero() interrupt 1 using 2{

TH0=0x3c;

TL0=0xb0;

if(++count==SECOND)

{

count=0;

L2=L1;

L1=~L1;

L2=~L1;

}

}

void main(){

TMOD=0x01;

TH0=0x3c;

TL0=0xb0;

IE=0x82;

TR0=1;

while(1);

}

源程序编写完后,执行File→Save As...命令,将文件以“sy102.c”为文件名保存在“D:\sy102 ”文件夹下,获得C语言源程序文件。

3.将源程序文件加入工程,并用项目管理器生成(构建得到)各种应用文件

①在工程窗口,点击Target 1 之前+ 号→出现②Source Group1→③点击Source Group1并按鼠标右键会生弹出下拉菜单,选择④Add Files to Group ‘ Source Group 1’→⑤

在打开的Add Files to Group ‘ Source Group 1’窗口中点击add向项目中添加sy102.c 源文件→⑥点击close关闭Add Files to Group ‘ Source Group 1’窗口→⑦在Source Group 1 前会出现一个+号→⑧点击+号,弹出sy102. c文件名,点击该文件名→⑨主编辑窗口中会出现该源程序文件的内容,执行Project→Build target 构建命令就会生成一系列文件,如OBJ 文件、LST 文件、HEX文件等。

4.检查并修改源文件中的错误

如果在源文件中存在错误,则在Output 窗口中会出现错误提示信息,可以在源程序中进行修改,然后存盘后重新构建。

5.编译连接通过后进行软件模拟仿真

Debug→Start/Stop Debug Session进入软件模拟的仿真窗口,可使用单步、设断点来进行调试和除错。

6.编译连接通过后进行硬件仿真

保证实验仪的仿真USB口与PC机USB口连接,用8针排线连接实验仪A3区的JP51和F5区的JP65(注意引脚一一对应),给实验仪通电,设置硬件实时仿真调试选项:单击工程窗口中的Target 1,执行Project→Options for Target ‘Targetl’ ...命令,在对话框的Debug 页选中“Use”单选框,在其后面的下拉式文本框中选中“SUN ES59PA”,其它采用默认选项,点击确定按钮。

执行Debug→Start/Stop Debug Session命令进入硬件实时调试窗口,执行Debug→Go 命令连续运行程序,观察LED发光管DS35的显示效果为:P1.0和P1.1接口上的灯正好为交替闪烁,闪烁周期为1.04s

六、实验总结:

本次实验之前认真预习实验报告,老师也在课堂上做了详细的讲解,总的来说本次实验进行的还是很顺利的,在机房做实验比自己仿真的时候更容易记住,实验现象更加真实,也就对实验的作用和意义理解的更为深入一些,对于单片机产生方波了解的更加深入,熟悉步骤之后多练习几次,会记得更牢固,尽管课下没机会来机房练习,但还是可以多抽时间在电脑上仿真练习,在单片机板子上练习,从而在使用上更加熟悉。

实验2 十六进制与十进制的转换实验报告

一、实验目的:

实践顺序结构的编程方法,掌握十六进制数转换成十进制数的编程实现,掌握单步运行程序的基本技巧。

二、实验设备:

安装Keil C51的计算机一台。

三、实验原理及环境:

将十六进制数转换成十进制数有多种方法,比较典型的是用待转换数除以权值的方法,即依次除以100、10,则各次的商和最后的余数就是所需要的十进制数。

四、实验内容:

将放在片内RAM 30H中的2位十六进制数转换成3位十进制数,按照从高位到低位的顺序分别放入31H~33H中(即非压缩的BCD码)。在本实验中,要求使用单步方式运行,以便观察各单元的变化过程。

五、实验步骤和实验结果:

A、实现内的实验步骤和实验结果:

1. 在D盘根目录下新建一个工程目录sy201、运行Keil并新建一个工程项目

①执行Project→New Project...命令。

②保证工程文件保存的文件夹为“D:\sy201”,输入工程名sy201。

③点击保存按钮,保存工程文件。

弹出下一对话框。

①选CPU厂家(Atmel)→②选CPU型号(AT89C51), ③选好后确定

接着设置晶振频率及生成HEX 文件等选项。

①Project→②Options for Target ‘Target 1’…→③在Target选项页中→④更改CPU 晶振频率为12MHz→⑤在Output选项页中→⑥选择生成HEX 文件,其它采用缺省设置→

⑦选好后点击确定。

2.建立C源程序文件

①执行File→New命令,弹出源文件编辑窗口。

输入以下C源程序:

#include

unsigned char data X _at_ 0x30;

unsigned char data Y _at_ 0x31;

unsigned char data Z _at_ 0x32;

unsigned char data N _at_ 0x33;

main()

{

Y=X/100;

Z=X/10%10;

N=X%10;

while(1);

}

源程序编写完后,执行File→Save As...命令,将文件以“sy201.c”为文件名保存在“D:\sy201 ”文件夹下,获得C语言源程序文件。

3.将源程序文件加入工程,并用项目管理器生成(构建得到)各种应用文件

①在工程窗口,点击Target 1 之前+ 号→出现②Source Group1→③点击Source Group1并按鼠标右键会生弹出下拉菜单,选择④Add Files to Group ‘ Source Group 1’→⑤在打开的Add Files to Group ‘ Source Group 1’窗口中点击add向项目中添加sy201.c 源文件→⑥点击close关闭Add Files to Group ‘ Source Group 1’窗口→⑦在Source Group 1 前会出现一个+号→⑧点击+号,弹出sy201. c文件名,点击该文件名→⑨主编辑窗口中会出现该源程序文件的内容,执行Project→Build target 构建命令就会生成一系列文件,如OBJ 文件、LST 文件、HEX文件等。

4.检查并修改源文件中的错误

如果在源文件中存在错误,则在Output 窗口中会出现错误提示信息,可以在源程序中进行修改,然后存盘后重新构建。

调出存储器编辑窗口memory window;设断点用Debug中的Insert/Remove Breakpoint 或点击工具栏中的相应图标实现。运行用Go。

5.实验结果

重要提示:

1.指令中的“,:;”是西文字符,切不可使用中文符号;数字“0”与字符“o”不可混淆。

2.本实验可以不用硬件连接,以软件仿真的方法即可进行。

3.对程序修改后必须退出调试,进行构建后再重新进行调试才能生效(以后各实验均同)。

4.调出存储器编辑窗口方法是:操作View→Memory Window,或点工具栏中的相应图标。

5.存储器编辑窗口可以编辑3个空间,可以用Adress调出。在Adress中键入d:xxH 或0Xxx将从地址xxH开始显示片内RAM的低128字节和特殊功能寄存器SFR;在Adress中键入i: xxH或0Xxx将从地址xxH开始显示片内RAM;在Adress中键入c: xxxxH或0Xxxxx 将从地址xxxxH开始显示程序存储器;在Adress中键入x: xxxxH或0Xxxxx将从地址xxxxH 开始显示片外RAM。

6.将鼠标指针放在存储器编辑窗口中的某个数据上点击右键,在弹出的窗口中点Modify Memory at……可以修改其值。如果要修改连续多个单元,可以在数据之间用“,”隔开。

7.设断点可以用Debug中的Insert/Remove Breakpoint或点击工具栏中的相应图标快速实现。运行可用Go。

8.单步运行可以用Debug中的Step(纯单步)、Step Over(将子程序调用作为一条指令运行)或点击工具栏中的相应图标快速实现。

9.在运行过程中如果希望中止当前运行,从头开始,可以点击工具栏中的RST图标实现。

六、实验总结:

本次实验前,认真预习实验报告,在课上被老师点名为班级同学讲解了实验程序设计,以及具体操作过程,这次实验让我熟练了单片的C语言中直接访问内部某一地址的方式,实验预习还算比较到位,在机房练习的时候,在老师的指点下没什么困难,在实验中将输入输出数据对比,实验结果是对的。收获到在实验室学习的乐趣,同时也锻炼实践能力,在技能上又有了一些提升。

实验3 8段LED显示器动态显示实验报告

一、实验目的:

掌握8段LED显示器的使用及显示程序的设计方法。

二、实验设备:

SUN ES59PA实验仪一套、具有一个RS232串行口并安装Keil C51的计算机一台。

三、实验原理及环境:

1、实验的硬件环境:

F4区:键盘&LED

B6区:8255电路数码管驱动电路

CS:8255片选信号,低电平有效; A0、A1:8255地址信号。

JP52:PC口(键盘行); JP53:PB口;

JP56:PA口(键盘列); JP75: 数码管段码

JP79: 数码管段选

A3区:CPU总线、I/O接口片选区

JP37,JP45:地址线A0..A7;

JP48、JP50:CPU的D0..D7,它只能作地址/数据总线使用,不能做I/O口使用;

JP32、JP94:CPU的P0口;

JP51、JP55:CPU的P1口;

JP59、JP95:CPU的P2,它可作I/O、地址线A8..A15使用;

JP61、JP64:CPU的P3口;

JP31:如果P0作地址/数据总线使用,请不要短接JP31;否则,请短接JP31。

片选区

2、本实验硬件要求的硬件连接:

F4区:B:数码管段口;C:数码管位口。

3. 实验箱上有8位8段LED显示器,采用动态方式驱动。即使一位LED显示器显示内容一段时间,然后下一位LED显示器显示内容一段时间……,周而复始。只要刷新频率不小于50Hz,就可以获得清晰稳定的显示效果。

4.MCS-51CPU通过一片8255对8段LED显示器进行段驱动和位驱动,在上述实验硬件的情况下,8255的A口、B口、C口、控制口的地址分别为片外RAM的E000H、E001H、E002H、E003H。

5.数码管驱动程序的编写参考教材。

四:实验内容:

1. 在本实验的硬件环境下,编程实现以下功能:在数码管上显示12-58-49。

建议:先编写一个驱动8位LED显示器的自定义函数(在主程序中已对接口芯片8255做好必要的初始化)。字形码表按0~F、-、灭的顺序排列。该自定义函数的要求如下:显示缓冲区为内部RAM 20H~27H( 分别对应显示器的左起第1~第8位)中,每位LED 显示0.5ms后返回。

驱动8位LED显示器的自定义函数的参考流程图如图3-1:

开始

置显示数地址指针初值为20H

显示器位码指向左起第一位

取出待显示数

查出字形代码

字形代码送段口

位码送位口

软件延时0.5ms

关闭所有显示位

位码指向下一位

显示数地址指针加1

N

显示数地址指针超出?

返回

图3-1 显示子程序流程图

子程序自身无法运行,为了运行这个子程序,另编写一个主程序。这个主程序的功能是首先对8255进行初始化,然后就反复调用显示子程序,显示以20H~27H中的值为字形码表偏移量的待显示内容。20H~27H中的初值可已在程序中用赋值语句获得,也可以在启动调试后、全速运行程序前利用Keil修改RAM单元值的方法获得。

主程序的参考流程图如下图3-2:

开始

设置堆栈栈底SP

软件延时0.5秒

等待8255复位结束

8255初始化

A口、B口方式0输出

C口任意

调用显示子程序

图3-2 主程序流程图

2.在本实验的硬件环境下,编程实现在显示器上显示连续向左移动的0~F。

五、实验步骤和预期实验结果:

A、实现内容1的实验步骤和预期实验结果:

1. 在D盘根目录下新建一个工程目录sy301、运行Keil并新建一个工程项目:

①执行Project→New Project...命令。②保证工程文件保存的文件夹为“D:\sy301”,输入工程名sy301。③点击保存按钮,保存工程文件。

弹出下一对话框。①选CPU厂家(Atmel)→②选CPU型号(AT89C51), ③选好后确定接着设置晶振频率及生成HEX 文件等选项。①Project→②Options for Target ‘Target 1’…→③在Target选项页中→④更改CPU 晶振频率为12MHz→⑤在Output选项页中→⑥选择生成HEX 文件,其它采用缺省设置→⑦选好后点击确定。

2.建立汇编源程序文件

输入以下汇编源程序:

#include

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define pm8255 0xee03

#define pa8255 0xee00

#define pb8255 0xee01

uchar dspBF[8]={9,4,16,8,5,16,2,1};

uchar code SEG[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40};//共阴数码管段选码表,无小数点main()

{

XBYTE[pm8255]=0x81;

while(1)

{

uchar i,dmask=0xfe;

for(i=0;i<8;i++)

{

XBYTE[pb8255]=0xff;

XBYTE[pa8255]=~SEG[dspBF[i]];

XBYTE[pb8255]=dmask;

dmask=_crol_(dmask,1);

}

}

}

源程序编写完后,执行File→Save As...命令,将文件以“sy301.c”为文件名保存在“D:\sy101 ”文件夹下,获得C语言源程序文件。

3.将源程序文件加入工程,并用项目管理器生成(构建得到)各种应用文件

①在工程窗口,点击Target 1 之前+ 号→出现②Source Group1→③点击它并按鼠标右键会生弹出下拉菜单,选择④Add Files to Group ‘ Source Group 1’→⑤点击add 向项目中添加sy301.c 源文件→⑥点击close关闭Add Files to Group ‘ Source Group 1’窗口→⑦在Source Group 1 前会出现一个+号→⑧点击+号,弹出sy301.c 文件名,点击该文件名→⑨主编辑窗口中会出现该源程序文件的内容,执行Project→Build target 构建

命令就会生成一系列文件,如OBJ 文件、LST 文件、HEX文件等。

4.检查并修改源文件中的错误

如果在源文件中存在错误,则在Output 窗口中会出现错误提示信息,可以在源程序中进行修改,然后存盘后重新构建。

5.编译连接通过后进行软件模拟仿真

Debug→Start/Stop Debug Session进入软件模拟的仿真窗口,可使用单步、设断点来进行调试和除错。

6.编译连接通过后进行硬件仿真

保证实验仪的仿真串口与PC机串口连接,用8针排线连接实验仪给实验仪通电,设置硬件实时仿真调试选项:执行Project→Options for Target ‘Targetl’ ...命令,在对话框的Debug页选中“Use”单选框,在其后面的下拉式文本框中选中“SUN ES59PA”,其它采用默认选项,点击确定按钮。

执行Debug→Start/Stop Debug Session命令进入硬件实时调试窗口,执行Debug→Run 命令连续运行程序,观察数码管的显示效果为:数码管上显示12-58-49。

另外进入硬件实时调试窗口后,还可打开各种观察窗口,进行设置断点、单步运行、运行到光标处、连续执行等调试操作。

B、实现内容2的实验步骤和预期实验结果:

1. 在D盘根目录下新建一个工程目录sy302、运行Keil并新建一个工程项目:

①执行Project→New Project...命令。

②保证工程文件保存的文件夹为“D:\sy302”,输入工程名sy302。

③点击保存按钮,保存工程文件。

弹出下一对话框。

①选CPU厂家(Atmel)→②选CPU型号(AT89C51), ③选好后确定

接着设置晶振频率及生成HEX 文件等选项。

①Project→②Options for Target ‘Target 1’…→③在Target选项页中→④更改CPU 晶振频率为12MHz→⑤在Output选项页中→⑥选择生成HEX 文件,其它采用缺省设置→⑦选好后点击确定。

2.建立C源程序文件

①执行File→New命令,弹出源文件编辑窗口。

输入以下C源程序:

#include

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define pm8255 0xe003

#define pa8255 0xe000

#define pb8255 0xe001

sbit k1=P3^2;

sbit k2=P3^3;

#define e 20

uchar count=0;

uchar dspBF[8]={7,6,5,4,3,2,1,0};

uchar code SEG[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40};//共阴数码管段选码表,无小数点disp()

{

uchar i,dmask=0xfe;

for(i=0;i<8;i++)

{

XBYTE[pb8255]=0xff;

XBYTE[pa8255]=~SEG[dspBF[i]];

XBYTE[pb8255]=dmask;

dmask=_crol_(dmask,1);

}

}

main()

{

XBYTE[pm8255]=0x80;

TMOD=0X01;

TH0=0X3C;

TL0=0XAF;

IE=0X87;

TR0=1;

while(1)

{

disp();

}

}

timer0() interrupt 1 using 2

{

uchar a;

TH0=0X3C;

TL0=0XAF;

if(++count==e)

{

count=0;

for(a=0;a<8;a++)

{

if(++dspBF[a]==16)dspBF[a]=0;

}

}

}

源程序编写完后,执行File→Save As...命令,将文件以“sy302.c”为文件名保存在“D:\sy302 ”文件夹下,获得c源程序文件。

3.将源程序文件加入工程,并用项目管理器生成(构建得到)各种应用文件

①在工程窗口,点击Target 1 之前+ 号→出现②Source Group1→③点击它并按鼠标右键会生弹出下拉菜单,选择④Add Files to Group ‘ Source Group 1’→⑤点击add 向项目中添加sy302.c 源文件→⑥点击close关闭Add Files to Group ‘ Source Group 1’

单片机原理与应用作业

网络教育学院《单片机原理及应用》大作业 题目:单片机电子时钟设计 学习中心:汕尾奥鹏 层次:专升本 专业:电气工程及其自动化 年级:13年秋季 学号:131071409971 学生姓名:许仕权

单片机电子时钟设计 一、引言 单片机技术在计算机中作为独立的分支,有着性价比高、集成度高、体积少、可靠性高、控制功能强大、低功耗、低电压、便于生产、便于携带等特点,越来越广泛的被应用于实际生活中。单片机全称,单片机微型计算机,从应用领域来看,单片机主要用来控制系统运行,所以又称微控制器或嵌入式控制器,单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。 二、时钟的基本原理分析 利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数初值减1,当减到0时,则表示1s到了,秒变量加1,同理再判断是否1min 钟到了,再判断是否1h到了。 为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED 显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。 三、时钟设计分析 针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。这样,既能做到经济合理又能实现预期的功能。

单片机原理及应用期末考试试卷及答案

苏州经贸职业技术学院 2009-2010学年第二学期 《单片机原理及应用》期终试卷(A) 班级:姓名:学号:成绩: 一﹑填空题(将正确答案填在题干的空白处。1分×35=35分) 1、十进制数-47用8位二进制补码表示为:11010001B。 2、89C51含4KB Flash ROM,128B的RAM,在物理上有4个独立的存储器 空间。 3、若8031单片机的晶振频率fosc=12MHz,则振荡周期为1/12us ,状态周期为1/6us ,机器周期为1us ,执行MUL AB指令需要时间为4us 。 4、假定A=85H,R0=20H,(20H)=0AFH。执行指令:ADD A,@R0后,累加器 A的内容34H ,CY的内容1 ,AC的内容1 ,OV的内容1 。 5、假定DPTR的内容为8100H,累加器A的内容为40H,执行下列指令: MOVC A,@A+DPTR 后,送入A的是程序存储器8140H 单元的内容。 6、PSW中RS1 RS0=10H时,R2的地址为12H 。 7、ROM在物理上分为片内ROM 和片外ROM ,在逻辑上两者统一编址。 8、MCS-51单片机当EA=1时,首先使用的是片内程序存储器,存储容量超过4KB时开始使用外部程序存储器;EA=0时,则仅仅使用片外程序存储器。 9、MCS—51单片机访问片外存储器时,利用ALE 信号锁存来自P0 口的低8位地址信号。 10、欲使P1口的高4位输出1,而低4位不变,应执行一条ORL P1,#0F0H指令。 11、12根地址线可选4KB个存储单元,32KB存储单元需要15 根地址线。 12、设80C51 fosc=12MHz,定时器工作在方式0,则最大定时时间为8192μs。 13、异步串行数据通讯有单工、半双工和全双工共三种传送方式。 14、51单片机的中断系统最多可以有 2 个嵌套。 15、8031单片机指令MOV是访问内RAM ,最大范围为256B ,MOVX是访问外RAM ,最大范围为64KB,MOVC是访问ROM ,最大范围为64KB 。 二、单项选择(1分×15=15分) 1、MCS-51上电复位后,SP的内容是(B) (A)00H (B)07H (C)60H (D)70H 2、80C51是(C)

《单片机原理及应用》实验指导

《单片机原理及应用》实验指导 控制技术实验室

实验一 熟悉 Keil c51 集成开发环境及常用指令实验 (2 课时,验证型) 一、实验目的 1) 了解 8051 典型应用系统的开发过程,熟悉 Keil C51集成开发环境。 2) 掌握单步执行程序,查看专用寄存器和单片机 RAM 的执行结果。 3) 掌握 8051 的寻址方式及常用指令的使用方法。 二、实验内容 1) 基本指令练习。 2) 数据传送(循环方式) 。 3) 位操作指令。 4) 8051 内部 RAM 的 40H~4FH 置初值 A0H~AFH,然后将 40H~4FH 的内容 传送到外部 RAM 中的 C000H~C00FH 单元,再把外部数据 RAM 中的 C000H~C00FH 单元的内容传送到 8051 内部 RAM 中的 50H~5FH 单元。 5) 调试下列程序,熟悉程序调试手段,观测程序运行结果。 ORG 0000H SJMP MAIN ORG 0030H MAIN: MOV SP,#6FH MOV R0,#40H MOV R1,#30H MOV 30H,#40H MOV A,#40H MOV @R0,A ?哪一个存储单元的内容与 A 中内容相等 INC A MOV A,@R1 ?A 中的内容?哪一个存储单元的内容传给 A PUSH ACC POP 32H ?SP 指针的变化?32H 中的内容 MOV A,#5FH SWAP A ?A 中的内容 ?上面程序为顺序执行的程序 XUNHUAN1: MOV R0,#30H MOV R7,#10H CLR A ?这 3 条指令的作用 LOOP1: MOV @R0,A INC A INC R0 DJNZ R7,LOOP1 ?R7 的作用 ?循环程序执行完之后,指出 32H,37H,3BH, 3FH 存储单元中的值,为什么? XUNHUAN2: MOV R0,#30H MOV R1,#40H

大工《单片机原理及应用》大作业

大工《单片机原理及应用》大作业

网络教育学院《单片机原理及应用》大作业 题目:单机片电子时钟设计 学习中心:辽宁本溪奥鹏学习中 心 层次:高起专 专业:机械制造与自动化 年级: 2013年春季 学号: 131080131409 学生姓名:丁志芳

单片机电子时钟设计 1.设计背景 数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的。在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。 单片机全称,单片机微型计算机,从应用领域来看,单片机主要用来控制系统运行,所以又称微控制器或嵌入式控制器,单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。单片机技术在计算机中作为独立的分支,单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。 2.时钟的基本原理分析 利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数初值减1,当减到0时,则表示1s到了,秒变量加1,同理再判断是否1min 钟到了,再判断是否1h到了。 为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED 显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对

单片机原理及应用实验指导书

单片机原理及应用实验指导书 湖南人文科技学院 二00一年三月

实验一I /O口输出实验—LED流水灯实验 一、实验目的 1、掌握单片机最小系统的构成; 2、掌握I/O口的使用及驱动能力的概念; 3、熟悉移位指令和软件延时程序。 二、实验设备与器件 1、计算机1台 2、PROTEUS单片机教学实验箱FB-EDU-P51A 三、实验原理 如下图所示,用单片机控制LED的亮与灭,在实验图中将MCU的P1口与LED的阴极相连,当P1口给低电平时,LED发亮,当P1口给高电平时,

四、实验内容 1、利用51单片机及8个发光二级管等器件,构成一个流水灯单片机系统。 2、用Keil C51软件创建程序 3、对程序进行编译与链接,建立实验程序并编译,加载hex文件,仿真; 4、实验板验证 (1)用ISP下载hex程序到CPU (2)按连接表连接电路 (3)检查验证结果 五、实验报告 在预习报告的基础上写出详细实验过程;画出实验原理图,写出单片机控制程序,写出调试步骤与仿真方法,观察实验现象,得出实验结果,并分析实验结果的正确性。 六、预习要求 1、单片机最小系统的构成 2、单片机I/O口的使用以及软件延时程序的编写。 七、实验参考程序 ORG 00H START: MOV R2,#8 MOV A,#0FEH LOOP: MOV P1,A LCALL DELAY RL A ;循环左移 DJNZ R2,LOOP ;判断移动是否超过8 位, 未超过继续循环 LJMP START DELAY: MOV R5,#20 ;延时程序,延时0.2s D1: MOV R6,#20

(精校版)单片机原理及应用期末考试试卷及答案

(完整word版)单片机原理及应用期末考试试卷及答案 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整word版)单片机原理及应用期末考试试卷及答案)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整word版)单片机原理及应用期末考试试卷及答案的全部内容。

单片机原理及应用期末考试试卷 班级:_______________学号:_______________姓名:_______________得分:_______________(卷面共有100题,总分100分,各大题标有题量和总分,每小题标号后有小分) 一、单项选择题(33小题,共33分) [1分](1)要MCS—51系统中,若晶振频率屡8MHz,一个机器周期等于( A )μs A 1。5 B 3 C 1 D 0.5 [1分](2)MCS—51的时钟最高频率是 ( A )。 A 12MHz B 6 MHz C 8 MHz D 10 MHz [1分](3)下列不是单片机总线是( D ) A 地址总线 B 控制总线 C 数据总线 D 输出总线 [1分](4)十进制29的二进制表示为原码( C ) A 11100010 B 10101111 C 00011101 D 00001111 [1分](5)电子计算机技术在半个世纪中虽有很大进步,但至今其运行仍遵循着一位科学家提出的基本原理。这位科学家是:( D ) (A)牛顿(B)爱国斯坦(C)爱迪生(D)冯·诺伊曼 [1分](6)在CPU中,控制器的功能是:( C ) (A)进行逻辑运算(B)进行算术运算 (C)分析指令并发出相应的控制信号(D)只控制CPU的工作 [1分](7)下列数据中有可能是八进制数的是:( A) (A)764 (B)238 (C)396 (D)789 [1分](8)MCS—51的时钟最高频率是 (D ) A、6MHz B、8MHz C、10MHz D、12MHz [1分](9)-49D的二进制补码为.( B) A、 11101111 B、11101101 C、0001000 D、11101100 [1分](10)要用传送指令访问MCS—51片外RAM,它的指令操作码助记符应是( B) A、 MOV B、 MOVX C、 MOVC D、以上都行 [1分](11)若某存储芯片地址线为12根,那么它的存储容量为(C ) A、1KB B、2KB C、 4KB D、 8KB [1分](12)PSW=18H时,则当前工作寄存器是(D ) A、 0组成 B、 1组成 C、2组成 D、3组成 [1分](13)所谓CPU是指( B) A、运算器与存储器 B、运算器与控制器 C、输入输出设备 D、控制器与存储器 [1分](14)PSW=18H时,则当前工作寄存器是(D ) (A)0组(B)1组(C)2组(D)3组 [1分](15)P1口的每一位能驱动( B ) (A)2个TTL低电平负载有(B)4个TTL低电平负载 (C)8个TTL低电平负载有(D)10个TTL低电平负载 [1分](16)二进制数110010010对应的十六进制数可表示为( A) A、192H B、C90H C、1A2H D、CA0H [1分](17)一3的补码是( D ) A、10000011 B、11111100 C、11111110 D、11111101 [1分](18)对于8031来说,脚总是( A ) A、接地 B、接电源 C、悬空 D、不用 [1分](19)进位标志CY在( C)中 A、累加器 B、算逻运算部件ALU C、程序状态字寄存器PSW D、DPOR

单片机原理与应用技术实验报告(实验项目:发光二极管闪烁)

***数学计算机科学系实验报告 专业:计算机科学与技术班级:实验课程:单片机原理与应用技术姓名:学号:实验室:硬件实验室 同组同学: 实验时间:2013年3月20日指导教师签字:成绩: 实验项目:发光二极管闪烁 一实验目的和要求 1.使用单片机的P1.5口做输出口,使该位发光二极管闪烁。 2.掌握单片机使用。 二实验环境 PC机一台,实验仪器一套 三实验步骤及实验记录 1.在pc机上,打开Keil C。 2.在Keil C中,新建一个工程文件,点击“Project->New Project…”菜单。 3.选择工程文件要存放的路径 ,输入工程文件名 LED, 最后单击保存。 4. 在弹出的对话框中选择 CPU 厂商及型号。 5.选择好 Atmel 公司的 89c51 后 , 单击确定。 6.在接着出现的对话框中选择“是”。 7.新建一个 C51 文件 , 点击file菜单下的NEW,或单击左上角的 New File快捷键。 8.保存新建的文件,单击SAVE。 9.在出现的对话框中输入保存文件名MAIN.C,再单击“保存”。 10.保存好后把此文件加入到工程中方法如下 : 用鼠标在 Source Group1 上单击右键 , 然后再单击 Add Files to Group ‘Source Group 1'。 11.选择要加入的文件 , 找到 MAIN.C 后 , 单击 Add, 然后单击Close。 12.在编辑框里输入代码如下: #include "reg51.h" //包含头文件 sbit led=P1^5; //表示用led等效于P1^5, P1^0就是指头文件里定义的P1寄存器的第5BIT #define uchar unsigned char #define uint unsigned int

单片机原理及应用习题答案第三版

单片机原理及应用习题 答案第三版 集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

第一章习题参考答案 1-1:何谓单片机与通用微机相比,两者在结构上有何异同 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。用户通过标准总线连接外设,能达到即插即用。单片机应用系统的外设都是非标准的,且千差万别,种类很多。单片机的I/O接口实际上是向用

单片机原理与应用期末考试试题

单片机原理及应用期末考试试题 一、填空题(每空1分,共20分) 1.相对寻址是以PC的当前值为基准,加上指令中给出的相对偏移量形成目标地址的方式。 2.AT89S51单片机的1个机器周期含有12 个晶振周期或 6 状态周期。 3.AT89S51单片机进行扩展时,用P0 口作为地址/数据总线,用P2口作为地址总线高8位。 4.假定累加器A的容30H,执行指令:1000H:MOVC A,A+PC后,把程序存储器1031H单元的容送累加器A中 5.指令格式是由操作码和操作数部分组成。 6. AT89S51单片机的串行口控制寄存器中有2个中断标志位,它们是TI和RI 7.在进行BCD码加法运算时,紧跟ADD 或 ADDC 指令后的指令必须是DA A 指令 8. JNC rel指令执行时,当CY位为0时程序发生跳转。 9.单片机位寻址区的单元地址是从20H单元到2FH单元,若某位地址是10H,它所在单元 的地址应该是22H 。 10.外部中断0的中断入口地址为0003H,定时/记数器T1的中断入口地址为001BH。 11.串行口工作方式2为9位异步通信,若SMOD=0,f OSC = 6 MH Z,则其相应波特率为6×106/64 b/s 12.堆栈应遵循先进后出规律,堆栈指针的符号为SP 二、单项选择题(每小题1分,共20分) 1.AT89S51单片机的( d )口的引脚,还具有外中断、串行通信等第二功能。 a)P0 b)P1 c)P2 d)P3 2.单片机应用程序一般存放在(b) a)RAM b)ROM c)寄存器 d)CPU 3.已知某数的BCD码为00010 则其表示的十进制数值为(b) a) 7542H b) 7542 c) 75.42H d) 75.42

单片机原理及应用期末考试试题汇总

单片机原理及应用期末考试试题汇总

单片机原理及应用期末考试试题汇总 1、单片机是将微处理器、一定容量的 RAM 和ROM 以及 器等电路集成在一块芯片上而构成的微型计算机 2、 单片机89C51片内集成了 有 5 个中断 源。 3、 两位十六进制数最多可以表示 4、 89C51是以下哪个公司的产 品? 4 KB 的 FLASH RO ,共 256 个存储单元。 C ) A 、INTEL B 、AMD C 、ATMEL D 、PHILIPS 8、当CPU 访问片外的存储器时,其低八位地址由 P0 口提供,高八位 地址由 P2 口提供,8位数据由 P0 口提供。 9、在I/O 口中, P0 口在接LED 时,必须提供上拉电 阻, P3 口具有第二功能。 10、是非题:MCS-51系列单片机直接读端口和读端口锁存器的结果永远是相同 的。F 11、 是非题:是读端口还是读锁存器是用指令来区别的。 T 12、 是非题:在89C51的片内RAM 区中,位地址和部分字节地址是冲突的。 F 13、 是非题:中断的矢量地址位于 RAM 区中。F 14、 M CS-51系列单片机是属于( B )体系结构。 A 、冯诺依曼 B 、普林斯顿 C 、哈佛 D 、图 灵 15、 89C51具有 64 KB 的字节寻址能力。 16、 是非题:在89C51中,当CPU 访问片内、夕卜ROM 区时用MOV 指令,访问片 外RAM 区时用MOV 指令,访问片内 RAM 区时用MOV 旨令。T I/O 口、定时 5、在89C51中,只有当EA 引脚接 Flash ROM 。 高 电平时,CPU 才访问片内的 6、是非题:当89C51的EA 引脚接低电平时, 内是否有程序存储器。T CPL 只能访问片外ROM 而不管片 7、是非题:当89C51的EA 引脚接高电平时, CPU 只能访问片内的4KB 空间。F

单片机原理实验指导书(2012.10)

《单片机原理》实验指导书 计算机科学与技术系2012年8月

目录 第一部分单片机仿真实验 (1) 实验一:流水灯实验 (1) 实验二:中断实验 (4) 实验三:定时器中断实验 (6) 实验四:串行口实验 (9) 实验五:矩阵式键盘输入识别 (13) 实验六:LCD循环显示设计 (19) 第二部分单片机硬件实验............................错误!未定义书签。第一章试验箱系统概述 ...................................错误!未定义书签。 一、系统地址分配........................................... 错误!未定义书签。 二、系统接口定义........................................... 错误!未定义书签。 三、通用电路简介........................................... 错误!未定义书签。第二章实验指导...............................................错误!未定义书签。实验七P1口亮灯和P1口加法器实验........... 错误!未定义书签。实验八简单I/O口扩展(选作).................. 错误!未定义书签。实验九8255控制交通灯................................ 错误!未定义书签。实验十128*64LCD液晶显示 .......................... 错误!未定义书签。

第一部分单片机仿真实验 实验一:流水灯实验 一、实验目的: 通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的存储器。 二、实验原理图 实验参考电路图如下: 三、参考实验程序 //流水灯实验 #include //包含单片机寄存器的头文件 sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机 //的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的

单片机原理及应用习题答案

思考与练习题1 1.1单项选择题 (1)单片机又称为单片微计算机,最初的英文缩写是( D ) A.MCP B.CPU C.DPJ D.SCM (2)Intel公司的MCS-51系列单片机是( C )的单片机。 A.1位 B.4位 C.8位 D.16位 (3)单片机的特点里没有包括在内的是( C ) A.集成度高 B.功耗低 C.密封性强 D.性价比高 (4)单片机的发展趋势中没有包括的是( B ) A.高性能 B.高价格 C.低功耗 D.高性价比 (5)十进制数56的二进制数是( A ) A.00111000B B.01011100B C.11000111B D.01010000B (6)十六进制数93的二进制数是( A ) A.10010011B B.00100011B C.11000011B D.01110011B (7)二进制数11000011的十六进制数是( B ) A. B3H B.C3H C.D3H D.E3H (8)二进制数11001011的十进制无符号数是( B ) A. 213 B.203 C.223 D.233 (9)二进制数11001011的十进制有符号数是( B ) A. 73 B.-75 C.-93 D.75 (10)十进制数29的8421BCD压缩码是( A ) A.00101001B B.10101001B C.11100001B D.10011100B (11)十进制数-36在8位微机中的反码和补码是( D ) A.00100100B、11011100B B.00100100B、11011011B C.10100100B、11011011B D.11011011B、11011100B (12)十进制数+27在8位微机中的反码和补码分别是( C ) A.00011011B、11100100B B.11100100B、11100101B C.00011011B、00011011B D.00011011B、11100101B (13)字符9的ASCII码是( D ) A.0011001B B.0101001B C.1001001B D.0111001B (14)ASCII码1111111B的对应字符是( C ) A. SPACE B.P C.DEL D.{ (15)或逻辑的表达式是( B ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (16)异或逻辑的表达式是( C ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (17)二进制数10101010B与00000000B的“与”、“或”和“异或”结果是( B ) A.10101010B、10101010B、00000000B B.00000000B、10101010B、10101010B C.00000000B、10101010B、00000000B D.10101010B、00000000B、10101010B (18)二进制数11101110B与01110111B的“与”、“或”和“异或”结果是( D ) A.01100110B、10011001B、11111111B B.11111111B、10011001B、01100110B C.01100110B、01110111B、10011001B D.01100110B、11111111B、10011001B (19)下列集成门电路中具有与门功能的是( D ) A.74LS32 B.74LS06 C.74LS10 D.74LS08

单片机原理及应用习题答案第三版(供参考)

第一章习题参考答案 1-1:何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。用户通过标准总线连接外设,能达到即插即用。单片机应用系统的外设都是非标准的,且千差万别,种类很多。单片机的I/O接口实际上是向用户提供的与外设连接的物理界面。用户对外设的连接要设计具体的接口电路,需有熟练的接口电路设计技术。 另外,单片机的微处理器(CPU)、存储器、I/O接口电路集成在一块芯片上,而通用微机的微处理器(CPU)、存储器、I/O接口电路一般都是独立的芯片 1-4 IAP、ISP的含义是什么? ISP:In System Programable,即在系统编程。用户可以通过下载线以特定的硬件时序在线编程(到单片机内部集成的FLASH上),但用户程序自身不可以对内部存储器做修改。 IAP:In Application Programable,即在应用编程。用户可以通过下载线对单片机进行在线编程,用户程序也可以自己对内部存储器重新修改。 1-6 51单片机与通用微机相比,结构上有哪些主要特点? (1)单片机的程序存储器和数据存储器是严格区分的,前者为ROM,后者为RAM; (2)采用面向控制的指令系统,位处理能力强; (3)I/O引脚通常是多功能的; (4)产品系列齐全,功能扩展性强; (5)功能是通用的,像一般微处理机那样可广泛地应用在各个方面。 1-7 51单片机有哪些主要系列产品? (1)Intel公司的MCS-51系列单片机:功能比较强、价格比较低、较早应用的单片机。此系列三种基本产品是:8031/8051/8751; (2)ATMEL公司的89系列单片机:内含Flash存储器,开发过程中可以容易地进行程序修改。有8位Flash子系列、ISP_Flash子系列、I2C_Flash子系列; (3)SST公司的SST89系列单片机:具有独特的超级Flash技术和小扇区结构设计,采用IAP和ISP技术;

单片机原理及应用期末考试试题

单片机原理及应用期末考试试题

单片机原理及应用期末考试试题 一、填空题(每空1分,共20分) 1.相对寻址是以PC 的当前值为基准,加上指令中给出的相对偏移量形成目标地址的方式。 2.AT89S51单片机的1个机器周期含有12 个晶振周期或 6 状态周期。 3.AT89S51单片机进行扩展时,用P0 口作为地址/数据总线,用P2 口作为地址总线高8位。 4.假定累加器A的内容30H,执行指令:1000H:MOVC A,@A+PC后,把 程序存储器1031H单元的内容送累加器A中5.指令格式是由操作码和操作数部分 组成。 6.AT89S51单片机的串行口控制寄存器中有2 个中断标志位,它们是TI和RI 7.在进行BCD码加法运算时,紧跟ADD 或 ADDC 指令后的指令必须是DA A 指令 8.JNC rel指令执行时,当CY位为0时程序发生跳转。 9.单片机位寻址区的单元地址是从20H单元到 2FH单元,若某位地址是10H,它所在单元 的地址应该是22H 。 10.外部中断0的中断入口地址为0003H ,定时/记数器T1的中断入口地址为 001BH。 11.串行口工作方式2为9位异步通信,若SMOD=0,f OSC = 6 MH Z,则其相应波特 率为6×106/64 b/s

12.堆栈应遵循先进后出规律,堆栈指针的符号为SP 二、单项选择题(每小题1分,共20分) 1.AT89S51单片机的( d )口的引脚,还具有外中断、串行通信等第二功能。 a)P0 b)P1 c) P2 d)P3 2.单片机应用程序一般存放在(b) a)RAM b)ROM c)寄存器 d)CPU 3.已知某数的BCD码为0111010101000010 则 其表示的十进制数值为(b) a) 7542H b) 7542 c) 75.42H d) 75.42 4.下列指令中不影响标志位CY的指令有(d)。 a)ADD A,20H b)CLR c)RRC A d)INC A 5.CPU主要的组成部部分为(a) a)运算器、控制器b)加法器、寄存器 c)运算器、寄存器d)运算器、指令译 码器 6.AT89S51 的CPU是(c)位的单片机 a)16 b) 4 c)8 d)准16 7.AT89S51复位后,PC与SP的值为(b) a )0000H,00H b)0000H, 07H c) 0003H,07H d)0800H,00H 8.当需要从AT89S51单片机程序存储器取数据时,采用的指令为(b)。

《单片机原理及应用》实验指导书.

单片机原理及应用实验指导书 罗钧付丽编 重庆大学光电工程学院 2010年5月 目录 实验规则 (2 实验一单片机监控程序实验(4学时 (3 附1.1:LAB2000P实验仪 (9 附1.2:验证实验程序 (10 附1.3:K EIL的使用步骤参考 (17 实验二 A/D转换实验 (3学时 (21 附2.1:验证实验程序 (24 实验三 D/A转换实验 (2学时 (25

附3.1:DA转换实验程序 (27 实验四单片机系统综合实验( 3学时 (28 附4.1:实验仪中的温度传感器电路 (30 附4.2:直流电机和步进电机控制接口电路 (31 实验规则 为了维护正常的实验教学次序,提高实验课的教学质量,顺利的完成各项实验任务,确保人身、设备安全,特制定如下实验规则: 一、实验前必须充分预习,完成指定的预习内容,预习要求如下: 1.认真阅读本实验指导书,分析掌握本次实验的基本原理; 2.完成各实验预习要求中指定的内容; 3.明确实验任务。 二、实验时,认真、仔细的写出源程序,进行调试,有问题向指导老师举手提问; 三、实验时注意观察,如发现有异常现象(电脑故障或实验箱故障,必须及时报告指导老师,严禁私自乱动。 四、实验过程中应仔细观察实验现象,认真记录实验数据、波形、逻辑关系及其它现象,记录的原始结果必须经指导教师审阅签字后,方可离开。 五、自觉保持实验室的肃静、整洁;实验结束后,必须清理实验桌,将实验设备、工具、导线按规定放好,并填写仪器设备使用记录。 六、凡有下列情况之一者,不准做实验: 1.实验开始后迟到10 分钟以上者;

2.实验中不遵守实验室有关规定,不爱护仪器,表现不好而又不服从教育者; 七、实验后,必须认真作好实验报告,在规定时间里必须交给实验指导老师,没交实验报告者,视为缺做一次实验。实验报告要求必须包括: 1.写出设计实验程序; 2.总结实验步骤和实验结果; 八、一次未做实验,本实验课成绩视为不及格。 以上实验规则,请同学们自觉遵守,并互相监督。 实验一单片机监控程序实验(4学时 实验预习要求: 1.按照附3学习使用Keil软件。 2.熟悉键盘和显示器接口及工作原理。 3.根据实验原理,读懂验证实验程序,并写出设计性实验源程序。 4.思考题: (1从附1.2监控程序可以看出:六位数码管显示的数据存放在单片机哪个位置? (2参考图1.1A与监控程序,键盘上若数字键7被按下,单片机怎样判断该键被按下? 一、实验目的 1.掌握8031系统中,键盘和显示器的接口方法。 2.掌握键盘扫描和LED八段码显示器的工作原理。

单片机原理及应用实验报告

单片机原理实验报告 专业:计算机科学与技术 学号: :

实验1 计数显示器 【实验目的】 熟悉Proteus仿真软件,掌握单片机原理图的绘图方法 【实验容】 (1)熟悉Proteus仿真软件,了解软件的结构组成与功能 (2)学习ISIS模块的使用方法,学会设置图纸、选元件、画导线、修改属性等基本操作 (3)学会可执行文件加载及程序仿真运行方法 (4)理解Proteus在单片机开发中的作用,完成单片机电路原理图的绘制【实验步骤】 (1)观察Proteus软件的菜单、工具栏、对话框等基本结构 (2)在Proteus中绘制电路原理图,按照表A.1将元件添加到编辑环境中(3)在Proteus中加载程序,观察仿真结果,检测电路图绘制的正确性 表A.1

Switches&Relays BUT BUTTON 【实验原理图】 【实验源程序】 #include sbit P3_7=P3^7; unsigned char x1=0;x2=0 ; unsigned char count=0; unsigned char idata buf[10]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay(int time) { int k,j;

for(;time<0;time--) for(k=200;k>0;k--) for(j=500;j<0;j--); } void init() { P0=buf[x1]; delay(10); P2=buf[x2]; delay(10); } void main() { init(); while(1) { x1=count/10; x2=count%10; P0=buf[x1]; delay(10);

单片机原理实验指导书

实验一LED 流水灯 一、实验目的 1. 学习单片机并口的使用方法。 2. 学习延时子程序的编写和使用。 3. 学习集成开发环境MedWin的安装与使用。 4. 学习STC单片机在线下载软件STC-ISP的使用。 二、实验内容 所谓流水灯就是4 个发光二极管(LED)轮流点亮,周而复始。实验板上以P3口作输出口,接有四只发光二极管,当单片机的引脚输出为低电平时发光二极管点亮,为高电平时息灭。编写程序,使4 个发光二极管循环点亮,时间间隔约0.5 秒。 三、实验电路连线 实验板上与本实验有关的硬件如下图所示。4 个LED上串联4 个限流电阻,以防止其电 流过大而烧坏。单片机的主时钟为11.0592MHz。 四、实验说明 1、P3 口是准双向口,它作为输出口时与一般的双向口使用 方法相同。由准双向口结构可知当P1 口用作输入口时必须先对它 置“1”。若不先对它置“1”,读入的数据是不正确的。输出时需 要接上拉电阻,P3 口内部有弱上拉,若将外围电路设计为低有效, 高无效,则无需再外接上拉电阻。 2、为使每次点亮一个LED,应使P3.4~P3.7 4 个端口中有 一个为低,其余均为高,延时一段时间后再点亮另一个LED。 3、编写for 循环构成的软件延时子程序,在MedWin 下模拟 执行,根据MedWin 显示的执行时间,调整循环变量的终值,使延时时间约0.5秒,在晶振频率为11.0592MHz情况下,循环终值约27000。程序如下: void delay(void) { unsigned int i,j,k,l; for(i=0;i<=27000;i++) {j++; k++;l++;}; } #include void main (void) { unsigned char i,c[4] = {0xef,0xdf,0xbf,0x7f};// 从左往右流水 i = 0; while(1) { P3 = c[i & 3]; i++; 11 delay(); } } 五、思考 1、如何使点亮的LED 从右往左移动? 2、如何使点亮的LED 从两边往中间移动?

《单片机原理及应用》实验报告

《单片机原理及应用》 实验报告 2017/2018 学年第1 学期 系别计算机学院 专业软件工程 班级17软件工程班 姓名XXXXXX 学号8888888888 授课老师******

实验一:流水灯实验 1.实验目的 (1)学习编译和仿真环境使用 (2)学习P3口的使用方法 (3)学习延时子程序的编写 2实验内容 (1)通过对P3口地址的操作控制8位LED流水点亮,从而认识单片机的接口;(2)通过改变并行口输出电平控制LED灯的点亮与否,通过延时程序控制亮灯时间。 3.实验运行结果图 4.源代码 //流水灯实验 #include //包含单片机寄存器的头文件 sfr x=0xb0; //P3口在存储器中的地址是b0H,通过sfr可定义8051内核单片机 //的所有内部8位特殊功能寄存器,对地址x的操作也就是对P1口的

操作 /**************************************** 函数功能:延时一段时间 *****************************************/ void delay(void) { unsigned char i,j; for(i=0;i<255i++) for(j=0;j<255j++) ; //利用循环等待若干机器周期,从而延时一段时间 } /***************************************** 函数功能:主函数 ******************************************/ void main(void) { while(1) { x=0xfe; //第一个灯亮 delay(); //调用延时函数 x=0xfd; //第二个灯亮 delay(); //调用延时函数 x=0xfb; //第三个灯亮 delay(); //调用延时函数 x=0xf7; //第四个灯亮 delay(); //调用延时函数 x=0xef; //第五个灯亮 delay(); //调用延时函数 x=0xdf; //第六个灯亮

单片机原理及应用作业答案

作业答案0-1 绪论 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-R n)它们的地址是什么CPU如何确定和改变当前工作寄存器组(R0-R n) 解: 开机复位后,CPU使用的是第0组工作寄存器。它们的地址是00H-07H。CPU通过对程序状态字PSW中RS1和RS0的设置来确定和改变当前工作寄存器组。 27. MCS-51单片机的时钟周期、机器周期、指令周期是如何定义的当主频为12MHz的时候,一个机器周期是多长时间执行一条最长的指令需要多长时间 解:

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