找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

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

查看數(shù): 11032 | 評論數(shù): 28 | 收藏 20
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2020-3-27 13:15

正文摘要:

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)不顯示 求指導

回復

ID:316613 發(fā)表于 2024-6-19 11:49
屏幕不顯示啊
ID:1068392 發(fā)表于 2023-3-26 17:03
十年后一起瀟 發(fā)表于 2020-6-25 23:02
我運行沒有錯誤但是時間日期都不顯示,哪位大佬知道怎么辦?

我也想問
ID:794609 發(fā)表于 2020-7-1 15:18
請問,你們問題解決了嘛?

ID:636687 發(fā)表于 2020-6-30 11:11
按鈕按半天才出效果,這是哪里的問題
ID:790610 發(fā)表于 2020-6-27 22:18
謝謝~~~大佬 學習
ID:791107 發(fā)表于 2020-6-27 17:59
15532112031 發(fā)表于 2020-6-12 11:46
為什么我運行不成功  好多錯誤

解決了沒啊,我也是好多錯誤
ID:582705 發(fā)表于 2020-6-27 09:34
感謝大佬分享
ID:739702 發(fā)表于 2020-6-27 01:02
謝謝大佬,挺有用的
ID:789569 發(fā)表于 2020-6-25 23:02
我運行沒有錯誤但是時間日期都不顯示,哪位大佬知道怎么辦?
ID:787359 發(fā)表于 2020-6-24 23:14
謝謝大佬
ID:785166 發(fā)表于 2020-6-20 20:29
jach09 發(fā)表于 2020-6-10 10:37
Proteus可以支持仿真STM32了嗎,樓主用的是哪個版本。

8.6以上版本均可
ID:784985 發(fā)表于 2020-6-20 14:54
問一下,如果要添加鬧鐘功能應該怎么做?
ID:781619 發(fā)表于 2020-6-18 09:40
有沒有硬件圖啊
ID:781619 發(fā)表于 2020-6-18 09:25
PROTUS仿真就是原理圖嗎
ID:781619 發(fā)表于 2020-6-18 08:54
這個程序看的還行
ID:636687 發(fā)表于 2020-6-16 13:30
pb口沒有電平是什么情況
ID:774108 發(fā)表于 2020-6-12 11:46
為什么我運行不成功  好多錯誤
ID:540308 發(fā)表于 2020-6-11 16:55
太棒了,對我有所啟發(fā),可以多增加一個自定義的顯示屏
ID:219315 發(fā)表于 2020-6-10 10:37
Proteus可以支持仿真STM32了嗎,樓主用的是哪個版本啊?
ID:774108 發(fā)表于 2020-6-9 19:25
怎么做出來
ID:774108 發(fā)表于 2020-6-9 16:26
51hei團團 發(fā)表于 2020-3-28 03:11
源程序:

頭文件沒有怎么辦
ID:516686 發(fā)表于 2020-6-8 18:01
proteus沒有完全仿真出stm32的外部時鐘樹,用systick只會出一堆亂碼。
ID:771237 發(fā)表于 2020-6-6 16:01
謝謝樓主!
ID:771237 發(fā)表于 2020-6-6 15:59
謝謝樓主,好人一生平安
ID:769346 發(fā)表于 2020-6-4 17:55
謝謝樓主;。!
ID:767850 發(fā)表于 2020-6-3 10:21
問一下,如果要添加鬧鐘功能應該怎么做?
ID:406255 發(fā)表于 2020-5-19 16:08
謝謝,一直在找的資料
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. }


復制代碼

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

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

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