初识单片机

单片机 

英文 Micro Controller Unit(MCU)

1.内部集成了CPURAMROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能

2.单片机的任务是信息采集(依靠传感器)、处理(依靠CPU)和硬件设备(例如电机,LED等)的控制

3.单片机跟计算机相比,单片机算是一个袖珍版计算机,一个芯片就能构成完整的计算机系统。但在性能上,与计算机相差甚远,但单片机成本低、体积小、结构简单,在生活和工业控制领域大有所用
                                                                             
STC89C52
所属系列:51单片机系列
公司:STC公司                                           
位数:8位
RAM(随机存储器): 512 字节
ROM(内存条): 8K Flash
工作频率: 12MHz (本开发板使用)
命名规则

PDIP直插封装:引脚从封装底部延伸,并插入到电路板的焊盘中

单片机内部结构图

单片机管脚图

Vcc:电源正极

Gnd:电源负极

XTAL1.2和XTAL1:给单片机时钟,时序,使单片机一步一步进行

RST:复位功能 接高电平复位

 单片机的最小系统

电容起过滤、稳定作用

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单片机模块化编程与设计 单片机模块化编程与设计全文共24页,当前为第1页。按:在51单片机C语言编程中,为了提高程序的可移植性,有必要用可移植的变量类型的别名进行编程. 把以下内容保存到编程软件的Include目录,并保存为了mytype.h文件. 如果你用的是Keil,这个目录可能就是: Keil\C51\INC /* http://www.rupeng.com/forum/thread-8057-1-1.html */ #ifndef _MYTYPE_H_ #define _MYTYPE_H_ typedef unsigned int uint16; typedef unsigned int UINT; typedef unsigned int uint; typedef unsigned int UINT16; typedef unsigned int WORD; typedef unsigned int word; typedef int int16; typedef int INT16; typedef unsigned long uint32; typedef unsigned long UINT32; typedef unsigned long DWORD; typedef unsigned long dword; typedef long int32; typedef long INT32; typedef signed char int8; typedef signed char INT8; typedef unsigned char byte; typedef unsigned char BYTE; typedef unsigned char uchar; typedef unsigned char UINT8; typedef unsigned char uint8; typedef unsigned char BOOL; #endif 以后在写程序时只要写上下面语句就行了: #include <mytype.h> 另外,http://hi.baidu.com/tuenhai/照网友红金龙吸味的建议,把编程的源文件只在到工程目录下的src目录,其他如output文件和listing文件保存到output目录. 单片机模块化编程与设计全文共24页,当前为第1页。 以下是原文,出处见: http://www.rupeng.com/forum/thread-8057-1-1.html "从单片机初学者迈向单片机工程师"LED篇第三章模块化编程初识 单片机模块化编程与设计全文共24页,当前为第2页。好的开始是成功的一半 通过上一章的学习,我想你已经掌握了如何在程序中释放CPU了。希望能够继续坚持下去。一个良好的开始是成功的一半。我们今天所做的一切都是为了在单片机编程上做的更好。 在谈论今天的主题之前,先说下我以前的一些经历。在刚开始接触到C语言程序的时候,由于学习内容所限,写的程序都不是很大,一般也就几百行而矣。所以所有的程序都完成在一个源文件里面。记得那时候大一参加学校里的一个电子设计大赛,调试了一个多星期,所有程序加起来大概将近1000行,长长的一个文件,从上浏览下来都要好半天。出了错误简单的语法错误还好定位,其它一些错误,往往找半天才找的到。那个时候开始知道了模块化编程这个东西,也尝试着开始把程序分模块编写。最开始是把相同功能的一些函数(譬如1602液晶的驱动)全部写在一个头文件(.h)文件里面,然后需要调用的地方包含进去,但是很快发现这种方法有其局限性,很容易犯重复包含的错误。 而且调用起来也很不方便。很快暑假的电子设计大赛来临了,学校对我们的单片机软件编程进行了一些培训。由于学校历年来参加国赛和省赛,因此积累了一定数量的驱动模块,那些日子,老师每天都会布置一定量的任务,让我们用这些模块组合起来,完成一定功能。而正是那些日子模块化编程的培训,使我对于模块化编程有了更进一步的认识。并且程序规范也开始慢慢注意起来。此后的日子,无论程序的大小,均采用模块化编程的方式去编写。很长一段时间以来,一直有单片机爱好者在QQ上和我一起交流。有时候,他们会发过来一些有问题的程序源文件,让我帮忙修改一下。同样是长长的一个文件,而且命名极不规范,从头看下来,着实是痛苦,说实话,还真不如我重新给他们写一个更快一些,此话到不假,因为手头积累了一定量的模块,在完成一个新的系统时候,只需要根据上层功能需求,在底层模块的支持下,可以很快方便的完成。而不需要从头到尾再一砖一瓦的重新编写。藉此,也可以看出模块化编程的一个好处,就是可重复利用率高。下面让我们揭开模块化神秘面纱,一窥其真面目。 C语言源文件 *.c 提到C语言源文件,大家都不
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值