導航:首頁 > 操作系統 > 51單片機模擬串並轉換實驗

51單片機模擬串並轉換實驗

發布時間:2022-10-19 13:09:30

❶ 51單片機編程如何把一個字元串里的數字提取出來並轉化成浮點數

你這個字元串的形式是怎麼樣的?先字母後數字?還是隨機的?如果單純只是字母後就數據的話就直接判斷字元的ASCII碼,從數字的地方開始截取,把數字和小數點放到另一個數組里,用double atof(const char *nptr)函數轉為浮點類型即可,如果你初始給的字元串是隨機的那好像麻煩很多。。。

❷ 單片機c51,C語言通過P0幾個引腳如何實現74HC164串並轉換輸出

串並轉換很簡單的,還是好好查看74HC164資料吧,著重看一下高位在前,還是低位在前

❸ 什麼是KMC模擬

KMC-S51型單片機模擬實驗裝置

本系統由模擬技術及實驗電路有機結合組成,急支持MCS51單片機的全部原理性實驗和單片機介面電路實驗,又能模擬開發MCS51單片機的應用系統。
一、系統特點:
1、全部實驗內容均為設計性實驗,有利於實現創新教育。
2、提供獨立運行、聯上位機二種工作方式
3、具有示波器測量功能。能實時測量方波、正弦波、鋸齒波、三角波等實驗信號。
4、系統提供能將實驗原理、目的、位置圖等內容於一體自9Windows綜合調試軟體,便於多媒體教學。
5、系統提供機電一體化控制實驗介面, 可做機電一體化實驗。
6、系統提供點陣、液晶、語音錄放、IC(I2C)卡讀寫、遠程多機通信、直流電機轉速測量與控制實驗、新型通信、新型匯流排介面等多種豐富的單片機擴展實驗模塊。系統將地址匯流排、數據匯流排、控制匯流排等全部引出,便於課程設計與畢業設計。

二、技術指標:
1、主機含51CPU。
2、128K EPROM存放系統管理程序。另配有兩片靜態RAM62256構成64K用戶程序RAM。
3、自帶4X8鍵盤,進口鍵座,6隻高亮LED七段數碼顯示器。可單機獨立運行。
4、自帶EPROM編程器
5、配10位開關量輸入,12位開關量顯示,
6、帶有±單脈沖發生器, 可調連續脈沖發生器。
7、配有機電控制介面驅動電路及執行單元(直流電機、步進電機、繼電器和電子音響等)。
8、提供標准RS232非同步通信介面。
9、配有各種單片機常用I/O介面晶元(A/D 0809,D/A0832,並行I/OEl8255,並行I/O口81 55, 串並轉換74LSl 64, 單片機並行口輸入/輸出擴展74LS273/774LS244,8253定時/計數器等)。另配通用,C—14插座兩只,通用,C—28插座一隻, 以備擴展實驗用。
10、隨機配套軟體兼容WINDOWS 9X/2000/XP軟體平台,並提供強大的CAI課件,便於進行多媒體教學。
11、聯機軟體支持WINDOWS9X/2000/XP平台。
12、提供功能強大的CAI課件,便於多媒體教學。
13、配有各種新型應用電路。對新型介面和主機集成於一體,如I2C應用電路,128X64點陣LCD顯示應用電路,16X16點陣LED應用電路,語音錄放應用電路,直流電機轉速測量與控制等。RS485通信模塊、I2C匯流排 E平方PROM模塊、看門狗電路控制模塊、DSl8B20溫度測量模塊等新型模塊已集成於主板。

三、實驗內容:
系統中實驗項目的設置完全按照教育部大綱要求,並有適當提高,詳細實驗
項目如下:
帶*為需擴展的選配模塊:
(一)、軟體實驗
I、清零程序實驗 2、拆字程序實驗 3、拼字程序實驗 4、數據塊傳送實驗
5、數據排序實驗 6、字元串查找並統計相同字元串個數 7、雙位元組乘法程序 8、多分支程序設計9、定時/計數器實驗 10、電腦時鍾實驗
(二)、硬體實驗
1、8031單片機P3、PIE口應用
2、工業順序控制
3、並行I/01718255應用
4、簡單I/OE]輸入擴展
5、簡單I/O口輸出擴展
6、A/D轉換0809應用
7、D/A轉換0832應用
8、串並轉換實驗
9、可編程鍵盤顯示8279A應用*
10、列印機介面應用*
11、直流電機控制
12、電子音響
13、定時計數器8353A應用
14、繼電器控制
15、存貯器擴展和程序存貯器擴展
16、8031串列口應用(雙機通信實驗、與PC機通信實驗)
17、16X16點陳LED顯示實驗
18、語音錄放實驗
19、128X64LCD液晶顯示介面實驗
20、IC存儲卡(I2C匯流排)讀寫實驗
21、單片機主從式遠程多機通信實驗
22、直流電機轉速測量與控制實驗
23、RS485通信模塊
24、I2C匯流排E2PROM模塊
25、壓力測量實驗*

❹ 51單片機數據類型轉換 高分!

假如你的串口發送函數叫SendData,接收函數叫RecvData,參考如下代碼

發送端:

intSendData(unsignedchar*pSendBuf,unsignedintnSendLen);
intRecvData(unsignedchar*pRecvBuf,unsignedintnBufLen);
voidmain(void)
{
floatf;
inti;
doubled;

SendData((unsignedchar*)&f,sizeof(float));
SendData((unsignedchar*)&i,sizeof(int));
SendData((unsignedchar*)&d,sizeof(double));
}

接收端:

voidmain(void)
{
floatf;
inti;
doubled;

RecvData((unsignedchar*)&f,sizeof(float));
RecvData((unsignedchar*)&i,sizeof(int));
RecvData((unsignedchar*)&d,sizeof(double));
}

宗旨就是,先取其他類型數據的地址,用&符號,然後把地址轉換為unsigned char*型,就可以通過*(unsigned char)的方式或(unsigned char)[]的方式訪問了,就這么簡單,希望可以幫到你.

❺ 匯編語言實現通過51單片機的P1口控制74HC164實現串並轉換控制 LED 燈循環點亮程序

幾個亮幾個滅呀?
時間,也不確定。

❻ 關於51單片機字元串轉換成16進制

首先判斷是數字還是字母,如果是數字,那麼減0x30(0的ASCII),如果是字母,那麼減0x41(A的ASCII),減完後,將兩個數組合起來就可以了,第一個數放高四位,第二個數放低四位。

❼ 51單片機匯編語言1位數碼管顯示0,1,2,……到9再從9,8,7……到0,反復顯示。

反復循環是一個作法,0到9循環結束後再做9到0的循環,0到9時用INC加法,9到0用DEC減法就行了,分開做兩個循環,先加後減,兩個循環結束,再回到0到9實現大循環就好了。很容易的呀,既然會0到9的循環,自己都能做出來,那其它的也能做出來嗎,自己獨立完成是最好的煅煉了,不能什麼事都靠別人,那樣是不會提高進步的。

❽ 用51系列單片機做個A/D轉換器,具體該怎麼做

注意,你這對單片機的位數和AD的位數理解有誤。
首先:51系列單片機都是八位的,這里的8位是指它一個時鍾所能處理的數據位數。而現在的電腦的微處理器酷睿等都是32位的CPU,意思和上述的一樣。
而AD轉換器的位數和所嵌入單片機的位數無關。12位是指這個AD轉換器的精度。比如說12位的AD,讀一個范圍在0到5V的模擬信號,就能把這5V的范圍分成 2的12次方 (=4096份)。也就說這個12位的AD轉換器所能識別的最小電壓量是5V÷4096 = 0.00122V。所以,單片機的8位和你需要的ad轉換器12位沒直接關系
而你說的AT89S52內部並沒有集成AD轉換器。
可以用Stc的單片機(有8位和10位ADC)、C8051F單片機(一般都是12位或10位ADC)、飛利浦的LPC900系列單片機等這都是8位的51系列單片機,內部帶AD模塊(但位數各不相同) 。
STC單片機數據手冊:
C8051f020單片機數據手冊:

補充:首先,你的問題有點混亂。
你前頭問是「自帶AD轉換器的單片機」,就是說單片機內部有AD模塊,直接把待測信號接單片機的AD引腳就可把數據讀入到單片機內部的AD寄存器。如果是八位的正好就放在一個位元組里,如果是10位、12位、16位就放兩個位元組(如x=AD,x是無符號INT型數據,C語言一句話搞定),如果是24位就3個或4個位元組的寄存器內。這需要什麼介面,沒有分串口並口的。
而你後邊補充問的那是單片機外接一個AD轉換晶元,這個AD轉換器就不是單片機自帶的。這種晶元有串口和並口之分,但一般10位及其以上的AD晶元都是用串列介面。也有另類的,用並口連接的,那也比如說12位晶元使用並口也就是12個引腳和八位的51單片機連接,那單片機可以拿P1口接低八位,P2找四個腳和高四位連接。還有剩下的可以接CS、WR,之類的控制引腳。如果你買到這樣的另類晶元,那寫程序就忒麻煩了……
最後,C8051xxx系列的單片機,是使用51單片機內核的、集成了很多外設功能的單片機。一般有12位DAC、10/12位ADC、pwm、USB介面……說白就是個較高級的51單片機,但開發工具只能賣他們自己產的開發編程設備,貴。

❾ 利用51單片機,4個數碼管設計一個計時器,要求在數碼管上顯示的數據從0開始每1秒鍾加1。

共陽數碼管中斷程序:

#include<reg52.h>

#define uint unsigned int

#define uchar unsigned char

uchar code table[]=

{

0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x83,0xf8,

0x80,0x90,0x88,0x83,

0xc6,0xa1,0x86,0x8e};

uint num,a;

uchar ,shi,ge;

void init();

void delay(uint);

void display(uchar,ucharshi,ucharge);

uint fb();

uint fs();

uint fg();

void main()

{

init();

while(1)

{

display(fb(),fs(),fg());

}

}

void init()

{

num=0;

a=0;

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

}

void display(uchar,ucharshi,ucharge)

{

P1=0xfd;

P0=table[];

delay(1);

P1=0xfb;

P0=table[shi];

delay(1);

P1=0xf7;

P0=table[ge];

delay(1);

}

void timeoff() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65526-50000)%256;

a++;

if(a%20==0)

{

num++;

if(num==999)

{

num=0;

}

}

}
void delay(uint z)
{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

uint fb()

{

=num/100;

return ;

}

uint fs()

{

shi=num%100/10;

return shi;

}

uint fg()

{

ge =num%100%10;

return ge;

}

(9)51單片機模擬串並轉換實驗擴展閱讀

2個可編程定時/計數器·5個中斷源,2個優先順序(52有6個)

一個全雙工串列通信口

外部數據存儲器定址空間為64kB

外部程序存儲器定址空間為64kB

邏輯操作位定址功能·雙列直插40PinDIP封裝

單一+5V電源供電

CPU:由運算和控制邏輯組成,同時還包括中斷系統和部分外部特殊功能寄存器;

RAM:用以存放可以讀寫的數據,如運算的中間結果、最終結果以及欲顯示的數據;

ROM:用以存放程序、一些原始數據和表格;

I/O口:四個8位並行I/O口,既可用作輸入,也可用作輸出

T/C:兩個定時/記數器,既可以工作在定時模式,也可以工作在記數模式;

五個中斷源的中斷控制系統;

一個全雙工UART(通用非同步接收發送器)的串列I/O口,用於實現單片機之間或單片機與微機之間的串列通信;

片內振盪器和時鍾產生電路,石英晶體和微調電容需要外接。最佳振盪頻率為6M—12M。

參考資料來源:網路-51單片機



閱讀全文

與51單片機模擬串並轉換實驗相關的資料

熱點內容
打開加密軟體的方法 瀏覽:156
雲存儲伺服器可靠嗎 瀏覽:967
2核1g的雲伺服器能帶動游戲嘛 瀏覽:898
逆命20解壓碼 瀏覽:146
徐州辦犬證需要下載什麼app 瀏覽:1002
百保盾是什麼樣的app 瀏覽:699
文件和文件夾的命名規格 瀏覽:798
java命令行運行java 瀏覽:664
搜索pdf內容 瀏覽:499
程序員裝機必備的軟體 瀏覽:12
php微信第三方登錄demo 瀏覽:538
上海php工具開發源碼交付 瀏覽:793
哪裡有求購黃頁的源碼 瀏覽:194
商城礦機源碼礦場系統 瀏覽:198
單片機的led燈熄滅程序 瀏覽:224
洛陽python培訓 瀏覽:704
小鍵盤命令 瀏覽:194
單片機c語言返回主程序 瀏覽:816
dockerpythonweb 瀏覽:972
程序員演算法有多強 瀏覽:717