|
- //本項目基于金沙灘開發板+ 44E霍爾開關元件 實現
- //功能: 實現利用STC89單片機P33引腳上的霍爾開關引發P33引腳的中斷,
- //實現計數功能,所計數據顯示在LCD顯示屏上
- //實驗時間第12-13周
- //預編譯
- #include <reg52.h>
- #include "LCD.h"
- #include "hall.h"
- #define NUM_LEN 5 //定義顯示長度,共5位,即最大值99999=100000-1,與hall.c文件中對應
- //變量聲明
- unsigned int countN = 0;
- unsigned int oriCountN = -1;
- //主函數
- 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;
- //以下用于刷新顯示
- //將各位上的數字轉化為相應字符串
- 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);
- }
- }
- }
復制代碼 原理圖在http://www.zg4o1577.cn/bbs/dpj-108286-1.html
|
-
-
霍爾計數1.7z
2018-11-29 10:20 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
21.73 KB, 下載次數: 36, 下載積分: 黑幣 -5
基于金沙灘開發板+ 44E霍爾開關元件 實現
|