**
配套–10天學會51單片機(B站)
學習網站鏈接:(個人認爲比較適合查閱相關信息)http://c.biancheng.net/cpp/html/1857.html
沒有單片機的盆友(Proteus仿真,你值得擁有):https://max.book118.com/html/2017/0621/117045897.shtm
以下內容,適合初學者(會一點點C的同學)
不停更新,
-
注意:
單片機中使用十六進制0x…開頭數字。
初始定義燈全滅:P0=0xff。 -
常用關鍵字及函數(關鍵字用粗體字標出,):
-sbit : 定義接口對應的變量名。
**😗*51單片機爲高電頻,P0.0=0時便是燈亮,反之,燈滅。
sbit P0 = P0^0 //表示將下面程序中P0.0用P0表示。
運用:點亮一個燈
#include<reg52.h>
sbit D1=P1^0;
void main()
{
D1=0;
}
- 定義變量用命 #define 命名 類型名
#define uchar unsigned char // 將unsigned char命名爲uchar以下程序直接用uchar
運用:LED燈來回燈亮
#include<reg51.h>
#include<intrins.h> //_crol_函數的頭文件
#define uchar unsigned char
#define uint unsigned int
//延時
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++)
;
}
}
//主程序
void main()
{
uchar i;
P2=0xfe; //111
while(1)
{
for(i=0;i<7;i++)
{
P2=_crol_(P2,1);//P2的值向左循環移動
DelayMS(150);
}
for(i=0;i<7;i++)
{
P2=_cror_(P2,1); //P2的值向右循環移動
DelayMS(150);
}
}
}
- _crol_:循環左移函數
- _cror_:循環右移函數
運用:如上程序。