導航:首頁 > 操作系統 > 基於stc51單片機的液位檢測

基於stc51單片機的液位檢測

發布時間:2023-02-19 03:35:54

A. 求一個計算機畢業論文題目。

我給你一個題目,如果你寫出來了,我保你論文得優秀。因為當年我就是選這個題目得的優秀。

剛才我在網上搜了一下,網上還是沒有與這個系統相關的論文。

《高考最低錄取分數線查詢系統》

基本思想很簡單,現在的高考分數線查詢是很繁瑣的,需要先把分數查出來,然後根據錄取指南再找你的分數能被錄取的學校,高考過的都知道,高考報考指南是一本多麼厚的書。
所以,這個系統的思想就是:你用所有高校近十年的錄取分數線建立一個資料庫,然後開發一個系統,當你輸入查詢命令的時候(查詢命令可以用1,2,3這三個數來代替,用flog實現;輸入1,查詢的是符合你所輸入的分數以下的所有高校信息;輸入2,查詢的是符合你所輸入分數段之間的所有高校信息;輸入3,查詢大於你所給的分數線的高校信息。)當然,你可以再加上一些附加的功能。
大致思想就這些。

鄭州今邁網路部竭誠為你解答,希望我的答案能幫到你!

B. 求助:採用STC2051單片機測量脈沖寬度~~

提供個思路給你
計數器 模式

將脈沖接入定時器0的GATE 和中斷0
將脈沖反向接入定時器1的GATE和中斷1

讓後在中斷0裡面讀取 定時器1的計數器 並清零
讓後在中斷1裡面讀取 定時器0的計數器 並清零
這樣
定時器1的記數就是 正脈寬
定時器0的記數就是負 正脈寬

C. 基於STC51系列單片機的SPWM波形實現,程序如何編寫急急急急

/*********************************************************
// 載波比選為N=24,調制比M=Uc/Ur=1,晶振頻率12M
// 正弦波頻率50Hz
// 高電平的寬度Tpw = Tt/2*(1+Msimwt)
// 低電平的寬度Tpw = Tt/2*(1-Msimwt)
// Tt周期
// T2是產生SPWM波形,並從P1^1輸出,用導線連接到P3.4作為測試頻率使用。

// T1工作在定時方式1,定時1s
// T0工作在計數方式,對輸入的脈沖進行計數,溢出產生中斷。
// 16位計數器最大值是65536,1s內可能會產生多次溢出,所以在中斷處理程序對中斷的次數進行
// 計數。1s到後,將中斷的計數器里的計數值取出進行綜合處理,處理後的數據送顯示。

//信號頻率的計算方法:
// T0工作在計數方式,假設1s內溢出C1次,最後未溢出的計數值是C2,則頻率公式為:
// F=C1*2^16+C2 = C1*65536+TH0*256+TL0)

//使用12MHz時鍾,測量的最大范圍是不大於500KHz。
*********************************************************/

#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
uchar disp[8]={0,0,0,0,0,0,0,0};

uchar FreStr[]="Friquency is:";

uchar T0count,T1count;

uchar code x[]={66,38,26,89,15,97,7,102,2,103,1,102,2,
97,7,89,15,78,26,66,38,38,66,26,78,15,
89,7,97,2,102,1,103,1,103,2,102,7,97,15,
89,26,78,38,66};
uchar ky,kc,count=255;
sbit L1=P1^1;

void delayms(uchar ms)

{
uchar i ;
while(ms--)
{
for(i = 0 ; i < 120 ; i++) ;
}
}

//LCD定義開始
//以下三個是定義LCD的引腳
sbit lcden=P0^5;
sbit lcdwrite=P0^6;
sbit lcdrs=P0^7;

//延時程序
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
//lcd的寫指令
void write_com(uchar com)
{
lcdrs=0;
lcden=0;
P2=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
//lcd的寫數據
void write_data(uchar da)
{
lcdrs=1;
lcden=0;
P2=da;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
//初始化
void Lcd_init()
{
lcdwrite=0;
lcden=0;
write_com(0x38); //16*2顯示,5*7點陣,8位數據
write_com(0x0c);//顯示開,關游標
write_com(0x06); //移動游標
write_com(0x01);//清除LCD的顯示內容
}
//LCD定義結束

//計算頻率值
void calc()
{
uchar i;
long frequency;
frequency=(T0count*256+TH0)*256+TL0;
for(i=7;i>0;i--)
{
disp[i]=frequency%10;
frequency=frequency/10;
}
disp[0]=frequency;
}

void init()
{
T0count=0;
T1count=0;
TH0=0;
TL0=0;
}

void main()
{
uchar dis;
init();
Lcd_init();
TMOD=0x15;
TH1=(65536-5*110592/12)/256;
TL1=(65536-5*110592/12)/256%10;
ET1=1;
ET0=1;
EA=1;
TR1=1;
TR0=1;

//以下四句的作用是在P1.1引腳上形成1000Hz的脈沖,用導線連接到P3.4作為測試用。將其中
//高8位和低8位的初始值更改後可輸出不同頻率的脈沖。
T2MOD = 0x02;
TH2=255-x[ky];
TL2=255-x[ky];
ET2=1;
EX0=1;
TR2=1;
L1=1;

write_com(0x80);
for(dis=0;dis<12;dis++)
write_data(FreStr[dis]);

while(1)
{
write_com(0xC0);
for(dis=0;dis<8;dis++)
write_data(disp[dis]+0x30); //顯示頻率
}
}

//計算輸入脈沖的次數
void time0() interrupt 1
{
T0count++;
}

//計算1s時間
void time1() interrupt 3
{
TH1=(65536-5*110592/12)/256;
TL1=(65536-5*110592/12)/256%10;

if(T1count==20)
{
calc();
init();
}
else T1count++;
}

//這是產生SPWM波形、
void M() interrupt 5
{
TH2=255-x[ky];
TL2=255-x[ky];
kc++;
if(kc==count)
{
kc=0;

L1=~L1;

ky++;

if(ky==49) ky=0;
}
}

//這是使用外部中斷0可以調整輸出波形的頻率
void MM() interrupt 0
{
delayms(300);
if(INT0==0)
{
count=count-5;
if(count==0) count=255;
}
}

閱讀全文

與基於stc51單片機的液位檢測相關的資料

熱點內容
excel表格單列數據加密 瀏覽:646
給同事的解壓話語 瀏覽:990
linux關閉網卡命令行 瀏覽:452
史上最漂亮程序員 瀏覽:768
java實現excel的導入 瀏覽:758
光遇賬號如何轉移安卓 瀏覽:266
5分之13除以26的演算法 瀏覽:342
蘭州安寧區買解壓包子 瀏覽:641
php接收圖片代碼 瀏覽:668
hci命令 瀏覽:662
福建伺服器大區雲空間 瀏覽:840
筆桿子程序員 瀏覽:745
手機軟體易驗證加密 瀏覽:589
文檔加密只讀模式也不能看到 瀏覽:431
把jpg轉換成pdf的軟體 瀏覽:874
linuxeth0mac 瀏覽:192
windows編程知乎 瀏覽:442
壓縮工期超過40 瀏覽:249
Android怎麼優化內存 瀏覽:106
linuxetcsysconfig 瀏覽:396