• 大小: 81KB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-02-06
  • 语言: C/C++
  • 标签: 打卡系统  

资源简介

本设计由STC89C52单片机电路+RFID模块电路+1602液晶显示电路+电源电路组成。系统有3张卡,分别代表依次是张三、李四、王二。任何一个人刷卡成功能,1602液晶响应显示,未刷卡显示“N”,刷卡成功后显示“Y”,液晶第二行显示刷卡人数,即出勤总人数。 附件为C代码。

资源截图

代码片段和文件信息

#include “1602.h“
#include “delay.h“
#include 

#define uchar unsigned char
#define uint unsigned int

#define _NOP() _nop_()
sbit RS = P2^4;   //定义端口 
sbit RW = P2^5;
sbit EN = P2^6;

#define DataPort    P0
#define DataPIN     P0

#define CLR_RS (RS=0) 
#define SET_RS (RS=1)
#define CLR_RW (RW=0)
#define SET_RW (RW=1)
#define CLR_EN (EN=0)
#define SET_EN (EN=1)

/*
LcdReset();               //LCD1602初始化
DelayMs(10);
sprintf(temp“1111111111111111“);//更新显示
DispStr(00(unsigned char *)temp);//打印显示
sprintf(temp“1111111111111111“);//更新显示
DispStr(01(unsigned char *)temp);//打印显示
*/
/***********************************************
函数名称:DispStr
功    能:让液晶从某个位置起连续显示一个字符串
参    数:x--位置的列坐标
          y--位置的行坐标
          ptr--指向字符串存放位置的指针
返回值  :无
***********************************************/
void DispStr(uchar xuchar yuchar *ptr) 
{
    uchar *temp;
    uchar in = 0;
    
    temp = ptr;
    while(*ptr++ != ‘\0‘)   n++;    //计算字符串有效字符的个数
    
    for (i=0;i    {
        Disp1Char(x++ytemp[i]);
        if (x == 0x10)
        {
            break;
        }
    }
}

/*******************************************
函数名称:DispNchar
功    能:让液晶从某个位置起连续显示N个字符
参    数:x--位置的列坐标
          y--位置的行坐标
          n--字符个数
          ptr--指向字符存放位置的指针
返回值  :无
*******************************************
void DispNChar(uchar xuchar y uchar nuchar *ptr) 
{
    uchar i;
    
    for (i=0;i    {
        Disp1Char(x++yptr[i]);
        if (x == 0x10)
        {
           x = 0; 
            y ^= 1;
        }
    }
}
*/
/*******************************************
函数名称:LocateXY
功    能:向液晶输入显示字符位置的坐标信息
参    数:x--位置的列坐标
          y--位置的行坐标
返回值  :无
********************************************/
void LocateXY(uchar xuchar y) 
{
    uchar temp;

    temp = x&0x0f;
    y &= 0x01;
    if(y)   temp |= 0x40;  //如果在第2行
    temp |= 0x80;

    LcdWriteCommand(temp1);
}

/*******************************************
函数名称:Disp1Char
功    能:在某个位置显示一个字符
参    数:x--位置的列坐标
          y--位置的行坐标
          data--显示的字符数据
返回值  :无
********************************************/
void Disp1Char(uchar xuchar yuchar data1) 
{
    LocateXY( x y );
    LcdWriteData( data1 );
}

/*******************************************
函数名称:LcdReset
功    能:对1602液晶模块进行复位操作
参    数:无
返回值  :无
********************************************/
void LcdReset(void) 
{
//    DataDir  = 0xFF;                 //数据端口设为输出状态 
    LcdWriteCommand(0x38 0);     //规定的复位操作
    DelayMs(5);
    LcdWriteCommand(0x38 0);
    DelayMs(5);
    LcdWriteCommand(0x38 0);
    DelayMs(5);

    LcdWriteCommand(0x38 1); //显示模式设置
    LcdWriteCommand(0x08 1); //显示关闭
    LcdWriteCommand(0x01 1);     //显示清屏
    LcdWriteCommand(0x06 1); //写字符时整体不移动
    LcdWriteCommand(0x0c 1); //显示开,不开游标,不闪烁
}

/*------------------------------------------------
                清屏函数

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-04-10 18:15  2-源程序(C语言含详细备注)\
     文件         309  2017-06-17 14:42  2-源程序(C语言含详细备注)\功能.txt
     目录           0  2020-04-10 18:15  2-源程序(C语言含详细备注)\程序\
     文件        9512  2017-06-17 14:31  2-源程序(C语言含详细备注)\程序\1602.LST
     文件        9508  2017-06-17 14:31  2-源程序(C语言含详细备注)\程序\1602.OBJ
     文件        5068  2017-02-18 17:51  2-源程序(C语言含详细备注)\程序\1602.c
     文件        1031  2016-04-04 17:43  2-源程序(C语言含详细备注)\程序\1602.h
     文件       42777  2017-06-17 14:35  2-源程序(C语言含详细备注)\程序\89c51
     文件       40147  2017-06-17 14:35  2-源程序(C语言含详细备注)\程序\89c51.M51
     文件       10204  2017-06-17 14:35  2-源程序(C语言含详细备注)\程序\89c51.hex
     文件          98  2017-06-17 14:35  2-源程序(C语言含详细备注)\程序\89c51.lnp
     文件        4383  2017-06-17 14:38  2-源程序(C语言含详细备注)\程序\89c51.plg
     文件       57129  2017-06-17 14:38  2-源程序(C语言含详细备注)\程序\89c51.uvopt
     文件       13889  2017-06-17 14:31  2-源程序(C语言含详细备注)\程序\89c51.uvproj
     文件       57131  2017-06-17 14:31  2-源程序(C语言含详细备注)\程序\89c51_uvopt.bak
     文件       13563  2017-03-14 15:41  2-源程序(C语言含详细备注)\程序\89c51_uvproj.bak
     文件        6376  2009-05-07 14:37  2-源程序(C语言含详细备注)\程序\STARTUP.A51
     文件       14072  2017-06-17 14:31  2-源程序(C语言含详细备注)\程序\STARTUP.LST
     文件         749  2017-06-17 14:31  2-源程序(C语言含详细备注)\程序\STARTUP.OBJ
     文件        1847  2017-06-17 14:31  2-源程序(C语言含详细备注)\程序\delay.LST
     文件        1117  2017-06-17 14:31  2-源程序(C语言含详细备注)\程序\delay.OBJ
     文件         738  2017-03-12 15:13  2-源程序(C语言含详细备注)\程序\delay.c
     文件         654  2017-03-12 15:13  2-源程序(C语言含详细备注)\程序\delay.h
     文件        8415  2017-06-17 14:35  2-源程序(C语言含详细备注)\程序\main.LST
     文件       14720  2017-06-17 14:35  2-源程序(C语言含详细备注)\程序\main.OBJ
     文件          34  2017-06-17 14:35  2-源程序(C语言含详细备注)\程序\main.__i
     文件        3986  2017-06-17 14:35  2-源程序(C语言含详细备注)\程序\main.c
     文件       22098  2017-06-17 14:31  2-源程序(C语言含详细备注)\程序\rc522.LST
     文件       21195  2017-06-17 14:31  2-源程序(C语言含详细备注)\程序\rc522.OBJ
     文件       14427  2017-06-12 15:16  2-源程序(C语言含详细备注)\程序\rc522.c
     文件        4997  2017-06-12 15:16  2-源程序(C语言含详细备注)\程序\rc522.h
............此处省略0个文件信息

评论

共有 条评论

相关资源