LCD秒表(3)

2018-12-22 19:49

switch(i) {

case 1:

case 3:TR0=1;

Display_String(Prompts[i-1],0); break; case 2:

case 4:TR0=0;

Display_String(Prompts[i-1],0); break; default:TR0=0; break; }

while(k1==0); Beep(); } else

if(k2==0) {

TR0=0;

KeyCount=0;

for(i=0;i<4;i++) Time_Buffer[i]=0;

Display_String(msg1,0); Beep();

DelayX(100); while(k2==0); }

Show_Second(); } }

#include #include

#define uchar unsigned char #define uint unsigned int

#define DelayNOP(){_nop_();_nop_();_nop_();_nop_();} bit LCD_Busy_Check(); void LCD_Initialize(); void LCD_Set_POS(uchar);

void LCD_Write_Command(uchar); void LCD_Write_Data(uchar); void DelayMS(uint ms) {

uchar t;

while(ms--)for(t=0;t<120;t++); }

bit LCD_Busy_Check() {

bit Result;

LCD_RS=0;LCD_RW=1;LCD_EN=1;DelayNOP(); Result=(bit)(P0 & 0x80); LCD_EN=0;

return Result; }

void LCD_Write_Command(uchar cmd) {

while(LCD_Busy_Check()); LCD_RS=0;LCD_RW=0;LCD_EN=0; _nop_();_nop_(); P0=cmd;DelayNOP(); LCD_EN=1;DelayNOP(); LCD_EN=0; }

void LCD_Write_Data(uchar str) {

while(LCD_Busy_Check());

LCD_RS=1;LCD_RW=0;LCD_EN=0;P0=str;DelayNOP(); LCD_EN=1;DelayNOP();LCD_EN=0; }

void LCD_Initialize() {

DelayMS(5);LCD_Write_Command(0x38); DelayMS(5);LCD_Write_Command(0x0c); DelayMS(5);LCD_Write_Command(0x06); DelayMS(5);LCD_Write_Command(0x01); DelayMS(5); }

void LCD_Set_POS(uchar Position) {

LCD_Write_Command(Position | 0x80); }

void Display_String(uchar *str,uchar LineNo) {

uchar k;

LCD_Set_POS(LineNo);

for(k=0;k<16;k++) LCD_Write_Data(str[k]);

}

实验心得及体会:

通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应

用到实际当中去,而且我还学会了如何去培养创新精神,从而不断地战胜自己,超越自己。在这一设计过程中,我学会了坚持不懈,不轻易言弃。这个设计过程中,我遇到过许多次失败的考验,但是,我坚持了下来。最后得以顺利的完成实验。

在设计的过程中,团队的协作,互相帮忙、互相找资料、互相讨论使得我们的实验能够很有效率的完成。同时这也使得做设计的过程是一个充满激情的过程。


LCD秒表(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:习题参考答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: