導航:首頁 > 文檔加密 > 手把手教你學單片機pdf

手把手教你學單片機pdf

發布時間:2023-08-28 09:29:29

㈠ 跪求,單片機資料誰有啊,太感謝了!

5、李想老師51單片機視頻教程網路網盤免費資源在線學習

鏈接: https://pan..com/s/1HO8fHKr2nhG9ziRMVcBXnQ

提取碼: unmj

5、李想老師51單片機視頻教程 4、單片機模擬實常式序500歷 3、proteus視頻使用教程 7、實戰型單片機程序 8、單片機學習教案 8、單片機學習教案.zip 7、實戰型單片機程序.rar PROTEUS整體演示.zip proteus 7視頻教程.zip 4、單片機模擬實常式序500歷.rar 天狼星單片機學習教程 霖鋒 從零學習嵌入式 單片機視頻教程 郭天祥 李想—《手把手教你學51單片機與Proteus從入門到精通》.zip 單片機征服你2.rar 單片機征服你1.rar

㈡ 手把手教你學會單片機,宋雪松老師的簡易計算器,怎麼用普中科技單片機實現怎麼接線

/* S16 S12 S8 S4分別是123+

S15 S11 S7 S3分別是456-

S14 S10 S6 S2分別是789*

S13 S9 S5 S1分別是0 CLR = /

*/

/* 實現兩個數的運算,每個數的位數至少可以八位 */

#include<reg52.h>

typedef unsigned char uint8;

typedef unsigned int uint16;

sbit rw=P2^5;

sbit rs=P2^6;

sbit e=P2^7;

sbit led=P3^7;

sbit beep=P2^0;

uint8 key,num;

uint8 fuhao;//定義具體的那個符號,是加減還是乘除。

uint8 flag; //定義有沒有按下符號鍵,這個是統稱

long a,b,c,d; //定義運算數據的第一個和第二個及等於的數變數

uint8 k; //定義小數點後面顯示的位數

uint8 biao;

uint8 dat1[]={1,2,3,0x2b-0x30, 4,5,6,0x2d-0x30, 7,8,9,0x2a-0x30, 0,0x01-0x30,0x3d-0x30,0x2b-0x30 };//保存顯示的數據

void delay(uint16 i)

{

while(i--);

}

void lcdwrc(uint8 c)

{

delay(1000);

rs=0;

rw=0;

e=0;

P0=c;

e=1;

delay(1000);

e=0;

}

void lcdwrd(uint8 dat)

{

delay(1000);

rs=1;

rw=0;

e=0;

P0=dat;

e=1;

delay(1000);

e=0;

rs=0;

}

void lcdinit()

{

delay(1500);

lcdwrc(0x38);

delay(500);

lcdwrc(0x38);

delay(500);

lcdwrc(0x38);

delay(500);

lcdwrc(0x38);

lcdwrc(0x08);

lcdwrc(0x01);

lcdwrc(0x06);

lcdwrc(0x0c);

key=0;

num=0;

flag=0;

fuhao=0;

a=0;

b=0;

c=0;

d=0;

biao=0;

led=0;

}

void keyscan()

{

P1=0xfe; //令第一行為0,然後判斷是哪一列按下

if(P1!=0xfe)

{

delay(1000);

if(P1!=0xfe)

{

key=P1&0xf0;

switch(key)

{

case 0xe0: num=0;break; //1

case 0xd0: num=1;break; //2

case 0xb0: num=2;break; //3

case 0x70: num=3;break; //加

}

}

while(P1!=0xfe);

if(num==0||num==1||num==2) //確認第一行的數1,2,3

{

if(flag==0) //沒有按下符號鍵

{

//led=1;

a=a*10+dat1[num];

}

else

{

//led=1;

b=b*10+dat1[num];

}

}

if(num==3)

{

//led=0;

flag=1;

fuhao=1;//加號+

}

lcdwrd(0x30+dat1[num]);

}

P1=0xfd; //令第二行為0,判斷是哪一列按下

if(P1!=0xfd)

{

delay(1000);

if(P1!=0xfd)

{

key=P1&0xf0;

switch(key)

{

case 0xe0: num=4;break; //4

case 0xd0: num=5;break; //5

case 0xb0: num=6;break; //6

case 0x70: num=7;break; //減—

}

}

while(P1!=0xfd);

if(num==4||num==5||num==6)

{

if(flag==0) //沒有按下符號鍵

{

//led=1;

a=a*10+dat1[num];

}

else

{

//led=1;

b=b*10+dat1[num];

}

}

else

{

flag=1;

fuhao=2;//帶表減號

}

lcdwrd(0x30+dat1[num]);

}

P1=0xfb; //令第三行為0,判斷哪一列按下

if(P1!=0xfb)

{

delay(1000);

if(P1!=0xfb)

{

key=P1&0xf0;

switch(key)

{

case 0xe0: num=8;break; //7

case 0xd0: num=9;break; //8

case 0xb0: num=10;break; //9

case 0x70: num=11;break; //乘*

}

}

while(P1!=0xfb);

if(num==8||num==9||num==10)

{

if(flag==0) //沒有按下符號鍵

{

//led=1;

a=a*10+dat1[num];

}

else

{

//led=1;

b=b*10+dat1[num];

}

}

else

{

flag=1;

fuhao=3;//帶表乘號*

}

lcdwrd(0x30+dat1[num]);

}

P1=0xf7; //令第四行為0,判斷哪一列按下

if(P1!=0xf7)

{

delay(1000);

if(P1!=0xf7)

{

key=P1&0xf0;

switch(key)

{

case 0xe0: num=12;break; //0

case 0xd0: num=13;break; //清除rst

case 0xb0: num=14;break; //等號=

case 0x70: num=15;break; //除/

}

}

while(P1!=0xf7);

switch(num)

{

case 12:

if(flag==0) //沒有按下符號鍵

{

//led=1;

a=a*10+dat1[num];

lcdwrd(0x30);

}

else

{

//led=1;

b=b*10+dat1[num];

lcdwrd(0x30);

}

break;

case 13:

lcdwrc(0x01); //清屏指令

a=0;

b=0;

flag=0;

fuhao=0;

break;

case 15:

flag=1;

fuhao=4;

lcdwrd(0x2f);//除號/

break;

case 14:

if(fuhao==1)//加

{

lcdwrc(0x4f+0x80);

lcdwrc(0x04);//設置游標左移,屏幕不移動

c=a+b;

while(c!=0) //一位一位顯示

{

lcdwrd(0x30+c%10);//顯示結果的最後一位在0x4f的位置

c=c/10;//取前面的結果數據

}

lcdwrd(0x3d); //顯示等於號=

a=0;

b=0;

flag=0;

fuhao=0;//全部清除為0

}

if(fuhao==2) //減

{

lcdwrc(0x4f+0x80);

lcdwrc(0x04);//設置游標左移,屏幕不移動

if(a>b)

c=a-b;

else

c=b-a;

while(c!=0) //一位一位顯示

{

lcdwrd(0x30+c%10);//顯示結果的最後一位在0x4f的位置

c=c/10;//取前面的結果數據

}

if(a<b) lcdwrd(0x2d); //顯示-號

lcdwrd(0x3d); //顯示等於號=

a=0;

b=0;

flag=0;

fuhao=0;//全部清除為0

}

if(fuhao==3)//乘法

{

lcdwrc(0x4f+0x80);

lcdwrc(0x04);//設置游標左移,屏幕不移動

c=a*b;

while(c!=0) //一位一位顯示

{

lcdwrd(0x30+c%10);//顯示結果的最後一位在0x4f的位置

c=c/10;//取前面的結果數據

}

lcdwrd(0x3d); //顯示等於號=

a=0;

b=0;

flag=0;

fuhao=0;//全部清除為0

}

if(fuhao==3)//乘法

{

lcdwrc(0x4f+0x80);

lcdwrc(0x04);//設置游標左移,屏幕不移動

c=a*b;

while(c!=0) //一位一位顯示

{

lcdwrd(0x30+c%10);//顯示結果的最後一位在0x4f的位置

c=c/10;//取前面的結果數據

}

lcdwrd(0x3d); //顯示等於號=

a=0;

b=0;

flag=0;

fuhao=0;//全部清除為0

}

if(fuhao==4)

{

k=0;

lcdwrc(0x4f+0x80);

lcdwrc(0x04);//設置游標左移,屏幕不移動

c=(long)(((float)a/b)*1000);//強制轉換為long。

while(c!=0) //一位一位顯示

{

k++;

lcdwrd(0x30+c%10);//顯示結果的最後一位在0x4f的位置

c=c/10;//取前面的結果數據

if(k==3)

{

lcdwrd(0x2e);

k=0;

}

}

if(a/b<0) //如果a比b小的話那麼除的結果最高位是0

{

lcdwrd(0x30);

}

lcdwrd(0x3d); //顯示等號

a=0;

b=0;

flag=0;

fuhao=0;//全部清除為0

}

break;

}

}

}

void main()

{

lcdinit();

while(1)

{

keyscan();

}

}

㈢ 求51單片機c語言教程 pdf

單片機學習方法:

網上單片機資料很多:
http://www.mcufan.com/scom.htm
http://www.51c51.com/cyuyan.htm
http://www.laogu.com/downtop.aspx
上面去搜搜看單片機的學習資料,都有入門級的
另外書店裡面入門級的書也很多,可以買一本(北航出版的比較好)

1.入門時先了解單片機的構造啊原理啊
2.如果沒有實驗板自己搭建單片機的最小平台是比較難的
網上有個叫proteus的軟體,可以用於單片機的模擬,就是說你編的程序可以在這個軟體里運行,效果挺逼真的,可免費下載.
3.單片機的編程軟體有keil或者wave,推薦前者,可以用c語言編寫也可以匯編語言,c語言比較好學,推薦入門學習c語言,(可以買c和匯編語言都有介紹的單片機的書)
4.然後用keil編寫程序在proteus上跑起來,如果你能點亮經典的單片機流水燈實驗,那你就已經入門了

另:單片機的開發板或者最小系統可以買,電路水平高的話也可以自己搭建起來,51單片機大概6塊左右一片自己搭建最小系統很便宜滴,學單片機一定要多做實驗,不過推薦還是從模擬入門,模擬成功了後面的就有方向了.

㈣ 單片機教程

王雲 51單片機教程,就很好,身邊很多同學在用。

㈤ 《從零開始學單片機技術》pdf下載在線閱讀,求百度網盤雲資源

《從零開始學單片機技術》(劉建清)電子書網盤下載免費在線閱讀

資源鏈接:

鏈接:

提取碼:qw2e

書名:從零開始學單片機技術

作者:劉建清

出版社:國防工業

出版年份:2006-8

頁數:356

內容簡介:

本書以實戰操作為基礎,用最簡單的方法,將初學者領進單片機世界的大門。本書首先介紹了單片機的基礎知識,然後簡要闡述了單片機的指令系統、簡單程序設計、存儲器和I/0介面擴展、中斷、定時器以及串列通信技術,最後對單片機常用介面技術(LED顯示介面、鍵盤介面、LCD液晶介面、SPI匯流排介面和看門狗電路、12C匯流排介面、紅外遙控介面、語音介面、A/D和D/A轉換介面)和單片機的應用系統設計進行了精要介紹。

本書附贈光碟一張,光碟中包含有Keil、MedWin中文版軟體以及書中所有實驗的源程序。書中提供的所有實驗均具有較高的實用性和代表性,且全部通過了實驗板驗證。

本書可供電子技術人員、單片機愛好者、業余電子愛好者閱讀,也可作為相關專業的教學用書或教學參考書使用。

㈥ 自學51單片機的書籍

如下:
《51單片機工程師是怎樣煉成的:基於C語言+Proteus模擬》老楊 電子工業出版社
《單片機C語言程序設計實訓100例——基於8051+Proteus模擬》彭偉 電子工業出版社
《新概念51單片機C語言教程——入門、提高、開發、拓展》 郭天祥 電子工業出版社
《實例解讀51單片機完全學習與應用》 電子工業出版社
《手把手教你學單片機》 北航
《單片機基礎》李廣弟 北航
《單片機原理及介面技術》李朝青 北航
《51單片機應用從零開始》匯編 楊欣 清華出版社
《愛上單片機》 杜洋 人民郵電出版社
《例說51單片機(C語言版)》 張義和 人民郵電出版社
《單片機原理與技術》
《51單片機開發與應用技術詳解》
《單片機技術與原理教材》
《匠人手記》
《手把手教你學單片機》
《8051單片機》
《單片機原理及應用》 張毅剛
《51單片機原理與實踐》
《單片機應用技術》 哈爾濱工業大學出版社
《8051單片機教程》 平凡
《單片機輕松入門》平凡
《單片機原理與應用》 西安電子科技大學

㈦ 如何學習單片機

樓主,
單片機的定義:
就是相當於電腦CPU的簡化版。根據CORE(內核)可分為:
如8051內核稱為51系列單片機;
如arm7內核稱為ARM7系列單片機;
如arm920T.940T/926內核稱為ARM9系列單片機;
因為現在所有8/16/32位(51系列,MSP430系列,ARM系列;
此外還有MSP430和AVR、PLC等
學習方法:
1,你首先要學習C語言基礎,就相當於80%會單片機了,因為現在所有8/16/32位(51系列,MSP430系列,ARM系列)都是使用C語言。
2,先看內核8051的單片機:台灣宏晶的STC89C51-DIP40/或其它如新茂,到網上買一個開發板,價格不會超過200元。
3,看一下單片機功能:包換內部FLASH、RAM、TIMER、INT、ADC、USB、ISP/IAR等。
4,編譯環境、編程軟體KEIL。
5,打開開發板的例子程序,在KEIL編譯,下載到板,看結果和說明是不是相符,達到這樣效果時,你心裡肯定很激動,這時你真正學會了單片機,你成功了!!!!!。
6,單片機C語言舉例:
sbit SPEAK = P1^5; //IO口定義為蜂鳴器控制
如果蜂鳴器正極接電源,SPEAK =0;蜂鳴器就會響,你看就是這么簡單。
unsiggne char temp;//定義TEMP為單位元組變數。
sfr PORTA P1;//將P1口定義為PORTA
7,當你過渡到ARM時,你就要學習LINUX和WINCE這兩個最基本的操作系統運用在單片機上。
8,同樣的理,你也要買ARM2410/2440為代表的開發板,慢慢按照說明書一步一步地操作,練習,不停地做實驗,就學會。
9,當然,你得打一份工作,關於我上所說的,開始工資不要要求太高,等你做完幾個項目後,你真正學會了,才跟老闆或上司提,這樣繼續或或另尋高就才有資本。
10,你也抽點時間看看《郭天祥十天學會單片機和c語言編》一書,鞏固一下理論知識。
總結:多做開發板上的實驗,你要多參與這樣的項目開發,慢慢就會了。

㈧ 單片機初學者該看什麼書

《51單片機工程師是怎樣煉成的:基於C語言+Proteus模擬》老楊 電子工業出版社
《單片機C語言程序設計實訓100例——基於8051+Proteus模擬》彭偉 電子工業出版社
《新概念51單片機C語言教程——入門、提高、開發、拓展》 郭天祥 電子工業出版社
《實例解讀51單片機完全學習與應用》 電子工業出版社
《手把手教你學單片機》 北航
《單片機基礎》李廣弟 北航
《單片機原理及介面技術》李朝青 北航
《51單片機應用從零開始》匯編 楊欣 清華出版社
《愛上單片機》 杜洋 人民郵電出版社
《例說51單片機(C語言版)》 張義和 人民郵電出版社
《單片機原理與技術》
《51單片機開發與應用技術詳解》
《單片機技術與原理教材》
《匠人手記》
《手把手教你學單片機》
《8051單片機》
《單片機原理及應用》 張毅剛
《51單片機原理與實踐》
《單片機應用技術》 哈爾濱工業大學出版社
《8051單片機教程》 平凡
《單片機輕松入門》平凡

閱讀全文

與手把手教你學單片機pdf相關的資料

熱點內容
php怎麼轉換頁面 瀏覽:544
我的世界買了伺服器之後怎麼開服 瀏覽:826
r1234yf汽車空調壓縮機 瀏覽:143
ftp伺服器地址欄 瀏覽:898
linux圖形分區 瀏覽:963
安徽到遼寧源碼 瀏覽:575
libs安卓的文件夾叫什麼 瀏覽:869
生意圈app是什麼意思 瀏覽:395
linuxarcgisserver 瀏覽:234
加密pdf怎麼修改文件 瀏覽:138
紅米刷機無命令怎麼辦 瀏覽:356
啥叫美國谷歌外包程序員 瀏覽:260
雲伺服器管家婆 瀏覽:440
發郵件命令 瀏覽:354
程序員好做嗎工作好嗎 瀏覽:886
雲電腦伺服器維護一個月多少錢 瀏覽:882
有沒有什麼app數學題型較多 瀏覽:341
政策pdf 瀏覽:295
有什麼好玩的文娛app 瀏覽:811
python教學合集 瀏覽:959