導航:首頁 > 操作系統 > 52單片機程序

52單片機程序

發布時間:2022-12-19 06:13:46

『壹』 用52單片機C語言編寫程序,實現00~59計時。要求用T0,工作方式1。

#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit la=P2^6; //段選
sbit wela=P2^7; //位選
uchar shi,ge,num1,num2; //變數
uchar code table[]={0x3f,0x06,0x5b,0x4f, //共陰極字型碼
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(uint x) //延時子程序
{
uint i,j;
for(i=0;i<x;i++)
for(j=0;j<120;j++);
}
void init()
{
TMOD=0x01; //設置定時器0的工作方式
TH0=(65536-50000)/256; //裝初值
TL0=(65536-50000)%256;
EA=1; //開總中斷
ET0=1; //開定時器0中斷
TR0=1; //啟動定時器0
}
void display() //顯示子程序
{
la=1;
P0=table[ge]; //送段選數據
la=0;
P0=0xff; //送位選數據前關閉所有顯示
wela=1;
P0=0xfe; //送位選數據
wela=0;
delay(5); //延時

la=1;
P0=table[shi];
la=0;
P0=0xff;
wela=1;
P0=0xfd;
wela=0;
delay(5);
}
void main()
{
init();
while(1)
{
display();
}
}
void timer() interrupt 1
{
TH0=(65536-50000)/256; //重裝初值
TL0=(65536-50000)%256;
num1++;
if(num1==20) //到了20次,1秒時間到
{
num1=0; //清0重新計數
num2++;
if(num2==60)
num2=0;
P1=0x00;
delay(500);
P1=0xff;
shi=num2/10; //把一個2位數分離後分別送數碼管顯示
ge=num2%10; //十位和個位
}
}

試了的,可以放心,採納吧!

『貳』 52單片機復位後從哪裡運行

52單片機復位後從主界面運行,對於51單片機來說,程序復位後一定從0x0000開始,一般會在中斷入口前寫一個無條件跳轉,一直跳轉到程序開始的位置。

『叄』 求52單片機流水燈程序

//單片機流水燈程序,是學習單片機的最簡單的程序。

//流水燈

#include <REG51.h> //51頭文件

#define DY_PORT P1 //設置LED連接的I/O組

#define DY_SPEED 100 //設置每一個明亮級的停留時間(值域:0~65535)

void delay (unsigned int a){ // 1ms延時程序

unsigned int i;

while( --a != 0){

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

}

}

void main(void){

unsigned int i;

unsigned int temp;

while(1){

temp=0x01;

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

DY_PORT=~temp;

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

temp<<=1;

}

temp=0x80;

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

DY_PORT=~temp;

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

temp>>=1;

}

temp=0xFE;

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

DY_PORT=temp;

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

temp<<=1;

}

temp=0x7F;

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

DY_PORT=temp;

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

temp>>=1;

}

}

}

『肆』 52單片機介面與舵機控製程序

可以用任意一個IO引腳和舵機連接,程序上,用兩個定時器,定時器1定時20ms,中斷時讓IO管腳輸出高電平,並啟動定時器2,定時器2定時1.5至2.5ms,對應舵機的角度,中斷時讓該管腳輸出低電平,並關閉自身。改變定時器2的定時時間,即改變了舵機的轉角。

『伍』 52單片機直流電機正反轉程序

52單片機如51單片機的指令集是一樣的,寫電機的正反轉程序,就是用一個電橋啊,就是4個三極體組成橋B,然後對應的牆壁打通就可以讓電系症狀,另外的對對比對面的橋臂導通可以用電機反轉,所以直接用單片機的io口引腳輸出高低電平就可以控制電機的症狀和反轉的。

『陸』 求52單片機程序代碼

程序代碼如下:
#include<reg51.h>
sbitK1=P1^0;
sbitK2=P1^1;
voiddelay(inta)
{
inti;
while(a--)for(i=0;i<120;i++);
}
main()
{
unsignedcharkeyval=0,led=0xfe;
while(1)
{
if(K1==0)
{
delay(10);
if(K1==0)
{
keyval==1;
while(K1==0);
}
}
if(K2==0)
{
delay(10);
if(K2==0)
{
keyval==2;
while(K2==0);
}
}
if(keyval==1)P0=0xfe;
if(keyval==2)
{
P0=led;
led=_crol_(led,1);
delay(200);
}
}
}

『柒』 用C語言編寫C52單片機的流水燈程序

附上流水燈程序
#include<reg52.h>
#include<intrins.h>
unsigned char temp;
void delay(unsigned int x);
void main()
{
temp=0xfe; /*16進制的表示法,不能用:0eH這種形式了*/
while(1)
{
P1=temp;
delay(1000);
temp=_crol_(temp,1);

}
}
void delay(unsigned int x)
{
unsigned char j;
while(x--)
{
for(j=200;j>0;j--)
{
;
}
}
}

閱讀全文

與52單片機程序相關的資料

熱點內容
軟考初級程序員大題分值 瀏覽:473
js壓縮視頻文件 瀏覽:578
linux如何通過命令創建文件 瀏覽:989
應用加密app還能訪問應用嘛 瀏覽:432
安卓怎麼用支付寶交違章罰款 瀏覽:665
php面向對象的程序設計 瀏覽:504
數據挖掘演算法書籍推薦 瀏覽:894
投訴聯通用什麼app 瀏覽:150
web伺服器變更ip地址 瀏覽:954
java正則表達式驗證郵箱 瀏覽:360
成熟商務男裝下載什麼軟體app 瀏覽:609
加密2h代表長度是多少厘米 瀏覽:23
拍賣程序員 瀏覽:101
電腦的圖片放在哪個文件夾 瀏覽:274
unsignedintjava 瀏覽:216
編譯器下載地址 瀏覽:42
什麼是面對對象編程 瀏覽:708
b站伺服器什麼時候恢復 瀏覽:721
6p相當於安卓機什麼水準 瀏覽:499
能否給隱藏相冊加密 瀏覽:598