程序正常編譯后生成hex文件,但是燒錄后開發板無反應,其他程序測試都是正常工作的,這次發出來是想看看大家的見解,有沒有不一樣的看法。不吝賜教,互相學習。
以下是電路圖和程序。
51hei圖片20220326170251.png (193.05 KB, 下載次數: 72)
下載附件
2022-3-26 17:03 上傳
51hei圖片20220326170255.png (69.74 KB, 下載次數: 72)
下載附件
2022-3-26 17:03 上傳
51hei圖片20220326170258.png (62.99 KB, 下載次數: 77)
下載附件
2022-3-26 17:03 上傳
名稱:單個共陽數碼管動態顯示變化數字
內容:通過循環檢測P1口按鍵輸入值,然后用數碼管輸出,
沒有按鍵按下時原值不變
------------------------------------------------*/
#include<reg52.h> //包含頭文件,一般情況不需要改動,
//頭文件包含特殊功能寄存器的定義
unsigned char code dofly_table[10]={
0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,}; // 顯示數值表0-9
/*------------------------------------------------
主函數
------------------------------------------------*/
void main (void)
{
while (1) //主循環
{
switch(P3) //P3口作為獨立按鍵輸入端,檢測端口電平并做如下判斷
{
case 0xfe:P1=dofly_table[1];break;//0xfe = 1111 1110,說明連接在P3.0端口的按鍵被按下,顯示對應的數字然后跳出循環
case 0xfd:P1=dofly_table[2];break;//調用表中的第三個元素 0xa4 下標 0 才表示數組中的第一個元素
case 0xfb:P1=dofly_table[3];break;
case 0xf7:P1=dofly_table[4];break;
case 0xef:P1=dofly_table[5];break;
case 0xdf:P1=dofly_table[6];break;
case 0xbf:P1=dofly_table[7];break;
case 0x7f:P1=dofly_table[8];break;
default:break; //如果都沒按下,直接跳出
}
//主循環中添加其他需要一直工作的程序
}
}
|