![基于STC系列单片机实验指导书(新)_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/20/23d972b2-9257-427d-934e-eef109ad2fdf/23d972b2-9257-427d-934e-eef109ad2fdf1.gif)
![基于STC系列单片机实验指导书(新)_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/20/23d972b2-9257-427d-934e-eef109ad2fdf/23d972b2-9257-427d-934e-eef109ad2fdf2.gif)
![基于STC系列单片机实验指导书(新)_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/20/23d972b2-9257-427d-934e-eef109ad2fdf/23d972b2-9257-427d-934e-eef109ad2fdf3.gif)
![基于STC系列单片机实验指导书(新)_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/20/23d972b2-9257-427d-934e-eef109ad2fdf/23d972b2-9257-427d-934e-eef109ad2fdf4.gif)
![基于STC系列单片机实验指导书(新)_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/20/23d972b2-9257-427d-934e-eef109ad2fdf/23d972b2-9257-427d-934e-eef109ad2fdf5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实实 验验 指指 导导 书书基于基于 STC 系列单片机教学实验箱系统系列单片机教学实验箱系统中南民族大学中南民族大学 0目录1、STC89C52 简介.11.1 特性.11.2 结构.22、ST89C52 试验箱硬件说明.32.1 实验箱概述.32.2 电源系统.42.3 实验箱具体电路简介.42.3.1 复位、晶振电路.42.3.2 蜂鸣器.52.3.3 开关.52.3.4 发光二极管 LED 电路.62.3.5 脉冲发生电路.72.3.6 几个常见的扩展芯片.82.3.7 串口通信.112.3.8 CH451 键盘和七段 LED 扩展电路.122.3.9 温度传感器及日时钟.142.3.
2、10 LCD 的扩展.153、开发环境简介.173.1 keil 软件.173.1.1 Keil C51 的安装.173.1.2 Keil C51 的使用.223.2 Keil C51 的编译环境 Vision2 .293.2.1 Vision2 的菜单.313.2.2 Vision2 的几个窗口.373.3 创建项目.403.4 开发工具选项.433.5 代码分块(Code Banking).483.6 用户上电初始化程序 STARTUP.A51.493 STC 下载软件.59Keil C51 与标准 C .614.1 数据类型.614.2 C51 的关键字及扩展关键字.644.3 存储类型
3、.664.3.1 DATA 区 .664.3.2 BDATA 区.674.3.3 IDATA 段.674.3.4 PDATA 和 XDATA 段.684.3.5 CODE 段.684.3.6 指针.684.3.7 中断服务.694.3.8 宏.704.5 使用 Keil C 时的几点注意.704.6 Keil C51 的配置文件.7114.6.1 专用寄存器 include 文件.724.6.2 绝对地址 include 文件.754.6.3 动态内存分配 include 文件.764.6.4 缓冲区处理 include 文件.784.6.5 输入输出流 include 文件.804.7 Ke
4、il C51 库函数原型.814.7.1 字符函数 CTYPE.H.824.7.2 串函数 INTRINS.H.854.7.3 一般 I/O 函数 STDIO.H.884.7.4 标准函数 STDLIB.H.934.7.5 数学函数 MATH.H.934.7.6 绝对地址访问 ABSACC.H.954.7.7 本征函数 INTRINS.H.964.7.8 变量参数表 STDARG.H.984.7.9 全程跳转 SETJMP.H.994.7.10 访问 SFR 和 SFR-BIT 地址 REGxxx.H.994.8 C51 与汇编的接口.1004.9 C51 的代码优化.1054.9.1 51
5、单片机变量优化.1054.9.2 代码生成选项.1085、基本实验.109实验要求.109实验报告内容及格式.1095.1 存储器实验.1105.2 二进制数与 BCD 的转换.1115.3 P1 口实验.1145.4 七段 LED 动态显示.1165.5 矩阵键盘的使用.1195.6 外部中断使用.1225.7 定时器/计数器的实验 .1235.8 A/D 实验.1245.9 D/A 实验.1275.10 RS232 串口.1286、综合实验.1306.1 交通灯控制.1306.2 键盘及 LED 扩展专用芯片 CH451 的使用.1346.2.1 CH451 原理介绍.1346.2.2 系
6、统硬件.1396.2.3 实例介绍.1396.3 看门狗的使用(复位判断:上电、看门狗、按键复位).1426.4 电子琴的制作.1446.5 字符型 LCD1602A 使用.1466.5.1 LCD1602A 原理介绍.1476.5.2 系统硬件.15126.5.3 实例介绍.1516.6 点阵型 LCD 使用.1546.6.1 OCMJ48C 模块介绍.1546.6.2 系统硬件.1606.6.3 实例介绍.1606.7 单总线温度采集系统.1636.7.1 DS18B20 原理介绍.1636.7.2 系统硬件设计.1726.7.3 实例介绍.1726.8 SPI 总线日历系统.1766.8
7、.1 DS1302 原理介绍 .1776.8.2 系统硬件设计.1806.8.3 实例介绍.180附件实验箱常用接口函数.185- 0 - 1、STC89C52 简介简介1.1 特性特性80C51 核心处理器单元;3V/5V 工作电压,操作频率 033MHz;5V 工作电压,操作频率040MHz;大容量内部数据 RAM:1K 字节 RAM;64/32/16/8kB 片内 Flash 程序存储器,具有在应用可编程(IAP) ,在系统可编程(ISP),可实现远程软件升级,无需编程器;支持 12 时钟(默认)或 6 时钟模式;双 DPTR 数据指针;SPI(串行外围接口)和增强型 UART ;PCA
8、(可编程计数器阵列),具有 PWM 的捕获/比较功能;4 个 8 位 I/O 口,含 3 个高电流 P1 口,可直接驱动 LED;3 个 16 位定时器/计数器;可编程看门狗定时器(WDT);低 EMI 方式(ALE 禁止);兼容 TTL 和 COMS 逻辑电平;掉电检测和低功耗模式等。- 1 -1.2 结构结构 图 1.1 STC89C52 的内部结构图- 2 -2、ST89C52 试验箱硬件说明试验箱硬件说明2.1 实验箱概述实验箱概述ST89C52试验箱板图以及区域划分如图2.1.2所示。主要由复位、晶振电路、蜂鸣器、开关、16个发光二极管LED、脉冲发生电路、8155扩展(包括七段LE
9、D显示和4*4键盘等)、A/D扩展、D/A扩展、温度传感器、日时钟、16*16的LED点阵、CH451键盘和七段LED扩展、字符LCD、点阵LCD、RS232/485串口等组成,用户可以单独使用每个部分,也可根据实际需要进行不同的组合,以实现功能复杂的系统:电源开关电源指示灯复位开关蜂鸣器RS232串口485串口16*16LED点阵时钟CH451键盘及LED控制区按键区A/D转换区D/A转换区8155扩展区时钟源区发光二极管区点阵、字符LCD区STC89c52- 3 -图 2.1.2 STC89C52 实验箱的俯视图2.2 电源系统电源系统系统电源直接由开关电源模块提供+5 V、+12 V、-
10、12 V;开关电源模块放置于实验箱PCB板下方。2.3 实验箱具体电路简介实验箱具体电路简介2.3.1 复位、晶振电路复位、晶振电路1234ABCD4321DCBATitleNumberRevisionSizeA4Date:22-Apr-2009Sheet of File:E:书书书书书书书mcu51_090212.ddbDrawn By:R4001200R400310K+C400310ufS4000RESETVCCRESET图2.3.1 复位电路 图2.3.2 晶振电路1234ABCD4321DCBATitleNumberRevisionSizeA4Date:22-Apr-2009Sheet
11、 of File:E:书书书书书书书mcu51_090212.ddbDrawn By:C400847pfC400947pfY400111.0592MHZR40041MR40050X2X1- 4 -2.3.2 蜂鸣器蜂鸣器1234ABCD4321DCBATitleNumberRevisionSizeA4Date:23-Apr-2009Sheet of File:E:书书书书书书书mcu51_090212.ddbDrawn By:LS40005V-SPEAKERR400910KVCCP14C40101ufR400610KQ4000S855012J4004BEE P图2.3.4 蜂鸣器电路使用蜂鸣器
12、电路时需用跳线将J4004接通。2.3.3 开关开关实验箱中提供的开关有两种:单脉冲按键、单刀双置开关。1234ABCD4321DCBATitleNumberRevisionSizeA4Date:22-Apr-2009Sheet of File:E:书书书书书书书mcu51_090212.ddbDrawn By:R800810kR800910kVCCP10P11C800610412J8004P1.0K ey12J8005P1.1K eyK8000KEY0K8001KEY1P10P11图2.3.5 单脉冲开关电路单脉冲按键有两个KEY0和按键KEY1,按下为0,放开为1,由J8004和J8005
13、跳线决定是否与P10和P11相连。- 5 -1234ABCD4321DCBATitleNumberRevisionSizeA4Date:22-Apr-2009Sheet of File:E:书书书书书书书mcu51_090212.ddbDrawn By:123U8000A74ALS00456U8000B74ALS00R800210kR800410kR8000120S8000SW SPDTGNDVCCVCCP33C8000104GND12J8000ExtINT1E nableP33图2.3.6 单刀双置开关电路图单刀双置开关电路由RS触发器组成,有两组,分别由跳线J8000和J8001选择是否接
14、P33和P34,其逻辑关系图如下表表2.3.1 扩展口地址及用途表2.3.1 单刀双置开关的真值表/S/RQ0101012.3.4 发光二极管发光二极管 LED 电路电路发光二极管共有16个,由跳线J6000决定是否选择使用,低电平使之亮,高电平使之灭。/S/RQ- 6 -123456ABCD654321DCBATitleNumberRevisionSizeBDate:22-Apr-2009Sheet of File:E:书书书书书书书mcu51_090212.ddbDrawn By:D6000LE DD6002LE DR6001510R6003510A02A13A24A35A46A57A68
15、A79B018B117B216B315B414B513B612B711E19DIR1U600074HC245R6009510D6008LE DR6008510D6007LE DR6007510D6006LE DR6006510D6005LE DR6005510D6003LE DD6004LE DR6004510VCCVCCLE D0LE D1LE D2LE D3LE D4LE D5LE D6LE D7ENABLE12J6000LE DEnableR600010kVCCGNDP6007LE DP6006LE DP6005LE DP6004LE DP6003LE DP6002LE DP6001LE
16、 DP6000LE D图2.3.7 发光二极管电路图2.3.5 脉冲发生电路脉冲发生电路123456ABCD654321DCBATitleNumberRevisionSizeBDate:23-Apr-2009Sheet of File:E:书书书书书书书mcu51_090212.ddbDrawn By:R3021360C30170.01ufR3022360Y30008M8M34U3006B74LS0456U3006C74LS0412U3006A74LS04图2.3.8 脉冲发生电路123456ABCD654321DCBATitleNumberRevisionSizeBDate:23-Apr-2
17、009Sheet of File:E:书书书书书书书mcu51_090212.ddbDrawn By:8M500KT0T1T2T4T5T6T7P30054MHzP30072MHzP30091MHzP3011500kHzP3006250kHzP3008125kHzP301062.5kHzP301231.25kHzR3009120R3010120R3011120R3012120R3013120R3014120R3015120R3016120CLK1Q03Q14Q25Q36MR2U3009A74HC393CLK13Q011Q110Q29Q38MR12U3009B74HC393图2.3.9 分频电路-
18、 7 -该部分的各个分频信号的输出在实验箱上都可以找到对应的输出插口,使用时用导线直接相连即可。2.3.6 几个常见的扩展芯片几个常见的扩展芯片该实验箱中常见的扩展芯片包括: 8155、ADC0809、DAC0832、TLC7225。它们的I/O地址分配如下表2.3.2。表2.3.2 扩展口地址及用途口地址扩展名称用途1000H8155控制口写方式字1001H8155A口位选码口、PA0-PA3为键盘L1-L4列选1002H8155B口字形码口1003H8155C口PC0-PC3为键盘H1-H4行选2000H0832片选4000H0809片选6000H7225-2待转换数据锁存8000H722
19、5-1通道选择其中DA0832、ADC0809及TLC7225芯片具体电路图如2.3.10、2.3.11、2.3.12所示。8155在该实验箱中用途为扩展8个LED及4*4键盘,具体电路如图2.3.13所示。其中,74ls240为三态缓冲非门输出;75452为双通道与非门。若8155工作在扩展LED及键盘状态,需用数据线连接插件J2000和J2001。123456ABCD654321DCBATitleNumberRevisionSizeBDate:23-Apr-2009Sheet of File:E:书书书书书书书mcu51_090212.ddbDrawn By:VREF8RFB9GND10I
20、OUT111IOUT212DI713DI614DI515DI416DI07CS1WR12GND3DI34DI25DI16XFE R17WR218ILE19VDD20U3010DAC0832L CJD0D1D2D3D4D5D6D7WRIOCS0832VCCVCC85326741U3011LM741CN+12V-12VC30214.7uFAOUTR30240GNDC3019104+C301810uf-12VR302510KVin2GND1-5V3U3012LM79L05ACZGNDC30201uFGNDP3013AnalogOutP3014AnalogGndGND图2.3.10 DA0832电路图
21、- 8 -123456ABCD654321DCBATitleNumberRevisionSizeBDate:23-Apr-2009Sheet of File:E:书书书书书书书mcu51_090212.ddbDrawn By:500KD0D1D2D3D4D5D6D7D0D1D2WRIOCS0809CS0809RDIOADINTAIN0AIN1AIN2AIN3AIN4AIN5AIN6AIN7VCCVCC231U3000ASN74S02D8910U3000CSN74S02D564U3000BSN74S02DIN31IN42IN53IN64IN75ST ART6EOC7D38OE9CLK10VCC1
22、1REF+12GND13D114D215REF-16D017D418D519D620D721ALE22ADD C23ADD B24ADD A25IN026IN127IN228U3003ADC0809NST ARTOEALE 0C3010 104+C300910ufR300812089U3006D74LS04图2.3.11 AD0809电路图123456ABCD654321DCBATitleNumberRevisionSizeBDate:23-Apr-2009Sheet of File:E:书书书书书书书mcu51_090212.ddbDrawn By:D0D1D2D3D4D5D6D7DAA0D
23、AA1CS7225_1outB1outA2Vss3refB4refA5AGND6DGND7LDAC8DB79DB610DB511DB412outC13outD14VDD15refC16refD17A018A119WR20DB021DB122DB223DB324U3002TL C7225VCCGNDGND+12VC3011104+C301210ufR3017680R3018680R3019680R3020680C30130.01uFC30140.01uFC30150.01uFC30160.01uFC3008104GNDP3000AoutAP3001AoutBP3002AoutCP3003Aout
24、DP3004GNDGNDWRIO123U3005A74ALS028910U3005C74ALS02CS7225_2WRIO456U3005B74ALS02111213U3005D74ALS02图2.3.12 TLC7225电路图- 9 -1234ABCD4321DCBATitleNumberRevisionSizeA4Date:23-Apr-2009Sheet of File:E:书书书书书书书mcu51_090212.ddbDrawn By:PA021VCC40PA122IO/M7PA223CE8PA324TMout6PA425TMin3PA526ALE11PA627WR10PA728RD9
25、PB130AD719PB231AD618PB332AD517PB433AD416PB534AD315PB635AD214PB736AD113PC037AD012PC138PC55PC239PC42PC31PB029GND20RESET4U20008155AD0AD1AD2AD3AD4AD5AD6AD7ALEIOIO/Meedddpdpccggdig4com4dig1com1aaffdig2com2dig3com3bbU2003LEDNumber*41A11B21Y3GND42Y52A62B7VCC8U2002754521A11B21Y3GND42Y52A62B7VCC8U2005754521A
26、11B21Y3GND42Y52A62B7VCC8U2006754521A11B21Y3GND42Y52A62B7VCC8U200775452a0b0c08155d0e0f0g0dp0aledbledcleddledeledfledgleddpledaledbledcleddledeledgleddpledN01N02N03N04N05N06N07N08PA7PA6PA5PA4PA3PA2PA1PA0PA0PA1PA2PA3PA4PA5PA6PA7VCCVCCVCCVCCN1N2N3N4N5N6N7N8PC0PC1PC2PC3S2000SW-PBS2001SW-PBS2002SW-PBS2003
27、SW-PBS2004SW-PBS2005SW-PBS2006SW-PBS2007SW-PBS2008SW-PBS2009SW-PBS2010SW-PBS2011SW-PBS2012SW-PBS2013SW-PBS2014SW-PBS2015SW-PBR200010kR200110kR200210kR200310kVCCL4L3L2L1H1H2H3H4PB0PB1PB2PB3PB4PB5PB6PB7RDWRPC4PC5C2008104C2004104C2005104C2006104C2007104aledbledcleddledeledfledgledN1N2N3N4N5N6N7N8H1L1dp
28、led1234567891011 1213 1415 1617 1819 2021 2223 2425 26J2001LED&KEYto8155L2L3L4H2H3H4fleda0b0c08155d0e0f0g0N01N02N03N04N05N06N07N08PC0PA0dp01234567891011 1213 1415 1617 1819 2021 2223 2425 26J20008155toLED&KEYPA1PA2PA3PC1PC2PC3CS8155GNDGNDGNDGND1A121A241A361A482A1112A2132A3152A4171Y1181Y2161Y
29、3141Y4122Y192Y272Y352Y431G12G19U200174ALS240eedddpdpccggdig4com4dig1com1aaffdig2com2dig3com3bbU2004LEDNumber*4图2.3.13 8155扩展LED及键盘电路图- 10 -2.3.7 串口通信串口通信实验箱提供的串口通讯包括:RS232和RS485两种,采用了专用的接口转换芯片,分别将单片机的TTL电平转换成RS232或RS485电平,某个时刻只能选用一种串口类型,通过J9004选择,见图2.3.14、2.3.15、2.3.16。当选用RS485通讯时,需接通J9002,P14为高时,单片
30、机可通过RS485发送数据;P14为低时,单片机可通过RS485接受数据。RS232电平即计算机9针串口得电平,采用负逻辑,15v3v代表1、3v15v代表0。RS485电平采用差分传输(平衡传输)的方式,由两个引脚 A,B间的压差决定电平的高低,发送端AB间的电压差为26v代表1、26v代表0;接收端AB间的电压差大于200mv时即代表1、压差小于ABUU200mv时即代表0。ABUU 1234ABCD4321DCBATitleNumberRevisionSizeA4Date:23-Apr-2009Sheet of File:E:书书书书书书书mcu51_090212.ddbDrawn By
31、:R1 IN13R2 IN8T1 IN11T2 IN10GND15V+2V-6VCC16R1 OUT12R2 OUT9T1 OUT14T2 OUT7C1+1C1 -3C2+4C2 -5U9001MAX232C90030.1ufC90040.1ufC90060.1uf+C900510ufVCCC90020.1ufVCC162738495J9001RS232ConnectionRXD232TXD232GND图2.3.14 RS232通讯电路1234ABCD4321DCBATitleNumberRevisionSizeA4Date:23-Apr-2009Sheet of File:E:书书书书书书书
32、mcu51_090212.ddbDrawn By:VCCC9000103+C900110uf12J9000RS485Connection234VCC8167GND5DRABU9000MAX485CPATXD485RXD485R900420KR900320KR900212012J9003120ohmJumperVCCR900020KVCCDIR48512J9002RS485ControlDIR485P14R900120kGNDP14图2.3.15 RS485通讯电路- 11 -值得注意的是,由于STC89c52是采用RS232串口下载数据的,因此在下载程序时J9004一定要选择RS232的通讯。
33、1234ABCD4321DCBATitleNumberRevisionSizeA4Date:23-Apr-2009Sheet of File:E:书书书书书书书mcu51_090212.ddbDrawn By:123J9004SerialDataReceiveRXD485P30RXD232TXD232P31TXD485P30图2.3.16 RS232与RS485选择电路2.3.8 CH451 键盘和七段键盘和七段 LED 扩展电路扩展电路为方便用户的使用,增加实验箱操作的人性化,使用CH451扩展了16个键盘及8个LED,方便用户信息的输入及简单数据结果的输出显示,我们提供了CH451标准接口
34、函数,用户直接调用即口,CH451的具体使用可见PDF文档。- 12 -123456ABCD654321DCBAabfcgde76421910abcdefg5dpdpGND3GND8DIS70077SEG-LEDabfcgde76421910abcdefg5dpdpGND3GND8DIS70067SEG-LEDabfcgde76421910abcdefg5dpdpGND3GND8DIS70057SEG-LEDabfcgde76421910abcdefg5dpdpGND3GND8DIS70047SEG-LEDabfcgde76421910abcdefg5dpdpGND3GND8DIS70037S
35、EG-LEDabfcgde76421910abcdefg5dpdpGND3GND8DIS70027SEG-LEDabfcgde76421910abcdefg5dpdpGND3GND8DIS70017SEG-LEDabfcgde76421910abcdefg5dpdpGND3GND8DIS70007SEG-LEDR70122KR70132KR70142KR70152KK7015SW-PBK7014SW-PBK7012SW-PBK7013SW-PBK7010SW-PBK7011SW-PBK7008SW-PBK7009SW-PBK7006SW-PBK7007SW-PBK7004SW-PBK7005S
36、W-PBK7002SW-PBK7003SW-PBK7000SW-PBK7001SW-PBDPGFEDCBADPGFEDCBADPGFEDCBADPGFEDCBADPGFEDCBADPGFEDCBADPGFEDCBADPGFEDCBAR7000200R7001200ABVCCSEG71VCC2DOUT3LOAD4DIN5DCLK6DIG77DIG68DIG59DIG410DIG311DIG212DIG113DIG014GND15RST16NC17SEG018SEG119SEG220SEG321SEG523SEG422SEG624D7000CH451DIPDIG7DIG6DIG5DIG4DIG3D
37、IG2DIG1DIG0DIG0DIG1DIG2DIG3DIG4DIG5DIG6DIG7SEG7SEG6SEG5SEG4SEG3SEG2SEG1SEG0SEG0SEG112345678JP7000MCU-InterfaceP10P11P12P13R70112KR70102KR70092KR70082KDOUTLOADDINDCLKDOUTLOADDINDCLK图2.3.17 CH451键盘和七段LED扩展电路- 13 -2.3.9 温度传感器及日时钟温度传感器及日时钟为拓宽学生的学习思路及与实际应用相结合,我们在传统的单片机运用上,加入一些实际应用中常见的总线结构,如单总线、SPI总线等;单总线
38、以温度传感器18B20为例;SPI总线以日时钟DS1302为例。温度传感器18B20电路及引脚如图2.3.18及表2.3.3,该接口可兼容红外接线头。1234ABCD4321DCBATitleNumberRevisionSizeA4Date:27-Apr-2009Sheet of File:E:书书书书书书书mcu51_090212.ddbDrawn By:R400310KVCCP17+ C400710uf123J4002P1.7to?图2.3.18 温度传感器18B20电路表2.3.3 18B20的引脚定义18B20引脚定义1GND 2DQ3VCC串行时钟芯片DS1302电路如图2.3.19
39、,使用时需用跳线将J4000、J4001、J4002选择到相应的状态。则DS1302与STC89C52的引脚对应关系如表2.3.4。1234ABCD4321DCBATitleNumberRevisionSizeA4Date:27-Apr-2009Sheet of File:E:书书书书书书书mcu51_090212.ddbDrawn By:Vbat1x12x23GND4CS5SDA6SCL7VCC8U4000DS1302Y400032768VCCP15P16P17D40001N4001L4000100uh101VCCC4002FS0.047123J4000P1.5to?123J4001P1.6
40、to?123J4002P1.7to?SCLSDACS1302LCDRCLCDRWLCDE图2.3.19 DS1302电路连接图表2.3.4 DS1302与89c52的引脚连接对应关系DS1302引脚STC89C52引脚SCLP1.5SDAP1.6CSP1.7- 14 -2.3.10 LCD 的扩展的扩展LCD的扩展提供了字符型和点阵型的两种,分别为:16字符2行的LCD1602A及128 64点阵的OCMJ48C,虽然他们的引脚定义稍有不同,但可共用同一个接口,电路图如2.3.20,LCD1602A及OCMJ48C的引脚定义如表2.3.5和2.3.6。1234ABCD4321DCBATitle
41、NumberRevisionSizeA4Date:28-Apr-2009Sheet of File:E:书书书书书书书mcu51_090212.ddbDrawn By:VCCR40082KR400751LCDRCLCDRWLCDEP20P21P22P23P24P25P26P27R401151VSS1VCC2NC3RS/CS4R/W ST D5E(SCK)6DB07DB18DB29DB310DB411DB512DB613DB714PSB15NC16/RST17NC18LE DA19LE DK20LCD4000LCD128*6412J4005LCD_LED_ON图 2.3.20 LCD 接口图表2
42、.3.5 LCD1602A的引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正极10D3Data I/O3VL液晶显示偏压信号11D4Data I/O4RS数据/命令选择端(H/L)12D5Data I/O5R/W读写选择端(H/L)13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极表2.3.6 OCMJ48C(12864)引脚说明引脚名称方向说明引脚名称方向说明1VSS-电源端11DB4I/O数据 42VDD-电源地12DB5I/O数据 53VO-驱动电压输入
43、端13DB6I/O数据 64RSIH:数据 L:指令14DB7I/O数据 75R/WIH:写 L:读15PSBIH:并 L:串- 15 -6EI使能信号高有效16NC7DB0I/O数据 017/RSTI复位8DB1I/O数据 118NC9DB2I/O数据 219LEDK-10DB31/0数据 320LEDA- 16 -3、开发环境简介、开发环境简介3.1 keil 软件软件Keil C51 是德国知名软件公司 Keil(现已并入 ARM 公司)开发的基于8051 内核的微控制器软件开发平台,是众多单片机应用开发软件中优秀的软件之一,为目前开发 8051 内核单片机的主流工具。它集编辑,编译,仿
44、真等于一体,同时还支持 PLM、汇编和 C 语言的程序设计,其界面和常用的微软 VC+的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍 Keil C51 的安装和开发系统各部分功能和使用。3.1.1
45、Keil C51 的安装的安装以安装 Keil C51 V7.02 版本为例,安装 Keil C51 V7.02 需要的计算机系统要求比较低,只要计算机安装了 Windows 环境就可以了,操作步骤如下。1) 在 Windows 环境下运行软件包中 SetupSetup.exe, 出现图?1 所示对话框,选择安装版本。- 17 -图?1 安装Keil C51 首先出现的版本选择2) 选择,出现?2 对话框,说明当前版本号,并要求确认是否安装。图?2 安装确认对话框3) 单击,出现如图?3 的版权对话框。图?3 版权对话框4) 选择,出现如图?4 的安装路径对话框。系统默认的安装路径为:C:Ke
46、il,用户可以选择其他安装路径。- 18 -图?4 安装路径对话框5) 确定好安装路径后,单击,出现如图?5 的信息对话框,用户需按照要求填好,其中序列号需要到安装软件包中的 sn.txt 中找。图?5 安装信息对话框6) 各类信息正确填好后,单击,出现如图?6 的安装盘所在目录选择对话框,默认的为 A:,浏览选择真正的安装盘所在目录为安装软件包中的 disk 目录。- 19 -图?6 安装盘所在目录选择对话框7) 选择好安装盘目录后,单击,出现如图?7 所示的 Security key 的选择,选择默认状态。图?7 安装盘所在目录选择对话框8) 单击, ,出现如图?8 所示的用户资料对话框。
47、- 20 -图?8 用户资料对话框9) 单击, ,出现如图?9 所示的安装画面。图?9 安装画面10) 安装完成后,系统会提问是否选择在线登记等,同时出现完成对话框,单击,安装过程就全部结束了。以上简单介绍了 KEIL51 软件的安装过程,要使用 KEIL51 软件,必需先要安装好它。安装好的路径 C:KEIL 文件夹下包含了所有 8051 开发工具的全部安装信息,如表?所示。表? 8051 开发工具的安装信息文件夹描述C:KEILC51ASM汇编 SFR 定义文件和模板源程序文件C:KEILC51BIN 8051 工具的执行文件C:KEILC51EXAMPLES示例应用C:KEILC51RT
48、X51完全实时操作系统文件C:KEILC51RTX_TINY小型实时操作系统文件C:KEILC51INCC 编译器包含文件C:KEILC51LIBC 编译器库文件启动代码和常规 I/O 资源C:KEILC51MONITOR目标监控文件和用户硬件的监控配置C:KEILUV2普通 uVision2 文件- 21 -3.1.2 Keil C51 的使用的使用进入 Keil C51 后,屏幕如下图 3.1.1、3.1.2 所示。几秒钟后出现编辑界。图 3.1.1 启动 Keil C51 时的屏幕图 3.1.2 进入 Keil C51 后的编辑界面简单程序的调试、学习最好的方法是直接操作实践。下面通过简
49、单的编程、调试,引导大家学习 Keil C51 软件的基本使用方法和调试技巧。1)建立一个新工程。单击 Project 菜单,在弹出的下拉菜单中选中 New Project 选项。- 22 -图 3.1.3 新建工程文件2)然后选择你要保存的路径,输入工程文件的名字,比如保存到 C51 目录里,工程文件的名字为 C51 如下图所示,然后点击保存。建议:今后每新建一个工程都要在适当的磁盘位置新建一个文件夹用来保存工程文件,以方便管理,并养成良好的习惯。图 3.1.4 工程文件保存路径3)这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51 几乎支持所有的
50、 51 核的单片机,此处以 Atmel 的89C51 为例,如图 3.1.5 所示,选择 89C51 之后,右边栏是对这个单片机的基本的说明,然后点击确定。 图 3.1.5 选择所用单片机4)完成上一步骤后,屏幕如图 3.1.6 所示 。此时可开始编写程序了。- 23 -图 3.1.6 新建工程完成图5)在图 3.1.7 中,单击“File”菜单,再在下拉菜单中单击“New”选项。图 3.1.7 新建文件6)新建文件后屏幕如图 3.1.8 所示。图 3.1.8 新建文件框此时光标在编辑窗口里闪烁,可以键入用户的应用程序了,建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中 “
51、Save As”选项单击,屏幕如图 3.1.9 所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用语言编写程序,则扩展 - 24 -名为(.c);如果用汇编语言编写程序,则扩展名必须为(.a)。然后,单击“保存”按钮。 图 3.1.9 保存新建文件7)回到编辑界面后,单击“Target 1”前面的“”号,然后在“Source Group 1”上单击右键,弹出如下菜单。图 3.1.10 在工程文件中加入文件然后单击“Add File to Group Source Group 1” 屏幕如图 3.1.11 所示。图 3.1.11 选择所加文件选中 T
52、est.c,然后单击“Add ”屏幕好图 3.1.12 所示。- 25 -图 3.1.12 输入源程序 注意,此时“Source Group 1”文件夹中多了一个子项“Text1.c”。子项的多少与所增加的源程序的多少相同。8)输入 C 语言源程序。#include /包含文件#includevoid main(void) /主函数SCON=0 x52;TMOD=0 x20;TH1=0 xf3; TR1=1; /此行及以上3行为PRINTF函数所必须printf(“Hello I am KEIL. n”); /打印程序执行的信息printf(“I will be your friend.n”)
53、; while(1); 输入上述程序后,读者已经看到了事先保存待编辑的文件的好处了吧,即Keil c51会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。程序输入完毕后,如图3.1.13所示。- 26 -图 3.1.13 完成源程序输入在上图中,单击“Project”菜单,再在下拉菜单中单击“Built Target”选项(或者使用快捷键 F7) ,编译成功后,再单击“Project”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键 Ctrl+F5) ,屏幕如图 3.1.14 所示。注意,编译时如果是“0 Er
54、ror(s), 0 Warning(s).”就表示程序没有问题了(至少是在语法上不存在问题了) 。如果存在错误或警告,请仔细检查程序,修改后,再编译,直到通过为止。图 3.1.14 编译程序- 27 -9)调试程序。在上图中,单击“Debug”菜单,在下拉菜单中单击“Go”选项, (或者使用快捷键 F5) ,然后再单击“Debug”菜单,在下拉菜单中单击“Stop Running”选项(或者使用快捷键 Esc) ;再单击“View”菜单,再在下拉菜单中单击“Serial Windows #1”选项,就可以看到程序运行后的结果,其结果如图 3.1.15 所示。图 3.1.15 调试程序到此为止,
55、我们已经在 Keil C51 上完成了一个完整工程。但这只是纯软件的开发过程,如何使用程序下载器看一看程序运行的结果呢?需将编译后的结果会生成 HEX 格式的程序文件通过专门的芯片烧写工具载入并最终烧录到具体的芯片中。芯片安装到自己的电路板上,通电,就可以运行里面的程序了。10)单击“Project”菜单,再在下拉菜单中单击“ ” 在图 3.1.16 中,单击“Output”中单击“Create HEX File” 选项,使程序编译后产生HEX 代码。使用专用下载软件可以把该程序下载到所用单片机中运行。图 3.1.16 选择目标代码文件的格式- 28 -3.2 Keil C51 的编译环境的编
56、译环境 Vision2Keil C51 的项目开发流程与一般软件项目开发流程的方法是相似的。1) 用户可用 IDE 本身或其它编辑器编辑 C 或汇编源文件;2) 分别由 C51 或 A51 编译器编译生成目标文件(.OBJ);3) 目标文件可由 LIB51 创建生成库文件,也可以与库文件一起经 L51 连接定位生成绝对目标文件(.ABS);4) 使用 OH51 将 ABS 文件转换成标准的 Hex 文件,以供调试器使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如 EPROM 中。Keil C51 的工具包整体结构图就可以很好地表述上述过程,如图?所示。 V
57、ision2集成开发环境(IDE)C51编译器(ANSI C Compiler)A51汇编编译器(Macro Assembler)C51库(ANSI standard library)LIB51库(LIB Library Manager)RTX51实时操作系统(RTX51 Real-Time Operating System)BL51连接(BL51 Linker/Locater) Vision2调试器( Vision2 Debugger)HEX文件生成高速CPU外设仿真(High-speed CPU/Peripheral Simulation)51监视器调试器(Monitor-51 Targe
58、t Debugger)外接仿真(Interface for Emulators & Target Debugger)图? Keil C51 工具包整体结构图 Vision2 是一种集成化的文件管理编译环境,是 keil C 的 Windows 集成开发环境(IDE),支持所有的 KEIL 8051 工具,可以完成编辑、编译、连接、调试、仿真等整个开发流程,是功能相当强大的 C51 开发工具, 。- 29 -由于集成编译环境 Vision 2 将 Keil C51 的C51、A51、BL51、LIB51、OH51 及 RTX-51 等在内的编辑、汇编、定位连接、库、转换和模拟等软件集成在
59、一个环境下,因此使用者使用起来是很简单方便的,可以大大加速用户的嵌入式系统的开发过程。C51 编译器和 A51 汇编器源代码由 uVision2 IDE 创建,并被 C51 编译或 A51 汇编,编译器和汇编器从源代码生成可重定位的目标文件。Keil C51 编译器完全遵照 ANSI C 语言标准,支持 C 语言的所有标准特性,及添加了直接支持 8051 结构的几个特性。Keil A51 宏汇编器支持 8051 及其派生系列的全部指令集。LIB51 库管理器 LIB51 库管理器允许用户从由编译器或汇编器生成的目标文件创建目标库库,是一种被特别地组织过并在以后可以被连接重用的对象模块。当连接器
60、处理一个库时,仅仅那些被使用的目标模块才被真正使用。BL51 连接器/定位器 BL51 连接器/定位器利用从库中提取的目标模块和由编译器或汇编器生成的目标模块创建一个绝对地址的目标模块,一个绝对地址目标模块或文件包含不可重定位的代码和数据,所有的代码和数据被安置在固定的存储器单元中,该绝对地址目标文件可以用来:写入 EPROM 或其它存储器件中;由 uVision2 调试器使用来模拟和调试;及由仿真器用来测试程序。uVision2 调试器 uVision2 源代码级调试器是一个理想地快速可靠的程序调试器,此调试器包含一个高速模拟器,能够让用户模拟整个 8051 系统,包括片上外围器件和外部硬件,当用户从器件库中选择器件时,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论