導航:首頁 > 操作系統 > 單片機test1

單片機test1

發布時間:2023-12-16 10:14:22

『壹』 單片機中bit函數如何使用 在什麼情況下使用 舉個例子 如何使用 謝謝

1、可以作為參數傳遞:比如
uchar test(bit flag)
{
if(flag)
{//傳遞來的是1則返回3,否則返回2
return 3;
}
else
{
return 2;
}
}
main()
{
uchar x;
bit flag = 1;

x = test(falg);
}

2、可以作為函數的返回值
bit test1(uchar a,uchar b)
{
if(a>b)
{//如果a>b則返回真,否則返回假
return 1;
}
else
{
return 0;
}
}
main()
{
bit flag;
flag = test1(2,3);
}

C51中沒有位變數指針一說,比如 bit *flag1;的定義就是非法的。除此之外使用中和其它類型沒什麼區別。

應用最多的情況:執行一個函數,只是想知道操作是否成功,這時就可以用bit變數作為返回值,這樣佔用資源少,判斷起來也快。
當然,如果返回值是char型,判斷速度上和bit型差不多,但如果是int型,由於是雙位元組,就要多花些時間了。
追問:
你做過595的程序嗎 那裡用一位數據線輸出8位數據 就用到bit
bit a;
bit testbit(unsigned char a,char n)
{
if(((0x01<<n)&a)==0)
{
return 0;
}else
return 1;
}

『貳』 51單片機按鍵問題,求解決

1)要讓一個程序能夠幾乎立即停止執行,需要在程序的很多地方,關鍵位置上加入判斷語句,以便接收停止命令
2)為了讓程序按原邏輯順序執行,檢測鍵盤的輸入就應該採用中斷方式;
sbit K1=P1^0; //按鍵
char flag=0;
在8051單片機的時鍾頻率為12MHz,用T0定時,10ms中斷一次
void Timer0_init()
{
TMOD |=0x01; //採用16位定時器
TH0 = (65536-10000)/256; //定時器裝初值10000,10ms中斷一次
TL0 = (65536-10000)%256;
EA=1; ET0=1; TR0=1;
}
void timer0() interrupt 1
{
TH0 = (65536-10000)/256; //裝初值10000,10ms中斷一次
TL0 = (65536-10000)%256;
if(k1) flag=1;
}
void test1()
{ if(flag) return; //在關鍵地方都加上此語句,如長時間的循環內部,這樣才能起到立即停止執行的效果;
.......
}
void main()
{
....; //其他初始化代碼
Timer0_init();
while(1)
{
if(!flag) test1();
if(flag) test2();
}

}

閱讀全文

與單片機test1相關的資料

熱點內容
gfx什麼時候支持安卓十一系統 瀏覽:939
壓縮機90兆帕 瀏覽:928
程序員調侃語句 瀏覽:579
不是php函數的是 瀏覽:998
壓縮文件好處 瀏覽:785
3d266期神童三膽計演算法 瀏覽:189
通過愛思助手怎麼下載app 瀏覽:323
vi命令將文件創在桌面上 瀏覽:923
程序員做競價 瀏覽:696
江蘇中小學編程納入課程 瀏覽:730
單純形法包括動態規劃演算法 瀏覽:951
cpdf百度網盤 瀏覽:671
綜合布線工程中配線架的演算法 瀏覽:925
單片機碩士論文 瀏覽:329
股票預測演算法現狀 瀏覽:430
程序員三高 瀏覽:181
pythonfiddle 瀏覽:216
韓信分油總共有幾種演算法 瀏覽:942
程序員思維方案 瀏覽:970
編譯環境要裝c盤嗎 瀏覽:650