久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3549|回復: 8
收起左側

做實驗為什么調試可以運行燒錄就沒辦法顯示了

[復制鏈接]
ID:128019 發表于 2016-6-26 14:53 | 顯示全部樓層 |閱讀模式
做溫度計的實驗
可以在keil上調試全速運行數碼管有顯示
但是  燒錄到單片機就沒辦法了
/******************************************************************
     ** FileName:          溫度測量實驗
         ** Copyright (c) 2000-2011 **** The company technology development department
     ** Creater:
     ** Date:
     ** Modifier: ZQS
     ** Date:     2011-7
     ** Comment:  QQ群:154270214
     ** version:  VER 1.0
********************************************************************/
#include <absacc.h>                                                                        //包含了絕對地址訪問的宏定義
#include <reg51.h>
#define LEDLen 6
#define MODE 0x03
#define CS0809 XBYTE[0xa000]                                                // YC2片選ad0809  定義數組符CS0809的實際含義為XBYTE[0xa000],即實際地址為外部尋址空間中的0xa000
#define CAddr  XBYTE[0xe100]                                                // 8155命令控制字地址
#define OUTBIT XBYTE[0xe101]                                                // 位控制口 8155PA口
#define CLK164 XBYTE[0xe102]                                                // 段控制口(接164時鐘位)8155PB口
#define DAT164 XBYTE[0xe102]                                                 // 段控制口(接164數據位)
#define IN     XBYTE[0xe103]                                                 // 鍵盤讀入口  8155PB口
       
         
unsigned char LEDBuf[LEDLen];                                                  // 顯示緩沖
code unsigned char LEDMAP[] = {                                          // 八段管顯示碼 0-F
0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,       
0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71
};
/*****************************************************************
    ** Function:  Delay
    ** Input: unsigned char CNT
    ** Output:
    ** Description:         延時函數
****************************************************************/
       
void Delay(unsigned char CNT)
        {
unsigned char i;                                                                        //定義一個無符號變量
       
while (CNT-- !=0)                                                                        //while判斷語句
for (i=100; i !=0; i--);                                                        //for循環
        }
/*****************************************************************
    ** Function:        DisplayLED() 數碼管顯示函數
    ** Input:
    ** Output:                
    ** Description:         通過164串入并出輸出數碼管段碼,通過Pos移位操作給出位碼
****************************************************************/       
void DisplayLED()
        {
unsigned char i, j;
unsigned char Pos;
unsigned char LED;
       
Pos = 0x20;                                                                                  // 從左邊開始顯示
for (i = 0; i < LEDLen; i++) {
OUTBIT = 0;                                                                             // 關所有八段管
LED = LEDBuf;
for (j = 0; j < 8; j++) {                                                   //  送164 串入并出高位移出操作
if (LED & 0x80) DAT164 = 1; else DAT164 = 0;//如果高位為一則選擇,輸出dat引腳輸出為高否則為1
CLK164 = CLK164|0x02;                                                                // PB1=1時鐘傳送
CLK164 = CLK164&0xfd;                                                                // PB1=0
LED <<= 1;
  }
OUTBIT = Pos;                                                                                  // 顯示一位八段管
Delay(1);
Pos >>= 1;                                                                                     // 顯示下一位
  }
OUTBIT = 0;                                                                             // 關所有八段管
        }
unsigned char Read0809()
{
  unsigned char i;
  CS0809 = 0;                                                                // 起動 A/D
  for (i=0; i<0x20; i++) ;                                                   // 延時 > 100us
  return(CS0809);                                                            // 讀入結果
}
/*****************************************************************
     ** Function:  main()
     ** Input:
     ** Output:
     ** Description:
****************************************************************/
void main()
{
  
   unsigned char j;
   CAddr= MODE;
   while(1) {                                                                                 //數碼管初始化“H---00”
     LEDBuf[0] = 0Xb8;
     LEDBuf[1] = 0X40;
     LEDBuf[2] = 0X40;
     LEDBuf[3] = 0X40;
     LEDBuf[4] = 0X00;
     LEDBuf[5] = 0X00;
   
  
     LEDBuf[5] = LEDMAP[Read0809() & 0x0f] ;                 //        數碼管個位顯示
     LEDBuf[4] = LEDMAP[Read0809()>>4 & 0x0f] ;                 //        數碼管十位顯示
     for(j=0; j<5; j++)
       DisplayLED();                                                                    //數碼管顯示函數調用
   }
}

回復

使用道具 舉報

ID:128189 發表于 2016-6-26 17:20 | 顯示全部樓層
沒有遇到過。。。
回復

使用道具 舉報

ID:128093 發表于 2016-6-26 18:43 | 顯示全部樓層
keil上數碼管顯示是什么意思?是可以仿真,實際燒入不能不能顯示,那就要看硬件了
回復

使用道具 舉報

ID:7485 發表于 2016-6-26 21:19 | 顯示全部樓層
硬件和軟件是否對應?比如IO口?晶振?
回復

使用道具 舉報

ID:110895 發表于 2016-6-27 06:18 | 顯示全部樓層
MCU是否運行,晶振是否起振。
回復

使用道具 舉報

ID:128019 發表于 2016-6-27 15:53 | 顯示全部樓層
WSHXM 發表于 2016-6-26 18:43
keil上數碼管顯示是什么意思?是可以仿真,實際燒入不能不能顯示,那就要看硬件了

就是使用keil進行硬件仿真的時候 數碼管有顯示
但是燒錄進單片機的時候  數碼管就不顯示了
回復

使用道具 舉報

ID:128308 發表于 2016-6-27 16:36 | 顯示全部樓層
線路是否斷開
回復

使用道具 舉報

ID:128444 發表于 2016-6-28 16:19 | 顯示全部樓層
晶振片是否起振
回復

使用道具 舉報

ID:128454 發表于 2016-6-28 17:20 | 顯示全部樓層
檢擦電路,看是否虛焊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: av三级在线观看 | 亚洲人成人一区二区在线观看 | 精品美女久久久久久免费 | 黄免费观看视频 | 国产在线精品一区二区三区 | 人人人干 | 精品不卡 | 在线第一页 | 国产一伦一伦一伦 | 国产亚洲欧美另类一区二区三区 | 99在线精品视频 | 日韩一 | 国产成人精品网站 | 污污的网站在线观看 | 日韩国产一区二区三区 | 伊人99 | 日本精品一区二区三区在线观看视频 | 国产精品av久久久久久久久久 | 久久久不卡网国产精品一区 | 欧美成人猛片aaaaaaa | 一区影院 | 成人在线一级片 | 特级特黄特色的免费大片 | 日韩欧美在线观看 | 97在线观视频免费观看 | 日韩一区av | 成人综合一区二区 | 神马久久av | 草久网| 国产成人99久久亚洲综合精品 | 97国产一区二区 | 欧美福利在线 | 亚洲aⅴ | 中文一区 | 色频| 精品在线一区 | 国产精品久久久久久一级毛片 | 中文字幕日韩欧美一区二区三区 | 精品99爱视频在线观看 | 日韩在线中文 | 国产综合精品一区二区三区 |