導航:首頁 > 操作系統 > 51單片機驅動程序

51單片機驅動程序

發布時間:2022-06-17 22:58:55

① Keil C 51單片機怎樣復用驅動程序控制多個

我也在想如何復用同樣介面函數,同時或輪詢驅動同類型外設;比如8個不同IO驅動8個18B20,但只調用同一個驅動函數,而不需要針對這8個不同IO編寫8個同樣讀寫流程處理函數,增加代碼量、浪費FLASH、低效率,因為驅動方式一樣,函數代碼是一樣的,只指向的IO不同;不過好像實現不了,因為所有單片機好像不支持多個IO(非同匯流排)同時改變輸出,只能一個一個驅動;單核單進程模式;可能是自己還未找到正確處理方式。

② 什麼型號的攝像頭可以用51單片機驅動,單片機的驅動程序怎麼編寫的

直接驅動需要設計相應的電路,估計個人搞很困難。買個攝像頭驅動板。
用51單片機連接攝像頭驅動板,攝像頭驅動板驅動攝像頭。
通過程序,實現對某個電路的控制,使其發揮作用應該叫驅動程序,運行驅動程序的平台不包括在「某個電路」里。
比如:寫一個計算1+1等於幾的程序,計算結果只放在單片機里不輸出出來,這個單片機程序是不能叫驅動程序的。
為了輸出,我們可以寫一個顯示程序,讓單片機驅動液晶屏用字元的形式或者好多個LED用點亮個數來表示計算結果。那麼這個顯示程序應該叫做驅動程序。
再比如,我們用電腦時,都會把管理硬體的程序叫驅動程序,比如「USB驅動程序」,「顯卡驅動」之類

③ 你好..問一下51單片機驅動程序C語言,我按他時序圖寫不轉

這是一個步進電機PWM調速時序圖吧?EN使能高電平五微秒後才能置位DIR(猜測是正反控制位);再五微秒後才能控制PUI(猜測是PWM速度控制),控制T3,T4比來實現速度控制;只能說幾個注意的地方:第一,T1,T2兩個時間一定要大於5微秒;第二,PWM調速頻率不能高於模塊最高響應頻率;第三,要用5V單片機,3.3V單片機直接IO驅動肯定是不行。

④ 51單片機驅動1602 程序

你這個接線就不合理 引腳4、5、6是控制端竟然沒接給你個圖參考

再給你一個模擬中的接線圖和程序 你自己試試看

程序:

RS EQU P3.7
RW EQU P3.6
E EQU P3.5
mov p3,#0ffh
MOV P1,#01H ;清除屏幕
ACALL ENABLE
MOV P1,#38H ;8位點陣
ACALL ENABLE
MOV P1,#0FH ;開顯示
ACALL ENABLE
MOV P1,#06H ;移動游標
ACALL ENABLE
MOV P1,#80H ;顯示位置
ACALL ENABLE
l3: mov p1,#01h
acall enable
mov dptr,#table1 ;送第一句話
call write1
call enable
MOV P1,#0C0H ;寫入顯示起始地址(第二行第一個位置)
ACALL ENABLE ;調用寫入命令子程序
call write1
call enable
mov p1,#01h
call delay1
call delay1
call delay1
jmp l3
ENABLE: ;送命令
CLR RS
CLR RW
CLR E
ACALL DELAY
SETB E
RET
write1: ;送字元串
mov r1,#00h
a1:mov a,r1
movc a,@a+dptr
call write2
inc r1
cjne a,#00h,a1 ;以00H做字元串結束標志
ret
write2: ;送單個字元
mov p1,a
setb rs
clr rw
clr e
call delay
setb e
ret
delay: ;延時子程序
mov r7,#255
d1:mov r6,#255
d2:djnz r6,d2
djnz r7,d1
ret
delay1:
mov r7,#255
delay2:mov r6,#255
djnz r6,$
djnz r7,delay2
ret
table1: db 20h,20h,20h,57h,45h,4ch,43h,4fh,4dh,45h,20h,54h,4fh,20h,20h,20h,20h,00h
table2: db 20h,57h,57h,57h,2Eh,4dh,43h,55h,39h,39h,2Eh,43h,4Fh,4Dh,20h,20h,20h,00h
end

⑤ 求51單片機的獨立按鍵驅動程序

廣州華電
#include<reg51.h>
sbit s2=P3^4;
sbit led=P1^0;
void main()
{
while(1) //通過大循環不斷掃描按鍵狀態
{
if(s2==0)
led=0;
else
led=1;
}
}

⑥ 51單片機驅動程序安裝點了沒反應,而且電腦其他東西打不開了,求大神解

系統損壞重新安裝系統可以解決問題:1、首先需要一張GHOST版系統盤2、開機按F2鍵選擇從CD啟動3、選擇進入光碟選項中的進入PE系統4、進入系統後使用PE系統中的一鍵還原工具將光碟中的系統鏡像還原至C盤5、還原結束從新啟動計算機,系統將自動安裝驅動和應用程序,一切安裝就緒計算機會自動重啟並進入系統。6、安裝完成。

⑦ 51單片機驅動程序

51單片機沒有驅動程序。你說的是HEX文件嗎?要有具體電路才行,要不怎麼驅動?

⑧ 51單片機怎麼驅動直流電機c語言

51單片機驅動直流電機程序(用的是l298n晶元):

#include<reg51.h>

#include<math.h>

#define uint unsigned int

#define uchar unsigned char

#define N 100

sbits1=P1^0; //電機驅動口

sbit s2=P1^1; //電機驅動口

sbit s3=P1^2; //電機驅動口

sbit s4=P1^3; //電機驅動口

sbit en1=P1^4; //電機使能端

sbit en2=P1^5; //電機使能端

sbit LSEN=P2^0; //光電對管最左

sbit LSEN1=P2^1; //光電對管左1

sbit LSEN2=P2^2; //光電對管左2

sbit RSEN1=P2^3; //光電對管右1

sbit RSEN2=P2^4; //光電對管右2

sbit RSEN=P2^5; //光電對管最右

uint pwm1=0,pwm2=0,t=0;

void delay(uint xms)

{

uint a;

while(--xms)

{

for(a=123;a>0;a--);

}

}

void motor(uchar speed1,uchar speed2)

{

if(speed1>=-100&&speed1<=100)

{

pwm1=abs(speed1);

if(speed1>0)

{

s1=1;

s2=0;

}

if(speed1==0)

{

s1=1;

s2=1;

}

if(speed1<0)

{

s1=0;

s2=1;

}

}

if(speed2>=-100&&speed2<=100)

{

pwm2=abs(speed2);

if(speed2>0)

{

s3=1;

s4=0;

}

if(speed2==0)

{

s3=1;

s4=1;

}

if(speed2<0)

{

s3=0;

s4=1;

}

}

}

void go_forward(uint speed)

{

s1=1;

s2=0;

s3=1;

s4=0;

pwm1=speed;

pwm2=speed;

}

void go_back(uint speed)

{

s1=0;

s2=1;

s3=0;

s4=1;

pwm1=speed;

pwm2=speed;

}

void stop()

{

s1=1;

s2=1;

s3=1;

s4=1;

pwm1=0;

pwm2=0;

}

void turn_right(uint P1,uint P2) //右轉函數

{

s1=1;

s2=0;

s3=0;

s4=1;

pwm1=P1;

pwm2=P2;

}

void turn_left(uint P1,uint P2) //左轉函數

{

s1=0;

s2=1;

s3=1;

s4=0;

pwm1=P1;

pwm2=P2;

}

void tracking()

{

if((LSEN1==0)&&(LSEN2==0)&&(RSEN1==0)&&(RSEN2==0)) //沒有檢測到

{

go_forward(100);

}

if((LSEN1==1)&&(LSEN2==0)&&(RSEN1==0)&&(RSEN2==0)) //左一檢測到

{

turn_left(40,80); //左轉 右輪 》左輪

delay(N);

}

if((LSEN1==0)&&(LSEN2==1)&&(RSEN1==0)&&(RSEN2==0)) //左二檢測到

{

turn_left(40,60); //左轉 右輪 》左輪

delay(N);

}

if((LSEN1==0)&&(LSEN2==0)&&(RSEN1==1)&&(RSEN2==0)) //右一檢測到

{

turn_right(60,4); //右轉 左輪 》右輪

delay(N);

}

if((LSEN1==0)&&(LSEN2==0)&&(RSEN1==0)&&(RSEN2==1)) //右二檢測到

{

turn_right(80,40); //右轉 左輪 》右輪

delay(N);

}

if((LSEN1==1)&&(LSEN2==1))

{

turn_left(0,100);

delay(1000);

}

if((RSEN1==1)&&(RSEN2==1))

{

turn_right(100,0);

delay(1000);

}

}

void avoidance()

{

}

void init()

{

TMOD=0x02; //timer0 同時配置為模式2, 8自動重裝計數模式

TH0=156; //定時器初值設置100us中斷

TL0=156;

ET0=1;

EA=1;

TR0=1; //開啟總中斷

}

void main()

{

init();

while(1)

{

tracking();

}

}

void timer0() interrupt 1 //電機驅動 提供PWM信號

{

if(t<pwm1)

en1=1;

else

en1=0;

if(t<pwm2)

en2=1;

else

en2=0;

t++;

if(t>100)

t=0;

}

(8)51單片機驅動程序擴展閱讀

L298N 是一種雙H橋電機驅動晶元,其中每個H橋可以提供2A的電流,功率部分的供電電壓范圍是2.5-48v,邏輯部分5v供電,接受5vTTL電平。一般情況下,功率部分的電壓應大於6V否則晶元可能不能正常工作。

⑨ win10怎麼安裝51單片機驅動

如果驅動支持系統,安裝是狠簡單的事啊。

⑩ stc51單片機彩屏驅動程序怎麼寫希望具體點,謝謝

武漢 谷鑫科技基於STC單片機彩屏驅動程序實例部分展示,篇幅有限
AUXR = 0x8e;//////////////////////////////////注意增加該語句。
#include <reg51.h>
#include <absacc.h>
#define X_ADDR XBYTE[0x0000]
#define Y_ADDR XBYTE[0x0100]
#define CMD XBYTE[0x0200]
#define DAT XBYTE[0x0300]
unsigned char code zk[32] = {//請
0x00, 0x47, 0x20, 0x23, 0x00, 0xEF, 0x20, 0x23, //left
0x22, 0x23, 0x22, 0x23, 0x2A, 0x32, 0x22, 0x02,
0x48, 0xFC, 0x40, 0xF8, 0x40, 0xFE, 0x08, 0xFC, //right
0x08, 0xF8, 0x08, 0xF8, 0x08, 0x08, 0x28, 0x10};
unsigned char code picture[];
main()
{
unsigned int x,y,x2,y2;
unsigned int i;
unsigned char key,x1,y1,j,k,z,m,n,bright;
AUXR = 0x02;//////////////////////////////////注意增加該語句。
bright = 8;

key = 1;//////////////////////////////////////選擇液晶屏型號
//0:TFT2432;
//1:TFT3224;
//2:TFT480234
//3:TFT480272
//4:TFT6448
//5:TFT8048
//6:TFT8060
//7:TFT8060

if(P13==1)
{
if(key==0){x2=240;y2=320;x1=6; y1=16; goto loop1;}//x1/32,y1/20
if(key==1){x2=320;y2=240;x1=8; y1=12; goto loop1;}
if(key==2){x2=480;y2=240;x1=12;y1=12; goto loop1;}
if(key==3){x2=480;y2=272;x1=12;y1=14; goto loop1;}
if(key==4){x2=640;y2=480;x1=16;y1=24; goto loop1;}
if(key==5){x2=800;y2=480;x1=20;y1=24; goto loop1;}
if(key==6){x2=800;y2=600;x1=20;y1=30; goto loop1;}
if(key==7){x2=800;y2=600;x1=20;y1=30; goto loop1;}//亮度測試
}

loop1:
bright--;if(bright==255)bright=7;
CMD = 0x06;
DAT = bright;

///////////////////////以下是清屏功能///////////////////////////////////////
//用紅色清屏
CMD = 0x04;DAT = 0xe0;//背景色
CMD = 0x08;//啟動填充操作
for(y=0;y<260*12;y++);//延時16.6毫秒
CMD = 0x00;//退出填充操作
///////////////////////以上是清屏功能///////////////////////////////////////

while(key==1)
{
for(bright=7;bright!=255;bright--)
{
CMD = 0x06;
DAT = bright;
for(y=0;y<15;y++){x=1;while(x!=0)x++;}
}
CMD = 0x20;//關斷顯示,poweroff
for(y=0;y<15;y++){x=1;while(x!=0)x++;}
key = P1&0x07;
}

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

//用紅色清屏
CMD = 0x04;DAT = 0x1c;//背景色
CMD = 0x08;//啟動填充操作
for(y=0;y<260*12;y++);//延時16.6毫秒
CMD = 0x00;//退出填充操作

閱讀全文

與51單片機驅動程序相關的資料

熱點內容
程序員禿頭圖片 瀏覽:920
思科路由器命令手冊 瀏覽:26
android獲得當前activity 瀏覽:831
python入門迷宮 瀏覽:70
Python打折代碼不含商品 瀏覽:220
把多個Word合成一個pdf 瀏覽:356
aes演算法描述 瀏覽:899
新手機壓縮包在哪 瀏覽:781
java抽獎程序源碼 瀏覽:700
汽車壓縮機又叫 瀏覽:95
android讀取data文件 瀏覽:874
紅旗智聯app怎麼跟h5車子連接 瀏覽:139
材料化學pdf 瀏覽:114
伺服器機房都有什麼東西 瀏覽:370
最近長陰短柱量能副圖指標源碼 瀏覽:647
python字元串去除後四位 瀏覽:167
捷速pdf編輯器破解版 瀏覽:726
大帶寬伺服器怎麼租 瀏覽:299
籃球程序員單身難嗎 瀏覽:877
一接到命令就 瀏覽:488