收藏 分销(赏)

87FE4051 CPU 微机原理及应用--课程设计指导书.pdf

上传人:曲**** 文档编号:8987021 上传时间:2025-03-10 格式:PDF 页数:48 大小:3.03MB
下载 相关 举报
87FE4051 CPU 微机原理及应用--课程设计指导书.pdf_第1页
第1页 / 共48页
87FE4051 CPU 微机原理及应用--课程设计指导书.pdf_第2页
第2页 / 共48页
点击查看更多>>
资源描述
微机原理及应用课程设计指导书1目录前言.3整体功能.4硬件介绍.5实验实例.98位方形LED灯实7.9数码管.102X4键盘.13DS1302.15光电对管.18定时器.20串口通信.23电源模块.23单片机介绍.24编程软件介绍:.26程序烧写软件介绍.36常见问题解决方案.41附录.422刖 5为了更好地做好微机原理及应用课程设计,我们特地设计了本 款“51系列单片机实验学习板”,以实验教学方式使大家更好地掌握单片 机的基本原理和应用。请大家在做课程设计和使用该实验板前详细的阅读本指导书,按照 指导书的要求进行实验,并循序渐进,将实验板的性能发挥到最优,使 大家获得尽可能多的有关单片机原理的相关知识,自主开发更多的实验,以获得更好的教学效果。31整体功能介绍1.1硬件资源介绍1)单片机采用MG87FLE40512)DS1302实时时钟3)4位8段高亮数码管4)8个按键,可配置成2X4的键盘阵列5)8 个 LED6)两个光电对管7)晶振采用单片机内嵌式8)通过跳线可以灵活改变实验功能9)USB供电10)ISP编程,通过自主开发的上位机编程软件实现在系统编程,简便可靠.第!1:laE:5lf gE可丁 衿 整询丽时队 回国回西山B回可 X:/fr-Jco匚CQ.b*图1实验板正面视图4Dsog=xe11Ise,coe d c2:三2:Lrilril3ri1i)ri-叵叵叵叵叵叵叵叵图1实验板背面视图1.2实验板关键硬件芯片介绍1.2.1 PL2303HX(U0 背面)PL2303是Prolific公司生产的一种高度集成的RS232-USB接口 转换器,可提供一个RS232全双工异步串行通信装置与USB功能接 口便利联接的解决方案。该器件内置USB功能控制器、USB收发器、振荡器和带有全部调制解调器控制信号的UART,只需外接几只电容 就可实现USB信号与RS232信号的转换,能够方便嵌入到手持设备。该器件作为USB/RS232 双向转换器,一方面从主机接收USB数据并将其转换为RS232信息流格式发送给外设;另 一方面从RS232外设接收数据转换为USB数据格式传送回主机。这些工作全部由器件自动 完成,开发者无需考虑固件设计。本实验板由于采用的是USB来完成实验板的供电与实验串口程序烧写的操作,故采用了 价格合理的PL2303芯片来作为USB转串口的芯片。1.2.2 87FE4051 CPU(U1)5MEGAWIN87FLE4051 是一款 8 位单片机,其指令集完全兼容8051系列,其有4k字节的闪存程序存储空间和256字节的数据存储空间。为其提 供了广阔的应用领域。在线编程功能为用户提供了 更方便的更新数据跟程序的方法。芯片的一个及其 周期可以为6个或者12个时钟周期。芯片有一个8位I/O 口(P1),一个7位I/O 口(P3.0-P3.5,P3.7)。两个十六位定时/计数器,一个8位PWM。7个四级优先中断源,一个增强 型UART,一个精准模拟比较器,可以接外部晶振,也可以用内部RC振荡器。1.2.3 74HC573(U2U5)74HC573和74LS373原理一样,8数据锁存器。主要用于数码管、按键等等的控制。本 实验板应用了两片74HC573。分别应用于数码管的段选控制,跟8位数码管的控制 1.2.4 74HC139(U3)74HC139用于高性能的存贮译码或要求传输延迟时间短的数据传输 系统,在高性能存贮器系统中,用这种译码器可以提高译码系统的效率。将 快速赋能电路用于高速存贮器时,译码器的延迟时间和存贮器的赋能时间 通常小于存贮器的典型存取时间,这就是说由肖特基钳位的系统译码器 所引起的有效系统延迟可以忽略不计。HC139含有两个单独的2线一 线译码器,当赋能输入端G为高电平时,按二进制控制输入码从4个输出 端中译出一个低电平输出。在解调器应用中,低电平有效的赋能输入端用 作数据线。本实验板的74HC139的一路2-4译码器应用于数码管的的位选控制,一路应用于键盘 的行线控制。1.2.5 DS1302(U4)6DS1302是美国DALLAS公司的高性能低功耗的实时时钟芯片,采用的 SPI三线接口与CPU进行通信。并且可以采用突发方式一次传递多个字节的 时钟信号和RAM数据。DS1302可以提供秒,分,时,日,星期,月,年的 精确时间。可采用双电源供电。即外接电源供电跟纽扣电池供电。本实验板使用DS1302的设计正常情况下为外接电源供电,纽扣电池的供电引脚已由 CON跳线引出。如需外接可自行处理。1.3电路原理图8箭5勰ONnpDr二二二$门二;72实验实例2.1 8位方形LED灯实验实验 1:流水灯2:交通灯硬件连接LEDD7 D6 D5 D4 D3 D2 DI DO LHF 7 m思帮 回凶四回u左图为实验板的实物图p介绍:8只方形LED灯分三色。自左到右的颜色排列顺序为绿,黄,红,红,红,红,黄绿。LED灯由单片机P1 口经U2(74HC573)锁存器控制。锁存器锁存信号由P4.3(A2)控制。74HC573片选信号接地。一直有效。LED高电平点亮,低电平熄灭。软件操作:C语言操作方法:LED显示子函数函数名称:LED显示函数(宏)功 用 支 返 说回能:8位LED的显示函数法:在主程序无穷任务循环中的任意位置被调用即可持:无值:无明:此程序过于频繁的调用,由于硬件非独立设计,可能会导致数码管模糊不清。UCHAR LED8Data_Locked;/锁入U2输出端数值的记忆单元UCHAR LED8Data=O;将要写入的U2的数值寄存单元!#define LatchEN P4 3/U2锁存信号的定义#define LATCH INVALID 1#define LATCH VALID 08void LED8DISPQ if(LED8Data=LED8Data_Locked)return;/如果新设置的数值与原数值相等,不操作!LatchEN=LATCH_INVALID;锁存失效,此时P1 的输入数据到达74HC573(U2)的输出端。Pl=LED8Data;/送新的数据到U2的输出端,8个LED的状态发生会变动!_呼工;/让占1的数据稳定下来,以便锁入U2的输出端JLatchEN=LATCHiLID;/锁存使能,此时P1 口数据将不会到达74HC573(U2)的输出端。Pl=0;Pl=CuurPlVal;恢复Pl 口原来的数值某个数码管的字形段码LED8Data_Locked=LED8Data;记下此次刷新的8个LED的状态数值注:红色标记为锁存器74HC573在LED灯实验中的应用。同学们可自行参阅,触类变通。应用:在我们的实验板测试程序中包含以下两个程序1 LED流水灯程序2交通灯程序2.2数码管实验:数据显示硬件连接U5 LEDDODI 8D 二 7:D3_6 a SDE 4一D6 二D7 2:QQQQQQQQ 87 a 543 2 1 DDDDDDDD;c 8T6 5 4 3 2 1 c_oBOUT 1 BEN 3 OUT 2BSEL2 BOUT1 B SEL1 BOUTO A OUTS adT a out 2ASEL2 A OUT】ASEL1 AOUTODS14-LED-DIGIT3 2 10Y Y Y Yn74LSB9 vrrf 口 o o n 口口.口.匚1介绍:四位数码管为共阴极数码管,字显为红色。数码管字选由单片机P1 口经U(背面)74HC573锁存 器控制。锁存器锁存信号直接接高电平锁存一直有效。74HC573片选信号接地,一直有效。数码管位选由9U3(74HC139)译码的四位控制,74HC139为2线一4线译码器。用于高性能的存贮译码或要求传输延 迟时间短的数据传输系统,在高性能存贮器系统中,用这种译码器可以提高译码系统的效率。74HC139含有 两个单独的2线一4线译码器。如上图所示的A译码跟B译码。数码管所应用的为B译码。B译码使能信 号由P4.3(A2)来控制,低电平有效。输入端为P3.3(AO),P3.4(A1)两位来控制。B译码的输出每 次仅有一位为低电平。即每次只能选通一位。要使数码管有多位显示需要软件动态扫描。【注:P4.3共用,可使当给8个LED送数时,数码管被关断】软件操作1 74HC573操作:74HC573的操作在LED灯实验已经标明。在此不做详细解释2 74HC139操作:74HC139的操作如下共阴极数码管位控由P3.3P3.4经1/2的U4译码驱动(74HC139)U4的使能由P4.3控制,低电平有效。即我们可以给P3.3,P3.4送03的二进制数。经二四译 码器编译后。其四位输出端中只有一位为低电平。也就只点亮一位数码管。74HC139的使能信号由P4.3 送低电平译码器才能成功译码。C语言操作方法:/*#include nREG_MG87FL2051-605 l.Hn#include intrins.h#include DispKey.h#define UCHAR unsigned char函数名称:数码轮流显示函数功 能:在定时中断程序的帮助下,实现数码管位03的轮流显示参 数:mode,确定显示数据区属性的参数,mode=l:数字;mode=0:直接是字型码用 法:在主程序无穷任务循环中的任意位置被调用即可支 持:需要DispKeyTimer函数的支持,DispKeyTimer在定时器0/1/2中断服务程序被行日 期:/-显示的全局变量申明-/I.4位数码管中要显示的数据DispData数组,合法值为0FHUCHAR DispData4=l,2,3,4);其他要显示数值的功能函数或程序负责给其赋值UCHAR BlinkFlg=O;控制闪耀的变量淇b0,bl,b2,b3=0/l;决定数码管的闪动与否UCHAR DispDot=0;控制小数点是否显示的变量其b7,b6,b5,b4决定着从右至(J左小数点 是否亮2.动态轮流点亮数码管,并同时提供键盘列扫的当前列记忆变量UCHAR CurrDigitIndex=O;当前显示数码管位号的寄存单元,合法值为0,1,23对应从右到左的4个数码管3.每位数码管点亮持续时间的控制变量UCHAR nDispInterval=O;每位数码管的显示时间寄存单元UCHAR CuurPlVal=l;暂存Pl 口数码管显示值的变量bit BlinkMask=O;控制闪耀的Mask变量,此变量在TimerForDispAndKey()函数中修改 10unsigned int LightPriodCNT=0;闪耀的计数变量#define ON_PERIOD 5000/闪耀中亮的周期,即 BlinkMask=l 的时常#define DARK PERIOD 4000/闪耀中暗的周期,即 BlinkMask=0 的时常UCHAR code DSPSegCode=0 x3f,0 x6,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x7,0 x7f,0 x6f;/-void LEDDigit_DispInTum(bit mode)(UCHAR Logic;P4 3=0;ififnDispInterval)return;点亮时间不够,返回CurrDigitIndex+;修改显示位寄存单元if(CurrDigitIndex3)CurrDigitIndex=0;iffmode)CuurPlVal=DSPSegCodeDispData3-CurrDigitIndex;按显示数字查段码表后送 P1 elseCuurP 1 VaI=DispData3-CurrDigitlndex;/直接将显示数字存储单元送 P1iff!BlinkMask)(Logic=(0 x01 CurrDigitIndex)&BlinkFlg;iffLogic)CuurP lVal=0;)/如果闪动信号BlinkMask=0如果相应的数码管置了闪动标志让此为数码管为黑Logic=DispDot;Logic=(0 x01 CurrDigitIndex)&DispDot;测试代表数码管小数点的 b3/b2/bl/b0 相应位if(Logic)CuurPlVal|=0 x80;加上小数点,如果设置了标志nDispInterval=LIGHT_INTERVAL;设置本位数码的点亮时间/)注意事项:因为硬件设计的是最右边数码管是0号最左面是3号,所以使用3-CurrDigitIndex 是的数码管的编号符合人们从左向右的编号习惯。注:红色标记为锁存器74HC573在数码管实验中的应用。74HC139的应用也标出来了,同学们可自行参 11阅,触类变通。23 2X4键盘实验:键盘操作 硬件连接:AENASEL2ASEL1BEN BSEL2 BSEL174LS139BOUT3 BOUT2 BOUT1-BOUTOA OUT 2AOUT1 AOUTOvcc介绍:实验板采用的为2X4矩阵式键盘。键盘的控制由跳线JP2来决定跳线的12,45由跳线冒连接即 选通键盘的列线。由P3.2跟P3.5控制。键盘行线有U3(74HC139)来控制。74HC139的功能在数码管的 操作中已介绍。74HC139含有两个单独的2线一4线译码器。如上图所示的A译码跟B译码。键盘行线所 应用的为A译码。A译码使能信号接地,即一直处于使能状态。输入端为P3.3(AO),P3.4(A1)两位来 控制。A译码的输出每次仅有一位为低电平。即每次只能有一行线为低电平。键盘的操作也许动态扫描的 方式来操作。软件操作:软件操作在软件操作中主要涉及的是74HC139的操作方法,在上面我们已经做了详细解释,学们可以参阅。C语言操作方法:函数名称:键盘扫描程序例程功 能:获取按下键的代码,当持续按下时,以REPEAT_DELAY的间隔重复发键盘码!用 法:在主程序无穷任务循环中的任意位置被调用即可支 持:需要DispKeyTimer函数的支持,DispKeyTimer在定时器0/1/2中断服务程序被执行12返回值:0:无键按下;18相应的键按下日 期:/-GetKey()的常数和全局变量-#define NO KEYO#define KEY PRESSED 0#define CONFIRM DALEY 4*LIGHT_INTERVAL;循环两圈后,键盘才会得到确认按下#define REPEAT DELAY 2000;重复发码的延时时间相当于0.4secUCHAR nKeyVal=0;键值的记忆单元unsigned int nRepeatKeyDelay=O;/重复发键码的等待周期的记忆单元UCHAR nWaitShake=O;去抖动的延时数值记忆单元fine pinKeyColl P3_2键盘的行线1的输入引脚Jfine pinKeyCol2 P3 5/键盘的行线2的输入引脚/-函数体-UCHAR GetKey()(UCHAR TempKey=0;UCHAR ColLineNum=CurrDigitIndex;if(nWaitShake)return NO KEY;pinKeyCol 1=pinKeyCol2=1;if(nKeyVaI)(iffnRepeatKeyDelay)retum NOKEY;如果在延时中则返回if(nKeyVal=ColLineNum+1|nKeyVal=ColLineNum+5);elsereturn NO KEY;)/检测当前键的按下键值-if(pinKeyColl=KEY_PRESSED)TempKey=ColLineNum+1;第一行的键值为扫描行号+1else if(pinKeyCol2=KEY_PRESSED)TempKey=ColLineNum+5;第一行的键值为扫描行号+1+4if(TempKey)(这次有键按下的情况处理如下if(nKeyVal=NO_KEY)如果在nWaitShake之前没有键被按下过(nKeyVaI=TempKey;记忆当前按下的键nWaitShake=CONFIRM_DALEY;启动”确认延时”,nWaitShake这个值在中断中被减至0 13return NO KEY;)else如果有键在nWaitShake之前有键被按下过(if(nKeyVal=TempKey)若此键值等于 nKeyVal(iffnRepeatKeyDelay=O)(nRepeatKeyDelay=REPEAT_DELAY;/nRepeatKeyDelay 在中断中被递减 return TempKey;)elsereturn NO KEY;)else无键按下,或这次的键值与记在nKeyVal中的键值的不同(nKeyVal=NO_KEY;nRepeatKeyDelay=nWaitShake=O;return NO KEY;)注:红色标记为键盘扫描的键值的逻辑运算,与列线的信号控制74HC139,同学们可自行参阅,触类变通。2.4 DS1302实时时钟实验:实时时钟硬件连接:14介绍:实验板采用的位美国DALLAS公司的高性能低功耗的实时时钟芯片,采用的SPI三线接口与CPU 进行通信。并且可以采用突发方式一次传递多个字节的时钟信号和RAM数据。DS1302可以提供秒,分,时,日,星期,月,年的精确时间。可采用双电源供电。即外接电源供电跟纽扣电池供电。本实验板做了 如下设计,正常情况下为外接电源供电,纽扣电池的供电引脚已由CON跳线引出。如需外接可自行处理。DS1302弓|脚I/O引脚(数据线)由P3.7控制,时钟线由P3.5控制。复位信号可由跳线JP3来选择。选择 1-2由P3.4(A1)来控制,选择2-3由P4.3来控制。注:DS1302的操作驱动我们在软件部分作介绍,并附有驱动实例。如有不清之处我们在实验班资料里面 附加了 DS1302的英文(中文)datasheeto学生可以自己参考。软件操作:函数名称:DS1302服务程序功 能:对DS1302的逻辑驱动函数做了如下子程序。用 法:在主程序无穷任务循环中的任意位置被调用即可支 持:需要DS1302.h返回值:返回当前的实时时间日 期:#include nDS1302.hn#include nREG_MG87FL2051-605 l.Hn#include intrins.h/PinCLK must be in High logic when globe-initialization/*-reset and enable the 3-wire interface-*/#defineDS1302 Reset()S EN=0;.op();S CLK=0;.op();S EN=l void SPI Wrt(unsigned char W Byte)/write one byte to the deviceunsigned char i;for(i=0;i v 8;+i)15In);./将时钟线拉高S-LK=0;return R Byte;/char RdDS1302TimeJnsi|ied char Para)void WrDS 1302Timer(char Para,char Data)EA=0;DS1302 Reset();SPI Wrt(Pa.a);PrWrt(Data);EA=1;void RdTimerAll(unsigned char*TimerParaBuf)16unsigned char R Byte;unsigned char Tmp;EA=O;DS1302 Resct();SPI Wrt(BURSTMODE+1);/Serial RdWrt(BURSTMODE+1);S IO=1;fbr(n=0;n7;n+)RByte=0;for(i=0;i LL_TEST todIj:cnd.a RXD NCRI_N GP1 G而 GPONC:DSR_N VDD 5VDCDJJ NCCTSjj GND SHTT)_N V0_33 EE.CLR DM EE_DATA DP介绍:本实验板采用的为USB来供电与串口数据传输一体。故应用了 USB转串口芯片PL2303HX。电路 接法采用典型接法。同学可以无需了解。操作与串口操作一样。此芯片需要软件驱动。驱动我们在实验板 资料包里已经加入。同学们第一次使用时把驱动安装到电脑里面,以后就可以直接操作。注:在使用我们编写的程序烧写的软件时。注意自己的串口的号。由于本芯片是模拟串口,对于电脑来说 每次插拔串口不一定一样。附:串口号查询方式我的电脑-点击右键 属性 硬件-设备管理器-com 口 软件操作:在此我们借助串口调试软件来测试串口的数据的发送与接收。电源模块:硬件连接:223V3介绍:我们采用USB直接供电方式。USB直接连接电脑的USB接口即可。在连接正确的情况下。实验板 的电源指示灯D8(红色)会亮。注意事项:在实验板使用时应将Jp5跳线连接。这样实验板才能正常工作。提示:由于单片机实验板采用的是USB供电通信一体的方式。所以需要购买USB线。USB线在购买时要 买两头都为公头的。这样才能保证单片机供电通信正常。单片机介绍:23本实验采用的是台湾笙泉公司的MEGAWIN87FLE4051单片机为CPU。MEGAWIN87FLE4051是一款8位单片机,其指令集完全兼容8051系列,其有4k字节的闪存程序存储空 间和256字节的数据存储空间。为其提供了广阔的应用领域。在线编程功能为用户提供了更方便的更新数 据跟程序的方法。芯片的一个及其周期可以为6个或者12个时钟周期。芯片有一个8位I/O 口(P1),一 个7位I/O 口(P3.0P3.5,P3.7)O两个十六位定时/计数器,一个8位PWM。7个四级优先中断源,一 个增强型UART,一个精准模拟比较器,可以接外部晶振,也可以用内部RC振荡器。选择该芯片的原因:1:笙泉公司的产品性价比优越。性能与STC相同,价格只有STC的2/3。2:笙泉的MEGAWIN87FLE4051系列可以选择其内部晶振无需外接晶振。3:笙泉的MEGAWIN87FLE4051系列完全满足我们的实验要求。注:我们在学生实验板资料包里面附加了笙泉的MEGAWIN87FLE4051系列的(英文)中文datasheet。需要 的同学可以自行参阅。243编程软件介绍本实验板的程序编写软件采用的是keil uvision2 C51软件是目前功能最强大的单片机c语言集成开发 环境。下面我们通过图解的方式来Keil C51软件的使用教程,学习最简单的,如何输入源程序一新建工 程一工程详细设置一源程序编译得到目标代码文件。3.1 Keil软件使用方法简介Keil C51软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,汇编语言和C语言的程序设计,界面友好,易学易用。下面介绍Keil C51软件的使用方法进入Keil C51后,屏幕如下图所示。几秒钟后出现编辑界TPue IntegrationIDE forIpVISIONgJ 小AMicrocontrollerThis program is protected by U.S.and international copyright laws.进入Keil C51后的编辑界面25简单程序的调试 学习程序设计语言、学习某种程序软件,最好的方法是直接操作实践。下面通过简单的编程、调试,引导 大家学习Keil C51软件的基本使用方法和基本的调试技巧。(1)新建工程单击Project菜单,在弹出的下拉菜单中选中New Project选项然后选择你要保存的路径,输入工程文件的名字,比如保存到D盘的CMJ51文件夹里,工程文件的名字为CMJ1如下图所示,然后点击保存.这时会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,keil c51几乎支持 所有的51核的单片机,我这里还是以大家用的比较多的Atmel的89C51来说明,如下图所示,选择89C51之 后,右边栏是对这个单片机的基本的说明,然后点击确定.26Select Device for Target Target 10CPUVendor:AtmelDevice:89C51Family:MCS_51 Use Extended Linker”51)instead of BL51AX51)instead of A51rData baseDescription:白 AtmelLJ 87F51LJ 87F51RC 口 87F52 口 89C1051 LJ 89C1051U 口 89C2051 LJ 89C4051OSHII 89C52LJ 89C55 口 89F518051 based Full Static CMOS controller with Three-Level Pr32 I/O lines,2 Timers/Counters,6 Interrupts sources4 K Flash Memory,128 Bytes On-chip RAM完成上一步骤后,屏幕如下图所示AV|确定|取消到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。(2)新建文件在下图中,单击“File”菜单,再在下拉菜单中单击“New”选项27新建文件后屏幕如下图所示此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了。键入程序后界面如下:单击file菜单下的save,出现一个对话框,键入文件名,后缀名为.asm,进行保存到D盘CMJ51文件 夹下。界面如下:28Save As0保存在a):I O CMJ51|包存面gJCMJl.plg凶 CMJl.uv2文件名国):|cmjll.asm保存G)保存类型复):|A11 Files(.*)士 取消点击保存即可。出现如下界面。联CUI-ision2 匚回区|File Edit View Project Debug Peripherals Tools SVCS Window Help慢盥西晶I(Target 1 勺|窗百。解昌【)|Build 卜 Command 人 Find in Files lb I 对L:8 C:4 NV(3)添加文件回到编辑界面后,单击“Target 1”前面的“+”号,然后在“Source Group 1”上单击右键,弹出如下 菜单29然后单击“Add File to Group Source Group 1”屏幕如下图所示选中cmjl.asm,然后单击“Add”屏幕好下图所示30(4)汇编连接单击如下图所示的图标(rebuilt all target files)XCommand 人 Find in Files/上ini hr1Rebuild all target files出现如下界面:L:8 C:1NU31(5)运行看结果单击如下图的图标(start/stop debug session),进入运行状态出现如下界面:32单击一次下图的图标(step into),程序就能运行一条,一直到程序的结束(ret)o运行结束后,直接可以在如下界面中看结果。33特殊功能寄存器中的内容可以在界面中直接看到,存储单元的内容在memory#1中输入如上图所示的地 址,即可看到该单元的内容为66H。(6)编译环境的设置。用鼠标右键(注意用右键)点击左边的Target 1,会出现一个菜单.-Wision2-C:Keiltest.cI File Edit View Project Debug Peripherals Tools SVCS Win j窗百y第11电/1j|拿宣力%私甲 磅圜幽离太际L 三回 unsigned char ab,c;TargqSelect Device for Target Target 1Options for Target f Target 1|O|Rebuild target|M|Build target FTTranslate File痛St皿用孽IdAdd Files to Group.Targets/Groups,Files.Remove Item34选择 Options for Target,Target 1,会出现一个选择卡:Xtal(Mhz):是设置你的单片机的工作的频率,默认是24.0MHZ,如果你的单片机的晶振用的是 11.0592Mhz,那么在框里输入11.0592(单位是Mhz,所以带小数点).Use On-chip ROM(0 x0-0 xlfff):这个选项是使用片上的 Flash Rom,我们知道At89c52 有 8k 的 flash Rom.取决于你的应用系统,你的单片机的EA接高电平的话,请选中这个选项,如果你的单片机的EA接低电平,表 示使用外部Rom,那么不要选中该选项.我们在这里选中它Off-chip Code memory:表示你在片外接的Rom的开始地址和大小,如果你没有外接程序存储器,那么 不要填任何数据.我们在这里假设使用一个片外的Rom,地址从0 x8000开始(不要填成8000,如果是8000,是10进制的数,一般填16进制的数),Size为外接Rom的大小.假设接了一块0 x1000字节的rom.最多可以 外接3块Rom,如果你还用了别的地址,那么就添上.13)下面要对Output栏进行设置:这一栏有很多的选项:Select Folder for 0bjects:点击这个按钮可以选择编译之后的目标文件存储在哪个目录里,如果不 设置的话,就是在你的工程文件的目录里.Name of Executable:是设置生成的目标文件的名字,缺省是跟你的工程的名字是一样的.目标文件可以生成库或者obj,hex的格式.35Create Executable:是生成 OMF 以及 HEX 文件:一般是选中 Debug Information,选中 Browse Information.这两个选项一般要选中,这样才有详细的调试所需要的信息、,比如你要做c语言程序的调试,如果不选的话,调试时你将无法看到高级语言写的程序.Create Hex File:这个选项一般是要选中的,这个文件将是后面烧写用到的。Create Library:选中时将生成lib库文件.根据你的需要是否要生成库文件,一般的应用是不生成库 文件的.After Make:有几个设置:Beep when complete:编译完成之后发出咚的声音.Start Debugging:马上启动调试(软件仿真或硬件仿真).根据你的需要做设置,一般是不选中.Run User Program#1,Run User Program#2:这个选项可以设置编译完之后运行别的应用程序,比如 有些用户自己编写的烧写芯片的程序(编译完便执行将hex文件写入芯片),或调用外部的仿真程序.根据自 己的需要设置.完成上述设置以后,就可以进行编译调试了。打开主菜单的project选项,选择Build target条目 即可。36clock-Blision2-C:Documents and SettingslxlMy Documentsclock.asm=)File Edit ViewProject Debug Flash Peripherals Tools 5VC5 Window HelpNew Project.Import|j Vision 1 Project.Open Project怎圜倒后|一一,.1.,Close Project日曰 Target 1File Extensions Books and Environment白曰 Source(国docTargets;GroupsFiles.Select Device for Target Target 1Remove ItemOptions for Target Target 11 Clear Group and File OptionsBuild target F7函 Rebuild all target files率 Translate C:Documents and 5ettingslxlMy Documentsdock.asm通 Stop build翼 Flash Download X C:Documents and SettingslxlMy Documentsdock.uv22 C:Documents and SettingslxlMy Documentsqqqqqq.uv23 C:Documents and 5ettingslxlMy Documentsmy2051.uv24 C:Documents and SettingslxlMy Documentsqq.uv25 D:wang2051.Uv26 D:wangtt.uv27 D:wangtest.uv2程序编译完成后,可以进行联机调试或软件仿真,因篇幅关系从略,有兴趣的同学可以参考徐爱钧的单 片机高级语言C51 Windows环境编程与应用或Keil C51编译、调试软件使用指南。373.2程序烧写软件介绍3.2.1 安装USB驱动该实验板通过USB 口实现供电和程序烧写,编程之前需要安装USB驱动,运行软件包内的文件 PL2303_Prolific_DriverInstaller_vl30.exe,安装USB驱动成功后,你的电脑上将增加一个虚拟串口,右键 点击“我的电脑属性分硬件分设备管理”然后在端口目录下将产生一个虚拟串口,如图中红色线条所示38乌设备管理器H回区文件(E)操作彷)查看过)帮助(日)曲昌图回缈PC-WBRS 电 Dot4Usb HPZ12E IDE ATA/ATAPI 控制器国Q IEEE 1284.4兼容打印机 Q处理器:由。磁盘驱动器:白 g 端口(COM 和 LPT)i y ECP打印机端口(LPT1)一Eplific USB-to-Serial Comm Port(C0M31 二二二二3通讯端口(COM1)由于计算机,E f监视器,由瓜腱盘:匹 声音、视频和游戏控制器s 5二鼠标和其它指针设备S4通用串行总线控制器E理网络适配器Bgl Atheros AR8132 PCI-E Fast Ethernet ControllerWireless G USB Adapter6-y系统设备E f显示卡3.2.2 运行编程烧写程序运行软件包中的S51-1 A_Programmer.exe程序。该程序烧写软件是有史大光老师独立编写的串口程序烧写软件启使用方法与STC公司的STCJSP烧 写软件用法类似。是仅适用于我们本实验板的程序烧写软件。基于Bootloader的不同,我们的程序烧写也 必须由我们的烧写软件来完成。下面我们来介绍一下该软件的用法:注:在使用软件时应该把硬件连接做好,是单片机进入烧写程序状态。利用跳线连接JP1.通电即可进入烧 写状态。进入烧写程序状态后将跳线冒拔掉。第一步:打开程序烧写软件(界面如下)39人单片机课程设计编程软件(山科大机电学院,电话二.斯开|连接|17编程操作r数据收发代码文件内容 目标板 未连接接收清空I以16进制接收数据 厂 发送16进制数据厂 发送济空|接收串口送在端口选项中选中由USB驱动所产生的虚拟串口,本例中为COM3,注意随着计算机的不同其编号可能 不同,先通过电脑属性查看后根据实际选取。通信波特率默认为9600。第二步:按照我们前面介绍的方法查出您的串口号,点击“连接”。串口连接成功界面如下。40男 单片机谖室设T程软件(山科大叽电学浣,电语:053280681217)连接操作帮助s J连接弹口/USB虚拟串口)端口即三波特率|9600 三串行口状态 断开|连接|P编程操作 r数据收发单片机返回信息/串口接收信息代码文件内容目标板未连接接收清空|以16进制接收数据 厂 发送16进制劫据餐发送清空第三步:将实验板的JP1短接,按复位键,然后点击“连接目标板”界面如下。41男 单片机谟程设T程次N山科大机电学浣库话:053280681217)隹接操作帮助BootLoader Version 1.0 By Mr.Shi?SDUST,目标板I装载代码文的 烧写代码,接收清空|以16进制接收数据厂发送16进制数据 r.发送
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服