普中HC6800-ES-V2.0单片机开发板教程.docx
- 文档编号:722902
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:299
- 大小:5.94MB
普中HC6800-ES-V2.0单片机开发板教程.docx
《普中HC6800-ES-V2.0单片机开发板教程.docx》由会员分享,可在线阅读,更多相关《普中HC6800-ES-V2.0单片机开发板教程.docx(299页珍藏版)》请在冰点文库上搜索。
HC6800-ES V2.0单片机开
发板
学习指南
普中科技
目录
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
第一讲开发板资源介绍 1
第二讲软件安装 3
第三讲程序下载 16
第四讲KEIL软件使用及入门LED灯 21
第五讲蜂鸣器 31
第六讲独立按键 32
第七讲静态数码管 37
第八讲矩阵键盘 42
第九讲动态数码管 45
第十讲电机 49
第十一讲中断 56
第十二讲1602液晶显示 60
第十三讲定时器 68
第十四讲时钟芯片DS1302 71
普中科技
第十五讲串口通信 83
第十六讲温度传感器18B20 89
第十七讲EEPROM操作24C02 99
第十八讲红外遥控显示 110
第十九讲AD/DA模数/数模转换XPT2046 116
第二十讲液晶屏显示 127
附录A单片机C语言介绍 140
附录B电路板绘制软件PROTEL介绍 170
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
第一讲开发板资源介绍
本开发板相对以往开发板的特点是综合性比较高、把短路冒去掉了 省去接线的麻烦更加方便了初学者、是一款性价比极高的产品,提供USB2.0和串口两种通信方式,USB实现供电、编程、仿真、通信多种功能,另外还提供了Atmel
单片机的ISP接口。
此板兼容STC、SST、Atmel、Philips等51家族的所有单片机。
如果使用ISP编程建议使用开发板自带的单片机,因为每个厂烧录程序的方式不
一样。
HC6800开发板有着丰富的外部资源,
通过对该开发实验仪的学习,学员不仅可以轻松快速地掌握单片机软件系统的开发(C语言、汇编语言),而且还能快速掌握硬件电路的设计及嵌入系统开发流程。
本套件配有丰富的实例源码、原理图等,特别适合单片机初学者,大中专院
校师生,单片机开发工程师选用,也是毕业设计和电子竞赛不可多得的参考板
Ø单片机采用STC90c5161280SRAM 64KFlash
Ø2.1寸彩色液晶屏
Ø超声波接口
Ø1602液晶屏接口
Ø12864液晶屏接口
Ø温度传感器DS18B20
ØEEPROM24C02存储器
Ø8位动态数码管
ØAD/DA转换XPT2046
ØDS1302实时时钟
Ø4*4矩阵键盘
Ø4个独立键盘
Ø2*8路led灯
ØUSB接口,实现下载,供电,串行通信。
通过USB转串口芯片CH340T转换
ØIR红外接收头,红外数据传输
Ø板载继电器
Ø蜂鸣器
109
普中科技
Ø步进电机ULN2003达林顿管驱动
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
第二讲软件安装
1、USB转串口驱动的安装
双击USB驱动SERIAL程序的Setup
安装成功后,会出现一下提示画面
点“确定”即可以结束安装过程。
安装完驱动程序成功后,把开发板与电脑连接可以看到设备管理器中的COM口。
在图标“我的电脑”右键,→属性,→硬件,→设备管理器(这是XP 系统,
普中科技
WIN系统与其相似找到设备管理器)
显示成功的COM口
安装不成功解决办法
如果发现是下图感叹号,则没有安装成功或者没有安装、右键点击更新驱动程
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
序
选择“从列表或指定位置安装(推荐)”
普中科技
出现此对话框,选择不要搜索,自己选择安装点“下一步”
点击"下一步"
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
出现此对话框、点击“从磁盘安装”
点击“浏览”到USB驱动文件夹找到安装文件打开
普中科技
点击“确定”和“下一步”
点击"完成"安装结束
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
KEIL软件安装
我们用现在新版本的uVision4KEIL开发环境,使用的版本是破解版,仅供大家学习使用。
如做商业开发,请购买正版,可以获得更多keil软件原厂技术支持。
即将安装软件如下,一个keil安装程序,一个注册机(右侧)。
打开C51V901.EXE安装程序
点击Next>>
普中科技
Iagreeallthetemsof……选中点击Next>>
设置安装目录,根据自己的情况选中安装目录,重新设置点击Browse,这里默认C盘,设置好安装目录后 点击Next>>
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
输入相关信息(随便输入),输入完毕后点击Next>>
开始安装,安装过程中 等待安装完成
普中科技
安装完成,点击Finish即可。
接下来破解软件。
打开注册机软件
Target:
选择
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
打开刚刚安装好的keil软件
点击File菜单
普中科技
现在没有破解
复制CID码到注册机中
选择LicenseManagement。
复制CID码,之后点击Generate生成注册码
复制生成的注册码到keil
从KEIL复制的CID码粘贴到这里
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
复制到这里
复制完注册码后,点击右侧的 ,即可完成破解。
提示
如下:
以上软件安装完毕。
接下来看程序了。
普中科技
第三讲程序下载
官方软件
普中软件
我们可以通过USB接口方式下载对我们开发板的单片机下载程序。
下载软件又可分为STC官方软件和普中科技自己开发的软件
利用官方软件下载程序需要手动重启单片机,需要给单片机重新上电启动。
普中开发的下载软件及所设计的开发板实现了全自动下载功能,省去了手动操作,极大方便了学习及开发人员。
接下来就来讲一下下载程序的方式。
1.USB口,普中软件
我们插上USB口,打开开发板电源开关。
然后打开普中ISP下载软件,如下图
:
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
串口号10
在usb转串口驱动安装成功后,打开软件应该有串口号,如图指示。
一般笔记本建议使用低速下载,台式可以使用高速下载,如果笔记本使用高速下载的话那么会报警波特率超时。
2.芯片类型选择STC90C5XX(具体的要根据您板子上使用的单片机型号)
如下图。
加载我们要下载到单片机里的程序,单击 ,选择下载的后缀为.Hex的文件,
普中科技
代码大小
打开后,会在文件名处有提示:
文件路径,还有代码大小。
4最后一步:
点击下载程序 ,下载成功如图显示。
此时继电器工作会有小的啪啪的响声。
下载成功
接下来我们用官方STC下载软件下载
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
1
3
2
4
1.选择开发板上单片机型号,我们选STC90C516
2.选择串口,可通过设备管理器查看
3.打开需要下载到单片机的程序
4.点击下载
点击下载按钮后会有这样的信息:
这时需要手动按开关键,关闭开关,打开开关这样一个过程,主要是给单片机冷启动。
重新上电后,会出现
普中科技
开始下载程序,下载完成。
上图表示下载成功。
现在用官方软件下载几乎都要手动重新给单片机上电过程。
市面的开发板主要也都是采用这种下载方式。
建议使用普中软件自动下载。
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
第四讲KEIL软件使用及入门led灯
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开
发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。
Keil提供了包括
C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行
Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
我们将通过一些实例来学习Keil软件的使用,在这一部份我们将学习如何输入源程序,建立工程、对工程进行详细的设置,以及如何将源程序变为目标代码。
在这里利用第二个例程,led闪烁实验来建立keil工程。
打开keil软件,版本μVision2,μvision3,μvision4都一样,在这里用μvision4版本演示,打开之后如下图,有的时候会默认打开上次使用的工程,单击Project菜单,选择Close Project关闭了默认打开的工程,显示下图界面:
普中科技
我们要建立新的工程,选择Project→newμvisionprojiect…
选择工程要保存的路径,输入工程文件名,如图
点击保存后会弹出一个对话框,要求用户选择单片机型号,可以根据用户使用的单片机来选择,我们使用的STC90单片机是兼容51内核的,Keil
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
C51几乎支持所有的51内核单片机,51内核具有通用型,如果程序用的资源不是太复杂,我们可以选择任意一款51单片机内核就行。
在稍后我们会继续讲解怎么将STC单片机官方的头文件添加进来,在这暂不多介绍。
Keil软件的关键是程序代码的编写,而非是用户选择什么硬件。
例程以添加
功能描述
Atmel的AT89C51来说明。
如图,然后,单击确定(OK)。
如果出现下面的界面:
单击是就可以,意思是将单片机的启动代码添加到工程,我们不用修改。
到目前我们还没建立一个完整的工程,只是有工程的名字,框架,工程中还没有任何文件代码,(除了启动代码,有的keil版本不显示启动代码),接下来我们添加文件及代码。
单击菜单File→New选项,或者单击界面上的快捷图标,新建文
件串口如下。
普中科技
界面显示的Text1就是我们刚刚加入的文件,但是这个文件与我们的工
程还没有直接联系起来,单击图标,保存我们当前的text1文件,输入要保存的文件名,同时要输入文件扩展名,扩展名很关键,用C语言编写
的程序,则必须为**.c,汇编语言必须为**.asm(**为文件名),文件名是用户自己取的。
填好文件名后单击保存。
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
回到编辑界面,单击Target1前面的“+”号,然后在SourceGroup1上右键单击,选择Add FilestoGroupSourceGroup1,选中我们刚才建立的.c文件,这里是ledtest.c,单击add,只需单击一次。
之后单击Close就可以。
回到主界面后,单击SourceGroup1前的“+”号,刚刚添加的文件显示在里面。
通过以上步骤我们就建立好了一个工程。
接下来就可以写代码了。
在写代码之前介绍介个常用的按钮:
按钮:
用来编译我们正在操作的文件。
按钮:
用来编译修改过的文件,并生成应用程序共单片机下载。
按钮:
用来重新编译当前工程中所有的文件,并生成应用程序共单片机下
普中科技
载。
因为很多工程不止有一个文件,当有多个文件时,用它进行编译。
按钮:
用来打开“OptionforTarget”对话框,对当前工程进行设置。
工程的各个参数都可以在这里设置,具体的设置方法用到的时候,再和大家详细讲述。
以上几个按钮是常用的,其他按钮在使用的时候再介绍。
1.编写程序
我们以一个程序为例来练习编写:
led闪烁。
这个程序大家一定要弄懂,也算是一个基础,懂了这个程序,也算是进入单片机的领域了接下来我会详细讲解这个例程。
另外需要注意的是单片机写程序的时候,一定是英文状态下的字符,尤其注意“;”,往往就因为这个分号,程序出现问题,所以输入时一定要注意是在英文状态下的。
我们在编辑框中输入以下程序:
/********************************************************************
* LED闪烁的简单试验
*
********************************************************************/
#include
voidmain()
{
while
(1)
{
P2 =0x00;//置P0口为低电平delay(600);//调用延时程序
P2 =0xff;//置P0口为高电平delay(600);//调用延时程序
}
}
/*******延时函数*************/voiddelay(unsignedinti)
{
unsignedcharj;
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
for(i;i>0;i--) //循环600*255次
for(j=255;j>0;j--);
}
我们先编译一下:
第一次编译我们点击 ,看一下结果
结果的意思:
编译led2.c…
链接…
data=9.0--占用内部RAM9个字节,xdata=0:
外部RAM0字节,
Code=56代码长度为56字节
生成单片机可下载的HEX(十六进制)文件。
没有错误,没有警告。
在这里说明一点:
生成HEX文件是我们自己设置的,默认的情况下不会生成
HEX文件。
单击进行设置,如下图,选择Output,勾选Creathex,后单击确定。
普中科技
2.接下来我们分析上面的程序:
/* */作用,它是用来注释一段内容的,编译器不对其进行编译,只要在/*
*/直接的内容都被注释掉。
//是用来注释其后面的内容,只能注释一行。
#include
放的是51单片机对应的操作的寄存器地址,如我们直接用来操作的P1口就是代表0x90地址,我们可以将光标低位在
打开头文件,#ifndefREG51_H#defineREG51_H
/* BYTERegister */sfrP0 =0x80;
sfrP1=0x90;sfrP2=0xA0;sfrP3=0xB0;sfrPSW=0xD0;sfrACC=0xE0;
……………………………
/*SCON*/
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
sbitSM0=0x9F;sbitSM1=0x9E;sbitSM2=0x9D;sbitREN=0x9C;sbitTB8=0x9B;sbitRB8=0x9A;sbitTI=0x99;sbitRI=0x98;#endif
头文件中定义了51系列单片机的所有功能寄存器,我们直接使用其代号就可以,P0,P1等。
如:
sfrP0=0x80,意思是把单片机内部地址0x80处的寄存器重新起名字叫P0,以后我们在程序中直接操作P0,就相当于对单片机内部0x80地址处的寄存器进行操作。
通俗的讲,也就是说,通过sfr这个关键字,让Keil编译器在单片机与人之间搭建一个桥梁,我们操作P0口,单片机对应就去操作内部0x80的地址。
所以我们写程序要在开始处直接包涵单片机的头文件。
sbit SM0 =0x9F;是定义位操作地址0x9F的,这个地址只代表一个位。
我们操作SM0,对应单片机就是操作位地址0x9F。
总结起来sfr与sbit区别
sfr是定义字节的 8位
sbit是定义位的 1位
我们在返回主程序:
voiddelay(unsignedinti)
{
unsignedcharj;for(i;i>0;i--)
for(j=100;j>0;j--);
}
定义一个函数delay();与c语言一样,要用一个函数,先定义,我们可以叫它子函数,可以调用的。
voidmain() //结构同c语言一样,main()函数开始
{ //大括号。
P2 =0x00;//置P0口为低电平
从这句开始,你现在控制单片机了,告诉单片机把你的P2口都输出0,如果你不操作P2口了,那么P2口一直保持这个状态,直到你去改变它。
普中科技
delay(1000);//调用延时程序
调用子函数delay(),告诉单片机去执行delay那个函数,那么P2口一直保持0这状态。
P2 =0xff;//置P0口为高电平
这时告诉P2口全部输出1,(0xff=11111111).状态从0变成1了,对应的灯的输出也由低电平变成高电平了
delay(1000);//调用延时程序,再进行延时,
}
这个程序里执行完了一次又干什么呢,
Keil编译器会编译成一直重复执行main()函数里面的代码,整个代码的效果就是:
①P2输出低电平
②延时一段时间,目的是P2输出的低电平保持一段时间
③P2输出高电平
④延时一段时间,目的是P2输出的高电平保持一段时间
⑤重复①到④的过程 实际效果就是led一闪一闪
通过更改delay(延时时间i),参数i,可以改变闪烁频率。
实际操作:
1.打开软件(提前装好驱动),点击打开文件,打开我们刚刚编译的led.hex文件,下载程序,就会看到led闪烁。
wKh2jFw3OzyAEk79AONMGDC_lvI233.pdf
我们再看一个例程,就是单片机最经典的流水灯例程:
以下是我们的硬件电路,led一段接单片机P2口的8个引脚,另外一边接排阻
RP12和RP13,然后接到电源
基础知识介绍:
排阻:
一般在排阻上都标有阻值号,其公共端附近也有明显标记。
如下下图表示为
472,表示47*2=4700欧姆,还有的标号如3R0,表示阻值为3欧姆,4K7表示阻值为4.7kΩ,R002表示阻值为0.002欧姆。
(2)发光二极管。
它具有单向导电性,通过5mA左右电流即可发光,电流越大,其亮度越强,但若电流过大,会烧毁二极管,一般我们控制在3mA-20mA之间。
在这里,给发光二极管串联一个电阻的目的就是为了限制通过发光二极管的电流不要太大,因此这个电阻又称为“限流电阻”。
当发光二极管发光时,
测量它两端电压约为1.7V,这个电压又叫做发光二极管的“导通压降”。
图2.2.9和图2.2.10分别为直插式发光二极管和贴片式发光二极管实物图。
发光二极管正极又称阳极,负极又称阴极,电流只能从阳极流向阴极。
直插式发光二极管
长脚为阳极,短脚为阴极。
仔细观察贴片式发光二极管正面的一端有彩色标记,通常有标记的一端为阴极。
普中科技
图2.2.9 图2.2.10
关于排阻大小的选择:
欧姆定律想必大家都清楚,U=IR,当发光二极管正常导通时,其两端电压约为1.7V,发光管的阴极为低电平,即0V,阳极串接一电阻,电阻的另一端为Vcc,为5V,因此加在电阻两端的电压为5V-1.7V=3.3V,计算穿过电阻的电流,3.3V/1000Ω=3.3mA。
即穿过发光管的电流也为3.3mA,若想让发光管再亮一些,我们可以适当减小该电阻。
看我们的原理图,可以知道:
LED的正极接在VCC上,只要给了低电平,那么LED就会亮,低电平对应到单片机的逻辑就是0,只要单片机的某一个管脚输出0,那么对应的发光二极管就会亮。
我们看一下源码:
/******************************************************************************
*实验名 :
左右流水灯实验
*使用的IO :
P2
*实验效果 :
点亮的LED从右边往左边移动,到达左边再往右边移动,依此循环。
*注意 :
******************************************************************************/#include
#include
#defineGPIO_LEDP2 //将P2口另外取名为GPIO_LEDvoidDelay10ms(unsignedint); //误差0us
/******************************************************************************
*函数名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- HC6800 ES V2 单片机 开发 教程