ImageVerifierCode 换一换
格式:DOCX , 页数:48 ,大小:1.36MB ,
资源ID:3989101      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3989101.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(XD单片机学习板使用手册V20.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

XD单片机学习板使用手册V20.docx

1、XD单片机学习板使用手册V20XD2007/8单片机学习板 使用手册 版本:V2.00ZJ单片机学习网完成日期:2009-09-10 目 录第1章 XD2007/8单片机学习板功能简介 1.1 概述 1.2. XD2007/8单片机学习板主要功能 1.3. STC89C52RC单片机性能 1.4. STC89系列单片机选型第2章 XD2007/8单片机学习板原理电路说明第3章 XD2007/8单片机学习板实践指导 3.1 基本入门实践部分1. 基本I/O口的输出实践2. 基本I/O口的输入实践3. 总线操作实践3.2 综合提高实践部分1. 单片机I/O串口实践2. 单片机点阵汉字显示实践3单片

2、机A/D、D/A综合实验4. 单片机秒表、报警综合实验5. 单片机温度测量、通信综合实验第5章 XD2007/8单片机学习板的功能扩展第4章 Keil软件平台与STC_ISP下载软件的安装使用 4.1 Keil软件平台的安装使用 4.2 STC_ISP下载软件的安装使用第6章 常见问题 第1章 XD2007/8单片机学习板功能简介1.1 概述XD2007/8单片机电路板是专为在校学生和单片机爱好者开发的一款单片机学习板,亦可作为工程人员开发参考之用。本学习板采用51内核的STC89C5x系列单片机为核心控制器,指令集与MCS-51完全兼容,是学习51系列单片机入门或提高开发技能的好平台。针对课

3、程和学习提高要求,编写了多个实践测试程序,对全面学习和掌握单片机开发技能很有帮助。由于该板选择了STC系列单片机,对于程序(目标码)下载提供了便利(只用串口即可完成)。1.2 XD2007/8单片机学习板主要功能 XD2007/8单片机学习板如图1所示。 从图1可以看出,XD2007/8学习板可以直接学习的内容有: 完全可以学习STC89C5x单片机的所有资源(中断、定时/计数、E2PROM等操作); 通过蜂鸣器与按键学习I/O口的操作; 通过LED灯学习总线的编程控制方法; 通过A/D变换器学习数据采集的编程与热敏电阻测温原理; 通过D/A变换器学习数字量到模拟量的转换及各种波形的产生原理;

4、 通过DS18B20数字温度传感器学习单线I/O接口编程方法; 通过1616点阵学习图形或汉字的显示原理; 通过74HC595学习串进并出编程方法与动态显示原理; 通过UART串口学习单片机与PC机的通信方法和编程技巧; 通过总线接口完全可以实现其它扩展功能。1.3 STC89C52RC单片机性能 1个8位字长的CPU和指令系统; 1个片内振荡器及时钟电路; 内部有8KB的E2PROM(程序存储器); 64KB的外部程序存储器寻址空间; 64KB的外部数据存储器寻址空间(片内集成有256字节RAM); SRAM数据存储器256字节(分低128字节和高128字节); 片内有2K字节E2POM;

5、3个16位定时器/计数器; 1个可编程的全双工串行接口; 32条可编程的I/O端口(分4个8位并行I/O端口); 有6个中断源、2个优先级中断控制器; 1个布尔处理器; 有111条指令; 有内部看门狗定时器; 有双数据指针(双DPTR); 时钟可加倍; 高抗电(ESD)保护; 低功耗,掉电0.1A、正常4mA7mA; 有DIP-40脚封装及TQFP-44脚封装。1.4 STC89系列单片机选型 STC89系列单片机选型见表1所示。 注:STC系列单片机网站:www.mcu-第2章 XD2007/8单片机学习板原理电路说明XD2007/8 学习板原理电路如图2图6所示。其中,图2是STC89C5

6、xCPU、总线锁存器(74HC573)、外部扩展接口(74HC573)、上电复位电路、时钟电路和DS18B20测温等部分。图3是地址译码器(U6,74HC138)、RS232串口电平转换(RS232)、A/D转换器(TLC549)、D/A转换器(TLC5615)、按键及LED灯等电路部分。图4是 1616点阵显示器驱动电路(2U1、2U2、2U7和2U8)、总线扩展接口及电源等部分。图5是1616点阵显示器原理电路。图6是 XD2007/8单片机学习板印制板(PCB)图。第3章 XD2007/8单片机学习板实践指导 XD2007/8单片机学习板软件编程既可以用51汇编也可以用C51编写。考虑到

7、程序的可读性,本指导用C语言编写。对于每一例子经“Keil Vision2” 编译成“文件名.HEX”文件后,再由“STC_ISP_V3.5”下载软件将“文件名.HEX”烧入XD2007/8学习板即可看到结果。3.1 基本入门实践部分1. 基本I/O口的输出实践通过图2中的蜂鸣器电路(V1与蜂鸣器),经SPEAK(P1.0引脚)控制其发声。源程序如下:#include reg52.h sbit SPEAK=P10; /定义蜂鸣器引脚 void delay(unsigned int x) /延时函数 unsigned int i; for (i=0;i0x4000) j=0x200; 2. 基本

8、I/O口的输入实践 通过图2的蜂鸣器与图3的K1、K2实现按键输入操作功能,当按K1时停止发声,当按K2时又继续发声。源程序如下: #include reg52.h sbit SPEAK=P10; /定义蜂鸣器引脚 sbit K1=P11; /定义K1按键 sbit K2=P24; /定义K2按键 void delay(unsigned int x) /延时函数 unsigned int i; for (i=0;i0x4000) while(1) j=j-0x300; SPEAK= SPEAK; /产生波形发声 delay(j); /延时变调 if (j0x100) goto start; i

9、f(K1=0) goto k1; /按K1停止发声 k1: while(1) SPEAK=1; /关声音 if (K2=0) goto start; /按K2开始发声 3. 总线操作实践 通过图2的U4、图3的U6及总线LED指示灯实现的LED等闪烁功能。如果用汇编程序其指令是“MOVX指令”,如果用C程序则用指针操作,源程序如下: #include reg52.h sbit SPEAK=P10; /定义蜂鸣器引脚 void delay(unsigned int x) /延时函数 unsigned int i; for (i=0;ix;i+); void main(void) unsigned

10、 char xdata *p1; /定义指针变量,指向外部存储器空间 unsigned char idata y; /定义数据 y=0x05; p1=0x1000; /指向1000H口地址(LED灯) while(1) SPEAK= SPEAK; /产生波形发声 delay(0x6000); /延时 y=y; /LED等数据取反 *p1=y|0x80; /LED灯闪烁点亮(总线操作) 3.2 综合提高实践部分1. 单片机I/O串口实践一、实验电路描述在实际应用当中,利用普通I/O口作串进并出是常用方法。图4中,两个74HC595级联实现16位串进并出是点阵显示器的行驱动电路。如果目的不只是点阵

11、显示器的行驱动也可用于其他16个控制(数字)输出的应用。二、软件编程根据74HC595的工作时序结合图4:由LEDDI(14脚)依次送入高位串行数据(D15D0)位;在每1位有效后,必由LEDCLK(11脚)输入时钟(上升沿有效);当对应16位数据均输入器件后,由LEDALE(12脚)送入低到高的锁存信号。数据立即再现到1L16L端口。C程序如下:#include /*包含52资源定义头文件*/sbit LEDALE=P13; /*定义74HC595锁存信号*/sbit LEDDI=P17; /*定义74HC595的串行输入信号*/sbit LEDCLK=P33; /*定义74HC595的时钟

12、信号*/void delay_l(unsigned int n) /*长延时*/ unsigned int i; for(i=0;in;i+); /*串行输出16位数据函数*/ void out_16bit(unsigned int numb) unsigned char i; unsigned int x; x=numb; LEDALE=0,LEDCLK=0; /*接口初始化*/ for(i=0;i16;i+) LEDDI=(x & 0x8000); /*如果x & 0x8000为真LEDDI=1*/ LEDCLK=1;LEDCLK=1; /*送时钟上升沿*/ LEDCLK=0;LEDCLK

13、=0; x=x1; /*数据左移1位*/ LEDALE=1; /*送锁存信号上升沿*/ LEDALE=0; void main(void) /*测试主函数*/ unsigned char xdata *Y0; /*定义外部指针变量*/ unsigned int x; unsigned char i,j=0; Y0=0x1000; /*将外部地址1000H赋给Y0*/ x=0x5555; while(1) /*在第1-16列上显示x的值,操作U4*/ x=x; /*x数值取反*/ for(i=0;i16;i+) out_16bit(x); /*输出x的非*/ j=i;j=3; /*计算合理的列值

14、*/ *Y0=j; delay_l(0x4000); /*延时*/ /*while(1)结束*/ /*main结束*/在本例中读者如果将“delay_l(0x4000)”延时函数中的0x4000,改成0x30后,再观看显示结果有何不同。2. 单片机点阵汉字显示实践一、硬件电路描述市面上已有很多有关点矩阵显示器的产品,如广告活动字幕机、股票显示板、活动布告栏等。它的优点是可按需要的大小、形状、单色或彩色来组合,可与计算机或单片机系统连接,做各种广告性文字或图形显示。点阵式LED显示器的种类可分为57、58、68、88等4种;而按LED发光变化颜色来分,可分为单色、双色、三色;按LED的极性排列方

15、式又可分为共阳极与共阴极。本实验作为一种原理性的学习,采用4块88的共阳极单色点阵式LED组成1616的点阵来显示汉字或图形。1616的点阵电路如图5所示。16行驱动与16列译码电路如图4所示。2片74HC138译码输出控制图4的三极管的16列。而2片74HC595连接起来作为16位数据的输出控制图5的16行。采用这种电路可以大大减少单片机I/O管脚的使用,而且可扩展更多的点阵驱动。读者通过基本LED点阵屏的编程练习,可以实现“静态”、“动态”和“滚屏”显示汉字或图形的方法,从中可以获得学习单片机的乐趣。二、软件编程根据XD2008综合实验电路,用C实现的汉字静态及动态显示程序如下:#incl

16、ude /*包含52资源定义头文件*/ #include /*XBYTE的头文件*/ sbit LEDALE=P13; /*定义74HC595锁存信号*/ sbit LEDDI=P17; /*定义74HC595的串行输入信号*/ sbit LEDCLK=P33; /*定义74HC595的时钟信号*/ sbit K1=P11; /*k1按键输入脚*/ sbit K2=P24; /*k2按键输入脚*/ #define Y0 XBYTE0x1000 /*Y0的口地址*/ unsigned char led123; /*定义LED灯变量*/ /*-有关汉字显示字模-*/ unsigned int co

17、de dis_numb116=0x4000,0x4FFE,0x4814,0x4824, 0x4844,0x7F84,0x4804,0x4804,0x4804,0x7F84,0x4844,0x4844, 0x4844,0x4FFE,0x4000,0x0000;/*西*/unsigned int code dis_numb216=0x0101,0x0901,0x3101,0x2102, 0x21E2,0x2F14,0xA514,0x6108,0x2114,0x2124,0x21C2,0x2103, 0x2902,0x3100,0x2100,0x0000;/*安*/unsigned int code

18、 dis_numb316=0x0000,0x0000,0x1FF0,0x1220, 0x1220,0x1220,0x1220,0xFFFC,0x1222,0x1222,0x1222,0x1222, 0x1FF2,0x0002,0x000E,0x0000;/*电*/unsigned int code dis_numb416=0x0080,0x0080,0x4080,0x4080, 0x4080,0x4082,0x4081,0x47FE,0x4880,0x5080,0x6080,0x4080, 0x0080,0x0180,0x0080,0x0000;/*子*/unsigned int code d

19、is_numb516=0x0820,0x4840,0x4980,0x4E00, 0x7FFF,0x8A00,0x8920,0x0020,0x4420,0x3340,0x0040,0x0040, 0xFFFF,0x0080,0x0080,0x0000;/*科*/unsigned int code dis_numb616=0x1080,0x1082,0x1101,0xFFFE, 0x1200,0x1402,0x0002,0x1304,0x12C8,0x1230,0xFE30,0x1248, 0x1384,0x1206,0x1004,0x0000;/*技*/unsigned int code dis

20、_numb716=0x0400,0x0401,0x0402,0x0404, 0x0408,0x0430,0x05C0,0xFE00,0x0580,0x0460,0x0410,0x040C, 0x0406,0x0403,0x0402,0x0000;/*大*/unsigned int code dis_numb816=0x0200,0x0C40,0x0840,0x4840, 0x3A40,0x2A40,0x0A42,0x8A41,0x7AFE,0x2B40,0x0A40,0x1840, 0xEA40,0x4C40,0x0840,0x0000;/*学*/unsigned int code dis_n

21、umbz0= 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,/*不显示*/ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0FFA,0x0000,0x0000,0x0000,/*!*/ 0x0000,0x4040,0x4042,0x5F43,0x5264,0x5254,0x7E48,0x52

22、48, 0x5248,0x5254,0x7FD4,0x5272,0x5242,0x5F41,0x4041,0x4040,/*要*/ 0x0000,0x1002,0x1002,0x1012,0x97D2,0x9552,0x9552,0x9552, 0xFFFE,0x5552,0x5552,0x5552,0x57D2,0x5012,0x1002,0x1002,/*重*/ 0x0000,0x0004,0x0046,0x7ECC,0x5258,0x5220,0x53C8,0x5204, 0x5202,0x7FFF,0x0002,0x5800,0xC400,0x23FF,0x1100,0x0880,/*

23、很*/ 0x0000,0x0906,0x2941,0x3922,0x491C,0x0970,0xFF88,0x0484, 0x0482,0x0008,0x7C88,0x4488,0x47FC,0x4404,0x7CFC,0x0004,/*践*/ 0x0000,0x2040,0x3040,0x2842,0x2047,0x2048,0x2050,0x6FE0, 0xA050,0x2948,0x2DC4,0x3242,0x2042,0x3041,0x0841,0x0000,/*实*/ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0

24、x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000; unsigned int code dis_numbz= 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,/*不显示*/ 0x0000,0x2040,0x3040,0x2842,0x2047,0x2048,0x2050,0x6FE0, 0xA050,0x2948,0x2DC4,0x3242,0x2042,0x

25、3041,0x0841,0x0000,/*实*/ 0x0000,0x0906,0x2941,0x3922,0x491C,0x0970,0xFF88,0x0484, 0x0482,0x0008,0x7C88,0x4488,0x47FC,0x4404,0x7CFC,0x0004,/*践*/ 0x0000,0x0004,0x0046,0x7ECC,0x5258,0x5220,0x53C8,0x5204, 0x5202,0x7FFF,0x0002,0x5800,0xC400,0x23FF,0x1100,0x0880,/*很*/ 0x0000,0x1002,0x1002,0x1012,0x97D2,0x

26、9552,0x9552,0x9552, 0xFFFE,0x5552,0x5552,0x5552,0x57D2,0x5012,0x1002,0x1002,/*重*/ 0x0000,0x4040,0x4042,0x5F43,0x5264,0x5254,0x7E48,0x5248, 0x5248,0x5254,0x7FD4,0x5272,0x5242,0x5F41,0x4041,0x4040,/*要*/ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0FFA,0x0000,

27、0x0000,0x0000,/*!*/ 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000; void delay_l(unsigned int n) /*长延时*/ unsigned int i; for(i=0;in;i+); void delay_s(unsigned char n) /*短延时*/ unsigned int i; for(i=0;in;i+); /*串行输出16位行数据函数*/ void displ

28、ay_r(unsigned int numb) unsigned char i; unsigned int x; x=numb; /*数据取反*/ LEDALE=0,LEDCLK=0; for(i=0;i16;i+) LEDDI= (x & 0x8000); LEDCLK=1;LEDCLK=1; LEDCLK=0;LEDCLK=0; x=x1; Y0=led123 | 0x80; /*退出时关显示器D=1*/ LEDALE=1; LEDALE=0; /*正显示1616点阵汉字*/ void disp_16rz(unsigned int numb) unsigned char y0data=0,abcd=0,i,j; for(i=0;i16;i+) display_r(numbi); /*送行数据*/ j=abcd3; /*计算列的位置*/ y0data=j |(led123 & 0x07); Y0=y0data; /*显示一列数据*/ abcd+; /*列加1*/

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1