打印
[Cortex-M0技术交流]

第五批菜农学子---2012学习第二帖——12864

[复制链接]
1305|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gp, IO, pi, GPIO, pen
用12864看电子书,还有很多不足,请大家指正哈
#include <stdio.h>
#include "NUC1xx.h"
#include "DrvADC.h"
#include "DrvGPIO.h"
#include "DrvUART.h"
#include "DrvSYS.h"
void LCMInit(void)                                                                        ;
void Chn_disp_char( char *chn, int32_t line_pos, int32_t dis_pos) ;
        int i=0;
        int  pos=0        ;
        char        txt[]={"海燕(高尔基)在苍茫的大海上,狂风卷集着乌云。在乌云和大海之间,海燕象黑色的闪电,在高傲地飞翔。一会儿翅膀碰着波浪,一会儿箭一般地直冲向乌云,它叫喊着,——就在这鸟儿勇敢的叫喊声里,乌云听出了欢乐。在这叫喊声里——充满着对暴风雨的渴望!在这叫喊声里,乌云听出了愤怒的力量、热情的火焰和胜利的信心。海鸥在暴风雨来临之前呻吟着,——呻吟着,它们在大海上飞窜,想把自己对暴风雨的恐惧,掩藏到大海深处。海鸭也在呻吟着,——它们这些海鸭啊,享受不了生活的战斗的欢乐:轰隆隆的雷声就把它们吓坏了。蠢笨的企鹅,胆怯地把肥胖的身体躲藏到悬崖底下……只有那高傲的海燕,勇敢地,自由自在的,在泛起白沫的大海上飞翔!乌云越来越暗,越来越低,向海面直压下来,而波浪一边歌唱,一边冲向高空,去迎接那雷声。雷声轰响。波浪在愤怒的飞沫中呼叫,跟狂风争鸣。看吧,狂风紧紧抱起一层层巨浪,恶狠狠地把它们甩到悬崖上,把这些大块的翡翠摔成尘雾和碎末。海燕叫喊着,飞翔着,像黑色的闪电,箭一般地穿过乌云,翅膀掠起波浪的飞沫。看吧,它飞舞着,像个精灵,——高傲的、黑色的暴风雨的精灵,——它在大笑,它又在号叫……它笑些乌云,它因为欢乐而号叫!这个敏感的精灵,——它从雷声的震怒里,早就听出了困乏,它深信,乌云遮不住太阳,——是的,遮不住的!狂风吼叫……雷声轰响……一堆堆乌云,像青色的火焰,在无底在大海上燃烧。大海抓住闪电的箭光,把它们熄灭在自己的深渊里。这些闪电的影子,活像一条条火蛇,在大海里蜿蜒游动,一晃就消失了。——暴风雨!暴风雨就要来啦!这是勇敢的海燕,在怒吼的大海上,在闪电中间,高傲的飞翔;这是胜利的预言家在叫喊:——让暴风雨来得更猛烈些吧                             "};
        char        disp_lin_1[17]={""};
        char        disp_lin_2[17]={""};
        char        disp_lin_3[17]={""};
        char        disp_lin_4[17]={""};
void init (void)
{
        UNLOCKREG();                                                                                                                 //  芯片注册解锁
    SYSCLK->PWRCON.XTL12M_EN = 1;                                                                                 //  设定12M外部晶振

    DrvSYS_Delay(5000);                                                                                                         //  等待时钟就绪
        LOCKREG();                                                                                                                         //向“0x5000_0100”写入任何值,就可以重锁保护寄存器
        DrvGPIO_Open(E_GPA, 9, E_IO_OUTPUT);
        DrvGPIO_Open(E_GPA, 8, E_IO_OUTPUT);                                                       
        DrvGPIO_Open(E_GPA, 7, E_IO_OUTPUT);                                                                 
        DrvGPIO_Open(E_GPA, 6, E_IO_OUTPUT);                                                         
        DrvGPIO_Open(E_GPA, 5, E_IO_OUTPUT);
        DrvGPIO_Open(E_GPB, 10, E_IO_OUTPUT);                                                                 //  设置GPB10端口为输出模式
        DrvGPIO_Open(E_GPA, 9, E_IO_OUTPUT);
        DrvGPIO_Open( E_GPB, 14, E_IO_INPUT );                                                                 //按键端口设置为输入
    DrvGPIO_Open( E_GPB, 15, E_IO_INPUT );
        DrvGPIO_ClrBit(E_GPB, 10);               
        DrvSYS_Delay(6000);
        LCMInit();
}
void key (void)
{
        if (DrvGPIO_GetBit(E_GPB,14) == 0)    // 键按下检测
                {
                DrvSYS_Delay(20000);        //延时20毫秒
                if (DrvGPIO_GetBit(E_GPB,14) == 0)

                                pos+=16;
                       
                }                 
                DrvSYS_Delay(60000);
        if (DrvGPIO_GetBit(E_GPB,15) == 0)     // 键按下检测
                {
                DrvSYS_Delay(20000);        //延时20毫秒
                if (DrvGPIO_GetBit(E_GPB,15) == 0)
                {       
                        if (pos>0)        pos-=16;
                        else
                                {       
                                DrvGPIO_SetBit( E_GPB,10);  //蜂鸣
                                DrvSYS_Delay(1000);
                                DrvGPIO_ClrBit( E_GPB,10);
                                }               
                        }
                }       
}
int main (void)
{
init ();
   while(1)
   {
   key();
        for(i=0;i<16;i++)                disp_lin_1[i]=txt[pos+i];
                Chn_disp_char(disp_lin_1,1,1);
        for(i=0;i<16;i++)                disp_lin_2[i]=txt[pos+i+16];
                Chn_disp_char(disp_lin_2,2,1);
        for(i=0;i<16;i++)                disp_lin_3[i]=txt[pos+i+32];
                Chn_disp_char(disp_lin_3,3,1);
        for(i=0;i<16;i++)                disp_lin_4[i]=txt[pos+i+48];
                Chn_disp_char(disp_lin_4,4,1);
        }
}

C360_2012-03-03-20-01-47.jpg (552.58 KB )

高尔夫的基一首

高尔夫的基一首

C360_2012-03-03-20-02-28.jpg (591.89 KB )

继续

继续

12864.rar

2.88 MB

工程

相关帖子

沙发
xiaoweixu| | 2012-3-8 12:22 | 只看该作者
海燕啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

130

帖子

0

粉丝