51单片机c语言总结

51单片机c语言总结
51单片机c语言总结

入门有针对性的解决一些简单的实际问题,边理论边实践学一样会一样

基本实验:LED流水灯,数码管显示,键盘控制,音乐播放,继电器控制I2C通信实验,串口通信实验,红外线遥控信号解码实验等

单片机的定义分类和内部组成

1单片机就是中央处理器CPU,随机存储器RAM。只读存储器ROM。定时、计数器和各种输入输出接口I/o接口电路等部件集成在一块电路芯片上的微型计算机。

2,1分类按制造工艺分:HMOS和CHMOS CHMOS包括80c51等中间加了C功耗要小

适合便携式手提式和野外作业。

2分类按不同容量的存储器配置分:51子系列和52子系列

51表示单片机最后一位数字为1作为标志。片内带有4KbROM或EPROM(Erasable Programmable ROM,可擦除可编程ROM,128BRAM,两个16位定时器/计数器和5个中段器52系列是增强型各项指标都高。

AT89S51是AT89C51的升级版支持ISP在线更新程序ISP(Internet Service Provider 内部集成看门狗计时器等。

3.1串行接口就是接口数据传送

3.2中断控制系统接收中断请求如定时时间到,需要鸣笛报警类似stop to do 停下来去执行ROM中特定的每段程序,执行完后再继续执行先前中断的程序

时钟电路控制节拍工作。

一个典型的单片机应用系统包括输入电路,单片机,输出电路

把他想象成电脑。

单片机的应用:

p5

十六进制A10B11C12D13E14F15

记A10和D13点得13点F15不是F16

十六进制加H

逻辑数据的运算

逻辑与。。。两个输入一个输出中间加一个恒定5v电压

有0为0,全1出1

逻辑或有1为1,全0出0;

字长通常与计算机内部的寄存器和运算器数据总线的宽度一致

实例1功能感受protues仿真单片机播放《渴望》主题曲

运用protues打开仿真原理图。

对单片机进行处理编辑edit component,选取目标文件hex

Clock frequency 时钟频率

Ok

原理图编辑窗口没有滚动条,可通过预览窗口该表原理图的可视范围。

Protues双击右键删除

先单击鼠标右键,可通过鼠标左键可以编辑元器件的属性

鼠标右键来删除画错的连线

中键缩放原理图

新建即保存新建设计文件

Junction dot mode连接点

Subcircuit mode 子电路lab用总线时会用到

Terminals mode 终端接口,有VCC地输出输入等接口

Device pins mode 器件引脚用于绘制各种引脚。

Graph mode 仿真图表,用于各种分析,如noise analysis

Tape recorder mode录音机

Generator mode 信号发生器

Voltage probe mode 电压探针仿真图表用

Current probe mode 电流探针仿真图表用

Virtual instruments mode虚拟仪表有示波器可显示工作波形

Resistors 电阻

Capacitors电容

Crystal晶振

Radianl electrolytic圆柱形电解电容

Keywords输入resistors 470r或功率先选择元器件后放元器件

Led+yellow

Drag object 拖动对象

Editi properties 编辑属性

Rotate clockwise 顺时针旋转90°

Rotate anti-clockwise 逆时针旋转90°

X-mirror 水平翻转

Y-mirror 垂直翻转

删可以右键双击

双击鼠标左键编辑label

放置电源和地必须编辑正确的label如VCC地GND

各元器件引脚通过总线的连接并不表示真正意义上的电气连接,需要添加网络标号。

要运行双击单片机

基本

电源5V

振荡电路:单片机是一种时序电路,必须施加脉冲信号才能工作。在它的内部有一个时钟产生电路,只要接上两个电容和一个晶振即可正常工作。P30

复位电路;启动后让单片机从初始状态开始执行程序。

EA一横:接正电源端,表示使用内部程序存储器。

注意:观察仿真效果时,晶振电路,复位电路和EA引脚和电路的连接可以省略。

Keil软件源程序后缀。C必须手工输入,表示为c语言程序,让keilc51采用对应的c语言的方式来编译源程序。

#include包含51单片机寄存器定义的头文件

将新建的源程序文件加载到项目管理器右击source group文件add c文件

单片机不能处理c,必须将c转换成二进制或十六进制代码,汇编或编译。

用鼠标右键点击target 进入options for target 确认output选项中create hex

重新构造所有目标

程序烧录器及烧录软件的使用

单片机软硬件系统仿真成功后,要真正投入实际应用,必须将程序烧写入单片机芯片,A51程序烧录器和

先将COM接口(用作数据通信)与计算机的COM接口(RS-232)连接好,然后将单片机安插在烧录器的插座中,再用一根USB线将USB接口与计算机的USB接口连接,让计算机通过这根USB线向烧录器提供+5V电源

使用烧录器前,手动设置一些,参数标签页,根据COM口,设置好串口,波特率设置为28800;

点击自动擦除器件命令,点击打开文件命令选择单片机文件十六进制文件hex 再点击打开点击自动写器件。

实例4用单片机控制一个灯闪烁

Led灯亮存在电压差和正向偏置

延迟函数

Void main(void)// 两个void分别表示无须返回值和没有参数传递

{

Unsigned int i;// 定义无符号整数,最大65535

For(i=0;i<20000;i++)

; 只有一个分号表示什么都不做,等待一个机器周期

}

0x中的0是数字0,而不是字母O

郁闷一编写keil时,

文档第一行必须是#include

虚拟仪表

示波器oscilloscope

Protues示波器面板?及使用

单片机需要一个时钟信号送给内部个电路,才能使他们有节拍的工作,时钟信号的频率由外部振荡电路的晶振频率决定,51系列单片机的机器周期是由12个振荡周期组成。

指令周期:单片机执行一条指令的时间。

时钟频率越低,延时的时间就越长,灯闪烁的速度就越慢。

实例5 将p1口状态送入p0口p2口p3口

利用单片机工作速度快的特点,无限循环可以让单片机不停地把p1口的电平状态送到p0口p2口和p3口。

引脚接地低电平被输入到p口

实例6使用p3口流水点亮8位led

记忆,0xfe 11111110 0xfd 11111101 0xfb 11111011 0xf7 11110111 0xef 11101111 0xdf 11011111 0xbf10111111 0x7f 01111111 实例7通过对p3口地址的操作流水点亮8位led

单片机都有固定的地址,记忆:张三在教室的第2排第5列

老师可以说清张三回答问题也可以说请第2排第5列的同学答题。

Sfr x=0xb0;通过关键字sfr将x定义为p2的地址0xb0

定义后,程序中对x的操作就相当于对地址0xb0即p3的操作

类似于指针

P3口的固定地址是BOH

MCS-51单片机存储器的基本结构

它有两种1即程序存储器和2数据存储器

从物理MSC-51有4个存储地址空间,即片内程序存储器和片外程序存储器程序存储器受EA一横外接电平的控制。

1当EA一横接地时,单片机只能使用外部程序存储器

2当EA一横接+5v是单片机先使用内部程序存储器,容量不够时自动使用外部程序存储器。

特殊功能寄存器

单片机的复位电路

P54页???

单片机C语言开发基础

#include

C注释

1种采用/*。。。*/可以注释多行内容

2种采用//但只能注释一行

ANSI标准定义的关键字

P57记忆思考

P58跳过

数据类型表p59页

指针型数据

位类型数据

空类型数据

延时函数不需要返回值。

X++先用x的值,再让x加1

逻辑与&&逻辑或||逻辑非!

按位与& 25&77=9

按位或| 25|77=93

按位异或^ 相异为1,相同出0

按位取反~ 有0出1,有1出0

左移运算符<< 将一个二进制数的各位全部左移若干位,移动的过程中,高位丢弃,低位补0. w=0x3a 00111010B w<<2,w=11101000B

>>低位丢弃,高位补0

赋值运算符

逗号运算符

条件运算符

强制转换运算符???

实例8用不同数据类型的数据控制led的闪烁

使用无符号整型数据和无符号字符数据来设计延时函数。

由于整型数据占两个字节,而无符号字符型数据仅占一个字节,因此对无符号整型数据进行操作花费的时间就要长一些,整型数据要实现100次循环,消耗的时间约800个机器周期。无符号100占300个。为了提高运行效率,尽可能用无符号字符型数据。

实例9 用p0口和p1口分别显示加法和减法运算结果

其实就是利用二进制的单位数值进行亮1不亮0的表示

乘法除法就是利用二进制转化为十进制再进行处理

实例12用自增运算控制p0口8位ked的闪烁花样

只要送到p0口的数值发生变化,p0口8位led点亮的状态就会发生变化。可以先将变量的初值送到p0口延迟一段时间,再利用自增运算使变量加1,然后将新的变量值送到p0口并延时一段时间,即可使8位led的闪烁花样不断变化,Unsigned char I;定义无符号字符型变量,其值不超过255

运用变量的值变化和将变量的值送到p口用来变化。

For(i=0;i<255;i++)

实例13用p0口显示逻辑与的运算

P0=(4>0)&&(9>0xab)=1&&0=0;将运算结果送到p0口

实例14用p0口显示条件运算的结果

P0=(8>4)?8:4; P0=8=00001000B

实例15;用p0口显示按位异或运算结果

异或相异出1,相同出0;记忆异性才能很火热的做出子女

P0=0xa2^0x3c异或要做必须上顶^ 很公平应用

实例16 用p0口显示左移的运算结果

实例17万能逻辑电路

F=EY+Z逻辑函数p77图

1专门设计数字电路,实现逻辑功能

2通过单片机编程来实现逻辑功能软件即硬件

//实例17:"万能逻辑电路"实验

#include //包含单片机寄存器的头文件

sbit F=P1^4; //将F位定义为P1.4

sbit X=P1^5; //将X位定义为P1.5

sbit Y=P1^6; //将Y位定义为P1.6

sbit Z=P1^7; //将Z位定义为P1.7

void main(void)

{

while(1)

{

F=((~X)&Y)|Z; //将逻辑运算结果赋给F

;

}

}

实例18用右移实现流水灯

前提设p口为0xff八次右移一位高位丢弃低位补0

延迟用的变量因为要取大数所以必须用int

后面因为要快所以取char型变量

因为单片机运行快。所以led灯闪后要延迟。

C语言语句

If(S1==0)

P1=0x00;如果按键s按下接地(相应位为低电平),

Swich 整型break 三者紧密

While语句花括号运用和一般情况下,在循环体中应该有让循环停止的语句。??Do while 语句注意;

Do和while连用while后面的分号不能丢,它表示整个循环语句的结束

51单片机中断程序大全

//实例42 :用定时器T0 查询方式 P2 口8 位控制LED 闪烁 //#include单片机寄存器定义的头文件 51包含 /******************************************************* *******函数功能:主函数 ******************************************************** ******/void main(void){ // EA=1;开总中断// 中断允许T0 // 定时器// ET0=1; 1的模式TMOD=0x01;// 使用定时器T0 位赋初值定时器T0 的高8 TH0=(65536-46083)/256; // 位赋初值的高8 TL0=(65536-46083)%6; // 定时器T0 T0启动定时器TR0=1;// TF0=0;P2=0xff; 无限循环等待查询while(1)// {while(TF0==0); TF0=0;P2=~P2; 位赋初值的高8 定时器TH0=(65536-46083)/256; // T0 位赋初值T0 TL0=(65536-46083)%6; //

定时器的高8 }} 1KHzT1:用定时器43 实例// 音频查询方式控制单片机发出 #include 单片机寄存器定义的头文件51 // 包含sbit sound=P3^7;将// 引脚sound P3.7 位定义为 /********************************************************** **** 函数功能:主函数 ******************************************************** ******/void main(void){// EA=1;开总中断// 中断允许ET0=1;// // 定时器T0 1的模式使用定时器// T1 TMOD=0x10; 位赋初值// TH1=(65536-921)/256; T1 定时器的高8 TL1=(65536-921)%6; // 定时器T1 的高8 位赋初值 TR1=1;// 启动定时器T1TF1=0; while(1)// 无限循环等待查询{while(TF1==0); TF1=0;

最新-单片机原理及应用期末考试必考知识点重点总结 精品

单片机概述 单片机是微单片微型计算机的简称,微型计算机的一种。 它把中央处理器(CPU),随机存储器(RAM),只读存储器(ROM),定时器\计数器以及I\O 接口,串并通信等接口电路的功能集成与一块电路芯片的微型计算机。 字长:在计算机中有一组二进制编码表示一个信息,这组编码称为计算机的字,组成字的位数称为“字长”,字长标志着精度,MCS-51是8位的微型计算机。 89c51 是8位(字长)单片机(51系列为8位) 单片机硬件系统仍然依照体系结构:包括CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、输入设备和输出设备、内部总线等。 由于一块尺寸有限的电路芯片实现多种功能,所以制作上要求单片机的高性能,结构简单,工作可靠稳定。 单片机软件系统包括监控程序,中断、控制、初始化等用户程序。 一般编程语言有汇编语言和C语言,都是通过编译以后得到机器语言(二进制代码)。 1.1单片机的半导体工艺 一种是HMOS工艺,高密度短沟道MOS工艺具有高速度、高密度的特点; 另一种是CHMOS工艺,互补金属氧化物的HMOS工艺,它兼有HMOS工艺的特点还具有CMOS的低功耗的特点。例如:8181的功耗是630mW,80C51的功耗只有110mW左右。1.2开发步5骤: 1.设计单片机系统的电路 2.利用软件开发工具(如:Keil c51)编辑程序,通过编译得到.hex的机器语言。 3.利用单片机仿真系统(例如:Protus)对单片机最小系统以及设计的外围电路,进行模拟的硬软件联合调试。 4.借助单片机开发工具软件(如:STC_ISP下载软件)读写设备将仿真中调试好的.hex程序拷到单片机的程序存储器里面。 5.根据设计实物搭建单片机系统。 2.1MCS-51单片机的组成:(有两个定时器) CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、I/O口(串口、并口)、内部总线和中断系统等。 工作过程框图如下:

51单片机中断程序大全

//实例42:用定时器T0查询方式P2口8位控制LED闪烁#include // 包含51单片机寄存器定义的头文件 /************************************************************** 函数功能:主函数 **************************************************************/ void main(void) { // EA=1; //开总中断 // ET0=1; //定时器T0中断允许 TMOD=0x01; //使用定时器T0的模式1 TH0=(65536-46083)/256; //定时器T0的高8位赋初值 TL0=(65536-46083)%256; //定时器T0的高8位赋初值 TR0=1; //启动定时器T0 TF0=0; P2=0xff; while(1)//无限循环等待查询 { while(TF0==0) ; TF0=0; P2=~P2; TH0=(65536-46083)/256; //定时器T0的高8位赋初值 TL0=(65536-46083)%256; //定时器T0的高8位赋初值 } } //实例43:用定时器T1查询方式控制单片机发出1KHz音频#include // 包含51单片机寄存器定义的头文件 sbit sound=P3^7; //将sound位定义为P3.7引脚 /************************************************************** 函数功能:主函数 **************************************************************/ void main(void) { // EA=1; //开总中断 // ET0=1; //定时器T0中断允许 TMOD=0x10; //使用定时器T1的模式1 TH1=(65536-921)/256; //定时器T1的高8位赋初值

(完整版)单片机知识点总结

单片机考点总结 1.单片机由CPU、存储器及各种I/O接口三部分组成。 2.单片机即单片微型计算机,又可称为微控制器和嵌入式控制器。 3.MCS-51系列单片机为8位单片机,共40个引脚,MCS-51基本类型有8031、8051 和8751. (1)I/O引脚 (2)8031、8051和8751的区别: 8031片内无程序存储器、8051片内有4KB程序存储器ROM、8751片内有4KB程序存储器EPROM。 (3)

4.MCS-51单片机共有16位地址总线,P2口作为高8位地址输出口,P0口可分时复用 为低8位地址输出口和数据口。MCS-51单片机片外可扩展存储最大容量为216=64KB,地址范围为0000H—FFFFH。(1.以P0口作为低8位地址/数据总线;2. 以P2口作为高8位地址线) 5.MCS-51片内有128字节数据存储器(RAM),21个特殊功能寄存器(SFR)。(1)MCS-51片内有128字节数据存储器(RAM),字节地址为00H—7FH; 00H—1FH: 工作寄存器区; 00H—1FH: 可位寻址区; 00H—1FH: 用户RAM区。 (2)21个特殊功能寄存器(SFR)(21页—23页);

(3)当MCS-51上电复位后,片内各寄存器的状态,见34页表2-6。 PC=0000H, DPTR=0000H, Acc=00H, PSW=00H, B=00H, SP=07H, TMOD=00H, TCON=00H, TH0=00H, TL0=00H, TH1=00H, TL1=00H, SCON=00H, P0~P3=FFH 6. 程序计数器PC:存放着下一条要执行指令在程序存储器中的地址,即当前PC值或现行值。程序计数器PC是16位寄存器,没有地址,不是SFR. 7. PC与DPTR的区别:PC和DPTR都用于提供地址,其中PC为访问程序存储器提供地址,而DPTR为访问数据存储器提供地址。 8. MCS-51内部有2个16位定时/计数器T0、T1,1个16位数据指针寄存器DPTR,其中MOVE DPTR, #data16 是唯一的16位数据传送指令,用来设置地址指针DPTR。(46页) 定时/计数器T0和T1各由2个独立的8位寄存器组成,共有4个独立寄存器:TH1、TL1、TH0、TL0,可以分别对对这4个寄存器进行字节寻址,但不能吧T0或T1当作1个16位寄存器来寻址。即:MOV T0,#data16 ;MOV T1,#data16 都是错的,MOV TH0,#data;MOV TL0,,#data是正确的。 9.程序状态字寄存器PSW(16页) (1)PSW的格式: D7 D6 D5 D4 D3 D2 D1 D0 PSW D0H (2)PSW寄存器中各位的含义; Cy:进位标志位,也可以写为C。 Ac:辅助进位标志位。

单片机原理及应用知识点汇总复习

单片机原理及应用知识点汇总 一、填空题 1、单片机是将微处理器、一定容量的RAM和ROM以及I/O 口、定时器等电路集成在一块芯片上而构成的微型计算机。 2、单片机80C51片内集成了 4 KB的FLASH ROM,共有 5 个中断源。 3、两位十六进制数最多可以表示256 个存储单元。 4、在80C51中,只有当EA引脚接高电平时,CPU才访问片内的Flash ROM。 5、当CPU访问片外的存储器时,其低八位地址由P0 口提供,高八位地址由P2 口提供,8位数据由P0 口提供。 6、在I/O口中,P0 口在接LED时,必须提供上拉电阻,P3 口具有第二功能。 7、80C51具有64 KB的字节寻址能力。 特 第 持 ,其 。 IP。 边沿 计数 / 22 、串行通信有同步通信和异步通信两种通信方式。 23、在异步通信中,数据的帧格式定义一个字符由4部分组成,即:起始位、数据位、奇偶校验位和停止位。 24、串行通信中,为使设备同步工作,需要通信双方有两个共同的要求,一是通信双方必须采用统一的编码方式,二是通信双方必须能产生相同的传送速率。 25、单片机80C51中的串行通信共有 4 种方式,其中方式0 是用作同步移位寄存器来扩展I/O口的。 26、设80C51的晶振频率为11.0592MHz,选用定时器T工作模式2作波特率发生器,波特率为2400b/s,且SMOD置0,则定时器的初值为F4H 27、键盘可分为独立连接式和矩阵式两类。键盘可分为编码式和非编 码式两类。 28、LED数码管有静态显示和动态显示两种方式。 29、在执行下列指令后,A=___60H___,R0=__45H____,(60H)=___45H___。

单片机中断实验报告

实验三定时器中断实验 一、实验目的 1、掌握51单片机定时器基本知识; 2、掌握定时器的基本编程方法; 3、学会使用定时器中断。 二、实验内容 1、利用定时器设计一个秒表,计数范围为0—59,并在数码管实时显示。 三、实验设备 PC 机一台、单片机实验箱 主要器件:AT89C52、7SEG-BCD、 四、实验步骤 1、使用Proteus设计仿真原理图; 2、使用Keil设计程序; 3、联合调试仿真。 五、实验流程图 六、实验程序与结果 #include #define uint unsigned int #define uchar unsigned char sbit F=P2^1; void timer1_init() 开始 设置显示初值启动定时器 判断是否到59 继续 是 否

{ TMOD=0x10;//将定时器1设置为工作方式1 TH1=(65536-6000)/256;//定时器每加一时间为1/fsoc,定时时间为1/500 //(1/500)s/(1/3000000)s=6000 TL1=(65536-6000)%256;//fsoc=3000000,所以装入16位定时器中值为65536-6000 EA=1; ET1=1; TR1=1; } void main() { timer1_init(); while(1); } void timer1() interrupt 3 { TH1=(65536-6000)/256;//每次进入中断,重装初值TL1=(65536-6000)%256; F=~F;//每次进入中断P1.1口取反 } #include #define uint unsigned int #define uchar unsigned char sbit F=P2^1; void timer0_init() {TMOD=0x01;//将定时器0设置为工作方式1 TH0=(65536-83)/256;//定时器每加一时间为1/fsoc,定时时间为2Khz,既500us //500us/6us=83.3333 TL0=(65536-83)%256;//fsoc=6000000,所以装入16位定时器中值为65536-83 EA=1; ET0=1; TR0=1; }void main() { timer0_init(); while(1); } void timer0() interrupt 1 { TH0=(65536-83)/256;//每次进入中断,重装初值 TL0=(65536-83)%256; F=~F;//每次进入中断P1.1口取反,表示定时时间到 } #include // 包含51单片机寄存器定义的头文件 #define seg_data P1 #define seg_data2 P3 #define uint unsigned int

(完整word版)单片机知识点总结

第一部分硬件基础 1、单片机的组成; 2、单片机的并行I/O口在使用时,有哪些注意的地方? 3、单片机的存储器;程序存储器和数据存储器的寻址范围,地址总线和数据总线的位数;数据存储器内存空间的分配;特殊功能寄存器区; 4、时钟及机器周期; 5、单片机的控制总线、地址总线及数据总线等。 例: 一、填空 1.MCS-51单片机有4个存储空间,它们分别是:、、、。 2、MCS-51单片机的一个机器周期包括个状态周期,个振荡周期。设外接12MHz晶振,则一个机器周期为μs。 3.程序状态字PSW由位组成。 4.在MCS-51单片机内部,其RAM高端128个字节的地址空间称 为区,但其中仅有个字节有实际意义。 5. MCS-51 系列单片机为位单片机,其数据总线为位,地址总线为位,可扩展的地址范围为。 6. MCS-51 单片机的4 个并行I/O 口若作为普通I/O 口使用时,输入操作分为读引脚和读锁存器,需要先向端口写“1”的操作是。 7. MCS-51 单片机的特殊功能寄存器分为可位寻址和不可位寻址两种,那么IE 为,TMOD 为。 8.通常MCS-51单片机上电复位时PC= H、SP= H、通用寄存器采用第组,这一组寄存器的地址范围 是 H。 9.MCS-51单片机堆栈遵循的数据存储原则。 10.在MCS-51单片机中,使用P2、P0口传送信号,且使用P0口来传送信号,这里采用的 是技术。 11.MCS-51单片机位地址区的起始字节地址为。

12.对于并行口在读取端口引脚信号时,必须先对端口写。13.PC的内容是。 14、MCS-51 单片机运行出错后需要复位,复位的方法是在复位引脚上加一个持续时间超过个时钟周期的高电平。 15、具有4KBytes 储存容量之存储器,其至少需具有根地址线。 二、问答 1.简述MCS-51 单片机的P0、P1、P2 和P3 口的功能。 2.MCS-51单片机的三总线是由哪些口线构成的。 3.MCS-51单片机的位寻址区的字节地址范围是多少?位地址范围是多少? 4. MCS-51单片机存储器在结构上有什么特点?在物理上和逻辑上各有那几个地址空间? 5.简述MCS-51单片机00H-7FH片内RAM的功能划分,写出它们的名称以及所占用的地址空间,并说明它们的控制方法和应用特性。 6.请写出MCS-51单片机的五个中断源的入口地址。 第二部分 C51程序设计 1、C51的指令规则;C51编程语句及规则; 2、C51表达式和运算符; 3、顺序程序、分支程序及循环程序设计; 4、C51的函数; 5、中断函数。 例: 1.程序的基本结构有。 2.C51的存储器模式有、、。 3.C51中int型变量的长度为,其值域为;unsigned char型变量的长度为位,其值域为。 4.C51中关键字sfr的作用,sbit的作 用。 5.函数定义由和两部分组成。 6.C51的表达式由组成。C51表达式语句由表达式和组成。

C51单片机实验总结报告

HEFEI UNIVERSITY 单片机实验报告 系别电子信息与电气工程系专业 班级 学号 姓名 指导老师 完成时间

实验一构建单片机最小系统和实验环境熟悉 一、预习要求 1.构建单片机最小系统,熟悉51单片机的结构及编程方法 2.按照程序流程图编写出程序 二、实验目的 1.熟悉星单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的使用方法。 2.熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。 三、实验内容 单片机最小系统实验: 1、熟悉单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的安装和使用方法。 2、作出单片机最小系统的组成原理图,分析其各构成单元的工作原理。 存储单元数据传输实验 1、熟悉MCS51汇编指令。 2、进行存储单元数据传输实验,编写程序。 3、运行程序,验证译码的正确性。 四、实验原理 1、作出单片机最小系统的组成原理图

2.最小系统版的组成: 时钟电路,复位电路,电源电路。 3.软件编译环境的熟悉 实验中我们使用keilC环境编译程序。其窗口界面如下: 4.测试程序 ;将从外部RAM3000H单元开始连续存放的 ;50个单字节数据传送到内部RAM30H单元的50个单元中。 ORG 0000H MOV R0,#32H ;计数初值50 MOV A,#78H ;(A)=78H送外部3000H--3050H MOV DPTR,#3000H ;外部数据存储器首地址3000H送DPTR LOOP0: MOVX @DPTR,A ;送78H到外部数据存储区3000H INC DPTR ;外部数据存储区地址增一 DJNZ R0,LOOP0 ;循环次数减一不为零转LOOP0 SETB P1.2 CLR P1.3 CLR P1.4 ;74HC138输入为100,使CS2=0选中62256 MOV R0,#32H ;循环次数50送R0 MOV R1,#30H ;内部数据存储区首址30H送R1 MOV DPTR,#3000H ;外部数据存储区首址3000H送DPTR

51单片机实训报告

“51单片机”精简开发板的组装及调试实训报告

为期一周的单片机实习已经结束了。通过此次实训,让我们掌握了单片机基本原理的基础、单片机的编程知识以及初步掌握单片机应用系统开发实用技术,了解“51”单片机精简开发板的焊接方法。同时培养我们理论与实践相结合的能力,提高分析问题和解决问题的能力,增强学生独立工作能力;培养了我们团结合作、共同探讨、共同前进的精神与严谨的科学作风。 此次实训主要有以下几个方面: 一、实训目的 1.了解“51”精简开发板的工作原理及其结构。 2.了解复杂电子产品生产制造的全过程。 3.熟练掌握电子元器件的焊接方法及技巧,训练动手能力,培养工程实践概念。4.能运用51单片机进行简单的单片机应用系统的硬件设计。 5.掌握单片机应用系统的硬件、软件调试方法 二、实验原理 流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。 它的电气性能指标:输入电压:DC4.5~6V,典型值为5V。可用干电池组供电,也可用直流稳压电源供电。 如图所示: 本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。 三、硬件组成 1、晶振电路部分 单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信。他是由一个晶振和两个瓷片电容组成的,x1和x2分别接单片机的x1和x2,晶振的瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。 2、复位端、复位电路 给单片机一个复位信号(一个一定时间的低电平)使程序从头开始执行;一般有两中复位方式:上电复位,在系统一上电时利用电容两端电压不能突变的原理给系统一个短时的低电平;手动复位,同过按钮接通低电平给系统复位,时如果手按着一直不放,系统将一直复位,不能正常。当要对晶体重置时,只要对此引脚电平提升至高电平并保持两个及其周期以上的时间便能完成系统重置的各

(完整版)MCS-51单片机复习要点

MCS-51单片机 8051单片机是8位单片机,有40个管脚,8根数据线,16根地址线。 单片机的八大组成部分:CPU 、ROM 、RAM 、I/O 、定时/计数器、串口、SFR 、中断服务系统 一、MCS-51机的内存结构 (如图1所示) 0FFFH FFH 80H 7FH 0000H 00H 0000H 程序存储器 内部数据存储器 外部数据存储器 图1 MCS-51机的内存结构 物理上分为:4个空间, 片内ROM 、片外ROM 片内RAM 、片外RAM 逻辑上分为;3个空间, 程序内存(片内、外)统一编址 MOVC 数据存储器(片内) MOV 数据存储器(片外) MOVX 1、程序内存 寻址范围:0000H ~ FFFFH 容量64KB EA = 1,寻址从内部ROM ;EA = 0,寻址从外部ROM 地址长度:16位 存储器地址空间为64KB 作用: 存放程序及程序运行时所需的常数。 8051 单片机6个具有特殊含义的单元是:0000H —— 系统复位,PC 指向此处; 0003H —— 外部中断0入口 000BH —— T0溢出中断入口 0013H —— 外中断1入口 001BH ——T1溢出中断入口

0023H ——串口中断入口 2、内部数据存储器 物理上分为两大区:00H ~ 7FH即128B内RAM 和SFR区。如图2所示。 7FH 资料缓冲区 堆栈区80字节数据缓冲器用 工作单元 30H 2FH 位地址:16字节 00H~7FH 128 可位寻址位 20H 1FH 3区 2区 1区32字节4组R0~R7工作寄存器 0区 00H 图2 内部数据存储器 二、殊功能寄存器SFR 寻址空间离散分配在:80H ~ FFH , 注意PC不在此范围内。地址末尾为0或8的SFR具有位寻址功能 1、C PU是运算器加控制器 2、算术运算寄存器 (1)累加器A(E0H) (2)B寄存器:乘、除法运算用 (3)程序状态字PSW寄存器:包含程序运行状态信息。 PSW CY AC FO RS1 RS0 OV —P CY(PSW.7)——进位/借位标志;位累加器。 AC (PSW.6)——辅助进/借位标志;用于十进制调整。 F0 (PSW.5)——用户定义标志位;软件置位/清零。 OV (PSW.2)——溢出标志;硬件置位/清零。 P (PSW.0)——奇偶标志;A中1的个数为奇数P = 1;否则P = 0。 RS1、RS0 ——寄存器区选择控制位。 0 0 :0区R0 ~ R7 0 1 :1区R0 ~ R7 1 0 :2区R0 ~ R7 1 1 :3区R0 ~ R7

51单片机总结上拉电阻

51单片机总结——上拉电阻 单片机2009-07-28 14:56:05 阅读961 评论1字号:大中小 上拉电阻的作用: (1)用于为OC和OD门电路,提供驱动能力。 以OC(集电极开路)电路为例: 例如,达林顿管(其实就是复合三级管)集成块ULN2003. 内部一路的电路如图,就是一个集电极开路电路。 如果不加上拉电阻是无法高电平驱动其他器件的。因为当三极管截至市没有电流流通的路径,更谈不上驱动了。这个跟单片机P0口加上拉电阻的原理一样。 (2)提高高电平电位: 单片机P1口外接4×4矩阵键盘。另外复用P1.0~P1.3外接ULN2003控制驱动步进电机。 实验中遇到的问题:当接入ULN2003时键盘无法工作,去掉ULN2003后键盘工作正常。ULN2003工作正常。(注,两个部分不同时工作) 问题分析:由于键盘的结构,无非就是两个金属片的接通或断开。但是接入ULN2003 后无法正常工作,说明是接入ULN2003影响到了P1口电平的变化。用万用表测的电压,当单片机输出高电平时,P1.0~P1.3电压1V左右,P1.4~P1.7电压4.3V左右,于是测A T89s52高低电平的判决电位,在1.3V左右。这样P1.0~P1.3始终是低电平,键盘根本无法实现扫描功能。 解决方法,只要抬高P1口高电平时的电位,就可以正常工作, 1.在P1口到ULN2003上串接电阻,起到分压的作用,就可以抬高电平。 2.给P1口接上拉电阻,跟P1口内部电阻并联,减小上拉电阻阻值,减小分得的电压,从而抬高P0口高电平电位。 采用第二种方案可以抬高电平到2.5V左右。键盘工作正常。 另外:我在做液晶显示实验的时候,数据线用的P0口,无法正常工作,不显示字符。但是乱动一下数据线就可以完成显示,但是显示现象并不正常,字符不是一次写入,而是乱动几次才能写完全部内容,正常应该一次全部显示。原因是由于,我的P0口中有六个端口都外接并联三个发光二极管。,因为从资料上查到,P0口每一个端口最大可以吸收10MA 电流,总电流不能超过26MA电流。这样算我的总电流已经到了40MA,呵呵。见笑了。所以怀疑是驱动的问题。于是去掉了几个二极管。显示一切正常。似乎问题已经解决,但总觉得还是有点问题,于是又经过几次试验,发现只有当P0.7端口的并联二极管去掉一个,再在其他端口接上一个发光二极管。此时也可以正常显示。但是这样P0口吸收电流在38MA,也超过了26MA不少。所以不是吸收电流太大的问题。仔细分析当端口并联外接三个二极管的时候等效于加了一个700欧左右的电阻,于是把二极管去掉换成一个1k电阻,液晶也无法显示。

51单片机串口中断使用总结

下面的程序为通过串口调试助手实现上位机通过串口发送数据给单片机,单片机接收后并回发给上位机(发一个接一个)。 #include unsigned int flag,a; void main() { TMOD=0x20; //通过定时器1来设置串行口的波特率 TH1=0xfd; TL1=0xfd; //设置串行口的波特率为9600,相应的晶振频率为11.0592MHZ,SM0=0; SM1=1; //选择串行口为工作方式1 TR1=1; //启动定时器1 REN=1; //允许串行口接收数据 EA=1; //开总中断 ES=1; //开串行口中断 while(1) { if(flag==1) { ES=0; flag=0; SBUF=a; while(!TI); TI=0; ES=1; } } } void srei()interrupt 4 { //if(RI==1) //{ RI=0;

P0=SBUF; //P0口接led来检测接收到的数据 a=SBUF; flag=1; // } } 单片机的串口中断分发送中断和接收中断,即在串口发送完(给发送SBUF赋值并发送)一帧数据后TI(发送中断标志位)置位,而串口接收完(接收SBUF获得数据)一帧数据后RI (接收中断标志位)置位。根据要求在进入中断后可有两种写法: 一:在中断里检测是否是接收中断 void srei()interrupt 4 { if(RI==1) { P0=SBUF; RI=0; //P0口接led来检测接收到的数据 a=SBUF; flag=1; } } 即判断是接收中断,只有在接收中断后,才将SBUF取回,并在主函数里在发送给上位机,此时主函数 if(flag==1) { } 在这个if语句里不用关中断,为啥呢? 上位机发送数据单片机接收进入接收中断通过a=SBUF取回接收到的数据放入a中主函数用if(flag==1)检测a已取回数据用SBUF=a将取回到的数据再放入发送缓冲器并发送发送完后虽进入中断由于中断里用if(RI==1)检测,所以发送中断里并不执行其他命令,因此实现了数据的一收一发 二:不在中断里检测是否是接收中断 中断函数这样写

单片机基础知识点总结

单片机基础知识点总结 单片机基础知识点总结 第1章 1、微型计算机通常由哪些部分组成?各有哪些功能? 答:微型计算机通常由控制器、运算器、存储器、输入输出接口电路、输入设备和输出设备组成。控制器的功能是负责从内部存储器中取出指令 并对指令进行分析、判断、并根据指令发出控制信号,使计算机有条不紊 的协调工作;运算器主要完成算数运算和逻辑运算;存储器用于存储程序 和数据;输入输出接口电路完成CPU与外设之间相连;输入和输出设备用于和计算机进行信息交流的输入和输出。 2、单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点? 答:与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和IO端口引脚具有复用功能;软件上,采用面向控制的 指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。单片机 还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性 高等特点。 3、单片机的几个重要指标的定义。 答:单片机的重要指标包括位数(单片机能够一次处理的数据的宽度)、存储器(包括程序存储器、数据存储器)、IO口(与外界进行信息交换)、速度(每秒执行多少条指令)、工作电压(通常是5V)、功耗和温度。

4、单片微型计算机主要应用在哪些方面? 答:单片机的主要应用领域有智能化产品、智能化仪表、智能化测控系统、智能化接口等方面。 5、单片机的特点 存储器ROM和RAM严格分工;采用面向控制的指令系统;输入输 出端口引脚具有复用功能;品种规格的系列化;硬件功能具有广泛的通用 性 6、水塔水位的控制原理 (1)当水位上升达到上限时,B、C棒与A棒导电,从而与+5V电源连通。b、c两端均呈高电平状态,这时应使电机和水泵停止工作,不再给水 塔供水。(2)当水位降到下限以下时,B、C棒不与A棒导电,从而断开与 +5 V电源的连通。b、c两端均呈低电平状态。这时应启动电机,带动水泵工作给水塔供水。(3)当水位处于上下限之间时,B棒与A棒导电,而C棒不与A棒导电。b端呈高电平状态,c端呈低电平状态。这时无论是电机已在运转还是停止,都应维持电机和水泵的现有工作状态,直到水位上升到 水位上限或下降到水位下限。 第2章 1、MCS-51单片机内部包含哪些主要功能部件?它们的作用是什么? 答:MCS-51单片机在一块芯片中集成了CPU、RAM、ROM、定时计数器、多功能IO口和中断控制等基本功能部件。1)单片机的核心部分是CPU,CPU是单片机的大脑和心脏。2)程序存储器用于存放编好的程序或表格常数。数据存储器用于存放中间运算结果、数据暂存和缓冲、标志位等。3)

51单片机c语言总结.

入门有针对性的解决一些简单的实际问题,边理论边实践学一样会一样 基本实验:LED流水灯,数码管显示,键盘控制,音乐播放,继电器控制I2C通信实验,串口通信实验,红外线遥控信号解码实验等 单片机的定义分类和内部组成 1单片机就是中央处理器CPU,随机存储器RAM。只读存储器ROM。定时、计数器和各种输入输出接口I/o接口电路等部件集成在一块电路芯片上的微型计算机。 2,1分类按制造工艺分:HMOS和CHMOS CHMOS包括80c51等中间加了C功耗要小适合便携式手提式和野外作业。 2分类按不同容量的存储器配置分:51子系列和52子系列 51表示单片机最后一位数字为1作为标志。片内带有4KbROM或EPROM(Erasable Programmable ROM,可擦除可编程ROM,128BRAM,两个16位定时器/计数器和5个中段器52系列是增强型各项指标都高。 AT89S51是AT89C51的升级版支持ISP在线更新程序ISP(Internet Service Provider 内部集成看门狗计时器等。 3.1串行接口就是接口数据传送 3.2中断控制系统接收中断请求如定时时间到,需要鸣笛报警类似stop to do 停下来去执行ROM中特定的每段程序,执行完后再继续执行先前中断的程序 时钟电路控制节拍工作。 一个典型的单片机应用系统包括输入电路,单片机,输出电路 把他想象成电脑。 单片机的应用: p5 十六进制A10B11C12D13E14F15 记A10和D13点得13点F15不是F16 十六进制加H 逻辑数据的运算 逻辑与。。。两个输入一个输出中间加一个恒定5v电压 有0为0,全1出1 逻辑或有1为1,全0出0; 字长通常与计算机内部的寄存器和运算器数据总线的宽度一致 实例1功能感受protues仿真单片机播放《渴望》主题曲 运用protues打开仿真原理图。 对单片机进行处理编辑edit component,选取目标文件hex Clock frequency 时钟频率 Ok 原理图编辑窗口没有滚动条,可通过预览窗口该表原理图的可视范围。 Protues双击右键删除 先单击鼠标右键,可通过鼠标左键可以编辑元器件的属性 鼠标右键来删除画错的连线 中键缩放原理图 新建即保存新建设计文件

51单片机中断总结

51单片机中断总结 51单片机中断总结-马强 Yybmec51单片机中断系统5个中断源:2个外部中断请求INT0和INT1、2个片内定时器/计数器T0和T1的溢出中断请求串行口中断请求TI或RI(合为一个中断源)51单片机中断级别中断源INIT0---外部中断0T0---定时器/计数器0中断INIT1---外部中断1T1----定时器/计数器1中断TI/RI---串行口中断T2---定时器/计数器2中断默认中断级别最高第2第3第4第5最低序号(C语言用)012345中断允许寄存器IE位序号符号位 DB7EADB6-------DB5ET2DB4ESDB3ET1DB2EX1DB1ET0DB0EX0EA---全局中允许位。EA=1,打开全局中断控制,在此条件下,由各个中断控制位确定相应中断的打开或关闭。EA=0,关闭全部中断。-------,无效位。ET2---定时器/计数器2中断允许位。ET2=1,打开T2中断。ET2=0,关闭T2中断。ES---串行口中断允许位。ES=1,打开串行口中断。ES=0,关闭串行口中断。ET1---定时器/计数器1中断允许位。ET1=1,打开T1中断。ET1=0,关闭T1中断。EX1---外部中断1中断允许位。EX1=1,打开外部中断1中断。EX1=0,关闭外部中断1中断。ET0---定时器/计数器0中断允许位。ET0=1,打开T0中断。ET0=0,关闭T0中断。EX0---外部中断0中断允许位。EX0=1,打开外部中断0中断。EX0=0,关闭外部中断0中断。中断优先级寄存器IP位序号DB7DB6DB5DB41DB3DB2DB1DBYybmec位地址---------PSPT1PX1PT0PX0-------,无效位。PS---串行口中断优先级控制位。PS=1,串行口中断定义为高优先级中断。PS=0,串行口中断定义为低优先级中断。PT1---定时器/计数器1中断优先级控制位。PT1=1,定时器/计数器1中断定义为高优先级中断。PT1=0,定时器/计数器1中断定义为低优先级中断。PX1---

单片机课程知识点总结

单片机应用技术课程总结大作业 1.单片机C51语言 单片机C51语言与C语言的差别不大,应用的基本语法一致,算法可以套用,但C51语言多了一些C语言中没有的关键字如图1-1,其中大多数都与存储器相关,这也是在编程中特别需要注意的。 图1-1 C51扩展关键字 2.51单片机的内部硬件知识 51单片机在一块芯片上集成了CPU,RAM,ROM、定时器/计数器和多种1O功能部件,具有一台微型计算机的基本结构,主要包括下列部件:一个8位的CPU、一个布尔处理机、一个片内振荡器、128B的片内数据存储器、4KB的片内程序存储器(8031无)、外部数据存储器和程序存储器的寻址范围为64KB,21字节的专用寄存器、4个8位并行10接口、一个全双工的串行口、2个16位的定时器/计数器、5个中断源、2个中断优先级111条指令、片内采用单总线结构。图 2-1为51系列单片机的内部结构框图。

图2-1 51单片机的结构框图 在编程的时候不仅要根据单片机内部硬件资源配置,还要注意每一种硬件外设对应的引脚,这样在大项目中便于充分利用所有的引脚,节约资源;另外合理的分配引脚会尽可能多的拓展单片机的资源,在51单片机中大多采用40引脚的双列直插式的封装(DIP),引脚图如图 2-2所示,有图可以知道,P0~P3中,除标准输出输入引脚P1外,其他引脚都有第二功能,只需将相应外设配置好,就可以利用第二功能。 图2-2 51单片机外部引脚图和总线结构图 单片机有最小工作系统,包括电源电路,复位电路,时钟电路等,只有这些单元与单片机按照要求结合在一起,单片机才能正常工作。51单片机的最小工作系统如图2-3所示:

单片机功能总结

MCS51的中断系统有5个中断源(8052有6个),2个优先级,可实现二级中断嵌套 ET0:定时/计数器T0中断允许位; EX1:外部中断1允许位; ET1:定时/计数器T1中断允许位; Ⅰ,GATE——门控制。 GATE=1时,由外部中断引脚INT0、INT1和控制寄存器的TR0,TR1来启动定时器。 GATE=0时,仅由TR0,TR1置位分别启动定时器T0、T1。 Ⅱ,C/T——功能选择位 置位时选择计数功能,清零时选择定时功能。 Ⅲ,M0、M1——方式选择功能 由于有2位,因此有4种工作方式 ================================================================ M1M0 工作方式计数器模式 TMOD(设置定时器模式) 0 0 方式0 13位计数器 TMOD=0x00 0 1 方式1 16位计数器 TMOD=0x01 1 0 方式 2 自动重装8位计数器 TMOD=0x02 1 1 方式3 T0分为2个8位计数器,T1为波特率发生器 TMOD=0x03 ================================================================ TCON:定时器/计数器控制寄存器

可以通过设置此寄存器里面的相关位,让定时器开启或关闭(TR0、TR1,1:开启,0:关闭),可以在主程序中,通过查询其中的相关位(TF1、TF0,1:溢出,0:没有溢出)。,知道定时有没有溢出 TMOD;定时器/计数器工作方式控制寄存器,通过对这个寄存器不同的位进行设置,可以设置:让T0/T1是定时还是计数方式,是13位计数,16位计数,还是8位自计数,定时的启动是通过定时开关自身启动,还是通过外部中断进行启动。 当IT0=0时,为电平触发方式(低电平有效) 当IT0=1时,为边沿触发方式(下降沿有效) IE0:外部中断0中断请求标志位 IT1:外部中断1触发方式控制位 IE1:外部中断1中断请求标志位 TF0:定时/计数器T0溢出中断请求标志位 TF1:定时/计数器T1溢出中断请求标志位 外部中断 #include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器 typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; sbit k3=P3^2; //定义按键K3 sbit k4=P3^3; //定义按键K4 sbit led=P2^0; //定义P20口是led void delay(u16 i)//延时函数,i=1时,大约延时10us { while(i--); } void Int0Init()//设置外部中断1 INT0 { IT0=1;//1跳变沿出发方式(下降沿)0为电平触发//IT1=1; EX0=1;//打开INT0的中断允许。// EX1=1;//打开INT1的中断允许。 EA=1;//打开总中断 } void main() { Int0Init(); // 设置外部中断0 while(1);

51单片机实习报告

(电子工艺实习) 实习报告 院(部):轨道交通学院 实习地点:工程训练中心D309 班级:自动化141 学生姓名:巩龙波学号140816112 指导教师:张吉卫 时间:2015 年11 月9 日到2015 年11 月13 日 山东交通学院

目录 1. 555电路控制二极管闪烁 (1) 1.1 焊接注意事项 (1) 1.2 设计内容与步骤 (1) 1.2.1 设计电路 (1) 1.2.2 画实物电路图 (1) 1.2.3 焊接成果显示 (2) 1.3 设计材料与成果要求 (2) 1.3.1 设计材料 (2) 1.3.2 实验成果 (2) 2. 555单稳态触发器 (3) 2.1 555定时器工作原理 (3) 2.2 555单稳态触发器 (3) 2.3 画实物电路图 (3) 2.4 实验成果 (3) 3. 万用表的组装与应用 (3) 3.1 实验仪器 (3) 3.2 实验原理 (4) 3.3 试验部件与检测方法 (4) 3.4 安装调试与故障检测 (4) 3.4.1安装 (5) 3.4.2调试与故障检测 (5) 3.5 焊装成果显示 (5) 4 实践收获与体会 (6) 5 实验总结 (6)

实习任务

1.555电路控制二极管闪烁 1.1焊接注意事项 ①掌握好加热时间 在保证焊料润湿焊件的前提下时间越短越好。 ②保持合适的温度 保持烙铁头在合适的温度范围。一般经验是烙铁头温度比焊料熔化温度高50℃较为适宜。 ③用烙铁对焊点加力加热是错误的。 会造成被焊件的损伤,例如电位器、开关、接插件的焊接点往往都是固定在塑料构件上,加力的结果容易造成元件失效。 1.2设计内容与步骤 1.2.1设计电路 1.2.2画实物电路图

单片机考试知识点总结

一、填空题: 1、当使用8051单片机时,需要扩展外部程序存储器,此时EA应接低电平。 2、8051上电复位后,从地址0000H开始执行程序,外部中断1的中断入口地址为0013H. 3、8051最多有64KB的程序存储器和64KB的数据存储器。 4、P0口通常用作分时复用为地址总线(低8位)及数据总线或外接上拉电阻用作普通I/O 口。 5、P2口的功能为用作地址总线和作为普通I/O口使用。 6、若由程序设定RS1、RS0=01,则工作寄存器R0的直接地址为08H。 7、若由程序设定RS1、RS0=00,则工作寄存器R0的直接地址为00H。 8、若累加器A中的数据为01110010B,则PSW中的P=0(偶数个1为0,奇数为1) 9、8051单片机共有5个中断源,分别是INT0外部中断0、INT1外部中断1、T0定时器/计数器中断0中断、T1定时器计数器1中断、串行口中断。 10、ADC0809是8通路8位逐次逼近式模/数转换器。 11、计算机中按功能把总线分为数据总线、地址总线和控制总线。 12、MOV A,#0F5H中,#0F5H的寻址方式称之为立即寻址。MOV类指令称之为一般传输指令。 13、8051的一个机器周期等于12个晶体震荡周期;通常8051单片机的ALE引脚以1/6倍的晶振频率输出脉冲。 14、8051单片机复位后,堆栈指针SP指向第07H号内部RAM;8051的堆栈是向上生长的。 15、十进制调整指令DA A,专用于BCD码的加减运算。 16、单片机的中断触发方式有低电平触发和下降沿触发两种。大多数情况下,单片机控制系统采用下降沿触发方式触发中断。 17、若执行加法运算后累加器(A)中的数据为01110010B,则PSW中的P=0 18、8051单片机的程序存储器和数据存储器编址方式采用的是哈佛结构,即数据存储器和程序存储器分开的编址方式。 二、单项选择题 1、8051单片机执行MOVX写指令时,相关的信号状态是 PSEN无效为高电平,WR有效为低电平 2、若PSW.4=1,PSW.3=1,现在需要保存R1的内容,可执行PUSH 19H指令 3、下列指令不是变址寻址方式的是MOVX A,@DPTR 4、在8051片外扩展一片EEPROM 28C64需要13根地址线(片选除外),8根数据线。 5、8051定时器/计数器工作方式2是自动重装8位计数器 6、单片机程序存储器的寻址范围是由程序计数器PC的位数决定的,MCS-51的PC为15位,因此其寻址范围是64KB。(2^16B=64KB) 7、若单片机的振荡频率为12MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为2^16-1000.(计算过程:机器周期=12/12MHz=1μs 次数=1ms/1μs=1000次方式一为16位=2^16) 8、访问外部数据存储器的指令是MOVX,访问程序存储器的指令是MOVC。 9、汇编语言中,最多包含4个区段,其中操作码区段是必不可少的。 10、MCS-51单片机的位寻址区域为20H-2FH。 11、MCS-51单片机复位后,PC值被初始化为0000H。 12、MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应外部中断0. 三、读程序 1、执行下列程序段中第一条指令后

相关文档
最新文档