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
#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]);
}
实验心得及体会:
通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应
用到实际当中去,而且我还学会了如何去培养创新精神,从而不断地战胜自己,超越自己。在这一设计过程中,我学会了坚持不懈,不轻易言弃。这个设计过程中,我遇到过许多次失败的考验,但是,我坚持了下来。最后得以顺利的完成实验。
在设计的过程中,团队的协作,互相帮忙、互相找资料、互相讨论使得我们的实验能够很有效率的完成。同时这也使得做设计的过程是一个充满激情的过程。