• 大小: 54KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: 其他
  • 标签: 抽奖  

资源简介

基于51单片机的抽奖系统设计,用于娱乐。。。。

资源截图

代码片段和文件信息

#define LCM_RW P2_1 //定义引脚
#define LCM_RS P2_0
#define LCM_E P2_2
#define LCM_Data P1
#define Go_test P2_5 //ROLL按键
#define Q1 P3_0
#define Q2 P3_1
#define Q3 P3_2
#define Q4 P3_3
#define Q5 P3_4
#define Q6 P3_5
#define Q7 P3_6
#define Q8 P3_7
#define Q9 P2_6
#define Q10 P2_7
#define Busy 0x80 //用于检测LCM状态字中的Busy标识
#include 
void WriteDataLCM(unsigned char WDLCM);
void WriteCommandLCM(unsigned char WCLCMBuysC);
unsigned char ReadDataLCM(void);
unsigned char ReadStatusLCM(void);
unsigned char Val(void);
unsigned char X;
unsigned char Y;
void LCMInit(void);
void DisplayOneChar(unsigned char X unsigned char Y unsigned char DData);
void DisplayListChar(unsigned char X unsigned char Y unsigned char code *DData);
void Delay5Ms(void);
void DelayMs(unsigned int i);
void Prewish(void);
void Switch_test(void);
unsigned char code  theone[][16]= {“T““O““Y““i““s““h““a““>_unsigned char code    wish[][16]= {“H““A““P““P““Y““B““I““R““T““H““D““A““Y!!“};
unsigned char code theone1[][16]= {“WISH““YOU:“};
unsigned char code   wish1[][16]= {“HAPPY““EVERYDAY!!“};
unsigned char code     go[][16]= {“GO!!LET‘S_GO!!“};
unsigned char code  Q1_display[][16]={“ONE:““U““ARE““THE““UNIQUE““ONE“};
unsigned char code  Q2_display[][16]={“TWO:““TO““YOUR““HAPPINESS“};
unsigned char code  Q3_display[][16]={“THREE:““FREE““BIRD““IN““THE““TREE“};
unsigned char code  Q4_display[][16]={“FOUR:““CHEER““UP!!““YOUTH!!“};
unsigned char code  Q5_display[][16]={“THE5:““FIND““THE““HONEY““INTHE““HIVE“};
unsigned char code  Q6_display[][16]={“THE6:““TAKE““A““REST““MOVE““ON““BY““STEPS“};
unsigned char code  Q7_display[][16]={“THE7:““U‘RE““CANDY““FROM““THE““HEAVEN“};
unsigned char code  Q8_display[][16]={“THE8:““GREAT““GIRL““CHANGE““YOUR““FATE“};
unsigned char code  Q9_display[][16]={“THE9:““NIGHTS““GONE““A““BRAND““NEW““DAY“};
unsigned char code Q10_display[][16]={“TEN:““LOVE““YOU““TILL““THE““END.“};

void main(void)
{
 LCMInit();     //LCM初始化
 if(Go_test==1) //ROLL按键未按下
 Prewish();     //wish信息
 else           //ROLL按键按下 
  {while(1)
  {
    LCMInit();      //死循环
    if(Go_test==0)  //ROLL按键按下 
    {
    DisplayListChar(0 2 go[0]);   //显示GO字符
    }
    else
    {                         //ROLL按键松开
     Switch_test();
 DelayMs(100);
               //显示当前ROLL到的信息
    }
  } 
 } 
}
//写数据
void WriteDataLCM(unsigned char WDLCM)
{
ReadStatusLCM(); //检测忙
LCM_Data = WDLCM;
LCM_E = 0;
LCM_RS = 1;
LCM_RW = 0;
LCM_E = 0; //若晶振速度太高可以在这后加小的延时
LCM_E = 1;
LCM_E = 0;
}
//写指令
void WriteCommandLCM(unsigned char WCLCMBuysC) //BuysC为0时忽略忙检测
{
if (BuysC) ReadStatusLCM(); //根据需要检测忙
LCM_Data = WCLCM;
LCM_E = 0;
LCM_RS = 0;
LCM_RW = 0; 
LCM_E = 1; 
LCM_E = 0;
}
//读数据
unsigned char ReadDataLCM(void)
{
LCM_E = 0;
LCM_RS = 1; 
LCM_RW = 1;
LCM_E = 1;
LCM_E = 0;
return(LCM_Data);
}
//读状态
unsigned char ReadStatusLCM(void)
{
LCM_Da

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     132681  2005-12-31 15:15  程序及其仿真\Last Loaded lcd1602.DBK

     文件     132791  2010-01-22 00:14  程序及其仿真\lcd1602.DSN

     文件       8129  2009-08-05 01:40  程序及其仿真\LCD1602.hex

     文件         31  2009-08-05 01:40  程序及其仿真\LCD1602.lnp

     文件        436  2010-03-22 17:38  程序及其仿真\lcd1602.LST

     文件      18123  2009-08-05 01:40  程序及其仿真\LCD1602.M51

     文件       1063  2010-03-22 17:38  程序及其仿真\Lcd1602.Opt

     文件        304  2010-03-22 17:38  程序及其仿真\LCD1602.plg

     文件        792  2010-01-22 00:15  程序及其仿真\lcd1602.PWI

     文件       2165  2010-03-22 17:38  程序及其仿真\Lcd1602.Uv2

     文件       1141  2009-08-05 01:40  程序及其仿真\Lcd1602_Opt.Bak

     文件       2131  2009-08-05 01:40  程序及其仿真\Lcd1602_Uv2.Bak

     文件      10255  2009-06-19 00:50  程序及其仿真\lottery.c

     目录          0  2010-10-21 22:53  程序及其仿真

----------- ---------  ---------- -----  ----

               310042                    14


评论

共有 条评论