當前位置:首頁 » 編程語言 » 單片機c語言代碼

單片機c語言代碼

發布時間: 2022-07-17 00:14:25

⑴ 單片機求一個串口實驗的c語言程序代碼

#include <AT89X51.H>//單片機51頭文件,存放著單片機的寄存器
unsigned char dat; //用於存儲單片機接收發送緩沖寄存器SBUF裡面的內容
sbit gewei=P2^2; //個位選通定義
sbit shiwei=P2^3; //十位選通定義
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67,0x77,0x7c,0x39,0x5e,0x79,0x71};
//{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67,};// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
void Delay(unsigned int tc) //延時程序
{
while( tc != 0 )
{unsigned int i;
for(i=0; i<100; i++);
tc--;}
}
void LED() //LED顯示接收到的數據
{
shiwei=0;
P0=~table[dat/16];
Delay(8);
shiwei=1;
gewei=0;
P0=~table[dat%16];
Delay(5);
gewei=1;
}
void Init_Com(void)//功能:串口初始化,波特率9600,方式1
{
TMOD = 0x20;
PCON = 0x00;
SCON = 0x50;
TH1 = 0xFd;
TL1 = 0xFd;
TR1 = 1;
}
void main()//主程序功能:實現接收數據並把接收到的數據原樣發送回去///////
{
Init_Com();//串口初始化
// P1=0xf0;
while(1)
{
if ( RI ) //掃描判斷是否接收到數據,
{
dat = SBUF; //接收數據SBUF賦與dat
RI=0; //RI清零。
SBUF = dat; //在原樣把數據發送回去
}
LED(); //顯示接收到的數據
}
}

⑵ 單片機C語言代碼問題

看來是你還沒理解好定時器。

定時器是單片機的一個模塊,用的時候,我們給它配置好參數,啟動之後就可以不管了,它可以獨立於主程序流程而運行。正確的使用如下:

voidmain(void)
{
EA=1;//打開總中斷
ET0=1;//打開定時器/計數器T0中斷
TMOD=0x01;
TH0=(65536-50000)/256;//50ms一次定時器中斷
TL0=(65536-50000)%256;
TR0=1;
D1=0;
while(1);
}

voidT0Int()interrupt1
{
TH0=(65536-50000)/256;//50ms一次定時器中斷,需要初始化初值。
TL0=(65536-50000)%256;
D1=~D1;
}

⑶ 單片機c語言代碼

先說左移,左移就是把一個數的所有位都向左移動若干位,在C中用>5(假設字長為8位),則得到的是 11111101 總之,在C中,左移是邏輯/算術左移(兩者完全相同),右移是算術右移,會保持符號位不變.實際應用中可以根據情況用左/右移做快速的乘/除運算,這樣...

⑷ 這段但單片機C語言代碼什麼意思急求大神解答

按代碼看,是一個2行的LCD,如2*20LCD。
if(hang==1)
write_com(0x80+add);//意思是指定地址在第1行的第add個位置
else
write_com(0x80+0x40+add);//意思是指定地址在第2行(0x80+0x40
是第2行)的第add個位置
if(date
==
1)
write_com(0x0f);
//意思是在指定的位置LCD會自動閃爍游標
else
write_com(0x0c);
//意思是LCD關閉在指定位置的游標

⑸ 求寫一段簡單的51單片機C語言代碼

#include < reg52.h >
#include <intrins.h>

sbit P00 = P0^0;
void delay(unsigned int ms)
{
unsigned char i;
while(ms--) for(i = 110; i-- ; i > 0);
}

void main()
{
unsigned char LED = 0xfe, COUN = 0;
while(1) {
P1 = LED;
P2 = COUN;
if (P00 == 1) {
delay(2);
if (P00 == 1) {
while (P00 == 1);
LED = _cror_(LED, 1);
COUN++;
} } } }

⑹ 單片機c語言必背代碼

TR0 = 1;
ET0 = 1;
EA = 1;

⑺ 單片機流水燈C語言程序(8個燈,依次點亮每個燈,延時500MS)

單片機流水燈C語言程序的源代碼如下:

#include //51系列單片機定義文件

#define uchar unsigned char //定義無符號字元

#define uint unsigned int //定義無符號整數

void delay(uint); //聲明延時函數

void main(void)

{

uint i;

uchar temp;

while(1)

{

temp=0x01;

for(i=0;i<8;i++) //8個流水燈逐個閃動

{

P1=~temp;

delay(100); //調用延時函數

temp<<=1;

}

temp=0x80;

for(i=0;i<8;i++) //8個流水燈反向逐個閃動

{

P1=~temp;

delay(100); //調用延時函數

temp>>=1;

}

temp=0xFE;

for(i=0;i<8;i++) //8個流水燈依次全部點亮

{

P1=temp;

delay(100); //調用延時函數

temp<<=1;

}

temp=0x7F;

for(i=0;i<8;i++) //8個流水燈依次反向全部點亮

{

P1=temp;

delay(100); //調用延時函數

temp>>=1;

}

void delay(uint t) //定義延時函數

{

register uint bt;

for(;t;t--)

for(bt=0;bt<255;bt++);

}

(7)單片機c語言代碼擴展閱讀

51單片機流水燈的源代碼如下

#include<reg51.h>

#include<intrins.h>

voiddelay(inta)

{

inti;

while(a--)for(i=0;i<110;i++);

}

main()

{

inti;

while(1)

{

P0=0xfe;

for(i=0;i<8;i++)

{

P0=_crol_(P0,1);

delay(500);

}

}

}

⑻ 單片機c語言程序

如果沒有定義
no_timer2
就執行下面的程序。。如果定義了。。就執行#else下面的程序、、與if。。。else的用法差不多。。
#endif就是結束的意思。。與#ifndef
是相對的。。

熱點內容
bs源碼 發布:2025-02-01 16:51:52 瀏覽:568
百度雲zip怎麼解壓 發布:2025-02-01 16:31:59 瀏覽:566
pmc密碼是什麼意思 發布:2025-02-01 16:28:49 瀏覽:783
蘋果手錶和安卓手錶哪個好用 發布:2025-02-01 16:28:07 瀏覽:583
上海電信上傳 發布:2025-02-01 16:22:10 瀏覽:982
有什麼好的雙u主板配置 發布:2025-02-01 16:18:17 瀏覽:177
編程漩渦 發布:2025-02-01 16:01:51 瀏覽:328
司機會所訪問 發布:2025-02-01 15:54:11 瀏覽:780
家用電腦改成伺服器並讓外網訪問 發布:2025-02-01 15:30:23 瀏覽:355
javac工資 發布:2025-02-01 15:24:28 瀏覽:23