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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7197|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

proteus8.7+stm32f103+tm1637數(shù)碼管顯示仿真程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:569027 發(fā)表于 2019-9-22 10:48 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
proteus+stm32+tm1637顯示仿真,仿真時數(shù)碼管刷新率太低,數(shù)字一位一位顯示,哪位高手改進一下。


單片機源程序如下:
  1. #include "TM1640.h"
  2. #include "delay.h"

  3. #define DEL  1   //宏定義 通信速率(默認為1,如不能通信可加大數(shù)值)

  4. //地址模式的設(shè)置
  5. //#define TM1640MEDO_ADD  0x40   //宏定義        自動加一模式
  6. #define TM1640MEDO_ADD  0x44   //宏定義 固定地址模式(推薦)

  7. //顯示亮度的設(shè)置
  8. //#define TM1640MEDO_DISPLAY  0x88   //宏定義 亮度  最小
  9. //#define TM1640MEDO_DISPLAY  0x89   //宏定義 亮度
  10. //#define TM1640MEDO_DISPLAY  0x8a   //宏定義 亮度
  11. //#define TM1640MEDO_DISPLAY  0x8b   //宏定義 亮度
  12. #define TM1640MEDO_DISPLAY  0x8c   //宏定義 亮度(推薦)
  13. //#define TM1640MEDO_DISPLAY  0x8d   //宏定義 亮度
  14. //#define TM1640MEDO_DISPLAY  0x8f   //宏定義 亮度 最大

  15. #define TM1640MEDO_DISPLAY_OFF  0x80   //宏定義 亮度 關(guān)



  16. void TM1640_start(){ //通信時序 啟始(基礎(chǔ)GPIO操作)(低層)
  17.         DIO_1;
  18.         delay_us(DEL);
  19.         CLK_1        ;
  20.         delay_us(DEL);
  21.         DIO_0;
  22.         delay_us(DEL);
  23.         CLK_0        ;
  24.         delay_us(DEL);
  25. }
  26. void TM1640_stop(){ //通信時序 結(jié)束(基礎(chǔ)GPIO操作)(低層)
  27.         CLK_0        ;
  28.         delay_us(DEL);
  29.         DIO_0;
  30.         delay_us(DEL);
  31.         CLK_1        ;       
  32.         delay_us(DEL);
  33.         DIO_1;
  34.         delay_us(DEL);
  35. }
  36. void TM1640_write(u8 date){        //寫數(shù)據(jù)(低層)
  37.         u8 i;
  38.         u8 aa;
  39.         aa=date;
  40. //        GPIO_WriteBit(TM1640_GPIOPORT,TM1640_DIN,(BitAction)(0)); //接口輸出0       
  41. //        GPIO_WriteBit(TM1640_GPIOPORT,TM1640_SCLK,(BitAction)(0)); //接口輸出0       
  42.         for(i=0;i<8;i++){
  43.                 CLK_0        ;       
  44.                 delay_us(DEL);

  45.                 if(aa&0x01){
  46.                         DIO_1;
  47.                         delay_us(DEL);
  48.                 }else{
  49.                         DIO_0;
  50.                         delay_us(DEL);
  51.                 }
  52.                 CLK_1        ;               
  53.                 delay_us(DEL);
  54.                 aa=aa>>1;
  55.    }
  56. //        GPIO_WriteBit(TM1640_GPIOPORT,TM1640_DIN,(BitAction)(0)); //接口輸出0       
  57. //        GPIO_WriteBit(TM1640_GPIOPORT,TM1640_SCLK,(BitAction)(0)); //接口輸出0       
  58.          
  59.          
  60.          CLK_0        ;       
  61.                     delay_us(DEL);
  62. //       DIO_1;
  63. //        delay_us(DEL);
  64.         CLK_1        ;                       
  65.               delay_us(DEL);
  66.                     while(GPIO_ReadInputDataBit(TM1640_GPIOPORT ,TM1640_DIN) == 0x01);
  67. //delay_us(DEL);delay_us(DEL);delay_us(DEL);delay_us(DEL);delay_us(DEL);delay_us(DEL);delay_us(DEL);
  68. }

  69. void TM1640_Init(void){ //TM1640接口初始化
  70.         GPIO_InitTypeDef  GPIO_InitStructure;        
  71.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC,ENABLE);      
  72.     GPIO_InitStructure.GPIO_Pin = TM1640_DIN | TM1640_SCLK; //選擇端口號(0~15或all)                        
  73.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //選擇IO接口工作方式      
  74.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //設(shè)置IO接口速度(2/10/50MHz)   
  75.         GPIO_Init(TM1640_GPIOPORT, &GPIO_InitStructure);

  76.                 DIO_1; //接口輸出高電平1       
  77.         CLK_1        ;                //接口輸出高電平1       
  78.         TM1640_start();
  79.         TM1640_write(TM1640MEDO_ADD); //設(shè)置數(shù)據(jù),0x40,0x44分別對應(yīng)地址自動加一和固定地址模式
  80.         TM1640_stop();
  81.         TM1640_start();
  82.         TM1640_write(TM1640MEDO_DISPLAY); //控制顯示,開顯示,0x88,  0x89,  0x8a,  0x8b,  0x8c,  0x8d,  0x8e,  0x8f分別對應(yīng)脈沖寬度為:
  83.                                                                            //------------------1/16,  2/16,  4/16,  10/16, 11/16, 12/16, 13/16, 14/16         //0x80關(guān)顯示
  84.         TM1640_stop();       
  85.                                
  86. }

  87. void TM1640_display(u8 address,u8 date){ //固定地址模式的顯示輸出
  88.         const u8 buff[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0x00};//數(shù)字0~9及0~9加點顯示段碼表
  89.     //---------------   0    1    2    3    4    5    6    7    8    9    0.   1.   2.   3.   4.   5.   6.   7.   8.   9.   無   
  90.    TM1640_start();
  91.    TM1640_write(0xC0+address);                 //傳顯示數(shù)據(jù)對應(yīng)的地址
  92.    TM1640_write(buff[date]);                                 //傳1BYTE顯示數(shù)據(jù)
  93.          TM1640_stop();
  94. }
  95. void TM1640_display_add(u8 address,u8 date){        //地址自動加一模式的顯示輸出
  96.         u8 i;
  97.         const u8 buff[21]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0x00};//數(shù)字0~9及0~9加點顯示段碼表
  98.     //---------------   0    1    2    3    4    5    6    7    8    9    0.   1.   2.   3.   4.   5.   6.   7.   8.   9.   無   
  99.   TM1640_start();
  100.    TM1640_write(0xC0+address);                 //設(shè)置起始地址
  101.    for(i=0;i<4;i++){
  102.       TM1640_write(buff[date]);
  103.    }
  104.    TM1640_stop();
  105. }


  106. /*********************************************************************************************
  107. * 杜洋工作室
  108. * 洋桃電子
  109. *********************************************************************************************/
復(fù)制代碼

所有資料51hei提供下載:
數(shù)碼管顯示程序.zip (368.59 KB, 下載次數(shù): 246)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:46475 發(fā)表于 2019-10-13 20:19 | 只看該作者
感謝分享。。。。。。。。。。。
回復(fù)

使用道具 舉報

板凳
ID:276703 發(fā)表于 2020-1-1 17:15 | 只看該作者
感謝分享  學(xué)習(xí)下這個方法
回復(fù)

使用道具 舉報

地板
ID:352886 發(fā)表于 2020-4-25 10:02 | 只看該作者
文件都打不開
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区二区在线观看 | 在线一区二区观看 | 在线a视频 | 亚洲人久久 | 成人av电影天堂 | 能看的av| 91爱啪啪 | 99热热精品 | 国产精品美女久久久久久久久久久 | 久操av在线 | 久久精品一区二区三区四区 | 91国内产香蕉 | 亚洲一区二区三区在线免费 | 中文字幕的av | 成人精品福利 | 中文字幕乱码视频32 | 在线免费av电影 | 国产黄色一级片 | 男人久久天堂 | 精品国产欧美一区二区三区成人 | 黑人一级片视频 | 亚洲精品久久嫩草网站秘色 | 中文字幕亚洲一区 | 久久99久久98精品免观看软件 | 亚洲一区毛片 | 精品亚洲一区二区 | 亚洲人成网亚洲欧洲无码 | 在线亚洲电影 | 夜夜夜久久 | 不用播放器看的av | 国产电影一区二区 | 自拍偷拍中文字幕 | 四虎在线观看 | 国产精品美女久久久久久免费 | m豆传媒在线链接观看 | 日本精品一区二区 | 欧美aⅴ在线观看 | 国内精品视频在线 | 99久久久国产精品免费消防器 | 久久国产精品一区二区三区 | 91精品国产91久久综合桃花 |