如何学习51单片机/心得/KEIL4/DXP

什么是单片机


学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。


有人觉得要先学汇编。不过我个人觉得,学习51单片机,还是从C语言入手,一来方便,二来容易上手,仁者见仁,智者见智吧。


关于学习51单片机的书籍(关注我们的公众号“单片机”,回复“教程”获取单片机电子书。),市场上有很多,大家可以择优选取。


那么,如何用程序控制单片机的呢?



我开始学单片机的时候也曾有过这样的困惑啊,ok,下面帮大家整理一下思路。



怎么在Keil里写程序?keil怎么安装破解?


用过VC6.0的同学都知道,VC6.0是一个编译环境。什么是编译环境?简单地说,就是你写代码的地方。 那么,同理,单片机的编译环境就是Keil(除了Keil以外,还有IAR啊等等,不过我推荐大家用KEIL吧) Keil有很多版本,最新版本是Keil4,所以我毫不犹豫地选择了Keil4。大家都知道,像这种软件,一般都不是免费的。(在道上混,迟早要还的,没有白占的便宜。“今生不了道,披毛戴角还”)

苦逼的写完了,怎么生成HEX文件?


在keil中编写完程序后,要将程序通过烧录器烧写到单片机中,这时就需要在keil中产生一个hex格式的文件,只有通过这种格式,烧录器才能将程序烧写到单片机中。hex文件格式是Intel公司提出的按地址排列的数据信息,数据宽度为字节,所有数据使用16进制数字表示, 常用来保存单片机或其他处理器的目标程序代码。它保存物理程序存储区中的目标代码映象。一般的编程器都支持这种格式。如何才能产生这种格式的文件呢? 在keil中对其进行如下设置,便能产生hex文件:


1.点击菜单“Option for Tagret '...'”

2.选择“Output”页

3.钩选“Create HEX File”

4.重编译 如果程序无误,在Project的当前目录即会产生HEX文件



什么是串口?51和串口和电脑又是什么关系?


串口是51单片机与PC机之间的连接桥梁,

如果 PC 机有 COM 串口 用 RS232转换TTL 与单片机 RXD TXD 连接,由此对应PL2303模块

如果 PC 机没有 COM 串口 用 USB转换TTL 与单片机 RXD TXD 连接,由此对应CH340模块

这两种方式都可以进行下载



STC-ISP是神马,它怎么就可以下载?什么是冷启动?


STC-ISP 是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便,现已被广泛使用。具体可以问问度娘 。冷启动就是:开发板先断电,在运行下载软件,之后出现“仍在连接中, 请给 MCU 上电...”后,在给开发板通电,这样子才能下载进去,否则STC-ISP显示:

连接失败,请尝试以下操作:


1.在单片机停电状态下,点下载按钮,再给单片机上电

2.停止下载,重新选择 RS-232 串口, 接好电缆

3.可能需要先将 P1.0/P1.1 短接到地

4.可能外部时钟未接

5.因 PLCC、PQFP 转换座引线过长而引起时钟不振荡,请调整参数

6.可能要升级电脑端的 STC ISP.exe 软件

7.若仍然不成功,可能 MCU/单片机内无 ISP 系统引导码,或需退回升级,或 MCU 已损坏

8.若使用 USB 转 RS-232 串口线下载,可能会遇到不兼容的问题,可以让我们帮助购买兼容的 USB 转 RS-232串口线仍在连接中, 请给 MCU 上电...



单片机需要掌握一些什么内容?



第一步:数字I/O的使用

核心控制器由单片机完成,采用数字PID控制算法进行过程控制。加热器件选用热惯性小,温度控制精度高,速度快的电热膜由单片机输出通断率控制#进行控制。采用单机或多机组合。压缩机可依负载变化。


使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。IO口的使用,最简单的就是点亮流水灯啦~Come on!为了让没有单片机的同学也能顺利学习,我们可以用仿真软件(可以用Proteus,超级强大,关注我们的公众号“单片机”,回复“仿真”获取Proteus资料大全)来做,学习更简单,麻麻再也不用担心了,哈哈。


第二步:定时器和按键的使用


学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。


数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。


按键,就不用说了吧,应用很广泛的,不多说,参见帖子,注意,按键扫描程序是用if还是while喔~最近在某论坛发现了一种新型按键识别思路(利用AD),也可以看看~



第三步:中断


单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。


要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某 种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等 。


中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,中断功能使单片机具有吃着碗里的,看着锅里的功能。 以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。



第四步:与PC机进行RS232通信


单片机都有USART接口,特别是MSP430系列中很多型号,都具有两个USART接口。USART接口不能直接与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个MAX3232芯片进行电平转换。USART接口的使用是非常重要的,通过该接口,可以使单片机与PC机之间交换信息,虽然RS232通信并不先进,但是对于接口的学习是非常重要的。正确使用USART接口,需要学习通信协议,PC机的RS232接口编程等等知识。试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验板上得到显示,将是多么有意思的事情啊!



第五步:学会A/D与D/A


STC12C5A60S2单片机带有多通道10位A/D转换器,通过这些A/D转换器可以使单片机操作模拟量,显示和检测电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。 使用A/D转换功能的简单的例子是设计一个电压表。DA的芯片承建的有,DAC8032, DAC8032请看: Proteus仿真链接(关注我们的公众号“单片机”,回复“仿真”获取Proteus资料)



第六步:学会PCI、I2C接口和液晶显示器接口


这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。


那我们来看一下如何实现LCD1602的显示吧:帖子链接+仿真链接



第七步:学会比较、捕捉、PWM功能


这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器 等控制起功能。 如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。



第八步:学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计


学习USB接口、TCP/IP接口、各种工业总线(CAN总线 、SPI总线 )的硬件与软件设计是非常重要的,因为这是当前产品开发的发展方向。到此为止,相当于学会15招降龙十八掌,但还不到打遍天下无敌手的境界。即使如此,也算是单片机大虾了。



第九步:学习无线传输的硬件与软件设计


PT2262/PT2272 是台湾普城公司生产的一种CMOS 工艺制造的低功耗低价位通用编解码电路,PT2262/PT2272 最多可有12 位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441 地址码,PT2262 最多可有6 位(D0-D5)数据端管脚,设定的地址码和数据码从17 脚串行输出,可用于无线遥控发射电路。


编码芯片PT2262 发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272 接收到信号后,其地址码经过两次比较核对后,VT 脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。


当发射机没有按键按下时,PT2262 不接通电源,其17 脚为低电平,所以315MHz 的高频发射电路不工作,当有按键按下时,PT2262 得电工作,其第17 脚输出经调制的串行数据信号,当17 脚为高电平期间315MHz 的高频发射电路起振并发射等幅高频信号,当17 脚为低平期间315MHz 的高频发射电路停止振荡,所以高频发射电路完全受控于PT2262 的17 脚输出的数字信号,从而对高频电路完成幅度键控(ASK 调制)相当于调制度为100%的调幅。

> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >


单片机与嵌入式系统是不同时代概念的同一事物,经历了许多不为人知的诞生环境与发展历程。单片机概念出现在PC机诞生之前,PC机诞生后才有了嵌入式系统概念。无论是单片机还是嵌入式系统,它们都呈现出单片、嵌入、物联的三位一体的特征。“单片”机强调的是形态,“嵌入式”系统强调的是应用形式,“物联”则是它们的本质。

生成海报
点赞 0

钟, 广林

我还没有学会写个人说明!

相关推荐

基于8051单片机实现电子时钟+数字秒表设计

概述 电子时钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显 示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许

OV7670摄像头模块资料

OV7670摄像头模块资料 一、实物图和原理图 二、模块简介 OV7670 是 OV( OmniVision)公司生产的 CMOS VGA 图像传感器。该传感器体积小、工作电压低,提供单片 VGA

汇编实现LED点亮

汇编点亮一个LED MCS-51单片机 也许C语言人人都会,但使用汇编语言就不一定了。 使用汇编语言点亮一个LED灯 程序: ORG 0000H MAIN:CLR P2.0 LJMP MAINEND 注释如下&#