|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
( F* b% x1 r. R% j. V! G7 {' R* b, S: x- f* g7 x& y
学习使用单片机就是理解单片机硬件结构,以及内部资源的应用, 在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。- }% x) q9 T( ]
* A+ ?2 V% ~$ b* O" m8 P7 O2 x# V* |- J- s% ^
什么是单片机3 L* K1 Y9 c, F B& p. |
学习使用单片机就是理解单片机硬件结构,以及内部资源的应用, 在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。# z3 m1 b) U% s) S
有人觉得要先学汇编。不过我个人觉得,学习51 单片机,还是从C语言入手,一来方便,二来容易上手,仁者见仁,智者见智吧。5 o' q# W. i8 ?! u
关于学习51 单片机的书籍,市场上有很多,大家可以择优选取。) Z# l( y! D- `+ C; m6 z$ k/ |
那么,如何用程序控制单片机的呢?
9 z/ }/ U% \9 V7 Z7 {. ?/ `, F6 n9 G
& {+ V2 X! M+ A9 j( b7 J. }. @: [3 y
我开始学单片机的时候也曾有过这样的困惑啊,ok ,下面帮大家整理一下思路。
' I- t+ u' C5 @3 p1 s+ m 怎么在Keil 里写程序?keil怎么安装破解? y3 a. o) k1 z# A- }
用过VC6.0 的同学都知道,VC6.0是一个编译环境。什么是编译环境?简单地说,就是你写代码的地方。 那么,同理,单片机的编译环境就是Keil(除了Keil以外,还有IAR啊等等,不过我推荐大家用KEIL吧) Keil有很多版本,最新版本是Keil4,所以我毫不犹豫地选择了Keil4。大家都知道,像这种软件,一般都不是免费的。1 V0 T/ A( D. r3 h, w! w5 U
But!! 我们的毛爷爷说了,人有多大胆,地有多大产) A2 f" Q" J* N, ~2 i
国内从事于破解工作的牛人还是不少的,所以,安装和破解keil 是很轻松的( T3 T3 t7 G5 S$ S9 |1 X+ j
破解方法
: \$ a$ m4 y: N! B) X 1. 安装 Keil For 51 执行 setup.exe9 l5 \' i h( M: h! Y3 T
2. 注册 l 开打 KEIL4 软件(WIN7要以管理员身份运行) 执行菜单命令 file > License Management l 打开注册机 (下载地址见上)! S, O; r( w+ [( H! r
3. 目标 Target 选择 C51。: d+ Z# W# W: V7 [% Z6 b5 f4 P
4. 拷贝 CID 框里的内容到注册机的 CID 里。 \, }* r1 e8 A+ [
5. 点击注册机里的 GENERATE 生成代码。
) q% L8 C f% z& m2 L0 [ 6. 然后拷贝注册码到 keil 里的 New License ID Code 中点击 ADD LIC 即可。% u0 x8 I% O# f( ^. W
; E! Y$ w1 y8 ]9 r1 l/ O
苦逼的写完了,怎么生成HEX文件?" a8 f5 D3 ^# @5 A
在keil中编写完程序后,要将程序通过烧录器烧写到单片机中,这时就需要在keil中产生一个hex格式的文件,只有通过这种格式,烧录器才能将程序烧写到单片机中。hex文件格式是Intel公司提出的按地址排列的数据信息,数据宽度为字节,所有数据使用16进制数字表示, 常用来保存单片机或其他处理器的目标程序代码。它保存物理程序存储区中的目标代码映象。一般的编程器都支持这种格式。如何才能产生这种格式的文件呢? 在keil中对其进行如下设置,便能产生hex文件:
% v i8 m; n9 m6 f7 W' u0 ]- W( v 1.点击菜单“Option for Tagret '...'”
4 z! |) h/ ^4 h3 k. W9 U4 p; p 2.选择“Output”页
5 ?0 U% V$ h9 g Z. Z: X2 f 3.钩选“Create HEX File”
- L$ @* u' G3 E6 ? 4.重编译 如果程序无误,在Project的当前目录即会产生HEX文件
3 F: ~+ l0 @: ` 什么是串口?51和串口和电脑又是什么关系?
, n6 }6 Y! [7 Q1 _* s' Z 串口是51单片机与PC机之间的连接桥梁,' a. P/ r' U% g- D& f
如果 PC 机有 COM 串口 用 RS232转换TTL 与单片机 RXD TXD 连接,由此对应PL2303模块
; S5 ^- d4 n% p& v3 R6 f& o6 `) f 如果 PC 机没有 COM 串口 用 USB转换TTL 与单片机 RXD TXD 连接,由此对应CH340模块7 }+ c* g* O8 o. ~
这两种方式都可以进行下载
- O3 r5 I% I# x6 v% X: e5 O9 G5 ] STC-ISP是神马,它怎么就可以下载?什么是冷启动?
% v5 Z8 D9 u/ @* e- `6 c STC-ISP 是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便,现已被广泛使用。具体可以问问度娘 。冷启动就是:开发板先断电,在运行下载软件,之后出现“仍在连接中, 请给 mcu 上电...”后,在给开发板通电,这样子才能下载进去,否则STC-ISP显示:) t$ ]8 U, g& c+ q8 e
连接失败,请尝试以下操作:
/ K. j/ c- q- @ r( B/ H: O6 E 1.在单片机停电状态下,点下载按钮,再给单片机上电7 A4 t) s/ E P2 J# C0 C, x
2.停止下载,重新选择 RS-232 串口, 接好电缆
c) m5 X& [. a3 A, Q 3.可能需要先将 P1.0/P1.1 短接到地
- ]3 v# p; Z9 _* _& I) J 4.可能外部时钟未接* W/ j, ?* D$ o: W5 p
5.因 PLCC、PQFP 转换座引线过长而引起时钟不振荡,请调整参数
# D* P# l9 m- r: C 6.可能要升级电脑端的 STC ISP.exe 软件) T4 n# c7 H0 K, e! ?! k7 N6 X; K! _
7.若仍然不成功,可能 MCU/单片机内无 ISP 系统引导码,或需退回升级,或 MCU 已损坏
2 U! N. t% G! q" P$ s 8.若使用 USB 转 RS-232 串口线下载,可能会遇到不兼容的问题,可以让我们帮助购买兼容的 USB 转 RS-232串口线仍在连接中, 请给 MCU 上电... 单片机需要掌握一些什么内容?
. e/ C- m9 i+ q1 h9 D 第一步:数字I/O的使用
7 z4 P" v8 Y, Z7 s) \) T 使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。IO口的使用,最简单的就是点亮流水灯啦~Come on!为了让没有单片机的同学也能顺利学习,我们可以用仿真软件来做,有视频喔,学习更简单,麻麻再也不用担心了,哈哈。请看:帖子链接& X2 z; P' u n
第二步:定时器和按键的使用" E7 y" f& l* H. Z7 o- K& O3 D# J- `
学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。 按键,就不用说了吧,应用很广泛的,不多说,参见帖子,注意,按键扫描程序是用if还是while喔~最近在某论坛发现了一种新型按键识别思路(利用AD),也可以看看~5 }! t; L# n- }, r6 b: D
第三步:中断7 W- ~9 B2 @, w4 k. K
2 j8 D+ y0 v4 y6 o! W
|
|