欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
剛學單片機這個程序可以幫忙注釋一下嗎?
[打印本頁]
作者:
醉蝦呀
時間:
2020-10-25 20:25
標題:
剛學單片機這個程序可以幫忙注釋一下嗎?
#include<reg52.h>
#define uint unsigned int
void delay7ms(void) //誤差 -0.217013888891us
{
unsigned char a,b;
for(b=208;b>0;b--)
for(a=14;a>0;a--);
}
void delay2ms(void) //誤差 -0.217013888889us
{
unsigned char a,b;
for(b=80;b>0;b--)
for(a=10;a>0;a--);
}
void main(void)
{
uint led[10]={0xc0,0xf9,0xa4, 0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uint m,n=0,a=0;
for(m=0;m<=10;m++)
{
while(a<30)
{
if(m==10)
{
m=0;
n++ ;
if(n==10)
n=0;
}
P0=led[m];
P2=0x40;
delay7ms();
P2=0x00;
delay2ms();
P0=led[n];
P2=0x80;
delay7ms();
P2=0x00;
delay2ms();
a++;
}
a=0;
}
}
作者:
楊雪飛
時間:
2020-10-26 09:56
#include<reg52.h> //頭文件,沒啥好說的。
#define uint unsigned int //程序中用uint代替unsigned int,簡化定義無符號整數型變量
void delay7ms(void) //誤差 -0.217013888891us //延時函數,這個根據晶振計算,他這個誤差不一定就準確。
{
unsigned char a,b;
for(b=208;b>0;b--)
for(a=14;a>0;a--);
}
void delay2ms(void) //誤差 -0.217013888889us //一樣的延時函數,至于怎么延時,就是看下邊的那個循環,計算a-十次,b-1次,就這樣進行80次a-1減十次,也就是讓CPU完成800次計算來打發時間,上邊的一樣,VIOD在具體使用中會換成整數值,與那800次相乘就是浪費的總共時間---延時。
{
unsigned char a,b;
for(b=80;b>0;b--)
for(a=10;a>0;a--);
}
void main(void) //主函數,程序從此開始。
{
uint led[10]={0xc0,0xf9,0xa4, 0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //做一個名字為led的數據表[10]表示這個表里總共有十個元素,確定里邊元素的序號。第一個元素為0XC0 表示輸出的時候PIO輸出的1 1 0 0 0 0 0 0,依次。
uint m,n=0,a=0; // 定義m , n , a ,三個無符號整數型變量,且n,a初始值為0
for(m=0;m<=10;m++) //m初始值為0,進行自加運算,和下邊那句M==10 M=0那段一起表示,初始為0 依次+1,加到10了歸0,也就是m從0--1.
{
while(a<30)
{
if(m==10)
{
m=0;
n++ ;
if(n==10)
n=0;
}
P0=led[m]; //P0口依次取uint led[10]={0xc0,0xf9,0xa4, 0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; 表里的十個數據,
P2=0x40; //P2口電平狀況為 0 1 0 0 0 0 0 0 P2^6=1;
delay7ms(); //延時
P2=0x00; //P2口電平全部為0
delay2ms(); //延時
P0=led[n]; //P0口依次取uint led[10]={0xc0,0xf9,0xa4, 0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; 表里的十個數據,因為N也是從0--10,他是在M到10后開始從1開始數,也就是M顯示完了開始顯示N的數。
P2=0x80; //P2口電平為1 0 0 0 0 0 0 0 P2^7=1;
delay7ms(); //延時
P2=0x00; //P2口全部置0.
delay2ms(); //延時
a++; //a自加,這個變量定義的a最大值是30,所以,上邊的顯示循環30次 while(1)
}
a=0;
}
}
作者:
luzhongyi86
時間:
2020-10-26 11:27
#include<reg52.h>
#define uint unsigned int
void delay7ms(void) //延時7m函數
{
unsigned char a,b;
for(b=208;b>0;b--)//循環208次
for(a=14;a>0;a--);//循環4次
}
void delay2ms(void) //延時函數
{
unsigned char a,b;
for(b=80;b>0;b--)//循環80次
for(a=10;a>0;a--);//循環10次
}
void main(void) //運行主函數
{
uint led[10]={0xc0,0xf9,0xa4, 0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//數組變量
uint m,n=0,a=0;};//變量
for(m=0;m<=10;m++) ;};//循環10次
{
while(a<30)//如果a大于30不運行括號內代號
{
if(m==10)
{
m=0;
n++ ;
if(n==10)
n=0;
}
P0=led[m];//P0=數組變量其中一個
P2=0x40;//P2=0x40
delay7ms();//延時
P2=0x00;//
delay2ms();//延時
P0=led[n];//P0=數組變量其中一個
P2=0x80;//
delay7ms();//延時
P2=0x00;
delay2ms();//延時
a++; //A加1
}
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1