一:单片机引脚
单片机,STC89C52:
单片机全称单片微型计算机;它内部有存储器、处理器、输入输出接口,具有计算机的属性。
STC代表生产公司,8代表8051内核,9代表Flash内存,C代表属于CMOS类,5(表示51单片机)固定不变,2的位置可由1-16任意数字代替,代表存储区大小为4KB的倍数。
引脚功能:VCC(40脚)是单片机电源正,GND(20脚)是电源正;P0、P1、P2、P3是四组输入输出口,显高电阻状态,对外能发出高电平和低电平;10脚是串行输入口,11脚是串行接收口;12、13脚是外部中断输入;18、19脚用于外接时钟;9脚是复位引脚,有两个机器周期以上的高电平则使单片机复位;其它引脚不要求掌握。
晶振,11.0592MHz:
晶振全称为晶体振荡器,是用电损耗很小的石英晶体经精密切割磨削并镀上电极、焊上引线做成。这种晶体有一个很重要的特性,如果给它通电,它就会产生机械振荡,反之,如果给它机械力,它又会产生电,这种特性叫机电效应。在工作时,他们的机电效应是机-电-机-电..的不断转换,因而产生周期性的振荡。他们有一个很重要的特点,其振荡频率与他们的形状,材料,切割方向等密切相关。利用石英晶体可以产生想要的非常稳定的振荡。
注意点:
1、区分集成电路芯片的引脚。我们观察单片机的表面(如右图),有一个凹进去的半圆缺口,它所对应的左边第一个脚就是这个芯片的脚1。然后按逆时针的方向数下去,依次为2,3,•••,40。
2、电容、晶振离单片机越近越好,因为晶振的频率非常高,易受影响。
3、单片机应该安在锁紧座上,而不是直接焊在板上。
4、单片机P0口要接上10kΩ的上拉电阻。
二:最小系统
电路图:
烧写模块:
材料清单:
1:烧写电路:
DB9母座一个 USB串口线一个
MAX232芯片及芯片座各一个
104瓷片电容 5 个
2:单片机接触电路:
40PDIP 锁紧座一个
10K排阻1个 排针4排
3:时钟电路:
11.0592晶振一个
30pF瓷片电容 2个
4:复位电路:
10uF点解电容一个
10K电阻一个
按键一个
5:便于调试电路
发光二极管8个 1K电阻8个
6:导线焊锡若干,电路板一块
7:如果用USB供电,需要D形口及USB方口线一条。(推荐~)
8:总开关
自锁式开关一个,LED一枚 1K电阻1只~
主要元件:
RS232(DB9)接口:
RS232接口是一种串行通讯的标准。该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。之后出现了代替DB25的DB9接口,现在都把RS232接口叫做DB9。DB9如图
MAX232:
是美信公司生产的一款专用于电平转换的芯片。详见注意点。
注意点:
1、电平。通常数据是采用二进制来存储、传输的,可以用电平信号表示逻辑的0和1,这种表示逻辑0和1的电平叫逻辑电平。在TTL电平信号系统里,+5V等价于逻辑“1”,0V等价于逻辑“0”。当然,实际使用时不可能这么严格;一般数据输出时,高电平>2.4V,低电平<0.4V;输入时,高电平>2.0V,低电平<0.8V。(数据来源网络)。RS232采用负逻辑电平,-15~-3V为逻辑1,+15~+3V为逻辑0。用MAX232芯片可完成TTL电平←→RS232所用逻辑电平的双向电平转换。
2、9针串口(DB9)除了2、3、5脚外其余的都不连入电路。不要让其余脚碰到练习版上高电平或低电平,碰到的话可能会使最小系统不稳定。
3、笔记本电脑没有DB9接口,因此我们选用USB转RS232串口线。建议网购,WIN7系统选用型号HL340、XP系统可选HL340和PL2303。
4、MAX232不要直接焊接在练习板上,应该把芯片座焊在电路板上,注意引脚的序号。
三:Keil入门
Keil:
Keil C51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,该软件包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内,全Windows界面。Keil C51生成的目标代码效率非常高,多数语句生成的汇编代码很紧凑,容易理解。本教程讲解的Keil版本为V8.02。
Keil的使用:
一、进入Keil工作界面
二、建立工程
点击“Project”→“NewProject”。如下图所示。
在弹出的窗口选择工程要保存的路径,输入工程文件名。然后点击“保存”按钮。
在弹出的对话框要求选择单片机的型号,因为51内核单片机具有通用性,所以我们任选一款89C52就行。在这里我们选择Atmel的89C52,然后点击“确定”按钮。
完成上一步后,窗口界面如图所示。
至此,我们已经建立一个工程,但工程中还没有任何文件及代码。
三、添加文件及代码
1、添加代码到文件
点击“File” →“New”或者点击按钮来新建文件。
新建文件后,窗口界面如图所示。
点击“File” →“Save”或者点击,弹出窗口如图所示,在“文件名”处输入要保存的文件名(例:pmd.c),必须输入正确的扩展名(如果用C语言编写程序,则扩展名必须是.c;如果用汇编语言编写程序,则扩展名必须是 .asm)。这里的文件名不一定和工程名相同,可以随意填写文件名,然后单击“保存”按钮。
此时这个新建文件格式就变成了C语言源文件,与我们刚刚建的工程还没有直接联系。
比较好的习惯是先将其添加到工程,再编写代码
单击“Target 1”前面的“+”号,然后右键单击“Source Group 1”,选择“Add Files to Group ‘SourceGroup 1’”,如图所示。
在弹出对话框中,选中pmd.c,单击“Add”按钮,再单击“Close”按钮,然后再单击左侧“Source Group 1”前面的“+”号,屏幕窗口如图所示。
这时,源代码文件就与工程关联起来了。
然后就可以放心的去编码了~~。
如果要看昨天上课用P1口实现的
编码完成后。
四、编译、连接
点击“Project”→“Rebuild all target files”或者点击。 信息输出窗口中显示了编译过程和编译结果,如图所示。
如果源代码中有语法错误,会有错误报告出现,双击该行,可以定位到出错的位置,对源程序反复修改之后,最终会得到“”pmd”- 0 Error(s),0 Warning(s).”的结果。
五、生成HEX文件
单击“Project” →“Options for Target ‘Target 1’”或者单击,弹出窗口,选择“Output”,然后选中“Create HEX File”,使程序编译后产生HEX代码,供下载器下载到单片机中。
再次单击,编译工程,编译过程和编译结果如图所示。
、
我们发现编译过程多出一行“creating hex file from“pmd”…”。当创建并编译一个工程时,生成的HEX文件名与工程名是相同的。
现在,我们就可以把HEX文件烧到单片机内使用了。
四、用STC-ISP烧录‘
这个程序用于将二进制程序(hex文件,详见KEIL软件的使用)烧录到STC单片机中。具体的步骤,该软件标明了操作步骤,一看便知。
1:选择单片机类型(我们用的是STC89C52RC)
2:选择hex文件(Keil生成的那个)
3:选择COM口。选择COM口时,可以查看设备管理器,如图。要改端口号,双击划线的项、选择端口设置选项卡、单击“高级”、选择COM端口号下拉菜单中的项。(如果是无法识别,则需要安装串口线的驱动,百度或者问卖家要)
步骤4可以跳过。
5:点Download然后重新启动单片机(握手连接)。
也可严格按照软件界面上的说明步骤来搞~
烧录程序时,要在单片机电源未开的状态下点击步骤5里的“Download/下载”,然后再给单片机上电(因为此处我们用的STC89c51/STC89c52不支持在线可编程ISP)。点了“Download/下载”之后,若USB转RS232串口线没问题,则步骤三的串口指示灯应该亮。当烧录不成功时,要检查硬件电路的焊接,当检查好几遍没有问题时,我们才可以开始怀疑芯片、单片机的质量问题。