教材

教材





《单片机C语言案例教程》电子工业出版社2011年,用STC89C52RC单片机;


MCS-51单片机内部结构图

MCS-51单片机引脚图

(1)电源引脚。电源引脚VCC(40)、地GND(20);

(2)时钟电路引脚。XTAL1(19)、XTAL2(18);

(3)控制信号引脚:

复位信号RST(9):作用是在单片机启动时,使系统从一个确定的初始状态开始运行;

锁存信号ALE(30):当访问外部存储器时,其输出用于锁存地址的低位字节;

选通信号PSEN(29):外部程序存储器读取选通信号;

选择信号EA:当EA为高电平时,执行片内程序存储器,当EA为低电平时,执行片外程序存储器;

(4)输入/输出引脚。共32只,组成四个口,依次称为P0、P1、P2、P3。每口均为8位双向I/O端口。一般地,用"P0.0"表示P0口的第0位引脚,用”P0.1“表示P0口的第1位引脚,用”P3.3“表示P3口的第3位引脚。注意,”口“和”位“都是从0开始编号。


所有对单片机编程的最终目的,就是让某些口的某些位,按需要输出高电平或低电平,以驱动被控电路。这32只I/O引脚,既可作为输出引脚,也可以作为输入引脚,即程序也可从检测某引脚为高电平还是低电平,据此来判定程序流程该如何应对。


从数码管的笔画组成图可知,要让数码管显示数码”1“,他的7个笔画中的b、c两笔画的发光二极管要点亮,其它熄灭。编程的时候,只需要”P0=0xf9“;在C语言中,0x时十六进制数的标记,后面接十六进制数码(0~9,a~f)。把笔画由低位到高位(即从P0.6到P0.0)的7位二进制数”gfedcba“,如果不考虑小数点显示,可在7位二进制数的最左边添上一个1(不让小数点发亮),来构成8位二进制数”1gfedcba“。要发光的笔画用0表示,把不发光的笔画用1表示即可。所以,以上8位数变为”11111001“(二进制),转换成2位十六进制数,也就是把高4位的”1111“转换位十六进制的”f“,低4位”1001“转换为”9“,再加上表示十六进制的”0x“,就得到了十六进制数0xf9。(其实就是二进制转为十六进制的过程)。

如果要显示”2“,二进制就是”10100100“,可以通过在线转换网站,转为”a4“(字形码)。

从单片机电原理图上看到,四个数码管的同名笔画都是并接在一起的,因此,在同一时间,只能显示同一个数字。

如果需要显示不同的数字,则需要四位数码管按位分时轮回重复显示,因此,每个数码管必须要都能被单独通电以受控制。

把程序写入单片机芯片的操作平台的操作步骤:

通过Keil:

(1)建立新的工程项目:Project——New μVision Project——输入工程项目名称”STC89C52“保存——弹出CPU选择窗口——选择”Atmel“,不过Atmel已经被Microchip收购,所以需要在Microchip里面选择”AT89C52“(右侧有该型号的介绍)——”Copy 'STARTUP.A51 to Project Folder and Add File to Project?“,选择”是“。这样就将工程项目建立好了。

(2)建立程序文件:File——New——弹出空白的”文本编辑窗口“——输入程序内容——File——Save——命名”STC89C52.c“保存

(3)把程序文件加载到工程项目中:在Project栏目中展开Target1——右击Source Group 1——点击”Add Existing File to ......“——选择STC89C52.c“添加Add,然后Close窗口,完成将程序文件添加入工程项目中;

(4)设置编译和链接环境:Project——Option for Target "Target 1"——Output——选择复选框Create HEX File,其余默认,确认OK

(5)编译.hex文件:Project——Build all target files


AT89C52:

8051-based Fullly Static 24MHz CMOS controller with 32  I/O Lines,
3 Timers/Counters, 8 Interrupts/2 Priority Levels, UART,
Three-Level Program Memory Lock, 8K Bytes Flash Memory,
128 Bytes On-chip RAM



《51单片机项目教程》人民邮电出版社2020年,用亚博科技BST-M51学习板,单片机为STC89C52。单片机系统中四位数码管。电路图告诉我们每位数码管由7各发光二极管组成。


下载单片机烧录软件STC-ISP;下载Keil C51编程工具;

Keil5并不像Keil4一样,将89C51系列芯片放在Atmel里面,而是放在Microchip(收购了Atml)里面。例如:

AT89C51:

8051-based Fullly Static 24MHz CMOS controller with 32  I/O Lines,
2 Timers/Counters, 6 Interrupts/2 Priority Levels, UART,
Three-Level Program Memory Lock, 4K Bytes Flash Memory,
128 Bytes On-chip RAM

Mini51开发教程|



《单片机原理与应用技术》中国铁道出版社 20170201。全书以51编程语言为主线,并将单片机仿真软件Proteus和编译软件Keil的运用紧密衔接,是一本比较基础的应用型课程,是软、硬件相结合的一个初级平台,同时也是学习嵌入式及DSP(数字信号处理)等高起点课程的基础。

第1章:介绍单片机的发展史;单片机的分类、MCS-51单片机的型号、单片机常用封装、单片机的命名规则、单片机的应用领域、单片机开发软件环境和仿真平台;
第2章:介绍MCS-51单片机最小系统的组成,包括单片机的外部引脚功能、内部结构、时钟电路和复位电路。单片机的程序存储器和数据存储器的地址分配、特殊功能寄存器的功能及头文件的使用;
第3章:单片机的并行I/O端口技术、控制LED闪烁的编程;
第4章:最常用的外围设备扩展单片机I/O端口的应用方法、LED数码管、LED点阵屏、LCD液晶等显示模块、键盘输入设备电路设计;
第5章:中断的基本概念、中断系统的硬件构造和工作原理、相关寄存器的应用、外部中断的应用、定时器/计数器的结构和工作方式及应用;
第6章:D/A转换器和A/D转换器的工作原理、以DAC0832和ADC0809芯片为例介绍了单片机如何控制D/A转换器或者A/D转换器模拟量和数字量之间的转换;
第7章:异步通信、同步通信、波特率和电平等串行通信的基本概念、51单片机中串行接口的相关寄存器和程序编写的流程、双机通信、与PC通信、蓝牙通信和Wi-Fi通信等串行接口的应用实例;
第8章:I2C总线技术、SPI总线技术、单总线技术等串行总线技术、进行外围扩展;
第9章:单片机应用系统的构成、设计步骤、设计方法、交通灯的模拟设计、简易波形发生器设计、温度的测量、报警系统设计等实例;


MCS-51系列单片机产品,都是51内核的单片机,它们的结构、引脚和封装基本相同,主要差别体现在存储器的配置上。


常用单片机的封装形式:PDIP(直插封装)、TQFP(贴片,引脚向外侧伸展)、PLCC(贴片,引脚向内折起)。

单片机的命名规则:STC12C5A60S2-35C-PDIP40
STC:指的是产品的公司名,深圳宏晶科技;
12:表示产品的系列。STC单片机有89、90、10、11、12、15这几大系列。12系列是增强型功能的1T单片机;
C:这个位置表示单片机工作电压。C是指单片机的工作电压是3.3~5.5V、LE是2.2~3.6V;
5A:表示RAM是120B;
60:表示程序空间大小。08是8KB、16是16KB、60是60KB;
S2:此处表示有第二串口,有A/D转换,有PWN,有内部EEPROM;此处如果是AD字样,表示无第二串口,有A/D转换,有PWN,有内部EEPROM;此处若是PWM字样,表示无第二串口,无A/D转换,有PWM,有内部EEPROM。
35:表示工作频率是35MHz;
C:表示工作温度范围。I表示工作温度为工业级,-40~+85°C;C表示工作温度范围为商业级,0~70°C;
PDIP:封装类型;
40:单片机的引脚数。

D20201218


学习资料

Last update: 2023-12-09|Pageview:9
Research Blog: EC | EC_INFO | EC_WORK |


BypResearch