找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5482|回復: 12
打印 上一主題 下一主題
收起左側(cè)

單片機獨立按鍵控制數(shù)碼管的問題

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:413056 發(fā)表于 2018-10-21 12:49 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
為什么我控制不了數(shù)碼管的顯示,開和關只是位置的改變,而且點陣那邊也會亮,請各位前輩解釋一下



#include<reg52.h>
typedef unsigned u8;
typedef unsigned int u16;
sbit LSA=P2^2;
sbit k1=P3^1;
#define LSA P2
u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
     0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(u16 i)
{
while(i--);
}                                                               
void keypros()
{
if(k1==0)
{
  delay(1000);
  if(k1==0)
  {
   LSA=~LSA;
  }
  while(!k1);
}
}
void main()
{ P0=smgduan[6];
while(1)
{
  keypros();
}
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:568662 發(fā)表于 2019-8-2 11:06 | 只看該作者
問題解決了嗎   我也想知道  是為什么
回復

使用道具 舉報

板凳
ID:591400 發(fā)表于 2019-8-2 13:20 | 只看該作者
你不是已經(jīng)讓數(shù)碼管顯示“6”了嗎?不知道你想怎么控制,你查一下原理圖看看位選引腳是哪個,LSA既位定義又宏定義,不知道你想干嘛
回復

使用道具 舉報

地板
ID:511461 發(fā)表于 2019-8-2 14:15 | 只看該作者
如果不想讓點陣模塊顯示,可以將74HC595模塊上的JP595短接片拔掉。
回復

使用道具 舉報

5#
ID:594113 發(fā)表于 2019-8-2 14:41 | 只看該作者
我在遇到類似的問題時,都是看看那個寶上哪家在銷售同樣的板子,然后找客服直接咨詢,通常都能解決問題。
回復

使用道具 舉報

6#
ID:332444 發(fā)表于 2019-8-2 16:36 | 只看該作者
刪除#define LSA P2試看
回復

使用道具 舉報

7#
ID:542209 發(fā)表于 2019-8-2 17:22 | 只看該作者
這個板子的點陣端和數(shù)碼管是連在一起的所以點陣那邊也會亮 應該有短接片讓點陣那邊不再亮
       然后是你的問題——你讓LSA取反完全沒有改變數(shù)碼管的顯示啊 只是讓原先的管腳電平改變了,因為這個管腳是與數(shù)碼管位置有關的管腳 所以這個管腳電平的改變會導致數(shù)碼管顯示位置的改變
回復

使用道具 舉報

8#
ID:591676 發(fā)表于 2019-8-2 18:42 | 只看該作者
這種開發(fā)板帶的戴南鎮(zhèn)和數(shù)碼管是連在一起的,你如果不想讓他們倆同時點亮就需要把74HC595模塊上的JP595短接片拔掉。至于程序問題是出在你的主程序里邊,而且你的數(shù)碼管位定義不完整
回復

使用道具 舉報

9#
ID:235200 發(fā)表于 2019-8-2 18:58 | 只看該作者
數(shù)碼管的顯示要采取動態(tài)顯示方式,即在20ms時間內(nèi)要依次點亮各位數(shù)碼管一次,并按此方法不間斷依次點亮,才可以整體顯示出來,你的程序只用P0=smgduan[6];一條語句點亮了默認的一位,建議你去看一下動態(tài)顯示原理再編寫程序試驗!
回復

使用道具 舉報

10#
ID:594300 發(fā)表于 2019-8-2 19:22 | 只看該作者
sbit LSA=P2^2; sbit k1=P3^1; #define LSA P2    定義重復了把。。
回復

使用道具 舉報

11#
ID:594559 發(fā)表于 2019-8-3 13:25 | 只看該作者
你可以先查看下開發(fā)板原理圖看下是不是因為開發(fā)板的硬件設計把數(shù)碼管和點陣的驅(qū)動引腳相連了,再有就是對于數(shù)碼管的斷選和位選你再好好看下,估計你看完斷選和位選你就知道怎么單獨控制一個數(shù)碼管發(fā)光了
回復

使用道具 舉報

12#
ID:542954 發(fā)表于 2019-8-10 10:16 | 只看該作者
作為一塊開發(fā)板集成了太多的功能,所以不同的模塊會共用引腳,短接片連上右邊的點陣就不會亮了。
位選控制了數(shù)碼管亮的位,并沒有控制數(shù)碼管的八個管腳具體如何亮,你雖然命名了duansmg,但發(fā)送的實際上是位選信號。
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表