环境搭建:

keil5,keil5破解程序:

STC_ISP下载程序:

硬件平台:普中科技HC6800-EM3 V3.0 STC90C516RD+ 40I-PDIP40

视频教程:普中科技 HC6800-EM3 V3.0开发板视频教程https://www.bilibili.com/video/BV1E4411A7eB?p=1&vd_source=e1e965c6d34ccad0cc6841ecb58eb4a5

什么是单片机?

单板机:将CPU芯片、存储器芯片、I/O接口芯片和简单的I/O设备(小键盘、LED显示器)等装配在一块印刷电路板上,再配上监控程序(固化在ROM中),就构成了一台单板微型计算机(简称单板机)。

单片机:在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。Intel公司推出了MCS-51系列单片机:集成8位CPU、4K字节ROM,128字节RAM,4个8位并口、1个全双工串行口,2个16位定时/计数器。寻址范围64KB,并有控制功能较强的布尔处理器。

单片机能做什么?

工业自动化:数据采集、测控技术。
智能仪器仪表:数字示波器、数字信号源、数字万用表、感应电流表等。
消费类电子产品:洗衣机、电冰箱、空调机、电视机、微波炉、手机、IC卡、汽车电子设备等。
通讯方面:调制解调器、程控交换技术、手机、小灵通等。武器装备:飞机、军舰、坦克、导弹航天飞机、鱼雷制导、智能武器等。
凡是与控制或简单计算有关的电子设备都可以用单片机来实现,根据具体实际情况还可以选择不同性能的单片机,如:atmel, stc, pic, avr,凌阳,80C51,arm等

单片机的预备知识:

电平特性:

数字电路中只有两种电平:高电平和低电平。高电平5V或者3.3V,取决单片机电源。低电平0V。
RS232电平: 计算机串口的电平高电平:-12V;低电平:+12V。

所以当我们用单片机跟电脑通信的时候,我们要通过各种元器件将单片机的电平转换为计算机可识别的电平才能跟电脑进行通信。单片机与电脑通信时使用MAX232芯片。

8051单片机介绍

80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。当前常用的80C51系列单片机主要产品有: Intel的80C31、80C51 、87C51、80C32、80C52、87C52等; ATMEL的89C51、89C52、89C2051等; Philips、华邦、Dallas 、STC、Siemens(Infineon)等公司的许多产品。

80C51的引脚封装:

P3口第二功能各引脚功能定义:

P3.0: RXD串行口输入
P3.1: TXD串行口输出
P3.2: INT0外部中断0输入

P3.3: INT1外部中断1输入

P3.4: T0定时器0外部输入

P3.5: T1定时器1外部输入

P3.6: WR外部写控制
P3.7: RD外部读控制

学单片机到底学什么

1.对I/0口的控制,无论单片机对外界进行何种控制,都是通过I/0口进行的。
2.接受外部的控制,通过I/O来感受外部的电压。
3.51单片机总共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。4个I/O端口都能作输入输出口用。

单片机IO口的结构

上下拉电阻:

上拉电阻就是将不确定的信号通过一个电阻拉到高电平,同时此电阻起到一个限流作用,下拉就是下拉到低电平。
上拉电阻的好处:在OC门要输出高电平,外部必须加上拉电阻; 加大普通IO口的驱动能力;起到限流的作用;抵抗电磁干扰。

上下来电阻的选取原则:

1、从降低功耗方面考虑应该足够大,因为电阻越大,电流越小。
2、从确保足够的引脚驱动能力考虑应该足够小,电阻越小,电流才能越大。
3、开漏输出时,过大的上拉电阻会导致信号上升沿变缓。

单片机最小系统

电源电路:

复位电路:

时钟电路:

下载电路:

流水灯程序代码:

74H245、74H253功能一样,通透缓冲。

bit和sbit都是C51扩展的变量类型。

用法:sbit 变量名=地址值。在给某个引脚取名的时候经常用到。

延时函数

void delay(u16 i)  //i单位为10微秒左右
{
    while(i--);
}

循环左移函数:_crol_(a,b),a是左移的值,b是左移的位数。包含在库<INTRINS.H>库函数里面。

循环右移函数:_cror_(a,b):

#include <REGX52.H>
#include "intrins.h"
typedef unsigned char u8;
typedef unsigned int u16;
#define led P0
void delay(u16 i)
{
	while(i--);
}
void main()
{
	u8 i;
	led=0x01;
	delay(50000);
	while(1)
	{
//		for(i=0;i<8;i++)
//		{
//			led=(0x01<<i);
//			delay(50000);
//		}
			for(i=0;i<7;i++)
		{
			led=_crol_(led,1);
			delay(50000);
		}
	}
}

蜂鸣器

有绿色电路板的是无源蜂鸣器; 没有电路板而用黑胶封闭的是有源蜂鸣器。

电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。

压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号阻抗匹配器推动压电蜂鸣片发声。

在单片机应用的设计上,很多方案都会用到蜂鸣器,大部分都是使用蜂鸣器来做提示或报警,比如按键按下、开始工作、工作结束或是故障等等。
自激蜂鸣器是直流电压驱动的,不需要利用交流信号进行驱动,只需对驱动口输出驱动电平并通过放大电路放大驱动电流就能使蜂鸣器发出声音,非常简单。

改变单片机引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。改变输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小。

三级管图标箭头朝里为PNP型,低电压导通。箭头朝外,为NPN型。

1微秒,频率为1Mhz.

继电器

继电器(英文名称:relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。继电器内部含有线圈和触点,当线圈得电就会使触点吸合。

静态数码管

介绍

单片机系统中常用的显示器有:发光二极管LED(Light Emitting Diode)显示器、液晶LCD(Liquid CrystalDisplay)显示器、TFT液晶显示器等。LED显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(5×8、8×8点阵等)。
LED数码管根据LED的不同接法可以分为2类:共阴和共阳。

使用L数码管时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。我们实验板静态数码管使用的是共阳型,根据电路连接图显示16进制数的编码已列在下表。

显示原理

LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止
这种方法的优点是占用CPU时间少,显示便于监测和控制,缺点是硬件电路比较复杂,成本较高。

74HC245芯片

74HC138芯片

P22->A P23->B P24-C接线顺序