怎么对at89s52at单片机烧录软件进行烧录

请教各位高手,电脑没有并口和串口,怎样把程序写入到AT89S52单片机中?
[问题点数:40分,结帖人flying0302]
本版专家分:0
结帖率 100%
CSDN今日推荐
本版专家分:25
本版专家分:25
本版专家分:25
本版专家分:0
本版专家分:0
本版专家分:0
本版专家分:2929
本版专家分:0
本版专家分:16063
2013年11月 硬件/嵌入开发大版内专家分月排行榜第一
2014年7月 硬件/嵌入开发大版内专家分月排行榜第二
2013年10月 硬件/嵌入开发大版内专家分月排行榜第三2013年6月 硬件/嵌入开发大版内专家分月排行榜第三2013年3月 硬件/嵌入开发大版内专家分月排行榜第三
本版专家分:605
本版专家分:0
本版专家分:2773
匿名用户不能发表回复!|
其他相关推荐怎样用at89s52将单片机内程序烧写出来
我这里有AT89S52的芯片,我想将内部程序复制出来。哪位高手有办法请指教!初学者在这里拜谢了!
09-09-20 &匿名提问
使用芯片:AT89S52,DS12887时钟芯片,实践通过,运行稳定。自己根据程序连接引脚。 #include&reg52.h& #include&absacc.h& #define uchar unsigned char #define uint unsigned int #define LCDCOM XBYTE[0xcffc] //LCD写命令寄存器地址 #define LCDDATA XBYTE[0xcffd] //LCD写数据寄存器地址 #define LCDSTATUS XBYTE[0xcffe] //LCD读状态寄存器地址 #define DSA XBYTE[0x8f0a] //实时时钟寄存器A #define DSB XBYTE[0x8f0b] //实时时钟寄存器B #define DSC XBYTE[0x8f0c] //实时时钟寄存器C #define DSD XBYTE[0x8f0d] //实时时钟寄存器D #define SECOND XBYTE[0x8f05] //实时时钟分报警 sbit bflag=ACC^7; uchar idata dt[7]={06,7,11,17,05,0,2}; //时间初值 uchar at[7]={9,8,7,4,2,0,6}; //年,月,日,时,分,秒,星期时标寄存器地址 uchar xdata *addr=0x8f00; //实时时钟片选地址 //函数的声明部分 //void delay1(uint x); void lcd_busy(); void lcd_cmd(uchar lcd_cmd); void lcd_data(uchar lcd_data); void lcd_moveto(uchar position); void init(void); //void delay( unsigned int number ); void init_ds(void); //实时时钟初始化 void WDS(void); //写时标函数 void RDS(void); //读时标函数 uchar ymd[10]={2,0,0,0,0,0,0,0,0,0}; //年月日 uchar hms[8]={0,0,0,0,0,0,0,0}; //时分秒 uchar weekday[3]; uchar code dis_buf[12]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2e,0x3a}; /*void delay1(uint x) //延时1ms程序 {
while(x--) { for(j=0;j&125;j++) {;} } } void delay( unsigned int number ) {
while(u&number) { for(i=0;i&=125;i++); u++; } } */ void init_ds(void) //实时时钟初始化 { DSA=0x2f; //选时钟32.768kHz;中断周期500ms ACC=DSC; //清中断请求标志 ACC=DSD; //VRT=1;数据有效 DSB=0x7e; //中断允许,时标值为二进制码,24小时制,芯片工作,方波输出允许 } void WDS(void) //写时标函数 {
DSB=0x8e; //置SET位为1 DSB=0x8e; for(i=0;i&7;i++) { *(addr+at[i])=dt[i]; //置时标初值 } } void RDS(void) {
do { ACC=DSA; } while(bflag==1); for(i=0;i&7;i++) { dt[i]=*(addr+at[i]); } } void lcd_busy() //检测lcd忙程序 { do { ACC=LCDSTATUS; } while(bflag==1); //当他忙的时候就不停的检测,直到空闲为止 } void lcd_cmd(uchar lcd_cmd) //写命令函数 { LCDCOM=lcd_ lcd_busy(); } void lcd_data(uchar lcd_data) //写数据函数 { LCDDATA=lcd_ lcd_busy(); } void lcd_moveto(uchar position) //确定显示位置 {
//为显示位置对应的地址 if (position&16) temp=(position+0x80-1); //为在第一行 else temp=((position-16)+0xc0); //为第二行 lcd_cmd(temp); } void init(void) //lcd初始化 { lcd_cmd(0x30); //置功能:1行,5*7字符 lcd_busy(); lcd_cmd(0x30); //置功能:1行,5*7字符 lcd_busy(); lcd_cmd(0x30); //置功能:1行,5*7字符 lcd_busy(); lcd_cmd(0x38); //置功能:2行,5*7字符 lcd_busy(); lcd_cmd(0x06); //置输入模式:地址增量,显示屏不移动 lcd_busy(); lcd_cmd(0x0c); //置显示开,不显示光标,光标不闪烁 lcd_busy(); lcd_cmd(0x01); //清显示 lcd_busy(); } void shizhong(void) //时钟的每一位取出来 { ymd[2]=dt[0]/10; ymd[3]=dt[0]%10; ymd[4]=10; ymd[5]=dt[1]/10; ymd[6]=dt[1]%10; ymd[7]=10; ymd[8]=dt[2]/10; ymd[9]=dt[2]%10; hms[0]=dt[3]/10; hms[1]=dt[3]%10; hms[2]=11; hms[3]=dt[4]/10; hms[4]=dt[4]%10; hms[5]=11; hms[6]=dt[5]/10; hms[7]=dt[5]%10; switch(dt[6]) { case 1:weekday[0]='m';weekday[1]='o';weekday[2]='n'; case 2:weekday[0]='t';weekday[1]='u';weekday[2]='e'; case 3:weekday[0]='w';weekday[1]='e';weekday[0]='n'; case 4:weekday[0]='t';weekday[1]='h';weekday[2]='u'; case 5:weekday[0]='f';weekday[1]='r';weekday[2]='i'; case 6:weekday[0]='s';weekday[1]='a';weekday[0]='t'; case 7:weekday[0]='s';weekday[1]='u';weekday[0]='n'; } } void main(void) {
WDS(); init_ds(); init(); while(1) { RDS(); shizhong(); lcd_moveto(3); for(i=0;i&10;i++) { lcd_data(dis_buf[ymd[i]]); } lcd_moveto(17); for(i=0;i&8;i++) { lcd_data(dis_buf[hms[i]]); } lcd_data(0x20); for(i=0;i&3;i++) { lcd_data(weekday[i]); } } }再给一个:用内部的定时器做数字钟,通过数码管显示出来。#include &regx52.h& #define uchar unsigned char#define uint unsigned intuchar dispcode[]={ 0x3f,0x06,0x5b,0x4f,
          0x66,0x6d,0x7d,0x07,
          0x7f,0x6f,0x77,0x7c,
          0x39,0x5e,0x79,0x71,0x00}; //定义0到F的段选码uchar dispbitcode[]={0xfe,0xfd,0xfb,0xf7,
          0xef,0xdf,0xbf,0x7f};      //8位数码管的位选码  uchar dispbuf[8]={ 0,0,16,0,0,16,0,0};       //定义一个缓冲区
uchar i,j;
void main(void) {
TMOD=0x02;         //定时器0工作方式2 TH0=0x06;         //每250us中断一次 TL0=0x06;
TR0=1;          //启动定时器0 ET0=1;          //定时器0中断允许 EA=1;           //CPU开中断
    if(P0_0==0)
   { for(i=5;i&0;i--)
    for(j=248;j&0;j--);  //延时检查是否是P0_0被按下     if(P0_0==0)      //如果被按下      {
      second++;    //秒就加1  
      if (second==60)
       {
        second=0;
       }
     dispbuf[0] =second%10;  //存放秒的个位      dispbuf[1] =second/10;  //存放秒的十位       while (P0_0==0);   //等待P0_0变高      }    }    if(P0_1==0)
    { for(i=5;i&0;i--)
     for(j=248;j&0;j--);
      if(P0_1==0)
      {
       minite++;
        if (minite==60)
        {
        minite=0;
        }
    dispbuf[3] =minite%10;
    dispbuf[4] =minite/10;
      while (P0_1==0);
     }   }   if(P0_2==0)
   {
    for(i=5;i&0;i--)
    for(j=248;j&0;j--);
    if(P0_2==0)
     {
      hour++;
      if(hour==24)
       {
        hour=0;
       }
    dispbuf[6] =hour%10;
    dispbuf[7] =hour/10;
      while (P0_2==0);
     } } }  }void t0 (void) interrupt 1 using 0        //定时器0中断服务程序{
  P1=dispcode[dispbuf[dispbitcnt]];     //为位选码   P3=dispbitcode[dispbitcnt];         //为段选码   dispbitcnt++;             if(dispbitcnt==8)
   {
    dispbitcnt=0;
   }
  tcnt++;
if(tcnt==4000)               //此时有一秒钟了(us)  {
  tcnt=0;
  second++;
  if(second==60)
   {
    second=0;
    minite++;
    if(minite==60)
     {
      minite=0;
      hour++;
      if(hour==24)
       {
        hour=0;
       }
 }    }   dispbuf[0]=second%10;
  dispbuf[1]=second/10;
  dispbuf[3]=minite%10;
  dispbuf[4]=minite/10;
  dispbuf[6]=hour%10;
  dispbuf[7]=hour/10;
 } }参考资料:我自己
请登录后再发表评论!两个at89s52单片机进行通信如何连接?
本回答由提问者推荐
var sogou_ad_id=731547;
var sogou_ad_height=160;
var sogou_ad_width=690;求助STC89c52和AT89S52哪个烧录程序方便?【单片机吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:150,402贴子:
求助STC89c52和AT89S52哪个烧录程序方便?收藏
求助STC89c52和AT89S52哪个烧录程序方便?怎么烧录
最好详细点
超低功耗,256KB-512KB闪存,可扩展存储器,备有开发板
s方便c要很麻烦要编程器
看错stc的方便时串口s的是isp下载
个人觉得STC够方便了,另外一个没用过
个人感觉stc很好用,基本不用怎么配置下载软件,有了串口直接下载。at的下载软件配置比较麻烦,看过同学用at,各种问题,木有成功。
stc用串口即可,at的s需要一个ISP下载器
STC可以用串口下载,只需要一个max232做电平转换,at的需要一个下载器,这就提高了成本
我感觉isp还更方便一些
我感觉isp还更方便一些
登录百度帐号怎样用STC的单片机给AT89S52里烧写程序
全部答案(共1个回答)
并口的,对于你这种情况,我建议你用STC的单片机做开发用,等到程序调好了,再找一台有并口的电脑下载程序
用专用烧写器或者ISP下载线,但是ISP是需要电脑并口的,对于你这种情况,我建议你用STC的单片机做开发用,等到程序调好了,再找一台有并口的电脑下载程序
这是一种聪明的解决办法,对于一些不提供基准输入引脚,只能以电源电压为基准的CPU。该方法消除了电源电压带来的误差。
具体是在多路AD的某一路连接一个高精度电压基...
找个数据线重新下载单片机程序吧,估计程序不对。
把程序烧进去之后,把程序下载线取下,
然后给单片机上电,程序就会运行了
如果没什么反应,那可能是因为程序不对,
也可能是没有烧进去
程序烧进去的话,单片机应该会...
答: 怎样用MATLAB程序实现小波变换?
答: 算法是程序设计的一部分,一般都是要先设计算法,再进行编程,调试、运行的
答: 网络标识就是用IP的二进制与子网掩码的二进制数据作与运算(可用WINDOWS计算器算二进制),所得结果,而不是IP地址前几段相同就表示在同一网段
每家运营商的DNS都不同,而且各省的也不同。你可以问问你的网络提供商,他们会告诉你的。(也可以通过分别访问域名和IP来检查DNS是否正常,访问域名不行,而访问IP可以,则说明DNS设置不对)
另外,如果ADSL-电脑没问题,一般ADSL-路由器也没问题的。而且采用ADSL拨号的话,DNS可以不设置的,拨号成功后会自动取得DNS服务器。
问题可能出在路由器设置上。进去检查一下吧。看看上网方式,上网用户名密码是否正确。
(有个问题要注意一下,有些地方的运营商会限制使用路由器或者限制接入数量,一般是采取绑定网卡MAC地址的方式,如果路由器设置都正常,试试路由器的MAC地址克隆功能,把电脑网卡的MAC复制过去)
嫌麻烦就把你洗衣机的型号或断皮带,拿到维修点去买1个,自己装上就可以了(要有个小扳手把螺丝放松,装上皮带,拉紧再紧固螺丝)。
如果是下拉的,只有党员而没有预备党员一项,可填党员,但如果是填写的,你就老老实实填预备党员,填成党员对你没什么好处,填预备党员也不会有什么吃亏。
有可能搓纸轮需要清洗一下了,如果清洗了还是不行的话,那估计需要更换搓纸组件了
考虑是由于天气比较干燥和身体上火导致的,建议不要吃香辣和煎炸的食物,多喝水,多吃点水果,不能吃牛肉和海鱼。可以服用(穿心莲片,维生素b2和b6)。也可以服用一些中药,如清热解毒的。
确实没有偿还能力的,应当与贷款机构进行协商,宽展还款期间或者分期归还; 如果贷款机构起诉到法院胜诉之后,在履行期未履行法院判决,会申请法院强制执行; 法院在受理强制执行时,会依法查询贷款人名下的房产、车辆、证券和存款;贷款人名下没有可供执行的财产而又拒绝履行法院的生效判决,则有逾期还款等负面信息记录在个人的信用报告中并被限制高消费及出入境,甚至有可能会被司法拘留。
第一步:教育引导
不同年龄阶段的孩子“吮指癖”的原因不尽相同,但于力认为,如果没有什么异常的症状,应该以教育引导为首要方式,并注意经常帮孩子洗手,以防细菌入侵引起胃肠道感染。
第二步:转移注意力
比起严厉指责、打骂,转移注意力是一种明智的做法。比如,多让孩子进行动手游戏,让他双手都不得闲,或者用其他的玩具吸引他,还可以多带孩子出去游玩,让他在五彩缤纷的世界里获得知识,增长见识,逐渐忘记原来的坏习惯。对于小婴儿,还可以做个小布手套,或者用纱布缠住手指,直接防止他吃手。但是,不主张给孩子手指上“涂味”,比如黄连水、辣椒水等,以免影响孩子的胃口,黄连有清热解毒的功效,吃多了还可导致腹泻、呕吐。
合肥政务区网络广告推广网络推广哪家公司比较好 一套能在互联网上跑业务的系统,被网络营销专家赞为目前最 有效的网络推广方式!
1、搜索引擎营销:分两种SEO和PPC,即搜索引擎优化,是通过对网站结构、高质量的网站主题内容、丰富而有价值的相关性外部链接进行优化而使网站为用户及搜索引擎更加友好,以获得在搜索引擎上的优势排名为网站引入流量。
良工拥有十多位资深制冷维修工程师,十二年生产与制造经验,技术力量雄厚,配有先进的测试仪器,建有系列低温测试设备,备有充足的零部件,包括大量品牌的压缩机,冷凝器,蒸发器,水泵,膨胀阀等备品库,能为客户提供迅捷,优质的工业冷水机及模温机维修和保养。
楼主,龙德教育就挺好的,你可以去试试,我们家孩子一直在龙德教育补习的,我觉得还不错。
成人可以学爵士舞。不过对柔软度的拒绝比较大。  不论跳什么舞,如果要跳得美,身体的柔软度必须要好,否则无法充分发挥出理应的线条美感,爵士舞也不值得注意。在展开暖身的弯曲动作必须注意,不适合在身体肌肉未几乎和暖前用弹振形式来做弯曲,否则更容易弄巧反拙,骨折肌肉。用静态方式弯曲较安全,不过也较必须耐性。柔软度的锻炼动作之幅度更不该超过疼痛的地步,肌肉有向上的感觉即可,动作(角度)保持的时间可由10馀秒至30-40秒平均,时间愈长对肌肉及关节附近的联结的组织之负荷也愈高。
正在加载...
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415

我要回帖

更多关于 单片机程序烧录 的文章

 

随机推荐