强奸久久久久久久|草草浮力在线影院|手机成人无码av|亚洲精品狼友视频|国产国模精品一区|久久成人中文字幕|超碰在线视屏免费|玖玖欧洲一区二区|欧美精品无码一区|日韩无遮一区二区

首頁 > 資訊 > 知識 > 單片機(jī)程序,單片機(jī)編程

單片機(jī)程序,單片機(jī)編程

來源:整理 時間:2023-08-15 17:50:31 編輯:智能門戶 手機(jī)版

本文目錄一覽

1,單片機(jī)編程

1MOV A,R3ADD A,R7DA AMOV R5,AMOV A,R2ADDC A,R6DA AMOV R4,AMOV A,#00HADDC A,#00HMOV R0,A2MOV A,R3DA AMOV R5,AMOV A,#00HADDC A,#00HMOV R4,A

單片機(jī)編程

2,單片機(jī)產(chǎn)生正弦波的程序

DB是個偽指令,功能:從指定的地址單元開始,定義若干個8位的內(nèi)存單元的內(nèi)容。如你給出的例子,若指定地址為2000H,用DB連續(xù)定義了8個單元的內(nèi)容,(2000H)=80H~(2007H)=96H,用查表法寫程序,會通過指針@A+PC來讀取列表的內(nèi)容。如果你需要轉(zhuǎn)換的數(shù)有6個,出來的結(jié)果當(dāng)然有六個。
數(shù)不是算出來的,是正弦采樣點(diǎn),一共有256個點(diǎn)。通過DA轉(zhuǎn)換輸出信號的。用示波器看,就是正弦信號,其實(shí)是一種曲線階梯型的信號而已。一行6個,只是一種寫法,你可以寫成10個,8個,隨便你,但是總數(shù)不要變就行。有空你可以看看《信號轉(zhuǎn)換技術(shù)》
單片機(jī) 外接ad轉(zhuǎn)換芯片 再加運(yùn)放 通過一定的控制程序就可產(chǎn)生正弦波。實(shí)現(xiàn)方法: 1、通過單片機(jī)da來實(shí)現(xiàn),需要通過查表法; 2、通過pwm方式實(shí)現(xiàn); 不過都需要加硬件濾波電路來實(shí)現(xiàn)正弦波的平滑。
為什么說一行六個呀?
最簡單的拿個excel,利用函數(shù)就可以算出來。再轉(zhuǎn)成你要的16進(jìn)制。

單片機(jī)產(chǎn)生正弦波的程序

3,單片機(jī)定時程序的編寫

COUNT EQU 5;定時200us*5=1ms ;********************************* ORG 0000H LJMP MAIN ORG 000BH LJMP _T0 MAIN: MOV SP,#50H MOV TH0,#38H MOV TL0,#38H MOV TMOD,#00000010B SETB TR0 SETB EA SETB ET0 LOOP: MOV P1,#0FFH ;輸出1 LOOP1: MOV A,R2 CJNE A,#0,LOOP1 ;判斷到1ms否 MOV P1,#0FEH ;到1ms輸出0,否則繼續(xù)檢測 MOV R2,#COUNT ;重置計數(shù) LOOP2: MOV A,R2 CJNE A,#0,LOOP2 ;判斷到1ms否 MOV R2,#COUNT SJMP LOOP ;到1ms循環(huán) ;********************************** _T0: DEC R2 RETI END ;KEIL2調(diào)試通過

單片機(jī)定時程序的編寫

4,單片機(jī)的程序怎么編寫

#include //調(diào)出頭文件,必須寫 unsigned cont=0; //初始化程序void main(void) //主程序{ WDTCTL = WDT_ADLY_250; //基本時鐘驅(qū)動看門狗定時器(WDT)250ms中斷 IE1 |= WDTIE; //使能 WDT 中斷 FLL_CTL0 |= XCAP14PF; // 設(shè)置時鐘電容 P1DIR |= 0xe0; // 設(shè)置P1.5, P1.6,P1.7為輸出端口 _EINT(); // 使能單片機(jī)中斷,初始化結(jié)束 for (;;) //主循環(huán)程序 { _BIS_SR(LPM3_bits); // 進(jìn)入低功耗模式3(LPM3) _NOP(); // 空操作,為開發(fā)軟件設(shè)斷點(diǎn)用 }} interrupt[WDT_VECTOR] void watchdog_timer(void) //WDT中斷入口{cont=cont+1; if(cont==20) {P1DIR=0x80;} if(cont==40) {P1DIR=0x40;} if(cont==60) {P1DIR=0x20;} if(cont==61) {cont=1;} _NOP(); // 空操作,為開發(fā)軟件設(shè)斷點(diǎn)用}
一步一步來先搞懂程序的意思就好辦勒
用WAVE或keil寫。單片機(jī)的資料網(wǎng)上大把,可以參考一下,很容易的。
你可以先把0放到一個單元里面,比如說100h,然后mov r0,100hinc 100hmov r1,100hinc 100h繼續(xù)寫下去就可以了。

5,單片機(jī)的紅綠燈控制程序如何寫啊

//--------------------------------------------------//名稱:LED模擬交通燈//作者:彭偉《單片機(jī)C語言程序設(shè)計實(shí)訓(xùn)100例-基于8051+PROTEUS仿真》//--------------------------------------------------//說明:東西向綠燈亮若干秒后,黃燈閃爍,閃爍5次后亮紅燈// 紅燈亮后,南北向由紅燈變?yōu)榫G燈,若干秒后南北向黃燈閃爍// 閃爍5次后亮紅燈,東西向綠燈亮,如此重復(fù)//---------------------------------------------------#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit RED_A=P0^0;//東西向指示燈sbit YELLOW_A=P0^1;sbit GREEN_A=P0^2;sbit RED_B=P0^3;//南北向指示燈sbit YELLOW_B=P0^4;sbit GREEN_B=P0^5;uchar Flash_count=0;Operation_type=1;//閃爍次數(shù)及操作類型變量//-----------------------------------------------------//延時//----------------------------------------------------void DelayMS(uint x) uchar i; while(x--)for(i=0;i<120;i++)}//---------------------------------------------------//交通燈切換子程序//---------------------------------------------------void Traffic_light() switch(Operation_type) case 1://東西向綠燈南北向紅燈亮 RED_A=1;YELLOW_A=1;GREEN_A=0; RED_B=0;YELLOW_B=1;GREEN_B=1; DelayMS(2000); Operation_type=2; break; case 2://東西向黃燈閃爍,綠燈關(guān)閉 DelayMS(300); GREEN_A=1; YELLOW_A=~YELLOW_A; //閃爍5次 if (++Flash_count!=10) return; Flash_count=0; Operation_type=3; break; case 3://南北向綠燈東西向紅燈亮 RED_A=0;YELLOW_A=1;GREEN_A=1; RED_B=1;YELLOW_B=1;GREEN_B=0; DelayMS(2000); Operation_type=4; break; case 4://南北向黃燈閃爍,綠燈關(guān)閉 DelayMS(300); GREEN_B=1; YELLOW_B=~YELLOW_B; //閃爍5次 if (++Flash_count!=10) return; Flash_count=0; Operation_type=1; }}void main() while(1) Traffic_light();}
#include #define uchar unsigned char #define red 2500 //紅燈時間25s #define yel 500 //黃燈 #define gre 1000 //綠燈 sbit red=p^0; sbit yel=p^1; sbit gre=p^2; uchar count=0; uchar flag=0; void timer0() interrupt 1 using 1 //10ms中斷~晶振為11.0592mhz { th0=0xdb; tl0=0xff; count++; } void main() { tmod=0x01; th0=0xdb; tl0=0xff; ea=1; et0=1; tr0=1; red=1; yel=0; gre=0; while(1) { switch(flag) { case 0:if(count==red) {red=0;flag++;}//到25s滅紅燈~ else red=1;break;//否則點(diǎn)亮紅燈~下同~ case 1:if(count==yel) {yel=0;flag++;} else yel=1;break; case 2:if(count==gre) {gre=0;flag=0;} else gre=1; } } }

6,單片機(jī)串口通信步進(jìn)電機(jī)控制程序流程

一樓的說的有道理啊,還是得靠自己的給你個類似的你參考一下吧!我也不會的實(shí)驗(yàn)實(shí)現(xiàn)的功能主要是:用PC上的一個軟件通過串口通訊控制單片機(jī)I/O口的輸出。本次實(shí)驗(yàn)主要涉及PC端上位機(jī)的程序編寫(用VC)與單片機(jī)程序的編寫(用Keil)。為了簡化實(shí)驗(yàn),PC端軟件設(shè)計成具有8個按鈕的對話框,每個按鈕分別控制單片機(jī)P2口的一個引腳的高低電平。為了體現(xiàn)直觀的結(jié)果,P2口上接上8個發(fā)光二極管。 PC與單片機(jī)的通訊協(xié)議如下:采用4800波特率,無校驗(yàn)位,8個數(shù)據(jù)位,1個停止位,一次傳輸一個控制字節(jié)。一、上位機(jī)軟件的編寫 本來控制單片機(jī)只需單向傳輸數(shù)據(jù)即可,為了熟悉PC端接受數(shù)據(jù)的功能,在應(yīng)用軟件將控制數(shù)據(jù)傳輸?shù)絾纹瑱C(jī)端后,單片機(jī)端回傳數(shù)據(jù)給應(yīng)用軟件,并用16進(jìn)制格式顯示在編輯控件中。 VC實(shí)現(xiàn)對串口的控制主要有兩種方式:mscomm控件與api函數(shù)。由于mscomm控件實(shí)現(xiàn)簡單,本實(shí)驗(yàn)采用該方式。1. 在VC中創(chuàng)建一個基于對話框的應(yīng)用程序,在該程序中插入Mscomm控件。修改對話框資源,增加Mscomm及8個按鈕控件與一個編輯框。并為Mscomm控件增加一個控件變量m-com。2. 在對話框的OnInitDialog()函數(shù)中初始化串口,代碼如下:if(m_com.GetPortOpen()) m_com.SetPortOpen(FALSE);m_com.SetCommPort(1);//選擇com1if(!m_com.GetPortOpen()) m_com.SetPortOpen(TRUE);//打開串口else MessageBox("無法打開串口!");m_com.SetSettings("4800,n,8,1");//波特率4800,無校驗(yàn),8個數(shù)據(jù)位,1個停止位m_com.SetInputMode(1); //1:表示以二進(jìn)制方式檢取數(shù)據(jù)m_com.SetRThreshold(1);//參數(shù)1表示每當(dāng)串口接收緩沖區(qū)中有多于 //或等于1個字符時將引發(fā)一個接收數(shù)據(jù)的OnComm事件m_com.SetInputLen(0); //設(shè)置當(dāng)前接收區(qū)數(shù)據(jù)長度為0m_com.GetInput();//先預(yù)讀緩沖區(qū)以清除殘留數(shù)據(jù)3.為每個按鈕添加命令函數(shù)。下面為其中一個函數(shù)的代碼,其他與此類似。void CComDlg::OnP20() // TODO: Add your control notification handler code hereOutput.Format("%c",0x01);m_com.SetOutput(COleVariant(Output));}4.接受數(shù)據(jù)時采用Mscomm控件的響應(yīng)函數(shù)進(jìn)行對事件的捕捉。處理代碼如下:void CComDlg::OnComm() // TODO: Add your control notification handler code hereVARIANT Input;CString temp;long k,len;COleSafeArray OleArray;BYTE rxdata[10];if (2==m_com.GetCommEvent()) Input=m_com.GetInput(); OleArray=Input; len=OleArray.GetOneDimSize(); for (k=0;k<len;k++) OleArray.GetElement(&k,rxdata+k); BYTE bt=*(char *)(rxdata+k); temp.Format("%02X ",bt); m_recv+=temp; } }UpdateData(FALSE);}二、單片機(jī)程序的編寫。單片機(jī)程序編寫相對容易,只需進(jìn)行初始話串口,接受數(shù)據(jù),發(fā)送數(shù)據(jù)等工作即可。代碼如下:#i nclude <reg51.h>unsigned char inbuf;unsigned char flag;//初始化函數(shù)void init_serialcomm(void) SCON = 0x50; //SCON: serail mode 1, 8-bit UART, enable ucvr,0101000b TMOD |= 0x20; //TMOD: timer 1, mode 2, 8-bit reload,0010000b PCON |= 0x80; //SMOD=1;10000000b TH1 = 0xF4; //Baud:4800 fosc=11.0592MHz IE |= 0x90; //Enable Serial Interrupt TR1 = 1; // timer 1 run inbuf=0; P2=0; // TI=1; }//向串口發(fā)送一個字符 void send_char_com(unsigned char ch) SBUF=ch; while(TI==0); TI=0;}//串口接收中斷函數(shù)void serial () interrupt 4 using 3 if(RI) RI = 0; inbuf=SBUF; } flag=1;}main() init_serialcomm(); //初始化串口 while(1) if(flag) P2=inbuf; send_char_com(inbuf); flag=0; } }}
網(wǎng)上能找到的我估計人家還是能COPY給你的,呵呵
假設(shè)p0口低4位接步進(jìn)電機(jī)正轉(zhuǎn)p0=8delayms(1)p0= 4 delayms(1)p0=2delayms(1)p0= 1delayms(1)反轉(zhuǎn)的話輸出 1 2 4 8即可
我相信,你的這幾個問題在這里沒人能幫你解決!原因是問題不夠簡單,不直接,想幫你的人不能直接在這里給你馬上做出回答。還有一個學(xué)習(xí)是要自己摸索的,不能夠全部要別人來代勞,若碰到有不懂的點(diǎn),可以在這里提問,相信很多人會為你解答,但像要別人寫流程,寫代碼之類的,是不可能了!
文章TAG:單片機(jī)程序編程單片機(jī)程序

最近更新

  • 內(nèi)蒙古軟通動力大數(shù)據(jù),軟通動力數(shù)據(jù)標(biāo)注怎么樣內(nèi)蒙古軟通動力大數(shù)據(jù),軟通動力數(shù)據(jù)標(biāo)注怎么樣

    軟通動力的培訓(xùn)怎么樣?中國更換電腦好嗎軟通動力?中國替代計算機(jī)的好處是軟通動力。所以國內(nèi)更換電腦對軟通動力有一定的促進(jìn)和積極作用,在Xi安軟通-2/技術(shù)服務(wù)公司就業(yè)發(fā)展前景如何?軟通.....

    知識 日期:2023-08-15

  • 學(xué)生機(jī)器人乒乓球,歐姆龍乒乓球機(jī)器人學(xué)生機(jī)器人乒乓球,歐姆龍乒乓球機(jī)器人

    Google乒乓球-1/的發(fā)明可以玩340次,乒乓球serve機(jī)器人principle乒乓球serve機(jī)是集電子、機(jī)械、計算機(jī)技術(shù)于一體的綜合性技術(shù)機(jī)器。這個機(jī)器人在工業(yè)上會有哪些應(yīng)用...乒乓球機(jī)器人可以.....

    知識 日期:2023-08-15

  • windows phone mango 數(shù)據(jù)庫windows phone mango 數(shù)據(jù)庫

    windowsphone7.5(mango800c是電信版。windowsphone手機(jī)是微軟重新設(shè)計的新系統(tǒng),可以說與windowsmoble不同,雖然windowsphone手機(jī)原本搭載的是WP7系統(tǒng)。1、WINDOWSPHONE7,7.5,7.8和8有什.....

    知識 日期:2023-08-15

  • 微信指紋數(shù)據(jù),微信服務(wù)指紋密碼怎么設(shè)置微信指紋數(shù)據(jù),微信服務(wù)指紋密碼怎么設(shè)置

    微信行指紋付微信用指紋付。微信如何將付款改為指紋?如何設(shè)置vivox9微信-1/密碼1?建議打開微信“我的”錢包,點(diǎn)擊“……”支付管理打開指紋支付輸入-0右上角,在驗(yàn)證識別區(qū)域之前,在手機(jī)中輸.....

    知識 日期:2023-08-15

  • c 數(shù)據(jù)類型 _packed,java的數(shù)據(jù)類型有哪些c 數(shù)據(jù)類型 _packed,java的數(shù)據(jù)類型有哪些

    數(shù)組類型和結(jié)構(gòu)類型統(tǒng)稱為聚合類型。C語言中的Basic類型和enumeration類型統(tǒng)稱為算術(shù)類型(arithmetictype),floatsarenumbersthathavedemalpointsandcanberedined科學(xué)記數(shù)法,(浮點(diǎn)數(shù)是可.....

    知識 日期:2023-08-15

  • 智園 智能機(jī)器人,下載智伴智能機(jī)器人app智園 智能機(jī)器人,下載智伴智能機(jī)器人app

    說明:金萱智能是一家專業(yè)從事智能家用和智能物流設(shè)備的R

    知識 日期:2023-08-15

  • 小帥機(jī)器人和好帥機(jī)器人,榮事達(dá)機(jī)器人好帥小帥小帥機(jī)器人和好帥機(jī)器人,榮事達(dá)機(jī)器人好帥小帥

    海爾小帥機(jī)器人哪里可以買到?小帥機(jī)器人,是一款全智能機(jī)器人,是科學(xué)家專門為兒童開發(fā)的。1.機(jī)器人是模仿人類動作的機(jī)器,海爾小帥機(jī)器人,系統(tǒng)功能是什么?程控機(jī)器人:按照預(yù)先要求的順序和條.....

    知識 日期:2023-08-15

  • 三開開關(guān)怎么接線,三開開關(guān)怎么接三開開關(guān)怎么接線,三開開關(guān)怎么接

    三開開關(guān)怎么接2,請問那個大神知道三開怎么接線啊謝謝詳細(xì)點(diǎn)3,這個三開單控請問怎么接線4,三開開關(guān)如何接線三開開關(guān)怎么接線圖示5,三控開關(guān)怎么接6,三開三控開關(guān)怎么接線1,三開開關(guān)怎么接公.....

    知識 日期:2023-08-15