版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE10单片机数字电子钟设计前言成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,数字钟表的精度远远超过老式机械钟表,给人们生产生活带来了极大的方便。另一方面,由于单片机技术的使用,大大扩展了钟表原先的功能,可以提供定时自动报警、按时自动打铃、时间程序自动控制及各种定时电气的自动启用功能等。因此,研究数字钟表及扩大其应用,有着非常现实的意义。本设计主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机STC89C52,DS1302LED系统总体设计思路方案1、采用STC89C52单片机作为主控芯片,实现数字钟表主控功能。2、采用液晶屏显示当前年、月、日、时、分、秒,闹铃时间及状态等信息。3、采用六键键盘设定时间初始值,具体方法是按时间设定键依次进入年、月、日、时、分、秒设定状态,然后通过向上、向下键修改设定值。正在设定的变量以闪烁状态突出显示。4、采用六键键盘设定闹铃时间,具体方法是按闹铃设定键依次进入时、分设定状态,然后通过向上、向下键修改设定值。正在设定的变量以闪烁状态突出显示。5、采用DS1302实时时钟芯片完成后台计时功能,要求具有后备电源,即使主电源掉电时间仍然保持运行。6、可设定闹铃使能,具体方法是按闹铃使能键,按一次打开,再按一次关闭。闹铃使能关闭时不报警。7、当闹铃使能打开,且当前时间到达闹铃设置时间,则蜂鸣器和LED红灯同时报警,如不按取消键,报警时间为1分钟。报警状态可以通过按取消键退出。8、系统通过USB电源供电,单片机程序也可通过USB线串行下载。硬件实现及单元电路设计单片机数字闹钟硬件框图如图1-1所示。DS1302DS1302时钟芯片按键输入单片机主控芯片电源系统闹铃电路液晶显示图1-1 硬件框图DS1302DS1302来。用户可以通过按键设定时间初始值、闹铃初始值等。主电源和备份电源给各芯片供电。相关基础介绍DS1302DS1302实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数;用于高速数据暂存的318RAM最少引脚的串行I/O2.5~5.5V电压工作范围;2.5V时耗电小于300nA;用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式;简单的3线接口;可选的慢速充电(Vcc1)的能力。DS1302时钟芯片包括实时时钟/日历和31字节的静态RAM。它经过一个简单的串行接口与/3124hAM(上午下午)12hCPU进行同步通信,并可采用突发方式一次传RAMDS1302/Vcc2在双电源系统中提供主电源,Vcc1DS1302Vcc1Vcc2Vcc2Vcc1+0.2VDS1302Vcc1,DS1302Vcc1.DS1302DS1302RST8SCLK840888,在多字节方式下为8248如果在传送过程中置RST脚为低电平,则会中止本次数据传送,并且I/OVcc≧2.5VSCLKRSTDS13022-12-1DS13022-1引脚号1表2-1DS1302引脚功能引脚名称Vcc2功能主电源2,3X1,X232.768kHz4GND地线5RST复位/片选线6I/O串行数据输入/输出端(双向)7SCLK串行数据输入端8Vcc1后备电源DS13022-2(7)1;0DS13026015~1(A4~A0)指示操作单元的地址。最低有效位(0)0,表示要进行1/输出。图2-2DS1302的控制字DS1302432(地址/1~51/RAMburst)方式。位6RAM,而0/9~31RAM31008RAM3131RAM。图2-3DS1302数据读/写时序DS1302127BCD2-5,其中奇数为读操作,偶数为写操作。命令字节寄存器内容命令字节寄存器内容寄存器名取值范围写 读 76543210秒寄存器80H81H00~59CH10sSEC分寄存器82H83H00~59010minMIN[小]时寄存器84H85H00~23或12/24010A/PHRHR01~12日期寄存器86H87H01~28,0010DATEDATE月份寄存器88H89H01~12000 10MMONTH周寄存器8AH8BH01~07000 00 DAY年寄存器8CH8DH00~9910YEARYEAR71DS1302耗的备份方式。通常在对DS1302年寄存器8CH8DH00~9910YEARYEARAM-PM/12-2471224125AM/PMPM,AM24510(20~23h。DS1302对记时精度影响不大。STC89C52STC89C52单片机概述STC89C52系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/80518051,8-12MAX810STC89C52单片机特点5.5V-3.5V(5V;增强型8051CPU,1T,单时钟/工作频率范围:0~40MHz,80510~80MHz;4K//8K/16k/32K/64K1280RAM;I/O(32/36,复位后为准双向口/弱上拉(8051I/OISP(在系统可编程)/IAP(在应用可编程,无需专用编程器/仿真器。I/O20mA,可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片;EEPROM看门狗;MAX810(12M1K时钟源:外部高精度晶体/R/CR/C振荡器还是外部晶体/R/C振荡器频率为:5.0V单片机为:11MHz~17MHz;4168051/计数器,16T02PCA16外部中断I/O4模块,PowerDown通用全双工异步串行口(UART);工作温度范围:-40~+85℃(工业级)/0~75℃(商业级);封装:PDIP-40,PLCC-44。STC89C52单片机管脚及封装STC89C52单片机有多种封装形式,本设计中选用40DIP封装,其管脚定义如图2-4所示。图2-4 STC89C52管脚图硬件电路设计单片机电路2-5STC89C5211.0592MHz20pF10uF(C1)10K(R2)组成的阻容复位电路。图2-5 单片机电路单片机管脚连接标号中,P00—P07,P25—P27RXDTXDISPDS1302DS13022-6BT1Y2R10—R12DS1302SCLK、I/ORST图2-6 DS1302时钟电路液晶屏显示电路显示部分采用SMC1602液晶屏进行数据显示,其主要技术参数为:表2-3 液晶屏技术指标接口信号说明如表2-4所示。表2-4液晶屏接口信号说明与单片机接口电路如图2-7所示。图2-7LCD与单片机接口电路按键电路UCH375USBUCH37512MHz20pF。管脚D0—D7CH375INTCH375CS、CH375A0、CH375WRCH375RDCH375RU2RU3UUD+UD-LUU键盘驱动电路键盘驱动电路如图2-8所示。图2-8键盘驱动程序电路使用与单片机管脚直接相连的按键实现键盘。当按键按下时管脚为低电平,无按键时为高电平。单片机采用查询方式获取按键信息。闹铃电路图2-9 闹铃电路闹铃电路由单片机管脚驱动蜂鸣器和报警灯实现,当闹铃时间到时,蜂鸣器鸣响,红灯报警。电源电路USB5V。同时,USBPL23032-10图2-10 供电及程序下载电路总电路图经上所述,画出总电路图,图2-11图2-11总电路图软件设计软件流程图本设计软件流程如图3-1所示。数据初始化数据初始化定时器初始化显示初始化DS1302初始化进入后台while循环否有显示标志吗?是时间数据显示是到达闹铃时间了么吗?报警否有键按下吗?是按键处理否图3-1软件流程图时间调整程序设计4250ms50ms//定义管脚//定义标识volatilebitFlagKeyPress=0;//有键按下标志volatilebitFlagShow=0;//定义管脚//定义标识volatilebitFlagKeyPress=0;//有键按下标志volatilebitFlagShow=0;//显示标志主程序下面介绍main.c主程序编写。3.3.1.头文件和一些宏定义#include#include#include#include<reg52.h><math.h>"1602.h""DS1302.h"#defineAMHOURADDR0xC0//存闹铃时的地址#defineAMMINUTEADDR0xC2//存闹铃分的地址#defineAMENADDR0xC4//存闹钟使能标志的地址3.3.2.管脚、常量、变量定义3.3.2.管脚、常量、变量定义sbitLed_Alarm=P2^1;//报警灯sbitBeep_Alarm=P2^0;//蜂鸣器sbitKey_TMSet=P3^2;//时间设置sbitKey_AMSet=P3^3;//闹铃设置sbitKey_Up=P3^4;//上调sbitKey_Down=P3^5;//下调sbitKey_AMEn=P3^6;//闹铃开关sbitKey_Review=P3^7;//查看volatilebitFlagTMSet=0;//时间设置状态标志volatilebitFlagAMSet=0;//闹铃设置状态标志volatilebitFlagAMEn=0;//闹铃使能标志,0,1volatilebitFlagAlarm=0;//闹铃状态标志//按键响应用变量//按键响应用变量ucharkeyvalue,keyTMSet,keyAMSet,keyUp,keyDown,keySet,keyAMEn,keyReview;//DS1302时钟用变量SYSTEMTIMECurrentTime;//DS1302时钟用变量SYSTEMTIMECurrentTime;ucharyear,month,day,hour,minute,second;ucharAMhour,AMminute,AMStart;//报警及存储用变量//报警及存储用变量//char*pSave;//字符串显示用变量ucharstr1[6]="000000";ucharDate[9]="00-00-00",Time[9]="00:00:00";ucharhide,SetNum;uintCounter;3.3.3.函数声明3.3.3.函数声明//函数声明//函数声明voidint2str(intx,char*str);voidDelay1ms(unsignedintcount);voidData_Init();voidTimer0_Init();voidTimer0_ISR();voidKeyProcess(uintnum);3.3.4.各子程序3.3.4.各子程序////0--65536voidint2str(intx,char*str){inti=1;intwhile(x/tmp!=0){i++;tmp*=10;tmp*=10;}tmp=x;str[i]='\0';while(i>1){str[--i]='0'+(tmp%10);tmp/=10;}str[0]=tmp+'0';}voidDelay1ms(unsignedintcount)voidDelay1ms(unsignedintcount){unsignedinti,j;for(i=0;i<count;i++)for(j=0;j<120;j++);}//数据初始化void//数据初始化voidData_Init(){Beep_Alarm=1;Led_Alarm=1;AMStart=0;keyvalue=0;keyTMSet=1;keyAMSet=1;keyUp=1;keyDown=1;keyAMEn=1;keyReview=1;hide=0;Counter=0;SetNum=0;}//定时器0初始化//定时器0初始化voidTimer0_Init(){ET0=1;TMOD=1;TL0=TH0=TR0=1;}//允许定时器0中断//定时器工作方式选择//定时器赋予初值//启动定时器//定时器0中断//定时器0中断voidTimer0_ISR(void)interrupt1using0{TL0=0x06;TH0=0xf8;//定时器赋予初值////1Counter++;if(Counter>=450){FlagShow=1;Counter=0;设定闪烁标志if(hide==1)hide=elsehide=1;}}voidKeyProcess(uintnum)voidKeyProcess(uintnum){switch(num){case1://TMSetSetNum=0-管设置;1-年;2-月;3-日;4-时;5-分;6-SetNum1。if(FlagAMSet==1)//从闹铃时间设置进入当前时间设置{FlagAMSet=0;FlagTMSet=1;SetNum=1;}elseif(FlagTMSet==0)//从正常状态进入当前时间设置{FlagTMSet=1;SetNum=1;}else //已经在时间设置状态{SetNum++;}if(SetNum>=7) //已经设定完毕,则存盘退出{SetNum=0;FlagTMSet=0;}break;case2: //AMSet键被按下。SetNum=0-关设置;1-时;2-分,按一下SetNum加1if(FlagTMSet==1) //从当前时间设置进入闹铃时间设置{FlagTMSet=0;FlagAMSet=1;SetNum=1;//清屏L1602_string(1,1," ");L1602_string(2,1," ");//读出当前闹铃时间并显示int2str(AMhour,str1);L1602_string(2,1,str1);int2str(AMminute,str1);L1602_string(2,4,str1);}elseif(FlagAMSet==0)//从正常状态进入闹铃时间设置{FlagAMSet=1;SetNum=1;//清屏//清屏L1602_string(1,1," ");L1602_string(2,1," ");L1602_string(2,4,str1);}else{SetNum++;}if(SetNum>=3){//存入闹铃时间//已经在闹铃时间设置状态//已经设定完毕,则存盘退出并返回正常显示界面Write1302(0x8e,0x00);//写入允许Write1302(AMHOURADDR,AMhour);Delay1ms(500);Write1302(AMMINUTEADDR,AMminute);Delay1ms(500);Write1302(0x8e,0x80);//写入禁止AMhour=Read1302(AMHOURADDR);AMminute=Read1302(AMMINUTEADDR);SetNum=0;FlagAMSet=0;}}break;case3: //Upif(FlagTMSet==1){switch(SetNum){case0:case1://年if(year<99)//如果在当前时间设置状态year++;Write1302(0x8e,0x00);//写入允许DS1302_SetTime(DS1302_YEAR,year);Write1302(0x8e,0x80);//禁止写入break;case2://月if(month<12)month++;Write1302(0x8e,0x00);//写入允许DS1302_SetTime(DS1302_MONTH,month);Write1302(0x8e,0x80);//禁止写入break;case3://日if(day<31)day++;Write1302(0x8e,0x00);//写入允许DS1302_SetTime(DS1302_DAY,day);Write1302(0x8e,0x80);//禁止写入break;case4://时if(hour<23)hour++;Write1302(0x8e,0x00);//写入允许DS1302_SetTime(DS1302_HOUR,hour);Write1302(0x8e,0x80);//禁止写入break;case5://分if(minute<59)minute++;Write1302(0x8e,0x00);//写入允许DS1302_SetTime(DS1302_MINUTE,minute);Write1302(0x8e,0x80);//禁止写入break;case6://秒if(second<59)second++;Write1302(0x8e,0x00);//写入允许DS1302_SetTime(DS1302_SECOND,second);Write1302(0x8e,0x80);//禁止写入break;}}if(FlagAMSet==1) //如果在闹铃设置状态{switch(SetNum){case1://时if(AMhour<23)AMhour++;break;case2://时if(AMminute<59)AMminute++;break;break;}}break;case4://Downif(FlagTMSet==1) //如果在当前时间设置状态{switch(SetNum){case0:case1://年if(year>0)year--;Write1302(0x8e,0x00);//写入允许DS1302_SetTime(DS1302_YEAR,year);Write1302(0x8e,0x80);//禁止写入break;case2://月if(month>0)month--;Write1302(0x8e,0x00);//写入允许DS1302_SetTime(DS1302_MONTH,month);Write1302(0x8e,0x80);//禁止写入break;case3://日if(day>0)day--;Write1302(0x8e,0x00);//写入允许DS1302_SetTime(DS1302_DAY,day);Write1302(0x8e,0x80);//禁止写入break;case4://时if(hour>0)hour--;Write1302(0x8e,0x00);//写入允许DS1302_SetTime(DS1302_HOUR,hour);Write1302(0x8e,0x80);//禁止写入break;case5://分case5://分if(minute>0)minute--;Write1302(0x8e,0x00);//写入允许DS1302_SetTime(DS1302_MINUTE,minute);Write1302(0x8e,0x80);//禁止写入break;case6://秒if(second>0)second--;Write1302(0x8e,0x00);//写入允许DS1302_SetTime(DS1302_SECOND,second);Write1302(0x8e,0x80);//禁止写入break;}}if(FlagAMSet==1) //如果在闹铃设置状态{switch(SetNum){case1://时if(AMhour>0)AMhour--;break;case2://时if(AMminute>0)AMminute--;break;break;}}break;case5://闹铃使能键被按下if(FlagAMEn==0){//存入闹铃时间Write1302(0x8e,0x00);//写入允许Write1302(AMENADDR,1);Delay1ms(500);Write1302(0x8e,0x80);//写入禁止FlagAMEn=1;L1602_string(2,11,"Open");}elseelse{//存入闹铃时间Write1302(0x8e,0x00);//写入允许Write1302(AMENADDR,0);Delay1ms(500);Write1302(0x8e,0x80);//写入禁止FlagAMEn=0;L1602_string(2,11,"Close");}break;case6://ReviewLed_Alarm=1;Beep_Alarm=1;FlagAlarm=0;break;}}/********************************************************************/********************************************************************名称:Main()***********************************************************************/voidmain(){uinti,j,temp;EA=0;EA=0;Timer0_Init(); //Timer0_Init(); //0Data_Init();Initial_DS1302();EA=1;//载入闹钟使能信号temp=Read1302(AMENADDR);if(temp==1){FlagAMEn=1;}}elseif(temp==0){FlagAMEn=0;}else{//存入闹铃时间Write1302(0x8e,0x00);//写入允许Write1302(AMENADDR,0);Delay1ms(500);Write1302(0x8e,0x80);//写入禁止FlagAMEn=0;}//载入闹铃时间//载入闹铃时间AMhour=Read1302(AMHOURADDR);if((AMhour>23)||(AMhour<0)){AMhour=0;//存入闹铃时间Write1302(0x8e,0x00);//Write1302(AMHOURADDR,AMhour);Delay1ms(500);Write1302(0x8e,0x80);//AMhour=Read1302(AMHOURADDR);}AMminute=Read1302(AMMINUTEADDR);if((AMminute>59)||(AMminute<0)){AMminute=0;//存入闹铃时间Write1302(0x8e,0x00);//写入允许Write1302(AMMINUTEADDR,AMminute);Delay1ms(500);Write1302(0x8e,0x80);//写入禁止AMminute=Read1302(AMMINUTEADDR);}//显示初始化L1602_init();L1602_init();L1602_string(1,1," WelcometoMyL1602_string(2,1,"DigitalTimer!//延时for(i=0;i<1000;i++)for(j=0;j<1000;j++){;}//初始化屏幕L1602_string(1,1,"if(FlagAMEn==1){L1602_string(2,1,"}else{L1602_string(2,1,"}ALARM");Open");Close");while(1){if(FlagAlarm==1){Led_Alarm=0;Beep_Alarm=0;}else{Led_Alarm=1;Beep_Alarm=1;}//时间显示if(FlagShow==1){//读出日期时间值DS1302_GetTime(&CurrentTime);year=CurrentTime.Year;month=CurrentTime.Month;day=CurrentTime.Day;hour=CurrentTime.Hour;0))
minute=CurrentTime.Minute;second=CurrentTime.Second;DateToStr(&CurrentTime);TimeToStr(&CurrentTime);//FlagAlarm=0为闹铃关闭状态,FlagAlarm=1为闹铃打开状态,if((FlagAMEn==1)&&(hour==AMhour)&&(minute==AMminute)&&(AMStart=={FlagAlarm=1;AMStart=1;}elseif((FlagAMEn!=1)||(hour!=AMhour)||(minute!=AMminute)){FlagAlarm=0;AMStart=0;}//如果不在闹铃设置状态则显示当前日期时间if(FlagAMSet==0){L1602_string(1,1,CurrentTime.DateString);L1602_string(2,1,CurrentTime.TimeString);}else//如果在闹铃状态则显示闹铃时和分{int2str(AMhour,str1);L1602_string(2,1,str1);L1602_string(2,3,":");int2str(AMminute,str1);L1602_string(2,4,str1);}//产生时间设定时的闪烁效果,只在闪烁标志置位时运行//SetNum=0-未设定;1-年;2-月;3-日;4-时;5-分;6-秒if((FlagTMSet==1)&&(hide==1)){switch(SetNum){case0:break;case1: //年default:default:break;}}elseif((FlagAMSet==1)&&(hide==1)){switch(SetNum){case0:break;case1://时L1602_string(2,1," ");break;case2://分L1602_string(2,4," ");break;default:break;}}FlagShow=0;}L1602_string(1,1,"break;");case2: //月L1602_string(1,4,"");break;case3: //日L1602_string(1,7,"");break;case4: //时L1602_string(2,1,"");break;case5: //分L1602_string(2,4,"");break;case6: //秒L1602_string(2,7,"");break;elseif((Key_Down)&&(keyDown==0)){FlagKeyPress=1;keyvalue=4;}elseif((Key_AMEn)&&(keyAMEn==0)){FlagKeyPress=1;keyvalue=5;}//以下为键盘查询,当有按键从按下到弹起时,该按键被响应。if((Key_TMSet)&&(keyTMSet==0)){FlagKeyPress=1;keyvalue=1;}//以下为键盘查询,当有按键从按下到弹起时,该按键被响应。if((Key_TMSet)&&(keyTMSet==0)){FlagKeyPress=1;keyvalue=1;}elseif((Key_AMSet)&&(keyAMSet==0)){FlagKeyPress=1;keyvalue=elseif((Key_Up)&&(keyUp==0)){FlagKeyPress=1;keyvalue=3;}elseif((Key_Review)&&(keyReview==0)){FlagKeyPress=1;keyvalue=6;}if(FlagKeyPress==1){KeyProcess(keyvalue);FlagKeyPress=0;}if(!Key_TMSet)keyTMSet=elsekeyTMSet=1;if(!Key_AMSet)keyAMSet=elsekeyAMSet=1;if(!Key_Up)keyUp=0;elsekeyUp=1;if(!Key_Down)keyDown=elsekeyDown=1;if(!Key_AMEn)keyAMEn=elsekeyAMEn=1;if(!Key_Review)keyReview=0;elsekeyReview=1;Delay1ms(100);}}.PCB4.1.1.定元件的封装①打开网络表(可以利用一些编辑器辅助编辑) ,将所有封装浏览一遍,确保所有元件的封装都正确无误并且元件库中包含所有元件的封装, 网络表中所有信息全部写,一面载入出问题,或PCBBOM不连续。②标准元件全部采用公司统一元件库中的封装。③④⑥⑤元件库中不存在的封装,应自己建立元器件库。PCB①根据PCB结构图,或相应的模板建立PCB文件,包括安装孔、禁布区等相关信息。②尺寸标注。在钻孔层中应标明 PCB的精确结构,且不可以形成封闭尺寸标注。载入网络表①载入网表并排除所有载入问题,具体请看《 PROTEL技术大全。其他软件载问题有很多相似之处,可以借鉴。②如果使用PROTEL,网表须载入两次以上(没有任何提示信息)才可以确认载入无误。布局①首先要确定参考点。一般参考点都设置在左边和底边的边框线的交点(或延长线的交点)上或印制板的插件的第一个焊盘。②一但参考点确定以后,元件布局、布线均以此参考点为准。布局推荐使用25MIL网格。③根据要求先将所有有定位要求的元件固定并锁定。④布局的基本原则遵循先难后易、先大后小的原则。原器件。总的连线尽可能的短,关键信号线最短。强信号、弱信号、高电压信号和弱电压信号要完全分开。高频元件间隔要充分。模拟信号、数字信号分开。⑤相同结构电路部分应尽可能采取对称布局。⑥按照均匀分布、重心平衡、版面美观的标准来优化布局。.PCB设计遵循的规则①地线回路规则:图4-1地线回路规则环面积越小,对外的辐射越少,接收外界的干扰也越小。针对这一规则,在地平面分割时,要考虑到地平面与重要信号走线的分布,防止由于地平面开槽等带来的问题;在双层板设计中,在为电源留下足够空间的情况下,应该将留下的部分用参考地填充,且增加一些必要的过孔,将双面信号有效连接起来,对一些关键信号尽量采用地线隔离,对一些频率较高的设计,需特别考虑其地平面信号回路问题,建议采用多层板为宜。②窜扰控制窜扰(CrossTalk)是指PCB主要是由于平行线间的分布电容和分布电感的作用。克服窜扰的主要措施是:加大平行布线的间距,遵循 3W规则。在平行线间插入接地的隔离线。减少布线层与地平面的距离③屏蔽保护图4-2屏蔽保护对应地线回路规则,实际上也是为了尽量减小信号的回路面积,多用于一些比较重要的信号,如时钟信号,同步信号;对一些特别重要,频率特别高的信号,应该考虑采用铜轴电缆屏蔽结构设计,即将所布的线上下左右用地线隔离,而且还要考虑好如何有效的让屏蔽地与实际地平面有效结合。④走线方向控制规则相邻层的走线方向成正交结构,避免将不同的信号线在相邻层走成同一方向,以减少不必要的层间窜扰;当由于板结构限制(如某些背板)难以避免出现该情况,特别是信号速率较高时,应考虑用地平面隔离各布线层,用地信号线隔离各信号线。⑤电源与地线层的完整性规则对于导通孔密集的区域,要注意避免孔在电源和地层的挖空区域相互连接,形成对平面层的分割,从而破坏平面层的完整性,并进而导致信号线在地层 的回路面积增大数字电子钟的PCB通过PCB软件,做出数字电子钟的PCB图,如图4-3.图4-3 数字电子钟的PCB图USB提供例程在uVision4环境下编译,如果是其他版本uVision,只需将所有.c和.h 文拷贝至新建项目,重新编译即可。当编译生成.hex文件后,就可以下载并进行调试了。USBUSBPL2303_Prolific_DriverInstaller_v130.exeUSBUSB机和其他硬件]-[设备管理器],在“端口”分支下有(ProlificUSB-to-SerialCommPort(COMX)XUSBCOM图4-3成功安装USB转串口驱动示意图下载程序打开STC单片机下载软件文件夹,点击运行STC_ISP_V481.exe程序,出现如下界面。MCUMCUSTC89C52COM(与刚才安装的COM,最高波特率和最低波特率选择高速,如果不成功则尝试降低拨特率,并打开正确的.hex数据文件。点击“Download/下载”按纽,窗口出现提示:Chinese:正在尝试与MCU/Chinese:正在尝试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025公路施工劳务承包合同
- 2025企业管理资料员工诉企业“乘人之危”签订修改劳动合同怎么办文档范本
- 2025合同模板合作办幼儿园合同范本
- 2025国际销售代表合同
- 胎儿保护科学指导下的孕妇药物选择
- 结合现代科技的自然体验课程设计探讨
- 2024年拉米夫定项目资金需求报告代可行性研究报告
- 2024年O型圈项目投资申请报告代可行性研究报告
- 生态农业科技发展现状与前景展望
- 二零二五年度新能源发电项目电气设备安装调试合同4篇
- 2024-2025学年山东省潍坊市高一上册1月期末考试数学检测试题(附解析)
- 江苏省扬州市蒋王小学2023~2024年五年级上学期英语期末试卷(含答案无听力原文无音频)
- 数学-湖南省新高考教学教研联盟(长郡二十校联盟)2024-2025学年2025届高三上学期第一次预热演练试题和答案
- 决胜中层:中层管理者的九项修炼-记录
- 幼儿园人民币启蒙教育方案
- 军事理论(2024年版)学习通超星期末考试答案章节答案2024年
- 记录片21世纪禁爱指南
- 腰椎间盘的诊断证明书
- 移动商务内容运营(吴洪贵)任务七 裂变传播
- 单级倒立摆系统建模与控制器设计
- 龋病的治疗 深龋的治疗
评论
0/150
提交评论