发新帖本帖赏金 1.00元(功能说明)我要提问
返回列表
打印
[程序源码]

单片机开发10年,单片机例程从易到难连载分享

[复制链接]
楼主: 吴鉴鹰
手机看帖
扫描二维码
随时随地手机跟帖
121
直接给文件好吗

使用特权

评论回复
122
创隆电子| | 2015-6-16 22:53 | 只看该作者
直接给文件可以吗?复制粘贴出来乱七八糟

使用特权

评论回复
123
吴鉴鹰|  楼主 | 2015-6-17 08:44 | 只看该作者
创隆电子 发表于 2015-6-16 22:53
直接给文件可以吗?复制粘贴出来乱七八糟

直接看就可以了,复制再多如果不看也是枉然。

使用特权

评论回复
124
吴鉴鹰|  楼主 | 2015-6-17 16:59 | 只看该作者
第七讲:单片机驱动12864多级菜单设计(一)——原理图





吴鉴鹰单片机项目之12864多级菜单设计.pdf (118.88 KB)


使用特权

评论回复
125
林中木| | 2015-6-17 20:53 | 只看该作者
战神LEBRON 发表于 2015-4-7 23:20
全局变量和局部变量最好不要取同名吧,容易搞混

支持

使用特权

评论回复
126
吴鉴鹰|  楼主 | 2015-6-17 21:24 | 只看该作者

谢谢每一个支持的人:lol

使用特权

评论回复
127
吴鉴鹰|  楼主 | 2015-6-18 15:30 | 只看该作者
samxyl_520 发表于 2015-6-7 11:17
不错的,学习了。

**学下去,你将收获良多:handshake

使用特权

评论回复
128
创隆电子| | 2015-6-23 07:09 | 只看该作者
不是这个,是你以前的单片机学的哪些

使用特权

评论回复
129
吴鉴鹰|  楼主 | 2015-6-23 16:08 | 只看该作者
创隆电子 发表于 2015-6-23 07:09
不是这个,是你以前的单片机学的哪些

我学习的资料太多了,这个可没有整理。

使用特权

评论回复
130
吴鉴鹰|  楼主 | 2015-7-1 10:39 | 只看该作者

第八讲:单片机驱动12864多级菜单设计(二)——主程序设计


/******************************************************
**作品:LCD12864多级菜单设计                                                           
**申明:转载请标明作品来源 知识产权归作者本人所有!                                                                                       
** 功能描述:  LCD12864多级菜单设计   
** 液晶:Proteus元件库—AMPIRE128X64(无字库)              
** 作 者:    吴鉴鹰
** 日 期:     14.06.12
**作者所属单位:鉴鹰电子工作室
**交流QQ群: 第一群:198387118   第二群: 239316959   联系QQ:1811728618
** 更多内容可以关注微信公众号:单片机精讲吴鉴鹰  微信号:wujianying_danpianji
**申明:转载请标明作品来源 知识产权归作者吴鉴鹰所有!
#include"inc/ComCtrol.h"
#include"inc/Uart_Function.h"
#include"inc/Short_variabledefine.h"
#include"inc/WjMath_Fun.h"
#include<reg51.h>
#include"inc/Menu_Function_Display.h"
#include"inc/Key_Function.h"
#include"inc/Com_Diaplay_Function.h"
#include"inc/Menufun_Array.h"
#include"inc/Lcd_12864_Function.h"
#include "inc/1302.h"
//#include"inc/main.h"
extern uFlag Menu_SysFlag;
extern U8 KeyVal;
extern U8 MenuIndexSaved;
extern sMenuItem *pMenuSelect;
extern code sMenuItem MenuRoot_L1[4];
extern code sMenuItem Homepage[4];
extern U8 code ascii[][32];
extern char datastring[13];   ////存放时间的数组
extern sMenuItem *pMenuSelect;//定义了一个结构体数组指针
extern U8 code Hour[];
extern U8 Chao_Flag;
U8  Display_Time_Flag;
U8  Cun_Sec_B;

systemtime realtime;

#define _DEBUG
#ifdef _DEBUG

/*************************************************************
** 函数名称:void main()
** 功能描述: 主函数        
** 输 入:   
** 输 出:  
**         
** 全局变量:
** 调用模块:
**备注:
** 作 者:    吴鉴鹰
** 日 期:     14.06.12
**************************************************************/
void main()
{
        Menu_Init();

        Lcd_Clear_Screen(2);
        Lcd_Init_Fun();
        Display_Time_Flag = 0;
        Cun_Sec_B = datastring[11]+1;

        Chao_Flag = 0;

        /*while(1)
        {
                        Get_Time_Function(&realtime);
                        
                        Lcd_12864_Function_SendString(1,0, 0, ascii[datastring[0]]);
                        Lcd_12864_Function_SendString(1,0, 1, ascii[datastring[1]]);
                        Lcd_12864_Function_SendString(1,1, 2, ascii[datastring[2]]);
                        Lcd_12864_Function_SendString(1,1, 3, ascii[datastring[3]]);
                        Lcd_12864_Function_SendString(1,2, 4, ascii[datastring[4]]);
                        Lcd_12864_Function_SendString(1,2, 5, ascii[datastring[5]]);
                        Lcd_12864_Function_SendString(1,3, 6, ascii[datastring[6]]);
                        Lcd_12864_Function_SendString(1,3, 7, ascii[datastring[7]]);

         }*/
        //更新屏幕内容
        Menu_SysFlag.Bits.is_ScreenChanged = 1;        

        while (1)
        {
                Key_Get_Value();
                Get_Time_Function(&realtime);
               
                if(((pMenuSelect->MenuTittle) == Hour)&&(Cun_Sec_B != datastring[11]))
                {
                    Display_Time_Flag = 1;
                    Cun_Sec_B = datastring[11];
                }
                else
                {
                    Display_Time_Flag = 0;
                }

                //处于配置菜单模式
                if (Menu_SysFlag.Bits.is_InConfig)
                {
                     Delay_1ms_Function(10);
               
                         Menu_Main();
                }
                //设置进入配置模式标志
                else if ((!Menu_SysFlag.Bits.is_InConfig)&&(Menu_SysFlag.Bits.is_KeyPressed)&&(KeyVal == KEY_ENTER))
                {
                        Menu_SysFlag.Bits.is_InConfig = 1;
                        KeyVal = 0x00;
                        MenuIndexSaved = 0x00;
                        pMenuSelect = MenuRoot_L1;//把结构体数组的首地址传输给指针
                }
                //处于显示模式,根据标志刷新显示内容
                else if ((!Menu_SysFlag.Bits.is_InConfig)&Menu_SysFlag.Bits.is_ScreenChanged)
                {
                    //Menu_SysFlag.Bits.is_ScreenChanged = 0;
                    //Lcd_Clear_Screen(2);
                    //etOnOff(0);                //关显示
                        ShowHomepage();
                    Lcd_SetOnOff(1);
                 }
        }
        while (1);               
}
#endif


使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
ningling_21 + 2 很给力!
131
shenqihao| | 2015-7-2 15:28 | 只看该作者
看看,学习下,挺不错的

使用特权

评论回复
132
吴鉴鹰|  楼主 | 2015-7-4 08:48 | 只看该作者
shenqihao 发表于 2015-7-2 15:28
看看,学习下,挺不错的

谢谢你的支持,我会持续分享的。

使用特权

评论回复
133
janock| | 2015-7-4 09:26 | 只看该作者
好评

使用特权

评论回复
134
ywlzh| | 2015-7-4 12:38 | 只看该作者
吴鉴鹰 发表于 2015-4-7 14:33
第二讲:【愚人节特别奉献】今天被自己愚弄了一把,一个粗心大意引发的BUG,细节决定成败

导读今天吴鉴鹰 ...

没有一个好的编程习惯所导致的结果,为何要让全局变量与局部变量以同一个命名

使用特权

评论回复
135
吴鉴鹰|  楼主 | 2015-7-4 15:22 | 只看该作者
ywlzh 发表于 2015-7-4 12:38
没有一个好的编程习惯所导致的结果,为何要让全局变量与局部变量以同一个命名 ...

我们是有一套标准的程序命名方法的,程序命名规则非常巧合的让这两个变量相同了,在实际项目是程序量是十几万行的,这个我只是举一个例子说明而已。

使用特权

评论回复
136
ywlzh| | 2015-7-5 11:34 | 只看该作者
吴鉴鹰 发表于 2015-7-4 15:22
我们是有一套标准的程序命名方法的,程序命名规则非常巧合的让这两个变量相同了,在实际项目是程序量是十 ...

十几万行?我滴天啊,要是我肯定在算发上去精简程序,谁愿意去写那么多的代码,全是泪!

使用特权

评论回复
137
吴鉴鹰|  楼主 | 2015-7-5 17:23 | 只看该作者
ywlzh 发表于 2015-7-5 11:34
十几万行?我滴天啊,要是我肯定在算发上去精简程序,谁愿意去写那么多的代码,全是泪! ...

大型的项目,代码精简也是有限度的,不是无限的精简的。

使用特权

评论回复
138
zhitao2072| | 2015-7-6 11:51 | 只看该作者
第八讲,有所有的源码吗,急需

使用特权

评论回复
139
吴鉴鹰|  楼主 | 2015-7-19 21:19 | 只看该作者
zhitao2072 发表于 2015-7-6 11:51
第八讲,有所有的源码吗,急需

已经齐全的,都下载就可以了。

使用特权

评论回复
140
ljc424| | 2015-7-20 10:50 | 只看该作者
转让韦博英语四个级别课程
https://bbs.21ic.com/forum.php?mo ... &fromuid=351131
(出处: 21ic电子技术论坛)

使用特权

评论回复
发新帖 本帖赏金 1.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则