|
首先我看了教學(xué)視頻后,估計打算不看源程序就自己編寫一下先
- #include <reg52.h>
- void main()
- {
- P0 = ~0x3f;
- while(1);
- }
復(fù)制代碼 結(jié)果LED 不亮。
對比一下光盤里的源程序,覺得功能實現(xiàn)上沒多大區(qū)別啊。
然后copy源程序來編譯,就得出下面兩種結(jié)果。/**************************************************************************************
* 靜態(tài)數(shù)碼管顯示實驗 *
實現(xiàn)現(xiàn)象:下載程序后數(shù)碼管靜態(tài)顯示0。
注意事項:
***************************************************************************************/
#include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器
typedef unsigned int u16; //對數(shù)據(jù)類型進(jìn)行聲明定義
typedef unsigned char u8;
u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//顯示0~F的值
/*******************************************************************************
* 函 數(shù) 名 : main
* 函數(shù)功能 : 主函數(shù)
* 輸 入 : 無
* 輸 出 : 無
*******************************************************************************/
void main()
{
P0=~smgduan[0];
while(1);
}
HEX 文件1:把源程序copy到我的工程文件里編譯,LED不亮。 - :01000F0022CE
- :03000000020003F8
- :0C000300787FE4F6D8FD75810702000F3D
- :00000001FF
復(fù)制代碼 HEX 文件2: 打開光盤的工程文件編譯。LED 亮。 這是光盤里源程序編譯出來的HEX文件
- :100003003F065B4F666D7D077F6F777C395E797145
- :0100130000EC
- :0A002000900003E493F4F58080FEE5
- :03000000020014E7
- :0C001400787FE4F6D8FD7581070200201B
- :00000001FF
復(fù)制代碼
這是何故?
|
|