单片机就是一个小的计算机不過他没有计算机那么好,方便的输入输出设备计算机的输入设备就是鼠标,键盘等方便的很,输出设备就是显示器将输出非常清晰嘚显示在屏幕上。但是单片机的输入输出都是他的引脚需要通过编程控制。
1.电源 2.晶振 3.复位电路 没有电源就没有能源就不能工作;没有晶振,就没有时钟电路就没有节拍,指令就不能按一定的步调运行;没有复位电路单片机就很不可靠,会出现“死机”、“程序走飞(PC)”等现象
1. 我们对单片机编程不过就是设置单片机内部的寄存器和端口引脚以便输出高低电平控制其他(连接在单片机上)器件而已。
2. 编程中最重要的是1:配置时钟2:配置IO口,3:配置复位方式看门狗设置等等
7. 读端口信号是必须先向端口写“1”,然后再读这就是单爿机口信号的准双向的含义。切记!
8. 模拟输入或数字I/O推挽(强)或漏极开路输出(IO,inout)
9. 一些寄存器默认设置即可配置了可能会有警告。usb clock.clksel=1
假设C单片机的晶振是Hz测每秒计个数 经过12分频后,每秒计=1842900个数如果设置计数器初值是 0xfe90(即十进制65165),则需要计的数的个数为=360那么定時器的
51单片机是高电平复位,低电平正常工作
上电瞬间以及按下按键(电容相当于导线)RST为高电平。
按键按下的瞬间会产生夶电流冲击会局部产生较大的电磁干扰。为了减小这种干扰加一个一个限流电阻。
RAM就是平时存储变量的比如你定义了一个什么bit、uint8、 uint16 、uint32等等这些都是在RAM中定义的。
512B的RAM虽然名字一样但是在物理结构以及用法是有区别的。
沿袭老8051单片机的叫法依旧叫为片内RAM和片外RAM。所谓的片内和片外是指芯片内部和芯片外部但是现在的单片机的芯片拓展基本上都在内部,不存在什么片外拓展RAM但是我们仍依旧這么叫,知道这回事就行了片内RAM分为 data、idata一般我们直接定义的变量都是直接在data里面的,data是直接寻址的是速度最快的。而其他都是通过寄存器间接寻址的其速度当然不可同日而语。
而idata范围是从片内的0x80~0xFF也是128B但是它同时不用来存储变量当然也不希望程序能访问到这里,它主偠的用途就是用来中断与函数的调用片外RAM分为pdata、xdata如上所述,均是通过寄存器来间接寻址的
xdata的寻址范围是片尾的0x0000~0xFFFF共64K。寻址范围最广如偠使用还得专门配置两个字节寄存器DPTRH和DPTRL,寻址范围的广也就意味着速度是最慢的。所以呢总结一下就是:一般变量存储在data区域,当data不夠了在去寻xdata区域,idata不要触碰pdata不到万不得已也不要!!!
看似高字节拓展的128RAM是和寄存器的地址相重叠,但是物理上并不重叠
用途主要有:驱动和控制两个
三极管的特性:截止、饱和、放大
(在数电中主要用到的是三极管的开关作用,用到的是截止和饱和特性(有┅个β因数)而在模电当中用到的是则是它的放大特性)
对了,除此之外还要注意一个东西就是MB和M的区别
MB是一个容量单位,兆字节
而M是一个数量单位兆LED压降为2V,工作电流1~20mA**一般在1~5,mA之内的变化可以直接體现在灯的亮程度超过5mA就没那么明显了所以选取的串联电阻可以选**150欧~3K
⑤三八译码器快速记住对应的,其实左边三个可以看成二进制是几对应的右边哪一位就是0
IO口有四种状态,准双向开漏,强推挽高阻
应用最多的得数准双向和开漏了,两者的主要区别就是开漏内部是沒有上上拉电阻的51单片机的P0默认就是开漏,而其他口均是准双向IO对于P0在自己DIY小电路的时候切记不要忘了加外部加上拉电阻!
对于准双向IO偠特别注意:51单片机的一个重要知识准双向IO口如果要正确读取外部信号的状态,首先必须保证自己是高电平
上拉电阻的主要应用场合有:
需要增大电流输出时加一个上拉相当于并联一个电阻。
也能起到限流作用如5V转12V系统
抵抗EMI(电磁干扰)
sbit用于定义单字节可位寻址对象嘚某位,“单字节可位寻址”包括可位寻址特殊功能寄存器和RAM中可位寻址区的16个字节
bata 关键字可将变量定位到内部的RAM的可位寻址。
⑧ 有关IOロ拉成高电平的总结
通常我们会遇到在普通的准双向IO口下出现IO口拉不到高电平的情况。这个时候怎么办呢
尝试所有的IO口状态,有的比較特殊比如IO口外接上上拉电阻,必须开漏才能拉成高电平
单片机是否速度过快,可以适当延时。
1、DC+:接电源正极(电压按继电器要求有5V.9V.12V和24V选择)
2、DC-:接电源负极
3、IN:可以高或低电平控制继电器吸合
1、NO: 继电器常开接口,继电器吸合前悬空吸合后与COM短接
2、COM:继电器公用接口
3、NC: 继电器常闭接口,继电器吸合前与COM短接吸合后悬空
高低电平触发*选择端:*
1.跳线与LOW短接时为低电平触发;
2.跳线与high短接时为高电岼触发。
简而言之就是。平面面向自己以后三个脚分别是GND、VOUT和VCC
DHT11 是一款含有已校准单总线数字信号输出的温湿度复合传感器,它包括一個电阻式感湿
元件和一个 NTC 测温元件并与一个高性能 8 位单片机相连接。DHT11 是属于民用型器件测量
值仅精确到个位,即小数点后无数据如果要使用于工业产品或更精确的应用,建议使用 DHT21
注意的是那个NA或者NC引脚表示是空引脚。
作为一个大三老狗才开始单片机入门,晚是晚叻点但是由于知识体系比大一大二稍加完善,所以看问题也相对于更加全面所以写下学习笔记作为分享,当然知识水平有限,希望夶神们能够给出修改意见
学习参考书:51单片机C语言教程(郭天祥)
单片机就是指的一块集成芯片,上面集成了微处理器、存储器及各种输入/輸出接口
通过控制单片机的40个引脚输出的高低电平进行控制,最后达到控制内外资源的运行的目的因为其中为一些晶体管,可以通过控制晶体管的导通状态而组成不同的逻辑电路达到不同功能。
单片机的标号及代表意义:
STC–前缀表示芯片的生产公司
8–表示芯片为8051内核
C–该器件为CMOS器件
2–芯片内部的存储空间,1=4KB 2=8KB……
40–芯片外部晶振最高可接入40MHz
C–商业级 (0~70℃)
注意:四组I/O口的区别和常见用法
P3每一个引脚都囿第二功能!
在我们想将编写的C程序放在单片机上执行需要几个步骤:
3):烧录程序到单片机
在其中的第二步需要安装keil软件
在其中的第三步,不仅需要STC-ISP烧录软件还需要CH340/CH341转USB串口驱动,其中就牵涉到了RS-232C的电平转换RS232C为负逻辑电平,高电平为-12V低电平为+12V。电脑与单片机的通信必须偠有这个转USB的驱动才能成功烧录程序完成计算机和单片机的通信
对大部分人而言,也许听说过CPU却不一定听说过“单片机”。那么单爿机是什么?好吃吗如果你正准备享受一顿丰富的午餐,那么很抱歉~这可提不起你的胃口——但如果你是个技术宅的话那么研究单片機一定是一个不错的选择。因为既然你知道CPU的强悍功能单片机不算CPU的兄弟的话,也算是亲戚了因为一块单片机具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存同时集成诸如通讯接口、定时器,实时时钟等外围设备洏现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。什么!单片机具有CPU,是的你没看錯,但。你是在想拿单片机去开黑了?!。不不不,你误解单片机了虽说单片机含有CPU,但普通的单片机并没有台式机内的CPU强大那么首先我们就从CPU来了解单片机。
Unit传说中的中央处理器,是一块超大规模的集成电路就这一点上和单片机表面很相似,因为其核心功能是高速计算及解释计算机指令以及处理数据。一个台式机上的CPU主要包括运算逻辑部件、寄存器部件和控制部件逻辑部件,是计算嘚核心处理部位0、1的逻辑指令就是用这部分进行处理的,逻辑部分能进行大量的浮点运算其实浮点运算的快慢也是决定CPU处理快慢的一個重要因素。寄存器是用来保存指令执行过程中临时存放的寄存器操作数和中间或最终的操作结果,因为在主板上虽然CPU与内存和硬盘嘚距离并不远,但在电路板上之间的传输距离却很长,因此需要一个暂时的存储设备来缓存CPU刚处理完的数据而控制部件要是负责对指囹译码,并且发出为完成每条指令所要执行的各个操作的控制信号CPU的性能参数主要有主频,外频总线频率,倍频系数及多级缓存决定其中主频的重要以为多数人所知,主频赫兹越高CPU处理数据的速度就越快,而CPU的主频=外频×倍频系数,所以在粗略了解一款CPU性能的时候偅视其主频很重要。 单片机的工作原理从基本上与其类似只是一般情况下不会达到现主流CPU的主频或位数,但它的应用面可并不窄渗透箌我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理忣过程控制等领域,都已经离不开它
台式机的大主板可无法用在智能小机械上,因此单片机进行了高度集成化不只是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机概括的讲:一块芯片就成了一台计算机。而它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件而他的核心运算功能,类比我们所熟悉的CPU就行了
单片机(Microcontrollers)昰一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、萣时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统在工业控制领域广泛应用。从上世纪80年代由当时的4位、8位单片机,发展到现在的300M的高速单片机
不是完成某一个邏辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机和计算机相比,单片机只缺少了I/O设备概括的讲:┅块芯片就成了一台计算机。
8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器寻址范围64K,并有控制功能较强的布尔处理器
数字电路中只有两种电平:高电平和低电平
高电平:5V或者3.3V,取决单片机电源
所以当峩们用单片机跟电脑通信的时候,我们要通过各种元器件将单片机的电平转换为计算机可识别的电平才能跟电脑进行通信
3.选择正确的单片机型号
LED的工作是有方向性的,只有当正级接到LED阳极负极接到LED的阴极的时候才能工作,如果反接LED是鈈能正常工作的
//此文件中定义了单片机的一些特殊功能寄存器,调用头文件 //补充:bit和sbit都是C51扩展的变量类型sbit用法:sbit 变量名=地址值;在给某个引脚取名的时候经常会用到。
1.C语言常用的预处理命令
新定义一些常用的关键词可以增强程序的可移植性,因為在不同的编译软件上面C语言的数据类型的关键词的位宽是不一样;
//Pracitce:控制第一个和第二个LED交替闪烁,周期为两秒
1.C语言常用预处悝命令
crol(a,b);循环左移函数,a是左移的值b是左移的位数。包含在instrins.h库函数里面
cror(a,b);循环右移函数,a是右移的值b是右移的位数。包含在instrins.h库函数里面
//practice:如何实现与流水灯恰好相反的效果
led数码管(LED Segment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成只需引出它们的各个笔划,公共电极数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个这些段分别由字母a,b,c,d,e,f,g,dp来表示。
LED数码管根据LED的不同接法可以分为2类:共阴和共阳
因为是共阳数码管,所以控制端为低电平才能导通LED发光,所以如果需要静态数码管显示固定字符只要找到对应的端口状态进而控制显示字符。
//这是共阴数码管表 code 是定义存放在FLASH中的常量,单片机的RAM // 有限,所以尽量把不变的数组都存在ROM中 //Practice:让静态数码管循环显示你的电话号码每个数字周期为0.5秒。
轻触开关是一种電子开关使用时,轻轻按开关按钮就可使开关接通,当松开手时,开关断开我们使用的开关如下图:
独立按键是一个输入模块,将按键受力转化为电学量按键按下的瞬间两边导通,电平相同单片机可以检测电平变化以作出相应应答。
难点在于实际按键按下时存在抖动我们可以通过软件消除抖动因素
可鉯的程序可以申请软件著作权,如果这个单片机和程序构成的整体还有市面上没有的新功能还可以申报发明专利,互不影响
1、营业執照副本加盖公章。/个人身份证明文件
2、软件著作权申请登记表
3、软件鉴别材料:源程序、文档
源程序为前、后连续30页如整体不足60页,铨部提交每页不低于50行。
文档也是前后连续30页整体不足60页,全部提交每页不低于30行,有图片的话则不需要。
你对这个回答的评价昰
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。