㈠ 單片機的程序怎麼寫啊
1、首先打開編程軟體Keil uVision4,新建一個工程文件,在菜單欄中Project—— New uVision Project..。
㈡ 單片機初學者,求助匯編程序練習。
START:MOV A, #00H //欲傳送的數據開始
MOV R0,#30H //欲傳送的地址入口
MOV R7,#10H //R7存放數據個數10個
MOV A,@R0 //數據開始傳送到指定地址
INC R0 //地址加1
INC A //數據加1
DJNZ R7,START//是否傳送完0F個數據,否則轉到start,是則順序執行,進行下一步傳送
again1: MOV R0,#30H //數據存放處
MOV R1,#40H //欲傳送的地址入口
MOV R7,#10H //數據個數
MOV @R0,A //取數據
MOV A,@R1 //數據開始傳送到指定地址
INC R1 //地址加1
INC R0 //數據地址加1
DJNZ R7,again1//是否傳送完0F個數據,否則轉到again1,是則順序執行,進行下一步傳送
again2: MOV R0,#40H //數據存放處
MOV DPTR,#4800H //欲傳送的地址入口
MOV R7,#10H //數據個數
MOV @R0,A //取數據
MOV A,@DPTR //數據開始傳送到指定地址
INC DTPR //地址加1
INC R0 //數據地址加1
DJNZ R7,again1//是否傳送完0F個數據,否則轉到again2,是則順序執行,進行下一步傳送
again3: MOV DPTR,#40H //數據存放處
MOV DPTR,#4800H //欲傳送的地址入口
MOV R7,#10H //數據個數
MOV @R0,A //取數據
MOV A,@DPTR //數據開始傳送到指定地址
INC DTPR //地址加1
INC R0 //數據地址加1
DJNZ R7,again3//是否傳送完0F個數據,否則轉到again3,是則順序執行,進行下一步傳送
again4:......
......
......
不想寫了 反正這就是大概的過程
無非就是取數據,取欲傳送的地址,然後存數據,然後地址加1,繼續傳送。直到10H個數據傳完。
要學會直接定址,間接定址的用法就OK
㈢ 求一個c51單片機的程序
很簡單,柄24個led接P0,P2,P3,三個口,佔24個io口,上面5個花狀因為同一圓圈led同時亮
可以並在一起,佔8個io口,剛好32個io口。
我們從下到上將led定義為1~24號,擴散從中心往外定義為25~32號led。
1~32號lde,分別接到P0,P2,P3,P1的P0_0~P0_7號腳,P2_0~P2_7號腳,P3_0~P3_7號腳,P1_0~P1_7號腳
下面給出程序:
#include<reg52.h>
unsignedinti=0;
unsignedcharcodedis1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//正向
unsignedcharcodedis2[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//反向
voiddelay()//;//單個led延時
{unsignedintj,k;
for(j=0;j<400;j++)
for(k=0;k<20;k++);
}
voidmain()
{
while(1)
{
i=0;
for(i=0;i<7;i++)//最底8個逐個顯示
{P0=dis1[i];delay();}//單個延時
P0=255;//關閉
for(i=0;i<7;i++)//上移8個
{P2=dis1[i];delay();}
P2=255;
for(i=0;i<7;i++)//再上移8個
{P3=dis1[i];delay();}
P3=255;
for(i=0;i<7;i++)//中心向外擴散
{P1=dis1[i];//上面5組8個向外擴散
P3=dis2[i];//下面柄自中心向下擴散
delay();
}
P1=P3=255;//關閉
}
}
如果圖片看不清,點擊「查看大圖」,然後保存到你的電腦上,再查看更大的圖。
㈣ 單片機實驗 編寫程序
單片機實驗,其實這就是典型的流水燈電路,P1口接8個流水燈,每個燈點亮1秒。用定時器T1定時50ms,中斷20次就為1秒,可用_crol_()移位函數實現。模擬效果如下圖所示。
㈤ 單片機程序編寫
程序如下:
;
TO_BIN:
MOV A, 32H
SWAP A
ANL A, #0FH ;得到十位數字
……
RET
本程序已經通過了試驗驗證,保證正確。
但是,樓主採納了一個錯誤的程序。
其中的:ADD R4,就是錯誤的指令。
㈥ 求一個單片機的c程序
我不知道你是P幾口,就當你是P1口吧
#include<reg52.h>
inta=2000
voidmain()
{
while(1)
{
P1=0x7e;
while(a--);//防止太短暫,你看不到。
a=2000;
P1=0xbd;
while(a--);
a=2000;
P1=0xdb;
while(a--);
a=2000;
P1=0xe7;
while(a--);
a=2000;
P1=0xdb;
while(a--);
a=2000;
P1=0xbd;
while(a--);
a=2000;
P1=0x7e;
}
}
自己沒試,有錯在找我
希望採納
㈦ 誰有 單片機原理及應用(第3版),求教材百度網盤啊!急急急!
我這里有您想要的資源,通過網路網盤免費分享給您:
https://pan..com/s/1L_cDMFwD2mEXC4fZEcyLHw
全書共10章,內容包括:緒論、MCS-51單片機的結構與原理、指令系統及程序設計、內部資源及應用、系統擴展技術、輸入/輸出通道設計、交互通道配置與設計、應用系統設計,以及單片機調試/模擬常用軟體Keil C51與Proteus的使用方法介紹,最後一章為課程設計與創新實驗題目。每章都配有習題,並免費提供包括電子課件、典型例題的動畫與Proteus模擬,以及習題參考答案在內的教學資源包。