发新帖我要提问
123
返回列表
打印

单片机学习板

[复制链接]
楼主: soso
手机看帖
扫描二维码
随时随地手机跟帖
41
soso|  楼主 | 2008-5-14 11:13 | 只看该作者 回帖奖励 |倒序浏览

呵呵

 STM32学习

好久都没来这了,最近在做STM单片机,我们现在推出STM32学习板,价格便宜,功能强大,如果搞开发的朋友需要STM32方面的芯片可以联系我们,价格从优,并提供技术支持.
    我认为学习单片机入门还是通过51来学习,尽量选个资料齐全的,能有人即使辅导,那样基础能学好.学其他的就容易了.

使用特权

评论回复
42
wxj1952| | 2008-5-14 19:05 | 只看该作者

网站不通了?地震原因?

想购2套。留下个信箱,行吗?cmy19831@126.com

使用特权

评论回复
43
wrainp| | 2008-5-14 19:47 | 只看该作者

ding~~

使用特权

评论回复
44
soso|  楼主 | 2008-5-15 20:59 | 只看该作者

好啊

请问需要哪种?
本人邮箱在下:xingweijun123@126.com

使用特权

评论回复
45
qca2369| | 2008-5-23 09:52 | 只看该作者

在这里做广告是不太合适,不过有几个例程看还是不错的!

在这里做广告是不太合适,不过有几个例程看还是不错的!

使用特权

评论回复
46
soso|  楼主 | 2008-5-24 11:42 | 只看该作者

呵呵

楼上的朋友说的也对,但是如果有朋友需要,我认为提供也无妨,大家有什么问题 也可以在这交流,共同进步,还有我们提供STM32学习板,推出时间不是很久,价格很低,仅成本价格,目的是想把这种单片机推广,有 感兴趣的朋友,可以到我们网站上看看,提供技术支持。

使用特权

评论回复
47
razu_521| | 2008-5-24 12:15 | 只看该作者

谢谢楼主啦!

哈哈,谢谢你啦,好东西太多啦!这样我又学到不少的东西啦!哈哈

使用特权

评论回复
48
soso|  楼主 | 2008-6-4 12:06 | 只看该作者

播放音乐:两只老虎

/************************************************************************************
*  Copyright (c) 2008,重庆优易特电子
*            All rights reserved.

* 摘 要:   播放音乐:两只老虎

* 文件名称: main.c
* CPU芯片:  STC89C51RC
* 学习板型: Easy51-B 
*  
* 当前版本: 2.0
* 作 者:     cache
* 完成日期: 2008年1月23日
*
*************************************************************************************/
            #include <reg52.h>
            #include <intrins.h>

            #define  FREQ 11059200
        
            unsigned char code music_tab[]={    //两只老虎,高4位为音乐节拍,低4位为音符
            0x31,0x32,0x33,0x31,0x31,0x32,0x33,0x31,0x33,0x34,0x45,0x33,0x34,0x45,
            0x25,0x16,0x25,0x14,0x33,0x31,0x25,0x16,0x25,0x14,0x33,0x31,
            0x31,0x35,0x41,0x31,0x35,0x41,
            0
            };
            unsigned char code music_l_tab[8]={0,1,2,3,4,6,8,16};//节拍延时单位       
            unsigned char code music_freq_tab[16]={           
                0xff,0xea,                                      //0 休止符
                255-FREQ/24/1049/256,        //1 do 高字节 //255-FREQ/24/x/256
                255-FREQ/24/1049%256,        //1 do 低字节 //256-FREQ/24/x%256
                255-FREQ/24/1178/256,256-FREQ/24/1178%256,        //2 re
                255-FREQ/24/1322/256,256-FREQ/24/1322%256,        //3 mi
                255-FREQ/24/1400/256,256-FREQ/24/1400%256,        //4 fa
                255-FREQ/24/1572/256,256-FREQ/24/1572%256,        //5 suo
                255-FREQ/24/1665/256,256-FREQ/24/1665%256,        //6 la
                255-FREQ/24/1869/256,256-FREQ/24/1869%256,        //7 xi               
            };

            unsigned char temp_TH1;
            unsigned char temp_TL1;

            sbit PIN_MSC=P1^4;                   //  音乐输出端口  //
            
            void music_delay(unsigned char x);   //音乐节拍延时
            void music_play(unsigned char *msc); //播放音乐子程序
            
            //---------------------------------------------------------------------------//
            void music_int_t1 (void) interrupt 3 using 1    //定时中断1//
                {
                PIN_MSC=~PIN_MSC;
                TH1=temp_TH1;
                TL1=temp_TL1;
            }
            //---------------------------------------------------------------------------//
            void music_delay(unsigned char n)     //延时 125*n 毫秒
                {
                unsigned char i=125,j;
                do {
                    do {
                        for (j=0; j<230; j++) _nop_(); 
                    }while(--i);
                }while(--n);
            }
            //---------------------------------------------------------------------------//
            void music_play(unsigned char *msc)   //音乐
                {
                unsigned char music_long;         //节拍
                unsigned char music_data=0;       //音符数据
                temp_TH1=0xff;
                temp_TL1=0xea;                    //关输出(输出超声波)   
                TH1=temp_TH1;
                TL1=temp_TL1;
                TR1=1;                            //开T1定时器中断
                
            //---------------------------------------------------------
                while (*msc != 0x00)
                    {
                    music_data=*msc & 0x07;
                    music_long=*msc>>4;
                    //---------------------------------------------------------
                    if (music_long != 0)          //是音符
                        {
                           temp_TH1=music_freq_tab[music_data*2];                        
                           temp_TL1=music_freq_tab[music_data*2+1];
                        music_delay(music_l_tab[music_long&0x07]); 
                         }          
                    msc++;
                }
                TR1=0;                           //播放结束
                PIN_MSC=1;                       //关输出
            }
            //---------------------------------------------------------------------------//
            void main(void)                      //示例
            {
                TMOD   =  0x11;         // TMOD: 定时器1:模式1:16位;定时器2:模式1:16位   
                   TR1=0;
                ET1=1;
                EA=1;
                while(1)
                {                  
                  music_delay(10);    //延时
                  music_play(music_tab);//播放音乐
                }
            }
            //---------------------------------------------------------------------------// 

使用特权

评论回复
49
xwj| | 2008-6-4 12:52 | 只看该作者

MD,抄我的程序,还去掉了全部相关信息

却连注释都没改过...

使用特权

评论回复
50
xwj| | 2008-6-4 12:59 | 只看该作者

我以前的程序,大家自己看!



LZ太不道德了!!!


相关链接:https://bbs.21ic.com/club/bbs/showEssence.asp?id=3450&page=3

使用特权

评论回复
51
computer00| | 2008-6-4 13:17 | 只看该作者

嘿嘿,正常现象拉~~~

使用特权

评论回复
52
PowerAnts| | 2008-6-4 13:19 | 只看该作者

呵呵

被逮住了

使用特权

评论回复
53
dld2| | 2008-6-4 13:29 | 只看该作者

行卫军?XWJ?

使用特权

评论回复
54
soso|  楼主 | 2008-6-18 20:28 | 只看该作者

呵呵

48楼的朋友,你好,你说我抄你的程序,呵呵,是吗?当然,那个程序并非是我写的,我承认,刚开始的时候是借鉴别人的。反正程序只要功能能实现就OK,还有就是程序要写的好,别人才会借鉴,垃圾程序你也不屑一顾吧!我们刚开始学习的时候许多东西都是借鉴别人的,然后再自己做,对吧?当然现在还是用51板做一个警笛声,只要查出频率范围,应该就可以做出来了吧?下面是我做的一个!发表发表意见!Thank you!

使用特权

评论回复
55
soso|  楼主 | 2008-6-18 20:32 | 只看该作者

51实现 警笛声程序

/************************************************************************************
*  Copyright (c) 2007,重庆优易特电子
*            All rights reserved.
*
* 文件名称: main.c
* 文件标识: none
* 适用器件: STC89C51RC

* 摘 要:    报警声

* 当前版本:1.0
* 作 者:行卫军
* 完成日期:2007年12月10日
*
*************************************************************************************/
#include<reg51.h>
#define uchar unsigned char 
sbit voice=P1^4;//P2^7;

unsigned char jing_count=0;
unsigned char jing_dir=0;
bit flag=0;
unsigned char i;

unsigned char code datl[50]={235, 
240,245,250,255,3,7,11,15,19,23,
27,30,33,37,40,43,46,49,52,55,
58,60,63,65,68,70,73,75,77,79,
81,83,85,87,89,91,93,95,97,98,
100,102,105,106,108,109,110,112,
};

unsigned char code dath[50]={254,
254,254,254,254,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,
};

void time0(void)interrupt 1 
{
 voice=!voice;    
 TH0=dath[jing_count];
 TL0=datl[jing_count];
}

main()
{
 TMOD=0x11;
 TH0=dath[jing_count];
 TL0=datl[jing_count]; 
 TH1=0xee;
 TL1=0x00; 
 ET0=1;
 ET1=1;
 
 TR0=1;
 TR1=1;
 EA=1;

 while(1)
 {          
    if(i>=4)
     { 
      
      i=0;
         
          if(jing_dir==0) 
            {jing_count++;if(jing_count==49)jing_dir=1;}
        else 
            {jing_count--;if(jing_count==0)jing_dir=0;}   
        }  
  }
}

void time1(void)interrupt 3 
 {    
   TH1=0xee;
   TL1=0x00;
   i++;
 }    
     



 

使用特权

评论回复
56
songhengguo| | 2010-9-23 20:50 | 只看该作者
14# sifan1157 外部中断0是P3^2,不是sbit P23=P2^3吧

使用特权

评论回复
57
Andylue| | 2010-9-27 23:07 | 只看该作者
又来个打广告的!

使用特权

评论回复
58
ziyueyoulang| | 2011-7-26 14:04 | 只看该作者
挺好的 帖子

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则