#include "pic.h"//包含單片機內部資源預定義
__CONFIG(HS & WDTDIS & LVPDIS);
int Data;
void delay10ms();//延時函式宣告
void DisplayData( unsigned int Data);//顯示函式宣告
void init();//IO口初始化函式宣告
void scan();//按鍵掃描程式宣告
const char TableNumber []= {0b11000000, 0b11111001, 0b10100100,
0b10110000, 0b10011001, 0b10010010, 0b10000010,
0b11111000, 0b10000000, 0b10010000};
************************************************************
/**********************************************************
名稱:main()
**********************************************************/
int main(void)
{
Data=https://bbs.csdn.net/topics/0x00;//開始時候顯示
init(); //呼叫初始化函式
while(1)
{
scan();//呼叫掃描按鍵程式
void DisplayData( unsigned int Data);//顯示函式宣告
}
}
/**********************************************************
名稱:delay10ms()
**********************************************************/
void delay10ms (int m)
{
int i=0,j=0;
for(i=0;i<m;i++)
for (j=0;j<67;j++)
{; }
}
/**********************************************************
名稱:DisplayData()
**********************************************************/
void DisplayData( unsigned int Data)
{
char i=0,j=0,k=0,x=0,Number[5]={0,0,0,0,0}; //Number[0]未用
Number[1]=Data/1000%10; // 千位
Number[2]=Data/100%10; // 百位
Number[3]=Data/10%10; // 十位
Number[4]=Data/1%10; // 個位
for(x=0;x<15;i++)
{
PORTC=k=0x01; // 每次回圈不要忘記k賦初始值
for(j=1;j<=4;j++) // 共需要重繪四個數碼管位置
{
PORTC=k; //設定要點亮的位置
PORTB=TableNumber[Number[j]]; //設定字形
delay10ms(2); // 延時顯示字形,造成視覺暫留現象
k=k<<1; // 左移為顯示下一位置做準備
}
}
}
/**********************************************************
名稱:void scan()
**********************************************************/
void scan()
{
while(1)
{
if(RD0==0) // 檢測到RD0變化
{
delay10ms(40); //在ISIS中的按鈕按下到抬起程序比較長。
// 如果是實際硬體的話,延時10毫秒即可。
if(RD0==0) //這說明SW真的按下了
{
Data++; // 變數Data自加一
}
}
}
}
/**********************************************************
名稱:void init()
**********************************************************/
void init()
{
TRISB=0x00;
TRISC=0x00;
TRISD0=1;
}
uj5u.com熱心網友回復:
雙擊會指向錯誤位置,看起來是你注釋的那一排*****轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/45665.html
標籤:單片機/工控
