12743|50

3714

帖子

0

资源

版主

5分钟搭建你的三按键和12864多级菜单

 
把以前的51程序整理一下奉献给大家.业余时间慢慢来不要着急哦

程序功能介绍:
1:可支持st7920串口模式8位并行模式,1602液晶显示(1602的4位模式以后加),驱动函数和功能函数分离,io接口及功能以宏的形式定义方便修改。
2:字符和各类型数据显示函数(u8 u16 s8 s16 u32 s32 float 十六进制显示)
3:7920图形操作显示RAM或ROM图片
4:3个按键的驱动程序,按键抬起、按下、长按键的判断处理。
5:菜单操作包含多级菜单组织,上下滚屏,选中和返回操作函数实现,包含常用的函数比如3按键置数,输入字符转换。
6:库文件形式组织按键和液晶,不的函数不占用ROM存储。
7:综合演示

lcd和51板.jpg

7920lcd.jpg

使用前要更新c51的一个bug,详见http://bbs.ednchina.com/BLOG_ARTICLE_1971431.HTM,我一直以为屏有问题一遇到"数"这个字就出毛病.今天才解决.

程序硬件环境和说明:
stc12C5A60S2实际没有使用stc任何特殊寄存器,应该和51兼容(其它51没有测试).晶振频率18.4M,换用其它晶振请考虑对按键扫描函数的消抖时间影响详细修改参考key.h, 更低的频率对lcd没有影响,高的频率可能会影响lcd的时序而无法运行.按键io使用P2^2,P2^3,P2^4,在key.h中修改.lcd使用P0八位连接DB0~7,rs = P1^0;lcd_rw = P1^1lcd_en = P1^2;库中使用的是8位并行模式,修改io连接或模式需要重新编译库工程.

程序软件只使用了3个按键,其它没有用,提供各种功能的演示,图形部分演示暂缺.

菜单部分按你的需要修改menu1.c就可以了,修改包括三部分
1:meun_1_X是主菜单和各菜单项选中时显示的字符,这里需要注意每个全角字符必需占据u16对齐的位置,不然会乱码.
2:menu_1_X_fun是此菜单项被选中时执行的函数,按着演示的代码写就行了.
3:结构体Menu1_Item照着描就行了,其它都在库里提供了.
4:main.c中有一个Task_Run的函数,菜单程序调用时会不断调用这个函数以驱动单片机运行,如果你有需要不断执行的程序放到这个函数里,比如ADC触发等等,这个函数不要换别的名字。

附件1:12864演示
附件2:库函数源码

程序肯定有bug,以后改了我会再发新的。

[ 本帖最后由 huo_hu 于 2013-12-10 11:39 编辑 ]
此帖出自51单片机论坛

lcd7920_menu_3Key_20131208.rar

101.75 KB, 下载次数: 860

LCD.rar

44.74 KB, 下载次数: 209

售价: 1 枚芯币  [记录]

点评

我瑞萨活动中用的就是ST7920,关注一下,想看一下你的程序对ST7920优化到什么程度。我的画面里面有好多位反显,所以只能用的是图片模式,原因你知道的。 http://bbs.eeworld.com.cn/thread-420570-1-1.html  详情 回复 发表于 2013-12-5 15:32

回复

3001

帖子

260

资源

五彩晶圆(高级)

回复 楼主huo_hu 的帖子

我瑞萨活动中用的就是ST7920,关注一下,想看一下你的程序对ST7920优化到什么程度。我的画面里面有好多位反显,所以只能用的是图片模式,原因你知道的。
http://bbs.eeworld.com.cn/thread-420570-1-1.html

点评

是的,我用的自定字符,没用反白  详情 回复 发表于 2013-12-5 16:20

回复

3714

帖子

0

资源

版主

回复 4楼ltbytyn 的帖子

是的,我用的自定字符,没用反白

点评

咱们的那就差不多,期待中。。。。。。。。。。  详情 回复 发表于 2013-12-5 16:43

回复

3001

帖子

260

资源

五彩晶圆(高级)

回复 5楼huo_hu 的帖子

咱们的那就差不多,期待中。。。。。。。。。。

回复

378

帖子

0

资源

五彩晶圆(中级)

期待楼主继续!!

回复

66

帖子

0

资源

一粒金砂(中级)

坐等综合测试的成果

回复

1777

帖子

0

资源

五彩晶圆(初级)

期待下文

回复

3714

帖子

0

资源

版主

做了一些演示程序,欢迎亲们测试.

回复

253

帖子

0

资源

一粒金砂(中级)

犀利的

回复

29

帖子

2

资源

一粒金砂(中级)

学习ing

回复

23

帖子

2

资源

一粒金砂(初级)

谢谢分享!!!!!!!!!

回复

2

帖子

0

资源

一粒金砂(中级)

感谢分享,下载学习一下

回复

11

帖子

0

资源

一粒金砂(初级)

学习下            

回复

1

帖子

0

资源

一粒金砂(初级)

好东西,谢啦

回复

2

帖子

0

资源

一粒金砂(初级)

两个下载内容一样。一个免费,一个收费,初学者,下载学习

点评

第二个是 LCD_Driver.LIB的源码  详情 回复 发表于 2014-5-24 22:39

回复

3714

帖子

0

资源

版主

bmz7869737 发表于 2014-5-24 21:22
两个下载内容一样。一个免费,一个收费,初学者,下载学习


第二个是
LCD_Driver.LIB的源码

回复

21

帖子

0

资源

一粒金砂(初级)


感谢分享

回复

2

帖子

0

资源

一粒金砂(初级)

我说呢  为什么好多时候出现乱码。。。。

回复

15

帖子

0

资源

一粒金砂(初级)

认真学习,天天下工商!

回复

3

帖子

1

资源

一粒金砂(初级)

学习下!

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

关闭
站长推荐上一条 1/6 下一条

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表