找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6189|回复: 3
打印 上一主题 下一主题
收起左侧

STM32控制AMPIRE12864屏幕Proteus仿真+代码

[复制链接]
跳转到指定楼层
楼主
这个项目是前段时间,要使用LCD12864的时候写的。用STM32和AMPIRE12864做的仿真,用Proteus(Proteus8.7及以上版本元件库有STM32)中元件做的仿真。代码纯手动创作,端口操作用了位带操作,可以把STM32像51单片机一样来操作。写了基本的字符显示函数,没有加入中文字库,我用的是8x8像素的英文字符集。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. /***********************************************/
  2. //实验名称:12864液晶实验
  3. /***********************************************/

  4. #include "config.h"


  5. int main(void)
  6. {               
  7. //        int i=0,j=0;
  8. //        int count=0;
  9.         Stm32_Clock_Init(9);//系统时钟设置
  10.         delay_init(72);                  //延时初始化
  11.         //LED_Init();                            //初始化与LED连接的硬件接口
  12.         Init_12864();       //初始化带字库12864液晶

  13.        
  14. //        Display_string(0,0,"  单片机综合设计");         //显示第1行
  15. //  Display_string(0,1,"  STM32 TEST   ");         //显示第2行
  16. //  Display_string(0,2,"字库液晶测试实验");         //显示第3行
  17. //  Display_string(0,3,"  2018.03   ");         //显示第4行
  18.        
  19.        
  20. //                LCD_P6x8Str(1,0,"This is a test");
  21. //                LCD_DispACat(2,90);
  22. //                LCDClearScreen(LeftScreen);
  23. //                LCDSelectScreen(LeftScreen);
  24. //                LCDSetLine(0);
  25. //                LCDSetColumn(0);
  26. //                for (i=0;i<8;i++)
  27. //                {LCDSetPage(i);
  28. //                        for (j=0;j<64;j++)
  29. //                        {
  30. //                                write_12864data(LongMao[i][j]);
  31. //                        }
  32. //                }
  33. //LCD_P6x8Str(2,0,"                     ");
  34.         LCD_P6x8Str(2,0,"   User:");
  35.         LCD_P6x8Str(3,0,"    Pw :");
  36.         //LCD_P6x8Str(4,0,"    User");
  37.         while(1)
  38.         {
  39.                 //LED0=!LED0;       //指示灯闪烁
  40.                 if (Read_Key() == APP_Success)//按键刷新
  41.                 {
  42.                                 LCD_P6x8Str(7,0,"APP_Success");
  43.                                 LCD_P6x8Str(8,0,"        ");
  44.                                 DisplayKeyValue();
  45.                 }
  46.                 else
  47.                 {
  48.                         LCD_P6x8Str(8,0,"APP_Error");
  49.                 }
  50.                
  51.                 delay_ms(10);
  52.         }         
  53. }
复制代码

所有资料51hei提供下载:
STM32+AMPIRE12864.7z (141.22 KB, 下载次数: 207)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:484657 发表于 2019-5-19 01:15 | 只看该作者
请问一下,图片中pw:显示的数字 是通过按键来显示的吗,下载了以后按键没有反应。谢谢。
回复

使用道具 举报

板凳
ID:545363 发表于 2019-5-27 22:29 | 只看该作者
小白一个,请问运行报错什么原因Could not open ELF file 'C:\Users\ysh\AppData\Local\Temp\VSM Studio\68dd1dfc4a354131bc71baf2358200a3\STM32F103C6\Debug\Debug.elf'. [U1_CM3CORE]
回复

使用道具 举报

地板
ID:725714 发表于 2020-4-14 15:45 | 只看该作者
很厉害,验证通过,可能是PROTEUS的版本问题,造成按键按下后,不能实现在显示屏显示,我用的是8.9版本
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表