找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32+LCD12864漢字顯示與定位 時鐘,鬧鐘Proteus仿真程序

  [復制鏈接]
跳轉到指定樓層
#
ID:743843 發(fā)表于 2020-7-3 20:39 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式
師傅所教知識制作了一個LCD12864的屏幕顯示,字模自己軟件下載的,俺們新手,寫的粗糙
期末項目為時鐘的顯示和設定,內(nèi)含鬧鐘
PU原理圖
按鍵:PA0:暫停時鐘
在暫停時鐘后再按一次PA0則開始選擇改變分鐘(反白),繼續(xù)按下PA0開始設置時鐘的改變(反白)
PA1與PA2連用檢測按鍵:數(shù)字的增加
PB0:數(shù)據(jù)的減少
PB1與PB2連用檢測按鍵:確認改變
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)

另外,我現(xiàn)在另添加的鬧鐘的設置,可在運行程序后設置鬧鐘,鬧鐘的設定沒上傳,原理類似
缺點: 1.  日期判定沒有做完,只是進行了簡單的判斷,沒有大月小月的判斷,閏年這類的         2.  時鐘的修改的增加判斷23的時候沒用反白和清屏
修改代碼如下
                   //減少
                     if(Key_Scan(KEY2_GPIO_PORT,KEYB0_GPIO_PIN) == KEY_ON)
                        {
                                                        
                        if(a == 1)
                        {
                         a = a+ 22;                           
                        LCD12864_SeleScreen(LCD12864_Left);
                        LCD12864_Dsp_number1_1(38,3,a);
                        }else
                        {
                        a = a - 1;
                        LCD12864_SeleScreen(LCD12864_Left);
                                                LCD12864_Dsp_12x24_Num(38,3,0xff);
                        LCD12864_Dsp_number1_1(38,3,a);
                        }

                        }
                      //增加
                     if(Key_Scan(KEY1_GPIO_PORT,KEYA1_GPIO_PIN) == KEY_ON)
                        {
                                                        
                        if(a == 23)
                            {
                            ri = ri + 1;
                            a= a * 0+1;
                            LCD12864_SeleScreen(LCD12864_Right);                       
                            LCD12864_Dsp_number_2(35,0, ri);
                            LCD12864_SeleScreen(LCD12864_Left);
                            LCD12864_Dsp_12x24_Num(38,3,0xff);
                            LCD12864_Dsp_number1_1(38,3,a);

                            }else
                            {
                            a = a + 1;
                            LCD12864_SeleScreen(LCD12864_Left);
                            LCD12864_Dsp_12x24_Num(38,3,0xff);
                            LCD12864_Dsp_number1_1(38,3,a);
                            }   
                        }


單片機源程序如下:
  1. #include "stm32f10x.h"   // 相當于51單片機中的  #include <reg51.h>
  2. #include ".\LED\bsp_LED.h"
  3. #include ".\KEY\bsp_key.h"
  4. #include "delay.h"
  5. #include "sys.h"
  6. #include ".\beep\beep.h"


  7. int main(void)
  8. {

  9.     Init();
  10.         led_init();
  11.     key_init();
  12.     BEEP_Init();//喇叭初始化
  13.     play_successful();
  14.    
  15.     LCD12864_Dsp_zhonghe(2020,11,31,7,23,55
  16.     ,1,2);           //年份,月份,日期,星期,小時,分鐘,
  17.     //鬧鐘
  18.     //    LCD12684_Dsp_perture();
  19. //    delay10ms(100);
  20. //    clearScreen(LCD12864_Full);
  21. //    LCD12864_Write_Command(0x3F);
  22. //    LCD12864_Dsp_time(2020);//年份
  23. //    LCD12864_Dsp_time2(11,25);//月份,日期
  24. //    LCD12864_Dsp_time1(5);  //星期  
  25. //    LCD12864_Dsp_shijian(24,58);//小時,分鐘
  26.    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  27.    
  28. //    while(1)
  29. //    {
  30. ////       PlayMusic(); //播放生日快樂
  31. // //      play_music();
  32. //        play_music();
  33. //    }
  34. //   


  35. }
復制代碼
另外我還錄制了視頻  文件太大 發(fā)不上來

所有資料51hei提供下載:
程序+仿真.7z (1.59 MB, 下載次數(shù): 406)

評分

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

查看全部評分

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

使用道具 舉報

6#
ID:743843 發(fā)表于 2021-8-17 15:24 | 只看該作者
花一樣的男子 發(fā)表于 2021-6-19 19:47
樓主,為什么你文件里發(fā)的和你這個貼子照片不一樣呀,能分享一下這張照片的仿真嗎

你把線連一下就好了,可以運行
回復

使用道具 舉報

5#
ID:743843 發(fā)表于 2021-8-17 15:20 | 只看該作者
花一樣的男子 發(fā)表于 2021-6-19 19:47
樓主,為什么你文件里發(fā)的和你這個貼子照片不一樣呀,能分享一下這張照片的仿真嗎

去年的程序了,我源文件已經(jīng)不知道在哪去了,我發(fā)的這個應該可以仿真起的,現(xiàn)在在弄云平臺,抱歉了
回復

使用道具 舉報

地板
ID:496767 發(fā)表于 2021-6-19 19:47 | 只看該作者
樓主,為什么你文件里發(fā)的和你這個貼子照片不一樣呀,能分享一下這張照片的仿真嗎
回復

使用道具 舉報

板凳
ID:753333 發(fā)表于 2020-7-11 21:31 | 只看該作者
hhhlzj 發(fā)表于 2020-7-7 15:40
打不開proteus仿真文件是為什么啊

試試高版本的   (8.9)
回復

使用道具 舉報

沙發(fā)
ID:92810 發(fā)表于 2020-7-7 19:20 | 只看該作者
謝謝分享了,下載下來學習。
回復

使用道具 舉報

樓主
ID:799126 發(fā)表于 2020-7-7 15:40 | 只看該作者
打不開proteus仿真文件是為什么啊
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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