C#高频卡收费门禁系统的设置和代码展示

本文档详细介绍了使用C#开发高频卡收费门禁系统的过程,包括所需控件如label、button、comboBox等的配置,以及代码展示,如串口操作、查询卡号等功能的实现。作者分享了开发心得,强调了理解高频卡读写原理的重要性,并鼓励主动学习和交流。
摘要由CSDN通过智能技术生成

一,窗体界面展示

 二,完成这个系统所需要的控件

1、label文本 需要修改它的text

2、button     同样需要修改它的text

3、comboBox  

4、textBox

5、groupBox

6、serialPort

7、timer

本次系统所要用到的控件就这些,具体还要进行一些属性修改

三,代码展示和内容讲解

本人自己弄的,只能说大概有那么一个雏形不是很完善,大家有需要可以看看

本系统要用的自定义变量

 byte sys;
        byte timerState;
        string str;
        string num;
        int balance;
        int a;

1、系统运行界面程序代码

private void Form1_Load(object sender, EventArgs e)
        {
            CheckForIllegalCrossThreadCalls = false;
            String[] port = SerialPort.GetPortNames();//通过应用系统方法,获取当前用户客户端口数
            for (int i = 0; i < port.Length; i++)
            {
                comboBox1.Items.Add(port[i]);
            }
        }

2、打开串口按键的代码

 private void btOpenserialport_Click(object sender, EventArgs e)
        {
            if (!com1.IsOpen)    //如果串口已经关闭,则打开
            {
                com1.PortName = comboBox1.Text;//先获取串口号,串口号的选中,有组合框1提供赋值
                com1.Open();             //打开串口
                btOpenserialport.Text = "关闭串口";
                btOpenserialport.BackColor = Color.Green;//按钮的背景颜色
                timer1.Enabled = true;
                com1.DataReceived += new SerialDataReceivedEventHandler(ReceiveData);    //添加数据接收事件处理函数

            }
            else if (com1.IsOpen)  //如果串口已经打开,则关闭
            {
                com1.Close();
                btOpenserialport.Text = "打开串口";
                btOpenserialport.BackColor = Color.Red;
                timer1.Enabled = false;

            }
        }

3、查询卡号按键的代码

private void button4_Click(object sender, EventArgs e)
        {
            if (com1.IsOpen) //如果串口已经打开,则可以发送数据 
            {
                try
                {
                    byte[] buffer = new byte[] { 0xff, 0x55, 0x00, 0x00, 0x01, 0x03, 0x00, 0x30, 0x75 };
                    com1.Write(buffer, 0, buffer.Length); //将字节数组发送到串口 
                }
                catch (Exception ex) //如果发生异常,则显示错误信息并关闭串口 
                {
                    MessageBox.Show("错误:" + ex.Message);
                    com1.Close();
                }
            }
            else
            {
                MessageBox.Show("串口未打开!");
            }
        }

4、打开天线按键的代码

 private void button5_Click(object sender, EventArgs e)
        {
            if (com1.IsOpen) //如果串口已经打开,则可以发送数据 
            {
                try
                {
                    byte[] buffer = new byte[] { 0xff, 0x55, 0x00, 0x00, 0x02, 0x03, 0x00, 0x30, 0x85 };//发送代码高频打开高频天线
                    com1.Write(buffer, 0, buffer.Length); //将字节数组发送到串口 
                }
                catch (Exception ex) //如果发生异常,则显示错误信息并关闭串口 
                {
                    MessageBox.Show("错误:" + ex.Message);
                    com1.Close();
                }
            }
            else
            {
                MessageBox.Show("串口未
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值