當前位置:首頁 » 網站資訊 » 單片機設計有哪些免費的網站
擴展閱讀
紅色警戒2網路卡設置 2024-04-23 20:10:00
移動網路電視看天氣預報 2024-04-23 20:03:34
蘋果能看本子的免費軟體 2024-04-23 20:00:13

單片機設計有哪些免費的網站

發布時間: 2023-02-05 06:39:09

Ⅰ 單片機視頻教程哪裡可以免費看

「凡億課堂」這是一個學習電子設計視頻教程網站,裡面也有很多單片機視頻,希望能幫到您 你也可以網路下。

Ⅱ 請問哪個網站有單片機畢業設計和畢業論文如題 謝謝了

單片機畢業設計可以去優秀畢業設計網的單片機欄目看看, 裡面有很多優秀的單片機畢業論文,包含任務書、開題報告、中期檢查表、畢業論文說明書、圖紙、電路圖、程序,內容很詳細也很專業,應該可以幫到你的。 .。。

Ⅲ 單片機類的畢業設計或者課程設計,哪個網站的資料可以去參考或者學習的呢,大家推薦一下呢

51黑電子論壇畢設狗(這是賣單片機畢設的),CDSN論壇,電子發燒友論壇,學生畢業作品網站 (各種畢設),還有很多,其實你拿著你的畢設或者課設題目在網路搜一下就能找到很多的已經完成的。

Ⅳ 有什麼比較好的方便的單片機學習網站

IC/PDF查詢 http://www.21icsearch.com
電子元器件查詢 http://www.chinadz.com/
IC/PDF查詢 http://www.ic37.com/
器件手冊 http://www.datasheet5.com/

電子技術文章資源下載類
今日電子 http://www.epc.com.cn
中國電子資源網:http://www.ec66.com
中國電子進修網 http://www.studydz.com
電子設計技術網: http://www.ednchina.com
21IC http://www.21IC.COM
電子工程專輯: http://www.eetchina.com
國際電子商情: http://www.esmchina.com
北極星電子技術網http://www.bjx.com.cn
大蝦電子網 http://www.daxia.com/
ET電子技術網 http://www.et-dz.com
老古開發網 http://www.laogu.com
我愛研發網 http://www.52rd.com/
變頻技術應用 http://www.chinabianpin.com/
網易電器 http://co.163.com/index_dq.htm
中國IT技術門戶 http://develop.csai.cn/
無線電 http://www.radio.com.cn/
電子愛好者 http://www.etuni.com/
PCB信息網 http://web.pcbinfo.net/
中國PCB技術網 http://www.pcbtech.net/

電子論壇
電子論壇 http://www.ecbbs.com/
21IC社區 http://bbs.21ic.com
綜合電子論壇 http://www.avrw.com/bbs/
電子產品世界論壇 http://forum.eepw.com.cn
中電網技術論壇 http://bbs.eccn.com/
中國電子進修論壇:http://bbs.studydz.com
光電論壇 http://www.oecr.com/bbs/
大蝦電子論壇 http://www.daxia.com/bibis/
電子工程世界論壇 http://bbs.eeworld.com.cn
國際電子技術論壇 http://bbs.elec.cc/
偉納單片機論壇 http://www.willar.com/forum.asp
中國PCB論壇 http://www.pcbbbs.com/index.htm
家電論壇 http://www.jd-bbs.com
廣播論壇 http://bbs.leowood.net
EDA專業論壇 http://www.edacn.net/bbs/
研發BBS http://www.52rd.com/bbs/


電子工程博客
中國電子工程博客 http://www.mcublog.com/blog
21IC博客 http://blog.21ic.com
工控博客 http://blog.gkong.com/
電源網博客 http://www.dianyuan.com/blog/
EDA博客 http://www.ednchina.com/blog
中國電子網博客 http://blog.electron.cn
電子人博客 http://www.dianziren.com
中國子設計網博客 http://www.cediy.com
中電網博客 http://blog.eccn.com/
進修博客 http://www.studydz.com/html/blog.html
工控博客 http://blog.gkong.com

電路圖
電子電路圖網: http://www.cndzz.com
電路圖 http://circuit.eeworld.com.cn/

單片機類
單片機平凡網 http://www.mcustudio.com
單片機 http://www.8951.com/
AVR單片機 http://www.avrvi.com/
周立功單片機 http://www.zlgmcu.com/home.asp
晶控電子 http://www.hificat.com/
PIC學習網: http://www.pic16.com

嵌入式技術網 http://www.icembed.com/
DSP專業資訊網 http://dsp.blueidea.com/

Ⅳ 哪位高手可以指點給小可一個學習51單片機的網站啊

單片機學習站:http://www.c51.cn/Article/index.html
51單片機學習資料區:http://www.c51.cn/Article/mcuwljc/Index.html
各類單片機編程模擬軟體:http://www.c51.cn/soft/ShowClass.asp?ClassID=43

Ⅵ 請問比較好的單片機論壇是哪個

電子工程師之家,裡面還有好多程序的,我剛開始學單片機就一直在裡面,而且全是高手的。。。

Ⅶ 想突擊單片機課程 推薦幾個學習單片機的鏈接或者學習網站

如果是學匯編語言的話,可以在網上搜索《小甲魚匯編》視屏!

Ⅷ 用C語言編寫單片機的程序有什麼好的學習這類東西的網站推薦幾個

我以前倒是做過,不過程序還有點問題,調時間的時候容易過界,但正常走時候就正常了。開發環境用的IAR,單片機用f149,顯示用的1602的四線模式。
你自己看著改程序吧,其實我也是51上移植過去的。

悲劇了,帖不下了.我帖在我博客里了啊,自己去找吧.
主程序
__________________________分隔線____________________________________

#include <msp430x14x.h>
#include "ds1302.h"
#include "LCD1602x4_mps.h"

#define DS1302_SECOND 0x81 //時鍾晶元的寄存器位置,存放時間
#define DS1302_MINUTE 0x83
#define DS1302_HOUR 0x85
#define DS1302_WEEK 0x8b
#define DS1302_DAY 0x87
#define DS1302_MONTH 0x89
#define DS1302_YEAR 0x8d

unsigned char DateString[11],TimeString[9],week_value[2],TempBuffer[7]; //
char hide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year;
char done,count,temp,flag,up_flag,down_flag;
//unsigned int temp_value=0,temp_max=0;temp_min=0; //溫度值

void DateToStr(void) //將時間年,月,日,星期數據轉換成液晶顯示字元串,放到數組里DateString[]
{ unsigned char Year,Month,Day,Week;
Year=rtc_getyear();
Month=rtc_getmon();
Day=rtc_getdate();
Week=rtc_getday();

if(hide_year<2) //這里的if,else語句都是判斷位閃爍,<2顯示數據,>2就不顯示,輸出字元串為 2007/07/22
{
DateString[0] = '2';
DateString[1] = '0';
DateString[2] = Year/10 + '0';
DateString[3] = Year%10 + '0';
}
else
{
DateString[0] = ' ';
DateString[1] = ' ';
DateString[2] = ' ';
DateString[3] = ' ';
}
DateString[4] = '/';
if(hide_month<2)
{
DateString[5] = Month/10 + '0';
DateString[6] = Month%10 + '0';
}
else
{
DateString[5] = ' ';
DateString[6] = ' ';
}
DateString[7] = '/';
if(hide_day<2)
{
DateString[8] = Day/10 + '0';
DateString[9] = Day%10 + '0';
}
else
{
DateString[8] = ' ';
DateString[9] = ' ';
}
if(hide_week<2)
{
week_value[0] = Week%10 + '0'; //星期的數據另外放到 week_value[]數組里,跟年,月,日的分開存放,因為等一下要在最後顯示
}
else
{
week_value[0] = ' ';
}
week_value[1] = '\0';

DateString[10] = '\0'; //字元串末尾加 '\0' ,判斷結束字元
}

void TimeToStr(void) //將時,分,秒數據轉換成液晶顯示字元放到數組 TimeString[];
{ unsigned char Hour,Minute,Second;
Hour=rtc_gethour();
Minute=rtc_getmin();
Second=rtc_getsec();
if(hide_hour<2)
{
TimeString[0] = Hour/10 + '0';
TimeString[1] = Hour%10 + '0';
}
else
{
TimeString[0] = ' ';
TimeString[1] = ' ';
}
TimeString[2] = ':';
if(hide_min<2)
{
TimeString[3] = Minute/10 + '0';
TimeString[4] = Minute%10 + '0';
}
else
{
TimeString[3] = ' ';
TimeString[4] = ' ';
}
TimeString[5] = ':';
if(hide_sec<2)
{
TimeString[6] = Second/10 + '0';
TimeString[7] = Second%10 + '0';
}
else
{
TimeString[6] = ' ';
TimeString[7] = ' ';
}
DateString[8] = '\0';
}

void show_time() //液晶顯示程序
{
TimeToStr(); //時間數據轉換液晶字元
DateToStr(); //日期數據轉換液晶字元
// ReadTemp(); //開啟溫度採集程序
// temp_to_str(); //溫度數據轉換成液晶字元
LCD_PutStr(TempBuffer,25); //顯示溫度
LCD_PutStr(DateString,0); //顯示日期
LCD_PutStr(week_value,15); //顯示星期
LCD_PutStr(" Week",10); //在液晶上顯示 字母 week
LCD_PutStr(TimeString,16); //顯示時間
}
////////////////////////////////////////////////////////////////////////////

void outkey() //跳出調整模式,返回默認顯示
{ unsigned char Second;
if (!(P1IN&BIT0))
{
count=0;
hide_sec=0,hide_min=0,hide_hour=0,hide_day=0,hide_week=0,hide_month=0,hide_year=0;
Second=dataread(DS1302_SECOND);
datawrite(0x8e,0x00); //寫入允許
datawrite(0x80,Second&0x7f);
datawrite(0x8E,0x80); //禁止寫入
done=0;//temp_max=0;sund=1;
while(!(P1IN&BIT0));
delay_nms(2);
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
void Upkey()//升序按鍵
{
if(!(P1IN&BIT1))
{
switch(count)
{case 1:
temp=dataread(DS1302_SECOND); //讀取秒數
temp=temp+1; //秒數加1
up_flag=1; //數據調整後更新標志
if((temp&0x7f)>0x59) //超過59秒,清零
temp=0;
break;
case 2:
temp=dataread(DS1302_MINUTE); //讀取分數
temp=temp+1; //分數加1
up_flag=1;
if(temp>0x59) //超過59分,清零
temp=0;
break;
case 3:
temp=dataread(DS1302_HOUR); //讀取小時數
temp=temp+1; //小時數加1
up_flag=1;
if(temp>0x23) //超過23小時,清零
temp=0;
break;
case 4:
temp=dataread(DS1302_WEEK); //讀取星期數
temp=temp+1; //星期數加1
up_flag=1;
if(temp>0x7)
temp=1;
break;
case 5:
temp=dataread(DS1302_DAY); //讀取日數
temp=temp+1; //日數加1
up_flag=1;
if(temp>0x31)
temp=1;
break;
case 6:
temp=dataread(DS1302_MONTH); //讀取月數
temp=temp+1; //月數加1
up_flag=1;
if(temp>0x12)
temp=1;
break;
case 7:
temp=dataread(DS1302_YEAR); //讀取年數
temp=temp+1; //年數加1
up_flag=1;
if(temp>0x99)
temp=0;
break;
default:break;
}

while(!(P1IN&BIT1));
delay_nms(2);
}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
void Downkey()//降序按鍵
{
if(!(P1IN&BIT2))
{
switch(count)
{case 1:
temp=dataread(DS1302_SECOND); //讀取秒數
temp=temp-1; //秒數減1
down_flag=1; //數據調整後更新標志
if((temp&0x7f)>0x59) //小於0秒,返回59秒
temp=0x59;
break;
case 2:
temp=dataread(DS1302_MINUTE); //讀取分數
temp=temp-1; //分數減1
down_flag=1;
if(temp>0x59)
temp=0x59; //小於0秒,返回59秒
break;
case 3:
temp=dataread(DS1302_HOUR); //讀取小時數
temp=temp-1; //小時數減1
down_flag=1;
if(temp==0x00)
temp=0x23;
break;
case 4:
temp=dataread(DS1302_WEEK); //讀取星期數
temp=temp-1; //星期數減1
down_flag=1;
if(temp==0x00)
temp=0x07;
break;
case 5:
temp=dataread(DS1302_DAY); //讀取日數
temp=temp-1; //日數減1
down_flag=1;
if(temp==0x00)
temp=0x31;
break;
case 6:
temp=dataread(DS1302_MONTH); //讀取月數
temp=temp-1; //月數減1
down_flag=1;
if(temp==0x00)
temp=0x12;
break;
case 7:
temp=dataread(DS1302_YEAR); //讀取年數
temp=temp-1; //年數減1
down_flag=1;
if(temp>0x99)
temp=0x99;
break;
default:break;
}

while(!(P1IN&BIT2));
delay_nms(2);
}
}

void Setkey()//模式選擇按鍵
{
if(!(P1IN&BIT3))
{
count=count+1; //Setkey按一次,count就加1
done=1; //進入調整模式
while(!(P1IN&BIT3));
delay_nms(2);
}

}

void keydone()//按鍵功能執行
{ unsigned char Second;
if(flag==0) //關閉時鍾,停止計時
{ datawrite(0x8e,0x00); //寫入允許
temp=dataread(DS1302_SECOND);
datawrite(0x80,temp|0x80);
datawrite(0x8e,0x80); //禁止寫入
flag=1;
}
Setkey(); //掃描模式切換按鍵
switch(count)
{
case 1:do //count=2,調整秒
{
outkey(); //掃描跳出按鈕
Upkey(); //掃描加按鈕
Downkey(); //掃描減按鈕
if(up_flag==1||down_flag==1) //數據更新,重新寫入新的數據
{
datawrite(0x8e,0x00); //寫入允許
datawrite(0x80,temp|0x80); //寫入新的秒數
datawrite(0x8e,0x80); //禁止寫入
up_flag=0;
down_flag=0;
}

hide_sec++; //位閃計數
if(hide_sec>3)
hide_sec=0;
show_time(); //液晶顯示數據
}while(count==2);break;
case 2:do //count=3,調整分
{
hide_sec=0;
outkey();
Upkey();
Downkey();
if(temp>0x60)
temp=0;
if(up_flag==1||down_flag==1)
{
datawrite(0x8e,0x00); //寫入允許
datawrite(0x82,temp); //寫入新的分數
datawrite(0x8e,0x80); //禁止寫入
up_flag=0;
down_flag=0;
}
hide_min++;
if(hide_min>3)
hide_min=0;
show_time();
}while(count==3);break;
case 3:do //count=4,調整小時
{
hide_min=0;
outkey();
Upkey();
Downkey();
if(up_flag==1||down_flag==1)
{
datawrite(0x8e,0x00); //寫入允許
datawrite(0x84,temp); //寫入新的小時數
datawrite(0x8e,0x80); //禁止寫入
up_flag=0;
down_flag=0;
}
hide_hour++;
if(hide_hour>3)
hide_hour=0;
show_time();
}while(count==4);break;
case 4:do //count=5,調整星期
{
hide_hour=0;
outkey();
Upkey();
Downkey();
if(up_flag==1||down_flag==1)
{
datawrite(0x8e,0x00); //寫入允許
datawrite(0x8a,temp); //寫入新的星期數
datawrite(0x8e,0x80); //禁止寫入
up_flag=0;
down_flag=0;
}
hide_week++;
if(hide_week>3)
hide_week=0;
show_time();
}while(count==5);break;
case 5:do //count=6,調整日
{
hide_week=0;
outkey();
Upkey();
Downkey();
if(up_flag==1||down_flag==1)
{
datawrite(0x8e,0x00); //寫入允許
datawrite(0x86,temp); //寫入新的日數
datawrite(0x8e,0x80); //禁止寫入
up_flag=0;
down_flag=0;
}
hide_day++;
if(hide_day>3)
hide_day=0;
show_time();
}while(count==6);break;
case 6:do //count=7,調整月
{
hide_day=0;
outkey();
Upkey();
Downkey();
if(up_flag==1||down_flag==1)
{
datawrite(0x8e,0x00); //寫入允許
datawrite(0x88,temp); //寫入新的月數
datawrite(0x8e,0x80); //禁止寫入
up_flag=0;
down_flag=0;
}
hide_month++;
if(hide_month>3)
hide_month=0;
show_time();
}while(count==7);break;
case 7:do //count=8,調整年
{
hide_month=0;
outkey();
Upkey();
Downkey();
if(up_flag==1||down_flag==1)
{
datawrite(0x8e,0x00); //寫入允許
datawrite(0x8c,temp); //寫入新的年數
datawrite(0x8e,0x80); //禁止寫入
up_flag=0;
down_flag=0;
}
hide_year++;
if(hide_year>3)
hide_year=0;
show_time();
}while(count==8);break;
case 8: count=0;hide_year=0; //count8, 跳出調整模式,返回默認顯示狀態
Second=dataread(0x80);
datawrite(0x8e,0x00); //寫入允許
datawrite(0x80,Second&0x7f);
datawrite(0x8E,0x80); //禁止寫入
done=0; //temp_max=0;sund=1;
break; //count=7,開啟中斷,標志位置0並退出
default:break;

}

}
////////////////////////////////////////////////////////////////////////////

void rtcinit ()
{
rtc_wp(0);
rtc_stop(0);
rtc_charger(1,1);
}

void sysinit ()
{ WDTCTL = WDTPW + WDTHOLD; //關閉看門狗
P4OUT = 0xff;
P4DIR = 0xff;
P5OUT = 0x0f;
P5DIR = 0xf0;
P6OUT = 0xfc;
P6DIR = 0xfc;
}

void main ()
{ unsigned char temp;
sysinit ();
rtcinit ();
LCD_init(); //液晶初始化
_EINT();
while (1)
{
while(done==1)
keydone(); //進入調整模式
while(done==0)
{
temp=rtc_getsec();
delay_nms(10);
if(temp!=rtc_getsec())
show_time(); //液晶顯示數據
flag=0;
Setkey(); //掃描各功能鍵
}

}

}

Ⅸ 求好的51單片機學習網站

強烈推薦之一: 小剛之家:bes.8u8.com
(這是一個非常不錯的網站,從廉價的編程器,到KILE的漢化版,再到種類齊全的免費學習和應用軟體和資料,可見站長的良苦用心。我的編程器就是在這里買的,非常不錯!)
強烈推薦之二: 單片機愛好者://www.mcufan.com
強烈推薦之三: 單片機學習網:www.mcustudy.com
(以上這兩個有不少學習資料供瀏覽和下載。)
強烈推薦之四: 電子製作實驗室:www.xie-gang.com
(這里有單片機學習的網上教程,連載喲!)
強烈推薦之五: 51單片機://www.mcu51.com
(這可是大名鼎鼎的喲!她的論壇在單片機世界的影響就象HELLOCQ在HAM中的影響一樣。)
強烈推薦之六: 哦,沒有了! :D :D :D
衷心祝願單片機愛好者及學習者們馬到成功!!!(我也是正在學習中的菜鳥喲! ;) )