文档库 最新最全的文档下载
当前位置:文档库 › 单片机

单片机

单片机
单片机

1. P34- P37口做输出口,接发光二极管,编写并调试程序,使其闪烁。#include "reg5

2.h"

sbit P34=P3^4; //定义LED指示灯的IO口

sbit P35=P3^5;

sbit P36=P3^6;

sbit P37=P3^7;

void main()

{

int i;//计时变量

while(1)

{

for(i=0;i<30000;i++);//延时

P34=!P34;//指示灯IO口反转

P35=!P35;

P36=!P36;

P37=!P37;

}

}

2. P34- P37口做输出口,接发光二极管,编写并调试跑马灯程序。

#include "reg52.h"

sbit P34=P3^4; //定义LED指示灯的IO口

sbit P35=P3^5;

sbit P36=P3^6;

sbit P37=P3^7;

void main()

{

int i;//计时变量

while(1)

{

for(i=0;i<30000;i++);//延时

P34=!P34;//指示灯IO口反转

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

P34=!P34;P35=!P35;

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

P36=!P36;P35=!P35; for(i=0;i<30000;i++);

P37=!P37; P36=!P36;

for(i=0;i<30000;i++); P37=!P37;

}

}

1.设计一个二进制减1计数器,按一次键,减1,并用4个LED显示计数结果,减至0时,重新从15开始计数。

#include

sbit key=P2^0;

unsigned char a;

unsigned char count=15;

void delay (int i)

{ while (i)

i--;

}

void main()

{ while (1)

{ if(key==0)

{ delay(100)

If(key==0)

{ count++;

while (!key)

if(count==16)

count=0;

a=count;

a=a<<4;

Pa3=a;

}

}

2.用1个按键控制LED的显示,要求显示3种以上的不同模式。如,按第一次键,左边2灯和右边2灯轮流显示;按第二次键,1、3灯和2、4灯轮流显示;按第三次键,4灯同时亮灭。

#include

sbit key=P2^0;

sbit P34=P3^4;

sbit P35=P3^5;

sbit P36=P3^6;

sbit P37=P3^7;

unsigned char a;

unsigned char count=0;

void delay(int i)

{ while(i)

i--;

}

void main()

{

int i,j=0;

While(1)

{

If(key==0)

}

{j++;

while(!key) }

if(j==1)

{ P34=!P34;P35=!P35;

for(i=0;I<30000;i++);

P34=!P34;P35=!P35;P36=!P36;P37=!P37;

for(i=0;i<30000;i++) P36=!P35;P37=!P37;

}

if (j==2)

{ P34=!P34;P36=!P36;

for(i=0;i<30000;i++) P34=!P34;

P35=!P35;P36=!P36;P37=!P37;

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

}

if(i==4)

J=0;

}

}

1.设计1个秒计数器,每秒计1次数,在LED上显示出来,计至16清零后重新计数。在上题基础上用按键控制秒计数器的启停,按一次键开始计数,按2次停止计数,按3次又开始计数…。

#include

unsigned char b=0;

unsigned char c=0;

sbit key=P2^0;

void delay(int i)

{

while(i)

i--;

}

void main()

{ TMOD =0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

//TR0=1

while(1)

{ if(key==0)

{ delay(5);

If(key==0)

c++;

}

If(c<3)

{

If(c==1)

TR0=1;

If(c==2)

TR0=0;

}

else

c=1;

}

}

void T0_ISR() interrupt 1

{

static unsigned char Bit=0;

static unsigned char a=0;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

Bit++;

If(Bit>=20)

{

Bit=0;

a++;

If(a<17)

{

b=~a;

P3=b<<4;

}

else

{

a=0;

P3=~a;

}

}

}

1.设计1个秒计数器,每秒计1次数,在LED上显示出来,计至16清零

后重新计数。

#include

unsigned char b=0;

void main()

{

TMOD =0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

while(1)

}

void T0_ISR() interrupt 1

{

static unsigned char Bit=0;

static unsigned char a=0;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

Bit++;

if(Bit>=20)

{

Bit=0;

a++;

If(a<17)

{

b=~a;

P3=b<<4;

}

Else

{

a=0;

P3=~a;

}

}

}

1.采用外部中断的方式实现一个二进制减1计数器,按一次键,减1,并用4个LED显示计数结果,减至0时,重新从15开始计数。

#include

#define unchar unsigned char

sbit P=P1^4;

sbit P=P3^2;

char count;

void delay(unchar i)

{ unchar i;

for(;i>0;i--)

for(j=0;j<255;j++)

}

void inite()

{

EA=1;EX0=1;

IT0=1;

count=0x0f;

P=0;

}

void int_0() interrupt 0 unsigned 0

{

if(k==0)

{ delay(10);

if(k==0)

count+=16

while(k==0)

}

if(count==0xff)

count=0x0f;

}

void main()

{ Inite();

while(1)

P3=count;

}

2. 采用外部中断的方式实现用1个按键控制LED的显示,要求显示3种以上的不同模式。

#include

sbit count temp flag

void delay(unsigned char)

{ unsigned char j;

for(j=0;j<199;j++)

}

void Inte()

{

EA=1;EX0=1;

IT0=1;P=0;

count=0;flag=0;

}

void int_0() interrupt 0 unsigned 0

if(k==0)

{ delay(10);

if(k==0)

count++;

while(k==0)

flag=1;

}

switch(count)

{

case1:P3=0x0f;break;

case2:P3=0x0f;break;

case3:P3=0x6f;break;

default: count=0;flag=0;break;

}

void main()

{

int a; Inite();

while(1)

{ a=1;

if(flag==1)

{ while(a>0)

a++;

a=1; temp=~P3;

P3=temp/0x0f;

}

单片机原理及应用与C51程序设计(第三版)第1章作业

习题 1. 给出下列有符号数的原码、反码和补码(假设计算机字长为8位)。 +45 -89 -6 +112 答:【+45】原=00101101,【+45】反=00101101,【+45】补=00101101 【-89】原=11011001,【-89】反=10100110,【-89】补=10100111 【-6】原=10000110,【-6】反=11111001,【-6】补=11111010 【+112】原=01110000,【+45】反=01110000,【+45】补=01110000 2. 指明下列字符在计算机内部的表示形式。 AsENdfJFmdsv120 答:41H 73H 45H 4EH 64H 66H 4AH 46H 6DH 64H 73H 76H 31H 32H 30H 3.何谓微型计算机硬件?它由哪几部分组成?并简述各部分的作用。 答:微型计算机硬件由中央处理器、存储器、输入/输出设备和系统总线等组成,中央处理器由运算器和控制器组成,是微型计算机运算和控制中心。存储器是用来存放程序和数据的记忆装置。输人设备是向计算机输人原始数据和程序的装置。输出设备是计算机向外界输出信息的装置。I/O接口电路是外部设备和微型机之间传送信息的部件。总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。微型计算机的各大功能部件通过总线相连。 4.简述8086CPU的内部结构。 答:8086微处理器的内部分为两个部分:执行单元(EU)和总线接口单元(BIU)。执行部件由运算器(ALU)、通用寄存器、标志寄存器和EU控制系统等组成。EU从BIU的指令队列中获得指令,然后执行该指令,完成指今所规定的操作。总线接口部件BIU由段寄存器、指令指针寄存器、地址形成逻辑、总线控制逻辑和指令队列等组成。总线接口部件负责从内部存储器的指定区域中取出指令送到指令队列中去排队。 5.何谓总线?总线按功能可分为哪几种? 答:总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。总线功能来划分又可分为地址总线(Address Bus)、数据总线(Date Bus)和控制总线(Control Bus)三类。 6.内部存储器由哪几部分组成? 答:包括随机存储器(RAM)和只读存储器(ROM)。 7.简述8086中的存储器管理? 答:8086把1M空间分成若干块(称为“逻辑段”),各个逻辑段之间可在实际存储空间中完全分开,也可以部分重叠,甚至可以完全重叠。每个逻辑段容量不超过64K字节,这样就可用16位寄存器提供地址访问。一个存储单元的地址可由段基址和偏移地址组成,这个地址我们称为逻辑地址,一般表示为“段基址:偏移地址”。而1M存储空间中的20位地址称为物理地址。逻辑地址是程序中使用的地址,物理地址是访问存储器的实际地址。 物理地址=段基址×16 + 段内偏移地址

单片机制作

自己动手做单片机实验板 孔子说:“工欲善其事,必先利其器”,学习单片机所用的工具、元器件和数模电路是有一些区别的,我们在学习之前最好先备齐它们,至少让外人看出我们是搞过单片机的。有几样东东很重要,在上场之前不得不提及。 刀枪剑戟 一台电脑:这在日后写程序或是下载程序都是必需之物。现在的新款电脑越来越不适合单片机学习了或者说单片机的设备也应该更新换代了,一般常用的 9针串口和 25针并口多数被方方正正的 USB接口所取代。更新推出的操作系统对开发软件支持并不很好,建议大家使用 WIN XP或 WIN 2000系统。不用考虑 CPU速度和存储空间,同时电脑要有 9针的串口和 25针的并口(打印机接口),如果没有可以用 USB转换器扩展,不过其效果不如原配夫妻。 ISP下载线:从电脑向手机下载图片或音乐一般都有一条连接线,再配上手机专用的软件就可以让手机丰富多彩了。单片机也可以用这样的方法,虽然这不是唯一的方法,但这较适合一般的单片机学习,好而不贵。ISP下载线就是一个设计有简单电路的单片机程序下载工具,它就像塑造生命的天使,配上小巧的 ISP下载软件就可以施与单片机灵魂。虽然我们不是上帝,但在后文我们先要亲手塑造它,先做好心理准备。 实验板:这是一年半载也玩不腻的家伙,因为这是在学习中不断扩展的。它是将一块单片机焊在一片电路板中间,板上还焊有电源和单片机的最小系统电路,见图 1。如果继续往下说许多读者朋友会骂我太粗心了,所以我不得不解释一下“最小系统”是啥东东。随便抓一个数模电路的芯片,它要是想正常工作必须有一个先天条件,就是符合要求的电源。单片机也是一样,不过它太讲究了,要的东西更多。除了一个稳定的电源供电之外,它还需要一个复位电路,就是给单片机一个信号让它归回到开始工作的状态。同时晶振部分电路也是必不可少的,这相当于给单片机带了一块手表,让它有时间观念,知道自己什么时候该干什么事情。总之最小系统就是保证单片机正常工作的最基本电路部分。OK,再说回到单片机实验板。我是买元器件自己制作实验板的,我感觉没有必要多花钱去买一个成品,虽然这样说卖实验板的人可能会扁我。自己动手可以学到单片机硬件电路的知识和掌握制作的细节,这是不可多得的实践机会。你决定实验板 DIY了吗?我们一起做吧!

单片机及应用第1章习题解答

第1章 思考题及习题1 1.除了单片机这一名称之外,单片机还可称为和。 2.单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在一起,集成于一块芯片上。 3.在家用电器中使用单片机应属于微计算机的。 A.辅助设计应用????B.测量、控制应用 C.数值计算应用??? D.数据处理应用 4.微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有何区别? 5.MCS-51系列单片机的基本型芯片分别为哪几种?它们的差别是什么? 6.AT89S51单片机相当于MCS-51系列单片机中的哪一型号的产品?“S”的含义是什么? 7.什么是“嵌入式系统”? 8.嵌入式处理器家族中的单片机、DSP、嵌入式微处理器各有何特点?它们的应用领域有何不同? 参考答案 1.答:微控制器,嵌入式控制器 2.答:CPU、存储器、I/O口、总线 3.答:B 4.答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。 嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。嵌入式微处理器相当于通用计算机中的CPU。与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。而嵌入式微处理器仅仅相当于单片机中的中央处理器。为了满足嵌入

式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。 5.答:MCS-51系列单片机的基本型芯片分别:8031、8051和8071。它们的差别是在片内程序存储器上。8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM。 6.答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。 7.广义上讲,凡是系统中嵌入了“嵌入式处理器”,如单片机、DSP、嵌入式微处理器,都称其为“嵌入式系统”。但多数人把“嵌入”嵌入式微处理器的系统,称为“嵌入式系统”。目前“嵌入式系统”还没有一个严格和权威的定义。目前人们所说的“嵌入式系统”,多指后者。 8.单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。单片机在嵌入式处理器市场占有率最高,最大特点是价格低,体积小。 DSP是一种非常擅长于高速实现各种数字信号处理运算(如数字滤波、FFT、频谱分析等)的嵌入式处理器。由于对其硬件结构和指令进行了特殊设计,使其能够高速完成各种复杂的数字信号处理算法。广泛地用于通讯、网络通信、数字图像处理,电机控制系统,生物信息识别终端,实时语音压解系统等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP的长处所在。与单片机相比,DSP具有的实现高速运算的硬件结构及指令和多总线,DSP处理的算法的复杂度和大的数据处理流量以及片内集成的多种功能部件更是单片机不可企及的。 嵌入式微处理器的基础是通用计算机中的CPU,它的地址总线数目较多能扩展较大的存储器空间,所以可配置实时多任务操作系统(RTOS)。RTOS是嵌入式应用软件的基础和开发平台。正由于嵌入式微处理器能运行实时多任务操作系统,所以能够处理复杂的系统管理任务和处理工作。因此,广泛地应用在移动计算平台、媒体手机、工业控制和商业领域(例如,智能工控设备、ATM机等)、电子商务平台、信息家电(机顶盒、数字电视)以及军事上的应用。

第1章 单片机各种封装介绍

单片机各种封装介绍 单片机实质上是一个芯片,封装形式有很多种,例如DIP(Dual In-line Package双列直插式封装)、SOP(Small Out-Line Package小外形封装)、PLCC(Plastic Leaded Chip Carrier带引线的塑料芯片封装)、QFP(Quad Flat Package塑料方型扁平式封装)、PGA(Pin Grid Array package插针网格阵列封装)、BGA(Ball Grid Array Package球栅阵列封装)等。其中,DIP 封装的单片机可以在万能板上焊接,其它封装形式的单片机须制作印制电路板(Printed Circuit Board,PCB),PGA和BGA一般用于超大规模芯片封装,单片机用得较少。 下面简单介绍一下常见的芯片封装形式。 1. DIP封装 DIP(Dual In-line Package)是指采用双列直插形式封装的集成电路芯片,绝大多数中小规模集成电路(IC)均采用这种封装形式,其引脚数一般不超过100个。DIP封装的芯片在从芯片插座上插拔时应特别小心,以免损坏引脚。DIP封装芯片如图1所示。 图1 DIP封装芯片 DIP封装具有以下特点: 》 (1)适合在PCB (印刷电路板)上穿孔焊接,操作方便。 (2)芯片面积与封装面积之间的比值较大,故体积也较大。 2. SOP封装 SOP(Small Out-Line Package小外形封装)是一种很常见的元器件形式。表面贴装型封装之一,引脚从封装两侧引出呈海鸥翼状(L 字形)。材料有塑料和陶瓷两种。SOP封装芯片如图2所示。 图2 SOP封装芯片 3. PLCC封装 PLCC(Plastic Leaded Chip Carrier带引线的塑料芯片封装)是表面贴装型封装之一,外形呈正方形,32脚封装,引脚从封装的四个侧面引出,呈丁字形,是塑料制品,外形尺寸比

(完整版)单片机第一章习题

第一章 一、判断题 ()1.MCS—51单片机是高档16位单片机。 ()2.单片机的CPU从功能上可分为运算器和存贮器。 ()8.MCS—51的程序存贮器用于存放运算中间结果。 ()9.MCS—51的数据存贮器在物理上和逻辑上都分为两个地址空间:一个是片内的256字节的RAM,另一个是片外最大可扩充64K字节的RAM。 ()10.单片机的复位有上电自动复位和按钮手动复位两种,当单片机运行出错或进入死循环时,可按复位键重新启动。 ()11.CPU的时钟周期为振荡器频率的倒数。 ()12.单片机的一个机器周期是指完成某一个规定操作所需的时间,一般情况下,一个机器周期等于一个时钟周期组成。 ()13.单片机的指令周期是执行一条指令所需要的时间。一般由若干个机器周期组成。 ()14.单片机系统扩展时使用的锁存器,是用于锁存高8位地址。 ()15.MCS—51单片机上电复位后,片内数据存储器的内容均为00H。 ()16.当8051单片机的晶振频率为12MHZ时,ALE地址锁存信号端的输出频率为2MHZ的方脉冲。()17.8051单片机片内RAM从00H~1FH的32个单元,不仅可以作工作寄存器使用,而且可作为RAM 来读写。 ()18.MCS—51单片机的片内存贮器称为程序存贮器。 ()19.MCS—51单片机的数据存贮器是指外部存贮器。 ()20.MCS—51单片机的特殊功能寄存器集中布置在片内数据存贮器的一个区域中。 ()6.8051的累加器ACC是一个8位的寄存器,简称为A,用来存一个操作数或中间结果。 ()7.8051的程序状态字寄存器PSW是一个8位的专用寄存器,用于存程序运行中的各种状态信息。 二、单项选择题 1.MCS—51单片机的CPU主要的组成部分为。 A.运算器、控制器 B.加法器、寄存器 C.运算器、加法器 D.运算器、译码器 2.单片机能直接运行的程序叫。 A.源程序 B。汇编程序 C。目标程序 D。编译程序 3.单片机中的程序计数器PC用来。 A.存放指令 B.存放正在执行的指令地址 C.存放下一条指令地址D.存放上一条指令地址 4.单片机上电复位后,PC的内容和SP的内容为。 A.0000H,00H B。0000H,07H C。0003H,07H D。0800H,08H 5.单片机8031的ALE引脚是。 A.输出高电平 B。输出矩形脉冲,频率为fosc的1/6 B.C.输出低电平 D。输出矩形脉冲,频率为fosc的1/2 6.单片机8031的EA引脚。 A.必须接地 B。必须接+5V C。可悬空 D。以上三种视需要而定 7.访问外部存贮器或其它接口芯片时,作数据线和低8位地址线的是 A 。 A.P0口 B。P1口 C。P2口 D。P0口和 P2口 8.PSW中的RS1和RS0用来。 A.选择工作寄存器区号 B。指示复位 C。选择定时器 D。选择工作方式

单片机原理第2章习题解答

第2章思考题及习题2参考答案 一、填空 1. 在AT89S52单片机中,如果采用6MHz晶振,一个机器周期为。答:2μs 2. AT89S52单片机的机器周期等于个时钟振荡周期。答:12 3. 内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为 和。答:28H,88H 4. 片内字节地址为2AH单元最低位的位地址是;片内字节地址为A8H单元的最低位的位地址为。答:50H,A8H 5. 若A中的内容为63H,那么,P标志位的值为。答:0 6. AT89S52单片机复位后,R4所对应的存储单元的地址为,因上电时PSW= 。这时当前的工作寄存器区是组工作寄存器区。答:04H,00H,0。 7. 内部RAM中,可作为工作寄存器区的单元地址为 H~ H。答:00H,1FH 8. 通过堆栈操作实现子程序调用时,首先要把的内容入栈,以进行断点保护。调用子程序返回指令时,再进行出栈保护,把保护的断点送回到,先弹出的是原来中的内容。答:PC, PC,PCH 9. AT89S52单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89S52单片机的PC是16位的,因此其寻址的范围为 KB。答:64 10. AT89S52单片机复位时,P0~P3口的各引脚为电平。答:高 11. AT89S52单片机使用片外振荡器作为时钟信号时,引脚XTAL1接,引脚XTAL2的接法是。答:片外振荡器的输出信号,悬空 12. AT89S52单片机复位时,堆栈指针SP中的内容为,程序指针PC中的内容为 。答:07H,0000H 二、单选 1. 程序在运行中,当前PC的值是。 A.当前正在执行指令的前一条指令的地址 B.当前正在执行指令的地址。 C.当前正在执行指令的下一条指令的首地址 D.控制器中指令寄存器的地址。 答:C 2. 判断下列哪一种说法是正确的?

单片机十八般兵制作

单片机入门制作专辑--2.十八般兵器 [ 来源:本站原创 | 作者: | 时间:2008年02月11日 | 浏览: 1417 十八般兵器 快使用单片机,哼哼哈兮! 孔子说:“工欲善其事,必先利其器”,学习单片机所用的工具、元器件和数模电路是有一些区别的,我们在学习之前最好先备齐它们,至少让外人看出我们是搞过单片机的。有几样东东很重要,在上场之前不得不提及。 刀枪剑戟 一台电脑:这在日后写程序或是下载程序都是必需之物。现在的新款电脑越来越不适合单片机学习了或者说单片机的设备也应该更新 换代了,一般常用的 9针串口和 25针并口多数被方方正正的 USB接口所取代。更新推出的操作系统对开发软件支持并不很好,建议大家使用 WIN XP或 WIN 2000系统。不用考虑CPU速度和存储空间,同时电脑要有 9针的串口和 25针的并口(打印机接口),如果没有可以用 USB转换器扩展,不过其效果不如原配夫妻。 ISP下载线:从电脑向手机下载图片或音乐一般都有一条连接线,再配上手机专用的软件就可以让手机丰富多彩了。单片机也可以用这样的方法,虽然这不是唯一的方法,但这较适合一般的单片机学习,好而不贵。ISP下载线就是一个设计有简单电路的单片机程序下

载工具,它就像塑造生命的天使,配上小巧的 ISP下载软件就可以施与单片机灵魂。虽然我们不是上帝,但在后文我们先要亲手塑造它,先做好心理准备。 实验板:这是一年半载也玩不腻的家伙,因为这是在学习中不断扩展的。它是将一块单片机焊在一片电路板中间,板上还焊有电源和单片机的最小系统电路,见图 1。如果继续往下说许多读者朋友会骂我太粗心了,所以我不得不解释一下“最小系统”是啥东东。随便抓一个数模电路的芯片,它要是想正常工作必须有一个先天条件,就是符合要求的电源。单片机也是一样,不过它太讲究了,要的东西更多。除了一个稳定的电源供电之外,它还需要一个复位电路,就是给单片机一个信号让它归回到开始工作的状态。同时晶振部分电路也是必不可少的,这相当于给单片机带了一块手表,让它有时间观念,知道自己什么时候该干什么事情。总之最小系统就是保证单片机正常工作的最基本电路部分。OK,再说回到单片机实验板。我是买元器件自己制作实验板的,我感觉没有必要多花钱去买一个成品,虽然这样说卖实验板的人可能会扁我。自己动手可以学到单片机硬件电路的知识和掌握制作的细节,这是不可多得的实践机会。你决定实验板 DIY了吗?我们一起做吧! 图 1 忘了是哪一部抗日题材的电影里有一句经典台词:“别看你今天闹的欢,小心将来拉清单”。当时我还真不知道这话的意思,但我写到这里的时候我终于明白了,闹了这么长时间单片机,今天终于到我拉清单了。附表所示这个清单列出了学习单片机所需要的兵器,这是在成家立业之前必要的条件,里面我列出了大概的市场价格以防被黑。各元器件的外形如图 2所示。其实满打满算学习单片机也要不了几个钱,一般的元器件也就几块钱。几块钱能买什么?买不了房子买不了田,买几个元器件能用好几年。必要的时候可以和卖元器件的老板砍砍价,你砍得多省得多,回去能买辆自行车。 附表实验板 DIY元器件采购清单

单片机35个实例1(汇编)

1.闪烁灯 1.实验任务 如图4.1.1所示:在P1.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。 2.电路原理图 图4.1.1 3.系统板上硬件连线 把“单片机系统”区域中的P1.0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。

4.程序设计内容 (1).延时程序的设计方法 作为单片机的指令的执行的时间是很短,数量大微秒级,因此, 我们要求的闪烁时间间隔为0.2秒,相对于微秒来说,相差太 大,所以我们在执行某一指令时,插入延时程序,来达到我们 的要求,但这样的延时程序是如何设计呢?下面具体介绍其原 理: 如图4.1.1所示的石英晶体为12MHz,因此,1个机器周期为1微秒 机器周期微秒 MOV R6,#20 2个 2 D1: MOV R7,#248 2个 2 2+2×248 =498 20× DJNZ R7,$ 2个2×248 (498 DJNZ R6,D1 2个2×20=40 10002

因此,上面的延时程序时间为10.002ms。 由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7 =248时,延时10ms,以此为基本的计时单位。如本实验要求 0.2秒=200ms,10ms×R5=200ms,则R5=20,延时子程序如 下: DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET (2).输出控制 如图1所示,当P1.0端口输出高电平,即P1.0=1时,根据 发光二极管的单向导电性可知,这时发光二极管L1熄灭;当 P1.0端口输出低电平,即P1.0=0时,发光二极管L1亮;我 们可以使用SETB P1.0指令使P1.0端口输出高电平,使用 CLR P1.0指令使P1.0端口输出低电平。 5.程序框图

单片机及应用第1章习题解答

第1章 思考题及习题1 1.除了单片机这一名称之外,单片机还可称为和。 2.单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在一起,集成于一块芯片上。 3.在家用电器中使用单片机应属于微计算机的。 A.辅助设计应用 B.测量、控制应用 C.数值计算应用 D.数据处理应用 4.微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有何区别? 5.MCS-51系列单片机的基本型芯片分别为哪几种?它们的差别是什么? 6.AT89S51单片机相当于MCS-51系列单片机中的哪一型号的产品?“S”的含义是什么? 7.什么是“嵌入式系统”? 8.嵌入式处理器家族中的单片机、DSP、嵌入式微处理器各有何特点?它们的应用领域有何不同? 参考答案 1.答:微控制器,嵌入式控制器 2.答:CPU、存储器、I/O口、总线 3.答:B 4.答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。

嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。嵌入式微处理器相当于通用计算机中的CPU。与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。而嵌入式微处理器仅仅相当于单片机中的中央处理器。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。 5.答:MCS-51系列单片机的基本型芯片分别:8031、8051和8071。它们的差别是在片内程序存储器上。8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM。 6.答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。 7.广义上讲,凡是系统中嵌入了“嵌入式处理器”,如单片机、DSP、嵌入式微处理器,都称其为“嵌入式系统”。但多数人把 “嵌入”嵌入式微处理器的系统,称为“嵌入式系统”。 目前“嵌入式系统”还没有一个严格和权威的定义。目前人们所说的“嵌入式系统”,多指后者。 8.单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。单片机在嵌入式处理器市场占有率最高,最大特点是价格低,体积小。 DSP是一种非常擅长于高速实现各种数字信号处理运算(如数字滤波、FFT、频谱分析等)的嵌入式处理器。由于对其硬件结构和指令进行了特殊设计,使其能够高速完成各种复杂的数字信号处理算法。广泛地用于通讯、网络通信、数字图像处理,电机控制系统,生物信息识别终端,实时语音压解系统等。这类智能化算法一般都是运算量较大,特别

单片机课后第一二章习题答案

第一章 1,什么是单片机,它与一般微型计算机在结构上有何区别? 答;单片机是把CPU、RAM和ROM存储器、并行/串行输入输出接口、定时器/计数器、振荡器等五大部分全部集成在一块芯片里,只要在配置几个小元件,例如电阻、电容等即可构成一个完整的微型计算机。而一般的微型计算机那几个主要部分分别由不同的芯片组成,把它们组装在电路板上即可构成一般的微型计算机。2,单片机的发展大概可分为几个阶段,各阶段的单片机功能特点是什么? 答; SCM(单片微型计算机)阶段 MCU(单片微控制器) 阶段 SOC(嵌入式系统/单片应用系统)阶段 特点一1功能强大 2应用范围广 3易扩展 单片机除以上特点外,还具有系统结构简单,使用方便,模块化;控制功能强;可靠性高;处理功能强,速度快;低电压,低功耗,便于生产便携式产品;环境适应能力强;性价比高等硬性特点。

第二章 1,MCS-51系列单片机内部有哪些主要的逻辑部件? 2,MCS-51设又4个8位并行端口(32条1/0线),实际应用中8位数据信息由哪一个端口传送?16位地址线怎么样形成? P3口有何功能? 答; P0口是51单片机的数据总线,数据信息经P0口送出。实际运行过程中P0口是分时复用的,这种处理由单片机内部自动完成,你只要写好相应代码即可。好像是前半个周期(具体时序记不清了,你可看一下时序图)P0口P2口分别输出地址信号,后半个周期才是数据的输入或输出,其中低8位由P0口输出,经典电路中一般使用74373作为地址锁存器,通过单片机的ALE信号完成地址锁存操作,保证读写数据时被寻址器件或端口的地址信号线的正确性;高8位则从P2口输出,本身带锁存功能,寻址过程中不会再变化。8位地址和16位地址原理上是一样的,区别仅在于是否使用P2口,换句话说如果你只使用了低8位寻址的模式,在外部地址读写时高8位送什么值都行,当然,前提是没使用P2口。 3,试分析MCS-51端口的两种读操作(读端口引脚和读锁存器),读一修改一写操作是按哪一种操作进行?结构上的这种安排有何作用? 答;读一修改一写操作是由输入操作进行的; 这样安排不直接读引脚上的数据而读锁存器Q端的数据,是为了避免可能错误读引脚上的引脚信号。 4,MCS-51的锁存器结构与一般的微型计算机有何不同? 程序储存器和数据储存器各有何功用? 答;1,MCS-51的锁存器结构与一般的微型计算机的配置方式不同,它把程序存储

单片机C语言(非常通俗易懂)

单片机C语言(非常通俗易懂) (一) 相信很多爱好电子的朋友,对单片机这个词应该都不会陌生了吧。不过有些朋友可能只听说他叫单片机,他的全称是什么也许并不太清楚, 更不用说他的英文全称和简称了。单片机是一块在集成电路芯片上集成了一台有一定规模的微型计算机。简称为:单片微型计算机或单片机 (Single Chip Computer)。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、实时控制、通信、家电等方面。不过这一切都没 什么关系,因为我(当然也包括任何人)都是从不知道转变成知道的,再转变成精通的。现在我只想把我学习单片机的经历,详细地讲叙给大 家听听,可能有些大虾会笑话我,想:那么简单的东西还在这里卖弄。但是你错了,我只是把我个人学习的经历讲述一遍而已,仅仅对那些想 学习单片机,但又找不到好方法或者途径的朋友,提供一个帮助,使他们在学习过程中,尽量少走些弯路而已! 首先,你必须有学习单片机的热情,不是说今天去图书馆看了一个下午关于单片机的书,而明天玩上半天,后天就不知道那个本书在讲什 么东西了。还是先说说我吧,我从大二的第一个学期期末的时候才开始接触单片机,但在这之前,正如上面所说的:我知道有种芯片叫单片机, 但是具体长成什么样子,却一点也不知道!看到这里很多朋友一定会忍不住发笑。嘿嘿,你可千万别笑,有些大四毕业的人也同样不知道单片 机长成什么样子呢!而我对单片机的痴迷更是常人所不能想象的地步,大二的期末考试,我全放弃了复习,每当室友拿着书在埋头复习的时候, 我却捧着自己从图书馆借的单片机书在那看,虽然有很多不懂,但是我还是坚持了下来,当时我就想过,为了单片机值不值得我这样去付出, 或许这也是在一些三流学校的好处吧,考试挂科后,明年开学交上几十元一门的补考费,应该大部分都能过了。于是,我横下一条心,坚持看 我的单片机书和资料。 当你明白了单片机是这么一回事的时候,显而易见的问题出来了:我要选择那种语言为单片机编写程序呢?这个问题,困扰了我好久。具 体选择C51还是A51呢?汇编在我们大二之前并没有开过课,虽然看着人家的讲解,很容易明白单片机的每一时刻的具体工作情况,但是一合上 书或者资料,自己却什么也不知道了,根本不用说自己写程序了。于是,我最终还是决定学C51,毕竟C51和我们课上讲的C语言,有些类似, 编程的思想可以说是相通的。而且C51还有更大的优点就是编写大程序时的优越性更不言而喻,当然在那时,我并没有想的那么深远,C51的特 点,还是在后来的实践过程中,渐渐体会到的!朋友如果你选择了C51,那么请继续往下看,如果你选择了A51,那么你可以不要看了!因为下面讲 的全是C方面的,完全在浪费你的时间! 呵呵 ^_^ 第二,既然你想学好单片机,你必须得舍得花钱,如果不买些芯片回来自己动手焊焊拆拆的(但是在后期会介绍给大家一个很好用的硬件 仿真软件,并不需要你用实验板和仿真器了,直接在你的PC上完成,但是软件毕竟是软件,从某个特定的意义上来说是并不能代替硬件的),即使

单片机第一章答案

1.什么是单片机? 单片机也称为微控制器,它是将CPU、存储器、输入/输出接口、定时器和实时时钟等电路集成在一片大规模集成电路芯片上所构成的微型计算机,。 2.微处理器、微型计算机、微型计算机系统及单片机之间的关系是什么? 微处理器也可称为中央处理器CPU,主要由控制器和运算器组成。 微型计算机由运算器、控制器、存储器、输入设备和输出设备五大部分组成,其中,运算器和控制器集成在一块大规模集成电路芯片上,称为微处理器。 由微型计算机配以相应的外围设备(如打印机、显示器、输入/输出设备、磁盘机和磁带机等)、其他专用的电路、电源、面板、机架以及足够的软件构成的系统叫做微型计算机系统,可以将其表述为“微型计算机+电源+外设+软件系统”。 将微型计算机集成在一个芯片上即构成单片微型计算机,简称单片机。 3.简述计算机的基本结构。 计算机按其基本构成均可分为两部分,即硬件系统和软件系统。 (1)硬件系统:由运算器、控制器、存储器、输入输出设备组成。 (2)软件系统:由系统软件和应用软件等组成。 4.微型计算机由哪几部分组成? 微型计算机是以微处理器为核心,配以存储器、输入/输出接口电路和相应的辅助电路而构成的计算机。微型计算机的结构特点是:微型计算机的运算器和控制器集成在一块集成电路芯片上,称为微处理器;微型计算机采用总线结构将组成系统的各部分连接在一起。 所谓总线(Bus)是指连接多个部件的公共信息通路,或者说是多个部件之间的公共连线。按照在总线上传送信息的内容,总线可分为数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线CB(Control Bus)。 5.简述常用软件类型。 一般来讲软件被划分为系统软件、应用软件,管理软件、行业软件、安全防护软件、多媒体

单片机第8章答案

思考题: 【8-1】在存储器扩展中,无论是线选法还是译码法最终都是为扩展芯片的片选端提供()控制信号。 【8-2】起止范围为0000H~7FFFH的存储器的容量是()KB。 【8-3】在80C51单片机中,PC和DPTR都用于提供地址,但PC是为访问()存储器提供地址,而DPTR 是为访问()存储器提供地址。 【8-4】12条地址线可选()个存储单元,16KB存储单元需要()条地址线。4KB RAM存储器的首地址若为0000H,则末地址为()H。 【8-5】试回答为什么单片机系统在外部扩展ROM和RAM时,即使地址相同也不会造成总线冲突? 【8-6】为什么80C51单片机存储器扩展必须用锁存器? 【8-7】哪些指令能访问单片机外部数据存储器?执行这些指令时,会产生什么信号?这些信号与单片机访问外部程序存储器时产生的信号有什么不同? 【8-8】试画出80C51单片机扩展1片27128程序存储器时的接线图,并写出27128的地址范围。 【8-9】试画出80C51单片机扩展4片27128程序存储器时的接线图,并写出4片27128的地址范围。 【8-10】试画出80C51单片机与三片SRAM6264的连接图,写出它们各自的地址码范围。 【8-11】并行简单I/O口扩展的方法是? 【8-12】并行简单I/O口扩展数据传送指令与读写外部RAM相同? 【8-13】试简述可编程并口芯片81C55和82C55工作在基本输入/输出和选通输入/输出的差别? 思考题: 【8-1】片选。 【8-2】32KB。 【8-3】程序,数字 【8-4】4KB,14,0FFFH。 【8-5】因为其读取ROM时单片机用PSEN控制程序指令的读出,读取RAM时单片机用RD控制程序指令的读出,另外部数据存储器RAM单片机控制还可以通过WR进行写入操作。 【8-6】因为所有的存储器扩展电路P0口都工作在分时复用状态。 【8-7】MOVX A,@DPTR,MOVX A,@Ri 这类指令可以操作将外RAM的数据读入单片机,该指令可令单片机的RD信号为低电平。MOVX @DPTR,A、MOVX @Ri,A 这类指令可以将单片机中累加器A的内容写入到外RAM 单元,该指令可令单片机的WR信号为低电平。 【8-8】解:(1)电路图如下:

单片机

湖南科技大学 信息与电气工程学院 《课程设计报告》 题目:多功能数字时钟 专业:通信工程 班级:一班 姓名:徐升炜 学号: 1254040128 指导教师:尹艳群 2015年 6 月 23 日

信息与电气工程学院 课程设计任务书 2014—2015 学年第二学期 专业:通信工程班级:一班学号: 1254040128 姓名:徐升炜 课程设计名称:单片机课程设计 设计题目:多功能数字时钟 完成期限:自 2015 年 6 月 8 日至 2015 年 6 月 19 日共 2 周 设计依据、要求及主要内容(可另加附页): 一、设计依据 本方案以STC15F2K60S2单片机作为主控核心,与时钟芯片、LED显示、按键等模块组成硬件系统,通过《单片机原理与应用》这门课的课程设计,学生应能对STC15系列单片机有一个全面的认识,掌握以STC15系列单片机为核心的电子电路的设计方法和应用技术。 二、要求 (1)利用STC15F2K60S2单片机作为主控器组成一个电子日历和电子钟。 (2)利用LED分别显示当前时间和日历。 (3)利用尽可能少的开关实现:校正日历和时间 (4)定制闹钟(时、分、表) 三、设计内容 该课程设计是利用STC15F2K60S2单片机内容的定时/计数器、中断系统、以及行列键盘和LED显示器等部件,设计一个单片机电子时钟。设计的电子时钟通过数码管显示,并通过按键实现时间和暂停、启动控制等。我们选择的方法是单片机开发设计使用的传统方法,通过本次设计,可以了解整个单片机开发的流程。文章首先介绍了单片机的基本知识,然后同时给出了框图,流程图等。论文涵盖了从需求分析,系统设计,编程,原理图等产品开发的基本过程。 近几年,单片机在各个领域得到广泛的应用。从工业到人们的日常生活,大部分的科技产品都是通过单片机来控制。在它问世之前,自动控制设备不能被广泛的应用,这是因为控制设备的体积庞大,耗电量大,价格昂贵。在第一台微处理器成功研制不久,第一个单片机就问世了。因为其小巧的体积,低功耗,以及高效的性能,单片机受到了大家的欢迎。 指导教师(签字): 批准日期:年月日

单片机第一章知识点

第一章单片机概述 一、单片机的定义 单片机是单片微型计算机的简称。它采用了超大规模集成技术,将微型计算机的中央处理器、存储器、输入/输出接口电路集成在同一块芯片上,构成一个既小巧又完善的计算机硬件系统,在单片机应用软件的控制下,准确、迅速、高效地完成规定的控制任务。 二、单片机的组成 1、中央处理器 中央处理器即CPU,是单片机的核心部件。包括算数逻辑单元(ALU)和控制器。 2、存储器 计算机的记忆部件,用于存放程序和数据。一般分为只读存储器(ROM)和随机存储器(RAM)3、输入/输出接口电路 输入/输出接口电路又称I/O接口电路,用来连接CPU和输入/输出设备,完成信号转换与驱动、数据传输和控制等功能。 三、单片机的特点 1.抗干扰性强,工作温度范围宽 2. 高可靠性 3. 控制功能强,数值计算能力相对较差 4. 指令系统比通用微机简单,并具有许多面向控制的指令。 四、单片机的应用领域 1、家用电器领域 2、办公自动化领域 3、商业营销领域 4、工业自动化领域 5、智能控制领域

五、各种进制之间的转换 (1)各种进制转换为十进制数 方法:各位按权展开相加即可。 例:11011B = 1×24 + 1×23 + 0×22 + 1×21+ 1×20 = 16 + 8 + 0 + 2 + 1 = 27 1FBH = 1×162 + 15×161 + 11×160 = 256 + 240 + 11 = 507D (2)十进制数转换为各种进制 方法:整数部分采用“除基取余法”,小数部分采用“乘基取整法”。 例:23.66D = 10111.1010B (3)二进制数与十六进制数之间的相互转换 方法:每四位二进制转换为一位十六进制数。 例:10101111011B = 57BH 六、带符号数的三种表示方法 (1)原码:机器数的原始表示,最高位为符号位(0‘+’1‘-’),其余各位为数值位。 例:X = + 1100 , 则(X)原= 00001100 X = - 1100 , 则(X)原= 10001100 (2)反码:正数的反码与原码相同。负数的反码把原码的最高位不变,其余各位求反。 例:X = + 1100 , 则(X)反= 00001100 X = - 1100 , 则(X)反= 11110011 (3)补码:正数的补码与原码相同。负数的补码为反码加1。 例:X = + 1100 , 则(X)补= 00001100 X = - 1100 , 则(X)补= 11110100 原码、反码的表示范围:-127~+127,补码的表示范围:-128~+127。 七、计算机中使用的编码 (1)BCD码:每4位二进制数对应1位十进制数。 (2)ASCII码:7位二进制数表示字符。0~9的ASCII码30H~39H,A的ASCII码41H,a 的ASCII码61H。 例:(59.73)BCD = 01011001.01110011

单片机自己制作

自己动手做单片机实验板 一台电脑:这在日后写程序或是下载程序都是必需之物。现在的新款电脑越来越不适合单片机学习了或者说单片机的设备也应该更新换代了,一般常用的 9针串口和 25针并口多数被方方正正的 USB接口所取代。更新推出的操作系统对开发软件支持并不很好,建议大家使用 WIN XP或 WIN 2000系统。不用考虑 CPU速度和存储空间,同时电脑要有 9针的串口和 25针的并口(打印机接口),如果没有可以用 USB转换器扩展,不过其效果不如原配夫妻。 ISP下载线:从电脑向手机下载图片或音乐一般都有一条连接线,再配上手机专用的软件就可以让手机丰富多彩了。单片机也可以用这样的方法,虽然这不是唯一的方法,但这较适合一般的单片机学习,好而不贵。ISP下载线就是一个设计有简单电路的单片机程序下载工具,它就像塑造生命的天使,配上小巧的 ISP下载软件就可以施与单片机灵魂。虽然我们不是上帝,但在后文我们先要亲手塑造它,先做好心理准备。 实验板:这是一年半载也玩不腻的家伙,因为这是在学习中不断扩展的。它是将一块单片机焊在一片电路板中间,板上还焊有电源和单片机的最小系统电路,见图 1。如果继续往下说许多读者朋友会骂我太粗心了,所以我不得不解释一下“最小系统”是啥东东。随便抓一个数模电路的芯片,它要是想正常工作必须有一个先天条件,就是符合要求的电源。单片机也是一样,不过它太讲究了,要的东西更多。除了一个稳定的电源供电之外,它还需要一个复位电路,就是给单片机一个信号让它归回到开始工作的状态。同时晶振部分电路也是必不可少的,这相当于给单片机带了一块手表,让它有时间观念,知道自己什么时候该干什么事情。总之最小系统就是保证单片机正常工作的最基本电路部分。OK,再说回到单片机实验板。我是买元器件自己制作实验板的,我感觉没有必要多花钱去买一个成品,虽然这样说卖实验板的人可能会扁我。自己动手可以学到单片机硬件电路的知识和掌握制作的细节,这是不可多得的实践机会。你决定实验板 DIY了吗?我们一起做吧!

基于protuse的单片机模拟的实例

本人对单片机的一些了解,在这里和大家分享。 (1)基于AT89C52的同步串口通信 ①单片机1程序 (程序在Kile C51上运行通过。) /******************************************************************** * 文件名:液晶1602显示.c * 描述: 该程序实现了对液晶1602的控制。 * 创建人:东流,2009年4月10日 * 版本号:2.0 ***********************************************************************/ #include #define uchar unsigned char #define uint unsigned int //这三个引脚参考资料 sbit E=P3^5; //1602使能引脚 sbit RW=P3^6; //1602读写引脚 sbit RS=P3^7; //1602数据/命令选择引脚 sbit aaa=P1^0; sbit bbb=P1^1; sbit aa=P3^0; sbit bb=P3^1; /******************************************************************** * 名称: delay() * 功能: 延时,延时时间大概为140US。 * 输入: 无 * 输出: 无

***********************************************************************/ void delay() { int i,j; for(i=0; i<=100; i++) for(j=0; j<=20; j++) ; } /******************************************************************** * 名称: enable(uchar del) * 功能: 1602命令函数 * 输入: 输入的命令值 * 输出: 无 ***********************************************************************/ void enable(uchar del) { P2 = del; RS = 0; RW = 0; E = 0; delay(); E = 1; delay(); } /******************************************************************** * 名称: write(uchar del) * 功能: 1602写数据函数 * 输入: 需要写入1602的数据 * 输出: 无 ***********************************************************************/ void write(uchar del) { P2 = del; RS = 1; RW = 0; E = 0; delay(); E = 1; delay();

相关文档
相关文档 最新文档