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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于stm32的可調(diào)時鐘Proteus仿真程序設計

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:511094 發(fā)表于 2020-3-27 13:15 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)不顯示 求指導

1585285941.jpg (47.78 KB, 下載次數(shù): 132)

1585285941.jpg

1585285978(1).jpg (51.64 KB, 下載次數(shù): 122)

1585285978(1).jpg

1585286000(1).jpg (85.56 KB, 下載次數(shù): 135)

1585286000(1).jpg

proteus仿真圖.zip

101.33 KB, 下載次數(shù): 556

STM32程序.7z

187.83 KB, 下載次數(shù): 595

評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:328014 發(fā)表于 2020-3-28 03:11 | 只看該作者
源程序:
  1. #include "stm32f10x.h"
  2. #include "bsp-lcd1602.h"
  3. #include "delay.h"
  4. #include "sys.h"
  5. #include "adc.h"

  6. void Display_Time(void);

  7. unsigned int nian = 2019;
  8. char yue = 12;
  9. char ri = 1;
  10. char shi = 12;
  11. char fen = 30;
  12. char miao = 30;
  13. unsigned char zhou = 3;
  14. unsigned char tanble[8] = "nyrzsfm";

  15. char Times = 0;

  16. unsigned char KEY_num = 0;

  17. void Key_GPIO_Config(void)
  18. {
  19.         GPIO_InitTypeDef GPIO_InitStructure;
  20.        
  21.         /*開啟按鍵端口(PA)的時鐘*/
  22.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC,ENABLE);
  23.        
  24.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
  25.        
  26.         // IO 口做輸入口時,不用設置輸出頻率
  27.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  28.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  29.        
  30.         GPIO_Init(GPIOA, &GPIO_InitStructure);
  31. }

  32. void KEY_Scan( void )
  33. {
  34.         if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0) == 1 )  
  35.         {         
  36.                 /*等待按鍵釋放 */
  37.                 while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0) == 1);  
  38.                 while(1)
  39.                 {
  40.                         if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0) == 1 )
  41.                         {
  42.                                 while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0) == 1);
  43.                                 KEY_num++;
  44.                                 if( KEY_num > 7 )
  45.                                 {
  46.                                         KEY_num = 0;
  47.                                         break;
  48.                                 }
  49.                         }
  50.                         if(Get_ADC(ADC_Channel_1) > 1000 )  
  51.                         {         
  52.                                 if( KEY_num == 1 )
  53.                                 {
  54.                                         nian++;
  55.                                         if( nian > 2999 )
  56.                                         {
  57.                                                 nian = 0;
  58.                                         }
  59.                                 }
  60.                                 if( KEY_num == 2 )
  61.                                 {
  62.                                         yue++;
  63.                                         if( yue > 12 )
  64.                                         {
  65.                                                 yue = 1;
  66.                                         }
  67.                                 }
  68.                                 if( KEY_num == 3 )
  69.                                 {
  70.                                         ri++;
  71.                                         if( ri > 30 )
  72.                                         {
  73.                                                 ri = 1;
  74.                                         }
  75.                                 }
  76.                                 if( KEY_num == 4 )
  77.                                 {
  78.                                         zhou++;
  79.                                         if( zhou > 7 )
  80.                                         {
  81.                                                 zhou = 0;
  82.                                         }
  83.                                 }
  84.                                 if( KEY_num == 5 )
  85.                                 {
  86.                                         shi++;
  87.                                         if( shi > 23 )
  88.                                         {
  89.                                                 shi = 0;
  90.                                         }
  91.                                 }
  92.                                 if( KEY_num == 6 )
  93.                                 {
  94.                                         fen++;
  95.                                         if( fen > 59 )
  96.                                         {
  97.                                                 fen = 0;
  98.                                         }
  99.                                 }
  100.                                 if( KEY_num == 7 )
  101.                                 {
  102.                                         miao++;
  103.                                         if( miao > 59 )
  104.                                         {
  105.                                                 miao = 0;
  106.                                         }
  107.                                 }
  108.                                 Display_Time();
  109.                         }
  110.                        
  111.                        
  112.                         if(Get_ADC(ADC_Channel_2) >1000 )  
  113.                         {         
  114.                                 if( KEY_num == 1 )
  115.                                 {
  116.                                         nian--;
  117.                                         if( nian < 2000 )
  118.                                         {
  119.                                                 nian = 2999;
  120.                                         }
  121.                                 }
  122.                                 if( KEY_num == 2 )
  123.                                 {
  124.                                         yue--;
  125.                                         if( yue <= 0 )
  126.                                         {
  127.                                                 yue = 12;
  128.                                         }
  129.                                 }
  130.                                 if( KEY_num == 3 )
  131.                                 {
  132.                                         ri--;
  133.                                         if( ri <= 0 )
  134.                                         {
  135.                                                 ri = 30;
  136.                                         }
  137.                                 }
  138.                                 if( KEY_num == 4 )
  139.                                 {
  140.                                         zhou--;
  141.                                         if( zhou <= 0 )
  142.                                         {
  143.                                                 zhou = 7;
  144.                                         }
  145.                                 }
  146.                                 if( KEY_num == 5 )
  147.                                 {
  148.                                         shi--;
  149.                                         if( shi < 0 )
  150.                                         {
  151.                                                 shi = 23;
  152.                                         }
  153.                                 }
  154.                                 if( KEY_num == 6 )
  155.                                 {
  156.                                         fen--;
  157.                                         if( fen < 0 )
  158.                                         {
  159.                                                 fen = 59;
  160.                                         }
  161.                                 }
  162.                                 if( KEY_num == 7 )
  163.                                 {
  164.                                         miao--;
  165.                                         if( miao < 0 )
  166.                                         {
  167.                                                 miao = 59;
  168.                                         }
  169.                                 }
  170.                         }
  171.                         Display_Time();
  172.                 }
  173.         }
  174. }

  175. void Display_Time( void )
  176. {
  177.         LCD1602_WriteCmd( 0x80 );
  178.         LCD1602_WriteDat( ' ' );
  179.         LCD1602_WriteDat( ' ' );
  180.         LCD1602_WriteDat( nian/1000 + 0x30 );
  181.         LCD1602_WriteDat( nian%1000/100 + 0x30 );
  182.         LCD1602_WriteDat( nian%100/10 + 0x30 );
  183.         LCD1602_WriteDat( nian%10 + 0x30 );
  184.         LCD1602_WriteDat( '-' );
  185.         LCD1602_WriteDat( yue/10 + 0x30 );
  186.         LCD1602_WriteDat( yue%10 + 0x30 );
  187.         LCD1602_WriteDat( '-' );
  188.         LCD1602_WriteDat( ri/10 + 0x30 );
  189.         LCD1602_WriteDat( ri%10 + 0x30 );
  190.         LCD1602_WriteDat( ' ' );
  191.         LCD1602_WriteDat( ' ' );
  192.         LCD1602_WriteDat( zhou + 0x30 );
  193.         LCD1602_WriteDat( ' ' );
  194.        
  195.         LCD1602_WriteCmd( 0x80 +0x40 );
  196.         LCD1602_WriteDat( ' ' );
  197.         LCD1602_WriteDat( ' ' );
  198.         LCD1602_WriteDat( ' ' );
  199.         LCD1602_WriteDat( shi/10 + 0x30 );
  200.         LCD1602_WriteDat( shi%10 + 0x30 );
  201.         LCD1602_WriteDat( ':' );
  202.         LCD1602_WriteDat( fen/10 + 0x30 );
  203.         LCD1602_WriteDat( fen%10 + 0x30 );
  204.         LCD1602_WriteDat( ':' );
  205.         LCD1602_WriteDat( miao/10 + 0x30 );
  206.         LCD1602_WriteDat( miao%10 + 0x30 );
  207.         LCD1602_WriteDat( ' ' );
  208.         LCD1602_WriteDat( ' ' );
  209.         LCD1602_WriteDat( ' ' );
  210.         LCD1602_WriteDat( ' ' );
  211.         if( KEY_num != 0 )
  212.         {
  213.                 LCD1602_WriteDat( tanble[KEY_num%10-1] );
  214.         }
  215.         else
  216.         {
  217.                 LCD1602_WriteDat( ' ' );
  218.         }
  219. }

  220. void times( void )
  221. {
  222.         miao++;
  223.         if( miao > 59 )
  224.         {
  225.                 miao = 0;
  226.                 fen++;
  227.                 if( fen > 59 )
  228.                 {
  229.                         shi++;
  230.                         if( shi > 23 )
  231.                         {
  232.                                 shi = 0;
  233.                                 ri++;
  234.                                 if( ri > 30 )
  235.                                 {
  236.                                         ri = 0;
  237.                                         yue++;
  238.                                         if( yue > 12 )
  239.                                         {
  240.                                                 yue = 0;
  241.                                                 nian++;
  242.                                                 if( nian > 2999 )
  243.                                                 {
  244.                                                         nian = 0;
  245.                                                 }
  246.                                         }
  247.                                 }
  248.                         }
  249.                        
  250.                 }
  251.         }
  252. }



  253. int main(void)
  254. {
  255.         delay_init();                     //延時函數(shù)初始化                 
  256.         LCD1602_Init();
  257.         Key_GPIO_Config();
  258.         ADC1_GPIO_Config();
  259.         ADC_Config();

  260.         while(1)
  261.         {
  262.                 KEY_Scan();
  263.                 delay_ms(500);
  264.                 times();
  265.                 Display_Time();
  266.         }
  267. }


復制代碼
回復

使用道具 舉報

板凳
ID:406255 發(fā)表于 2020-5-19 16:08 | 只看該作者
謝謝,一直在找的資料
回復

使用道具 舉報

地板
ID:767850 發(fā)表于 2020-6-3 10:21 | 只看該作者
問一下,如果要添加鬧鐘功能應該怎么做?
回復

使用道具 舉報

5#
ID:769346 發(fā)表于 2020-6-4 17:55 | 只看該作者
謝謝樓主;!!!
回復

使用道具 舉報

6#
ID:771237 發(fā)表于 2020-6-6 15:59 | 只看該作者
謝謝樓主,好人一生平安
回復

使用道具 舉報

7#
ID:771237 發(fā)表于 2020-6-6 16:01 | 只看該作者
謝謝樓主!!
回復

使用道具 舉報

8#
ID:516686 發(fā)表于 2020-6-8 18:01 | 只看該作者
proteus沒有完全仿真出stm32的外部時鐘樹,用systick只會出一堆亂碼。
回復

使用道具 舉報

9#
ID:774108 發(fā)表于 2020-6-9 16:26 來自手機 | 只看該作者
51hei團團 發(fā)表于 2020-3-28 03:11
源程序:

頭文件沒有怎么辦
回復

使用道具 舉報

10#
ID:774108 發(fā)表于 2020-6-9 19:25 來自手機 | 只看該作者
怎么做出來
回復

使用道具 舉報

11#
ID:219315 發(fā)表于 2020-6-10 10:37 | 只看該作者
Proteus可以支持仿真STM32了嗎,樓主用的是哪個版本啊?
回復

使用道具 舉報

12#
ID:540308 發(fā)表于 2020-6-11 16:55 | 只看該作者
太棒了,對我有所啟發(fā),可以多增加一個自定義的顯示屏
回復

使用道具 舉報

13#
ID:774108 發(fā)表于 2020-6-12 11:46 來自手機 | 只看該作者
為什么我運行不成功  好多錯誤
回復

使用道具 舉報

14#
ID:636687 發(fā)表于 2020-6-16 13:30 | 只看該作者
pb口沒有電平是什么情況
回復

使用道具 舉報

15#
ID:781619 發(fā)表于 2020-6-18 08:54 | 只看該作者
這個程序看的還行
回復

使用道具 舉報

16#
ID:781619 發(fā)表于 2020-6-18 09:25 | 只看該作者
PROTUS仿真就是原理圖嗎
回復

使用道具 舉報

17#
ID:781619 發(fā)表于 2020-6-18 09:40 | 只看該作者
有沒有硬件圖啊
回復

使用道具 舉報

18#
ID:784985 發(fā)表于 2020-6-20 14:54 | 只看該作者
問一下,如果要添加鬧鐘功能應該怎么做?
回復

使用道具 舉報

19#
ID:785166 發(fā)表于 2020-6-20 20:29 | 只看該作者
jach09 發(fā)表于 2020-6-10 10:37
Proteus可以支持仿真STM32了嗎,樓主用的是哪個版本啊?

8.6以上版本均可
回復

使用道具 舉報

20#
ID:787359 發(fā)表于 2020-6-24 23:14 | 只看該作者
謝謝大佬
回復

使用道具 舉報

21#
ID:789569 發(fā)表于 2020-6-25 23:02 來自手機 | 只看該作者
我運行沒有錯誤但是時間日期都不顯示,哪位大佬知道怎么辦?
回復

使用道具 舉報

22#
ID:739702 發(fā)表于 2020-6-27 01:02 | 只看該作者
謝謝大佬,挺有用的
回復

使用道具 舉報

23#
ID:582705 發(fā)表于 2020-6-27 09:34 | 只看該作者
感謝大佬分享
回復

使用道具 舉報

24#
ID:791107 發(fā)表于 2020-6-27 17:59 | 只看該作者
15532112031 發(fā)表于 2020-6-12 11:46
為什么我運行不成功  好多錯誤

解決了沒啊,我也是好多錯誤
回復

使用道具 舉報

25#
ID:790610 發(fā)表于 2020-6-27 22:18 | 只看該作者
謝謝~~~大佬 學習
回復

使用道具 舉報

26#
ID:636687 發(fā)表于 2020-6-30 11:11 | 只看該作者
按鈕按半天才出效果,這是哪里的問題
回復

使用道具 舉報

27#
ID:794609 發(fā)表于 2020-7-1 15:18 | 只看該作者
請問,你們問題解決了嘛?

回復

使用道具 舉報

28#
ID:1068392 發(fā)表于 2023-3-26 17:03 | 只看該作者
十年后一起瀟 發(fā)表于 2020-6-25 23:02
我運行沒有錯誤但是時間日期都不顯示,哪位大佬知道怎么辦?

我也想問
回復

使用道具 舉報

29#
ID:316613 發(fā)表于 2024-6-19 11:49 | 只看該作者
屏幕不顯示啊
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91高清视频在线 | 黄色激情毛片 | 国产精品不卡视频 | 91香蕉嫩草 | 99亚洲视频| 黄色片免费| 欧美一区在线视频 | 麻豆一区一区三区四区 | 久久高潮 | 欧美一区免费 | 亚洲一区二区视频 | 黄网站涩免费蜜桃网站 | 欧美日韩一卡二卡 | 婷婷去俺也去 | 四虎午夜剧场 | 午夜视频在线观看视频 | 中文字幕a√ | 久久久久一区二区三区 | 亚洲精品久久久久久一区二区 | 久久久精品网 | 成人在线播放网站 | 国产精品美女久久久久 | 成人免费在线小视频 | 91久久久久 | 色婷婷综合久久久中字幕精品久久 | 午夜精品一区二区三区在线观看 | 亚洲精品视 | 国产女人与拘做视频免费 | 精品一二三 | 伊人网综合在线 | 久草网址| 中国一级特黄毛片大片 | 伊人春色在线观看 | 亚洲欧美中文日韩在线v日本 | 精品一区二区三区在线观看 | 国产一区二区 | 老牛影视av一区二区在线观看 | 久久精品小视频 | 精品自拍视频在线观看 | av 一区二区三区 | 亚洲精品久久久久中文字幕欢迎你 |