单片机学习总结Word格式文档下载.docx

上传人:b****7 文档编号:22732148 上传时间:2023-02-05 格式:DOCX 页数:27 大小:628.94KB
下载 相关 举报
单片机学习总结Word格式文档下载.docx_第1页
第1页 / 共27页
单片机学习总结Word格式文档下载.docx_第2页
第2页 / 共27页
单片机学习总结Word格式文档下载.docx_第3页
第3页 / 共27页
单片机学习总结Word格式文档下载.docx_第4页
第4页 / 共27页
单片机学习总结Word格式文档下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

单片机学习总结Word格式文档下载.docx

《单片机学习总结Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机学习总结Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。

单片机学习总结Word格式文档下载.docx

ORG0000H

MOVA,#0FEH

MAIN:

MOVP2,A

RRA

DJNZR1,L2

RET

流水灯从左到右,再从两边到中间,中间到两边:

MOVR2,#08

MOVR3,#08

LT1:

RLA

DJNZR2,LT1

LT2:

RRA

MOVP2,A

DJNZR3,LT2

MOVA,#07EH

MOVA,#0BDH

MOVA,#0DBH

MOVA,#0E7H

MOVA,#081H

MOVR0,#200

MOVR1,#200

定时器:

ORG0000H

AJMPMAIN

ORG001BH

AJMPTIME

ORG0030H

MOVA,#0FEH

MOVR1,#20

MOVTMOD,#10H

MOVTH1,#3CH

MOVTL1,#0B0H

SETBEA

SETBET1

SETBTR1

SJMP$

TIME:

DJNZR1,TIM

TIM:

MOVTH0,#3CH

MOVTL0,#0B0H

RETI

蜂鸣器实验:

ORG0000H

ORG0003H

CPLP1.0

CALLDELAY

JMPMAIN

DELAY:

MOVR0,#200H

MOVR1,#200H

C语言编程:

小灯从两边到中间,再从中间到两边:

voidmain(){init();

while

(1){if(a==20)

{D8=0;

}

if(a==40){

D7=0;

if(a==60){

D6=0;

if(a==80){

D5=0;

if(a==120){

D4=0;

if(a==140){

D3=0;

}if(a==160){

D2=0;

}if(a==180){

D1=0;

}if(a==200){

D1=1;

}if(a==240){

D2=1;

}if(a==280){

D3=1;

}if(a==320){

D4=1;

}if(a==340){

D5=1;

}if(a==360){

D6=1;

}if(a==400){

D7=1;

}if(a==420){

D8=1;

}

if(a==440)

{D5=1;

D4=1;

D6=1;

D3=1;

D7=1;

D2=1;

D8=0;

D1=10;

if(a==460){

D7=0;

D2=0;

D8=1;

D1=1;

if(a==480){

D6=0;

D3=0;

if(a==500){

D4=0;

if(a==520){

if(a==540){

}if(a==560){D1=0;

}

if(a==580){a=0;

}}}

voidtember0()interrupt1

{TH0=0x3C;

TL0=0xB0;

a++;

小灯从左到右,右到左,两边到中间,中间到两边:

#include"

reg52.h"

#include"

intrins.h"

unsignedinti,j,temp,aa;

voidDelay_ms(unsignedintz)

{

unsignedintx,y;

for(x=z;

x>

0;

x--)

for(y=123;

y>

y--);

voidmain()

{

aa=200;

while

(1)

{P2=0xfe;

Delay_ms(aa);

P2=0xfd;

P2=0xfb;

P2=0xf7;

P2=0xdf;

P2=0xbf;

P2=0x7f;

P2=0xfe;

P2=0x07;

P2=0xBD;

P2=0xDB;

P2=0xE7;

P2=0x7E;

P2=0x81;

}

//#include"

INIT.h"

#defineuintunsignedint

#defineucharunsignedchar

sbitD8=P2^7;

uinta,b;

voidinit()

TMOD=0X01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

init();

{

if(a==20)

{

//a=0;

D8=0;

}

if(a==40)

a=0;

D8=1;

}

voidtimer0()interrupt1

74HC164的使用:

74HC164的驱动和应用

74HC164的几点说明:

1.74HC164是串行输入,并行输出的;

2.它的并行输出其实是有延时的,只是延时时间小,可以认为是并行输出;

74hc164封装和真值表:

真值表中文解释说明:

H-高电平L-低电平X-任意电平↑-低到高电平跳变(上升沿有效)

QA0,QB0,QH0-规定的稳态条件建立前的电平

QAn,QGn-时钟最近的↑前的电平

看真值表的第三条和第五条:

就可以知道,在保持clear为Hclock为↑状态下,AB都为H时,移位寄存器移入H,而当移位寄存器移入L时,必须令B为L,而A不受约束。

所以可以把AB断相连再接入单片机数据端口。

还有一种是A脚直接接高电平,B脚连入单片机数据端(P2_7)

电路仿真图:

#include<

regx51.h>

intrins.h>

#defineucharunsignedchar

#defineuintunsignedint

ucharch;

sbitDAT=P2^7;

sbitCLK=P2^6;

charcodeseg[16]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee};

如:

00000011移位以后为11000000*/

voiddelay(uintms)

uchari;

for(;

ms!

=0;

ms--)

for(i=0;

i<

250;

i++)

_nop_();

voidsendchar(ch)

uchari;

8;

i++){

DAT=ch&

0x01;

//P2_7=0000000x

CLK=0;

CLK=1;

ch>

>

=1;

voidmain(void)

uintm=0;

while

(1)

{

sendchar(seg[m]);

if(++m==11)m=0;

delay(200);

ULN2003使用:

高耐压、大电流达林顿管IC—ULN2003

  

概述与特点

  ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。

编辑本段特点

  该电路的特点如下:

  ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路

  直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

  ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还

  可以在高负载电流并行运行。

  ULN2003采用DIP—16或SOP—16塑料封装。

  方框图

ULN2003芯片引脚图

ULN2003芯片引脚介绍

  引脚1:

CPU脉冲输入端,端口对应一个信号输出端。

  引脚2:

CPU脉冲输入端。

  引脚3:

  引脚4:

  引脚5:

  引脚6:

  引脚7:

  引脚8:

接地。

  引脚9:

该脚是内部7个续流二极管负极的公共端,各二极管的正极分别接各达林顿管的集电极。

用于感性负载时,该脚接负载电源正极,实现续流作用。

如果该脚接地,实际上就是达林顿管的集电极对地接通。

引脚10:

脉冲信号输出端,对应7脚信号输入端。

引脚11:

脉冲信号输出端,对应6脚信号输入端。

  引脚12:

脉冲信号输出端,对应5脚信号输入端。

  引脚13:

脉冲信号输出端,对应4脚信号输入端。

  引脚14:

脉冲信号输出端,对应3脚信号输入端。

  引脚15:

脉冲信号输出端,对应2脚信号输入端。

 

引脚16:

脉冲信号输出端,对应1脚信号输入端

reg51.h>

ucharcodetable[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};

ucharcodetable1[]={0xfc,0x60,0xda,0xf2,0x66};

uintNum,Num1,Num2;

sbitK1=P2^0;

sbitK2=P2^1;

sbitK3=P2^2;

sbitK4=P2^3;

sbitCLK=P1^5;

sbitDBA=P1^6;

voidSend(ucharDAT)

{uintx;

for(x=8;

{DBA=DAT&

DAT=DAT>

1;

voidTime0_Init()

{TMOD=0x01;

{K1=0;

K2=0;

K3=0;

K4=0;

Time0_Init();

while

(1);

voidtime0()interrupt1

{TH0=(65536-50000)/256;

Num++;

if(Num>

20)

{Num1++;

Send(table1[Num2]);

Send(table[Num1]);

if(Num1>

10)

{Num2++;

if(Num2==1){K1=1;

K2=0;

K3=0;

K4=0;

if(Num2==2){K1=0;

K2=1;

if(Num2==3){K1=0;

K3=1;

if(Num2==4){K1=0;

K4=1;

if(Num2>

3)

{Num2=0;

}

Num1=0;

Num=0;

}}

数码管动态分析:

#defineuncharunsignedchar

sfrScand_Com=0x09;

sfrScand_Com=0xA0;

ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}

uintNum,Num1;

voidDelay_ms(uintz)

{ucharx,y;

for(x=z;

for(y=110;

voidwrite_date(ucharadd,uchardate)

{scan_com=add;

Date_com=table[date];

{Time0_Init();

{write_Date(0x01,Num);

Delay_ms(100);

write_Date(0x02,Num);

write_Date(0x03,Num);

write_Date(0x04,Num);

write_Date(0x05,Num);

write_Date(0x06,Num);

write_Date(0x07,Num);

write_Date(0x08,Num);

}}

voidTime0()interrupt1

if(Num=19)

if(Num1==9)

{Num1=0;

数码管定时间:

#include<

reg52.h>

sfrScan_Com=0x90;

sfrDate_Com=0xA0;

ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

uintNum,Num1,Num2,Num4,Num5,Num7,Num8,Num9;

uintx,y;

for(y=110;

voidWrite_Date(ucharadd,uchardate)

Scan_Com=add;

Date_Com=table[date];

Num8=1,Num7=4,Num5=0,Num4=4,Num2=0,Num1=0;

{

Write_Date(0x01,Num1);

Delay_ms

(2);

Write_Date(0x02,Num2);

Scan_Com=0x04;

Date_Com=0x40;

Write_Date(0x08,Num4);

Write_Date(0x10,Num5);

Scan_Com=0x20;

Write_Date(0x40,Num7);

Write_Date(0x80,Num8);

if(Num>

20){Num1++;

Num=0;

9){Num2++;

Num1=0;

if(Num2>

5){Num4++;

Num2=0;

if(Num4>

9){Num5++;

Num4=0;

if(Num5>

5){Num7++;

Num9++;

Num5=0;

if(Num7>

9){Num8++;

Num7=0;

if(Num9==24){Num8=0;

Num9=0;

接触开关:

#defineuintunsignedint

#defineucharunsignedchar

sbitLed=P2^0;

sbitK2=P1^1;

voidDelay_ms(uint

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1