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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3662|回復: 17
打印 上一主題 下一主題
收起左側

求TM1650的程序,最近做了個數碼管驅動的程序,但發現廠家給的程序竟然不行!改了很...

  [復制鏈接]
跳轉到指定樓層
樓主
ID:884042 發表于 2021-7-10 08:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. /*****************************************************************************
  2. *版權信息:
  3. *文 件 名:
  4. *當前版本:V1.0
  5. *MCU 型號:STC12C5608AD
  6. *開發環境:Keil uVision4
  7. *晶震頻率:11.0592MHZ      
  8. *完成日期:2013-07-29
  9. *程序功能:1.上電8段4位共陰數碼管顯示1、2、3、4.
  10.             2.按下K11與DIG1,K12與DIG2 ,K13與DIG3之間的按鍵,數碼管第一位分別顯示5、6、7。
  11. *免責聲明:      
  12. ********************************************************************************/
  13. #include<reg52.h>                                  //MCU頭文件
  14. #include<intrins.h>                                  //包含nop指令頭文件
  15. #define uint unsigned int                          //數據類型宏定義
  16. #define uchar unsigned char                          //數據類型宏定義

  17. #define nop _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();  //宏定義


  18. /********************定義控制端口**********************/
  19. sbit SCL=P3^3;                       //時鐘線
  20. sbit SDA=P3^2;                       //數據線

  21. uchar keya;                             //定義讀出按鍵返回值

  22. /*************1ms延時*晶振11.0592M********************/
  23. void delay(uint n)
  24. {
  25.     uint i;
  26.     while(n--)
  27.     for(i=0;i<550;i++);
  28. }

  29. /**************共陰數碼管顯示0-F**********************/
  30. uchar display[]={0xFF,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E}; //共陰極字段碼

  31. /************ START信號*******************************/
  32. void FZH110_START()
  33. {
  34.    SCL=1;
  35.    SDA=1;
  36.    nop;
  37.    SDA=0;
  38.    nop;
  39.    SCL=0;
  40. }
  41. /******************** STOP信號************************/
  42. void FZH110_STOP()
  43. {
  44.     SDA=0;
  45.     nop;
  46.     SCL=1;
  47.     nop;
  48.     SDA=1;
  49.     nop;
  50.     SCL=0;
  51.     SDA=0;
  52. }
  53. /****************寫1個字節給FZH110********************/
  54. void write_8bit( uchar dat)
  55. {
  56.     uchar i;
  57.     SCL=0;
  58.     for(i=0;i<8;i++)
  59.     {
  60.          if(dat&0x80)
  61.          {
  62.              SDA=1;
  63.              nop;
  64.              nop;
  65.              SCL=1;
  66.              nop;
  67.              nop;
  68.              nop;
  69.              nop;
  70.              nop;
  71.              SCL=0;         
  72.       }
  73.      else
  74.      {
  75.          SDA=0;
  76.          nop;
  77.          nop;
  78.          SCL=1;
  79.          nop;
  80.          nop;
  81.          nop;
  82.          nop;
  83.          nop;
  84.          SCL=0;
  85.    }        
  86.    dat<<=1;         
  87.                 }
  88.                 SDA=1;                        //ACK信號
  89.                 nop;
  90.                 nop;
  91.                 nop;
  92.                 nop;
  93.                 SCL=1;
  94.                 nop;
  95.                 nop;
  96.                 nop;
  97.                 nop;
  98.                 nop;
  99.                 SCL=0;
  100.                 nop;
  101.                 nop;         
  102. }

  103. /**********************讀8bit**************************/
  104. uchar read_8bit()
  105. {
  106.         uchar dat,i;
  107.         SDA=1;
  108.         dat=0;
  109.         for(i=0;i<8;i++)
  110.         {
  111.         SCL=1;                        //時鐘上沿
  112.         nop;
  113.         nop;
  114.         nop;
  115.         dat<<=1;
  116.         if(SDA)
  117.          dat++;
  118.         SCL=0;
  119.         nop;
  120.         nop;
  121.         nop;
  122.         nop;
  123.         }
  124.         SDA=0;                            //ACK信號
  125.         nop;
  126.         nop;
  127.         nop;
  128.         SCL=1;
  129.         nop;
  130.         nop;
  131.         nop;
  132.         nop;
  133.         SCL=0;
  134.         nop;
  135.         
  136.         return dat ;

  137. }
  138. /*******************讀按鍵命令************************/
  139. uchar FZH110_read()
  140. {
  141.         uchar key;
  142.         FZH110_START();
  143.     write_8bit(0x4F);//讀按鍵指令        
  144.         key=read_8bit();
  145.         FZH110_STOP();
  146.         return key;
  147. }
  148. /*****************發送命令信號***********************/
  149. void FZH110_send(uchar date1,uchar date2)
  150. {
  151.          FZH110_START();
  152.         write_8bit(date1);
  153.         write_8bit(date2);
  154.         FZH110_STOP();
  155. }

  156. /*****************顯示函數***********************/
  157. void disp_close()
  158. {
  159.         FZH110_send(0x48,0x01);                     // 開啟顯示模式:8段顯示,1級亮度
  160.         FZH110_send(0X68,display[1]);  //GID1
  161.     FZH110_send(0X6A,display[0]);  //GID2
  162.         FZH110_send(0X6C,display[0]);  //GID3
  163.         FZH110_send(0X6E,display[0]);  //GID4
  164. }


  165. /**************主函數**************************/
  166. void main(void)
  167. {
  168.                                                //上電顯示1、2、3、4
  169.    delay(10);
  170.    
  171.    while(1)
  172.         {   
  173.            disp();
  174.     }
  175. }
復制代碼
最近做了個數碼管驅動的程序,但發現廠家給的程序竟然不行!改了很多地方沒有效果,狀態為:四位數碼管只能顯示同一個數字,顯示了不同的就會花屏,而且亮度怎么改都沒變化,請求各位大佬幫忙找找錯誤的地方!


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:328014 發表于 2021-7-10 14:59 | 只看該作者
論壇搜索一下16504個字可以找到,這個應該可以:http://www.zg4o1577.cn/bbs/dpj-42984-1.html
回復

使用道具 舉報

板凳
ID:213173 發表于 2021-7-10 17:19 | 只看該作者
數碼管會花屏?聞所未聞。論壇有應用實例,搜一搜。
回復

使用道具 舉報

地板
ID:887202 發表于 2021-7-11 09:50 來自手機 | 只看該作者
花屏可能是你的電壓不對,硬件電路有問題,我曾經遇到過
回復

使用道具 舉報

5#
ID:814525 發表于 2021-7-11 10:48 | 只看該作者
/********************共陰數碼管代碼*******************/
u8 code tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};        //0--F。另外你的硬件電路是不是也有問題?

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

6#
ID:584814 發表于 2021-7-12 08:09 | 只看該作者
廠家給的不行就說明廠家不想做生意了,而你改的也不行說明你真的不太懂。
所以,先查硬件問題再找其他問題。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

7#
ID:548551 發表于 2021-7-12 08:57 | 只看該作者
光從程序上來講你這個程序100%出問題啊。 ,
void main(void)
{
                                               //上電顯示1、2、3、4
   delay(10);
   
   while(1)
        {   
           disp();
    }
}
主循環得DISP();里面得函數嵌套的是甚么? 這是程序的問題,
其次你的硬件是不是按長家給的原理圖搭接的。我前兩天也出現了類似的問題, 就是供電的問題,

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

8#
ID:798631 發表于 2021-7-12 11:09 | 只看該作者
器件廠家給的測試程序 很片面的  實際做項目不僅需要掌握更好的編程思路還要有硬件設計能力最起碼要有硬件分析能力。你的問題其實并不大 最起碼程序的流程是對的  仔細解析下你的實驗硬件電路和廠家的電路有哪些出入  會找到問題的

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

9#
ID:934353 發表于 2021-7-12 15:15 | 只看該作者
你確定認真改了嘛,看你這個程序感覺寫得一塌糊涂,首先共陰字斷碼就是錯的,其次你上電顯示1234的那一段程序也是錯的,你的顯示函數不是disp_close()嗎,你主程序都引用錯了,而且你的顯示函數里顯示的是E.和8.,8.,8.,希望你仔細看一下你的程序

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

10#
ID:16255 發表于 2021-7-12 23:00 | 只看該作者
臥槽,看到這個頭像,還以為是我發的帖子呢。。。仔細一看,幸好不是。
回復

使用道具 舉報

11#
ID:16255 發表于 2021-7-12 23:05 | 只看該作者
看到這個頭像,還以為是我發的帖子呢。
仔細一看,原來不是。
順便附上我的TM1650的程序:☆在這里☆
回復

使用道具 舉報

12#
ID:884042 發表于 2021-7-14 11:39 | 只看該作者
張天師 發表于 2021-7-11 10:48
/********************共陰數碼管代碼*******************/
u8 code tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6 ...

之前發現數碼管用成了共陽得了,換成共陰后還是不行
回復

使用道具 舉報

13#
ID:884042 發表于 2021-7-14 11:40 | 只看該作者
man1234567 發表于 2021-7-12 08:09
廠家給的不行就說明廠家不想做生意了,而你改的也不行說明你真的不太懂。
所以,先查硬件問題再找其他問題 ...

我打過電話問了廠家結果廠家說他給的程序也有問題······
回復

使用道具 舉報

14#
ID:884042 發表于 2021-7-14 11:42 | 只看該作者
xqleft 發表于 2021-7-12 08:57
光從程序上來講你這個程序100%出問題啊。 ,
void main(void)
{

你仔細看看程序,我是在這個子函數里直接調用了顯示函數的,廠家給的程序我就只是改了IO地址
回復

使用道具 舉報

15#
ID:884042 發表于 2021-7-14 11:44 | 只看該作者
mengsiu 發表于 2021-7-12 23:05
看到這個頭像,還以為是我發的帖子呢。
仔細一看,原來不是。
順便附上我的TM1650的程序:☆在這里☆

您這個我用了還是不行呀,
回復

使用道具 舉報

16#
ID:884042 發表于 2021-7-16 13:00 | 只看該作者
找到原因了,是芯片出了問題,換了一片就好了
回復

使用道具 舉報

17#
ID:16255 發表于 2021-7-24 17:05 | 只看該作者
xjx51 發表于 2021-7-14 11:44
您這個我用了還是不行呀,

我確定我的程序是可以用的。
http://www.zg4o1577.cn/bbs/dpj-121550-1.html
回復

使用道具 舉報

18#
ID:1064915 發表于 2024-2-7 17:47 | 只看該作者
write_8bit(0x4F);//讀按鍵指令
應該0x49
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 视频在线观看亚洲 | 欧美色人 | 精品中文在线 | 一级毛片视频在线 | 一区二区三区国产好的精 | 成人在线精品视频 | 精品少妇一区二区三区日产乱码 | 久久国产高清 | 97色在线观看免费视频 | 欧美日韩在线免费 | 国产福利二区 | 无码一区二区三区视频 | 国产精品久久久久aaaa九色 | 精品在线观看入口 | 日韩精品一区二区三区在线播放 | 日韩精品专区在线影院重磅 | 亚洲人成人一区二区在线观看 | 日日夜夜免费精品视频 | 久久99蜜桃综合影院免费观看 | 国产高清视频 | av免费网站在线观看 | 男女午夜免费视频 | 国产亚洲精品美女久久久久久久久久 | 久久99久久99精品免视看婷婷 | 欧美成人手机视频 | 懂色一区二区三区免费观看 | 成人av看片| 国产精品亚洲一区二区三区在线观看 | 精品亚洲永久免费精品 | 91精品国产综合久久久久久 | 婷婷福利 | 国产成都精品91一区二区三 | caoporn国产| 精品久久国产 | 91在线第一页 | 91视视频在线观看入口直接观看 | 国产传媒视频在线观看 | 日本手机在线 | 91久色| 精品在线观看一区 | 91精品中文字幕一区二区三区 |