物联网-单片机-持续更新...

入门基础

Keil uVision5和Proteus 8 Professional的使用和配置

1.打开 Proteus 8 ,新建工程文件,设置名称和保存路径,点击下一步

2.然后点击从中选择的模板创建原理图defautl,下一步,

3.点击不创建PCB布版设计,点击下一步 ,

4.点击创建固件项目控制器选择,AT89C51,编译器选择keil for 8051下一步

5.继续下一步

6.原理图绘制,材料

配置好了以后打开另一个软件 Keil 5

1.先新建工程文件进行命名和保存路径(保存的位置自己要能找到)

2.下一步,选择Atmel,展开找到里面的AT89C51选择,点击下一步就好了

3.然后新建文件,按ctrl+s先保存,然后把文件保存成led.c格式的文件(.c就是C语言文件)下一步

4.把项目文件源组展开,点击右键把上一步的保存的C语言文件添加进来

5点击目标1右键

6编写程序就可以

7编译成功后

8打开 Proteus 8 右键编辑单片机,

9把刚刚编译的.hex文件添加进来就可以进行仿真运行了

同时点亮8个LED小灯

示例代码

#include<reg51.h>
void delay(int i)
{
  while(i--);
}
void main()
{
 while(1)
 {
   P0=0x00;//通电
   delay(20000);//延时
   P0=0xff;//断路
   delay(20000);//延时
 }
}

笔记(持续更新)

单片机代码基本框架

#include<reg51.h> //头文件 必不可少

void main() //main 函数必不可少

{

while{

}

}

控制一个端口
sbit led=P0^0
控制P0所有端口(P0,P1,P2,P3默认都是定义好的)
P0=0x00就是P0口的所有全部亮
P1=0xff就是P1口的全部灭

为什么在单片机与电机相连时需要在其间加入二极管?

答:直流电机从运行状态突然转换到停止状态的时候,或者直流电
机突然转换方向的时候,会形成很大的反向电流,在电路中加
入= =极管,就可以在产生反向电流的时候起到泄流的作用,对
芯片有很好的保护作用。

当电机和51单片机的端口相连,当端口输出高电平时,电机却转动不起来,

可以考虑使用电机驱动电路

采用delay()函数进行延时会有什么特点(即优点和缺点)?

优点,可复用,缺点是不精确,当中断发生时,CPU被打断先执行中断服务。导致执行时间变长

数码管动态与静态显示原理

led静态显示时,其公共端接地(共阴极)或接电源(共阳极),各段选线分别与I/O口接线相连。要显示字符,直接在I/O线发送相应的字段码。

共阴极,共阳极外形是一样的肉眼分辨不出来

数字组成基本原理---数码管都是用8这个数字,组成0-9字形的,8这个数字分成7个笔画,

为了区分,每段分别为a,b,c,d,e,f,g,来分别组合不同的字形

什么是数码管动态显示?

动态显示:动态显示就是一种按位轮流点亮各位数码管的显示方式。
即在某一-时段, 只让其中- -位数码管“位选端”有效,并送出相应的
字型显示编码。此时,其它位的数码管因"位选端'
"”无效而都处于熄
灭状态;下- -时段按顺序选通另外- -位数码管,并送出相应的字型显
示编码,依此规律循环下去,即可使各位数码管分别间断地显示出相
应的字符,动态显示也称作扫描显示方式。
特点:占用端口资源少,适用于连接多个数码管

请以生活中的中断为例说明什么是单片机的中断?

假如你正在给朋友写信,电话铃响了。这时,你放下手中的笔,去接电话。通话完毕,再继续写信。这个例子就表现了中断及其处理过程:电话铃声使你暂时中止当前的工作,而去处理更为急需处理的事情(接电话),把急需处理的事情处理完毕之后,再回头来继续原来的事情。在这个例子中,电话铃声称为“中断请求”,你暂停写信去接电话叫作“中断响应”,接电话的过程就是“中断处理”,相应地,在计算机执行程序的过程中,由于出现某个特殊情况(或称为“事件”),使得CPU中止现行程序,而转去执行处理该事件的处理程序(俗称中断处理或中断服务程序),待中断服务程序执行完毕,再返回断点继续执行原来的程序,这个过程称为中断。


被岁月冰封的一簇火苗,等待理想把它融化、燃烧。