① 51單片機C程序
sfr P0M1 = 0X93; //這些是預定義寄存器的地址的
sfr P0M0 = 0X94; // 在編譯過程中會把 POM1之類的東西變成這些地址
sfr P1M1 = 0X91; //mcu在運行中也是對這些地址操作的
sfr P1M0 = 0X92;
sfr P2M1 = 0X95;
sfr P2M0 = 0X96;
uchar CONT_1; //定義一個常量 作為計數器 使用,類型無符號整形數
P0M1 = 0; //將io口設置為推挽輸出
P1M1 = 0; // 下面這些事定義了這些寄存器的初始值
P2M1 = 0; //以免第一次使用這些寄存器時出錯
P0M0 = 0XFF;
P1M0 = 0XFF;
P2M0 = 0XFF;
② 51單片機程序設計
不是看得很懂,希望能說得清楚點。
可以直接發到郵箱:[email protected]
③ 求51單片機程序
//利用單片機軟體延時,使P0口外接的8個發光二極體以1位1s的速度,輪流發光。
#include<reg52.h>
#include<intrins.h>
#define ucha unsigned char
#define uint unsigned int
//----------------------------
ucha a;
//----------------------------
void main()
{
uint i, j;
a = 0xfe;
while(1) {
a = _crol_(a, 1);
P0 = a;
for(i = 250; i > 0; i--) //延時
for(j = 500; j > 0; j--);
}
}
//============================
④ 51單片機c語言程序
答:樓主先搞清C51中定義數據的類型。
char型 8位(-127到128);int型16位-32727到+32728(兩個位元組)
unsigned char是8位但從0到255,unsignde int 16位從0到65535;
樓主程序中的TH0/TL0是8位uchar型;tmp是16位uint型。
tmp=TL0|(TH0<<8);
這句在執行時先進行類型轉換,把TL0/TH0暫時轉換成16位uint型數據,(高位補0),再給TH0左移8位,和TL0相「或」,得到的是16位uint數據,賦給tmp.
⑤ 51單片機的程序!
1. 你這邏輯不通嘛
2. LED1一直沒滅,第3步有什麼意義?
⑥ 51單片機程序編寫(勞駕寫得詳細一點)
#include <reg51.h>
void delay(unsigned int n)
{
while(n--);
}
void main()
{
char i;
//可以編好想要怎麼流水的燈位的狀態
unsigned char led[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
while(1)
{
for(i=0;i<8;i++)
{
P1=led[i]; //LED接在P1口
delay(10000);
}
for(i=0;i<8;i++)
{
P1=led[8-i];
delay(10000);
}
}
}
⑦ 51單片機的一個簡單程序
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV A,P0
ANL A,#1EH
CJNE A,#02H,MAIN1
SETB P1.1
CLR P1.2
CLR P1.8
SJMP MAIN
MAIN1:
CJNE A,#04H,MAIN2
CLR P1.1
SETB P1.2
CLR P1.8
SJMP MAIN
MAIN2:
CJNE A,#1EH,MAIN3
CLR P1.1
CLR P1.2
SETB P1.8
SJMP MAIN
MAIN3:
CLR P1.1
CLR P1.2
CLR P1.8
LJMP MAIN
END
⑧ 51單片機聲控燈完整的C語言程序
摘要 #include "inc/hc595.h"