|
單片機(jī)源程序如下:
- //開發(fā)板+ 44E霍爾開關(guān)元件 實現(xiàn)
- //功能: 實現(xiàn)利用STC89單片機(jī)P33引腳上的霍爾開關(guān)引發(fā)P33引腳的中斷,
- //實現(xiàn)計數(shù)功能,所計數(shù)據(jù)顯示在LCD顯示屏上
- //實驗時間第12-13周
- //預(yù)編譯
- #include <reg52.h>
- #include "LCD.h"
- #include "hall.h"
- #define NUM_LEN 5 //定義顯示長度,共5位,即最大值99999=100000-1,與hall.c文件中對應(yīng)
- //變量聲明
- unsigned int countN = 0;
- unsigned int oriCountN = -1;
- //主函數(shù)
- void main()
- {
- unsigned char str1[] = " Hall Counter ";
- unsigned char str2[] = " ";
- unsigned char i;
- unsigned int temp;
- EA=1; //開啟總中斷
- hallInit(); //霍爾初始化
- InitLcd1602();
- LcdShowStr(0, 0, str1);
- LcdShowStr(0, 1, str2);
- while(1)
- {
-
- if(oriCountN != countN)
- {
- temp = countN ;
- oriCountN = countN;
- //以下用于刷新顯示
- //將各位上的數(shù)字轉(zhuǎn)化為相應(yīng)字符串
- i = 1;
- do
- {
- str2[NUM_LEN-i] = 0x30 + temp % 10;
- temp /= 10;
- i++;
- }while(i<=NUM_LEN);
- //如果有前置的零,則改為空格
- i=0;
- while(i<NUM_LEN)
- {
- if(str2[i] == '0')
- str2[i] = ' ';
- else
- break;
- i++;
- }
-
- LcdShowStr(0, 1, str2);
- }
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
霍爾計數(shù)1下發(fā).7z
(21.73 KB, 下載次數(shù): 13)
2018-12-18 10:45 上傳
點擊文件名下載附件
123 下載積分: 黑幣 -5
|
|