?? 靜態顯示.c
字號:
/********************************************************************
* 文件名 : 靜態顯示.c
* 描述 : 該程序為數碼管靜態顯示程序。
每按一次 獨立按鍵 中的 T0,數碼管的值便會加一。
* 創建人 : 東流,2009年4月8日
* 版本號 : 2.0
* 技術支持論壇:www.zidh.com/bbs(請進入“贊助商板塊”中的“東流電子工作室”)
* 感謝“中國自動化資訊網”對本工作室的大力支持。
***********************************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit KEY = P3^4; //獨立按鍵的T0
/*下一行你可以試著把 code 去掉看看試驗結果。 去掉后 table[] 會被存到 RAM 中,因為單片機的 RAM 比 ROM 小的多*/
/*所以,對于不會改變的值應該用 code 或者 #define 去定義,讓這些固定值存到 ROM 中去*/
uchar code table[10] = {0x03, 0x9f, 0x25, 0x0d, 0x99, 0x49, 0x41, 0x1f, 0x01, 0x09};
/*下一行的數組可以顯示數值外,還可以顯示數碼管的點*/
uchar code table_d[10] = {0x02, 0x9e, 0x24, 0x0c, 0x98, 0x48, 0x40, 0x1e, 0x00, 0x08};
/********************************************************************
* 名稱 : Delay()
* 功能 : 延時,延時時間為 10ms * del
* 輸入 : del
* 輸出 : 無
***********************************************************************/
void Delay(uint del)
{
uint i,j;
for(i=0; i<del; i++)
for(j=0; j<1827; j++)
;
}
/********************************************************************
* 名稱 : Main()
* 功能 : 主函數
* 輸入 : 無
* 輸出 : 無
***********************************************************************/
void main()
{
uchar i = 0;
while(1)
{
//P0 = table[i % 10]; //在這里取 i 的個位數,不帶點顯示
P0 = table_d[i % 10]; //帶點顯示
P2 = 0x01;
if(KEY == 0)
{
Delay(2); //軟件消抖,試驗為20ms
if(KEY == 0)
{
i++;
}
Delay(50);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -