随笔分类 - 51单片机
工作之余,沉淀收获
摘要:向数据库里面写入信息的方式,通信协议的扩展,加上头和尾编码,通信的时候传输各种类型的数据,比如字符,整数,byte等,设计以后的对字符的处理。
阅读全文
摘要:按前面的要求,所应用到数据库为sql serve2005,经过我三天的摸索学习,发现数据库还是非常简单的哈~~先上个学习过程写的数据库,都是最最简单的操作,包括数据库的连接,增减字段……嘿嘿,这么简单竟然学了那么久……惭愧View Code using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Text;using System.Windows
阅读全文
摘要:先描述现在的状态,51以及实现了能够发送按键位置及状态,当然还有最重要的时间节点。现在的任务就是将上位机进行集成,也就是实现将51发送的数据进行解析,然后输送到数据库保存,现在上位机的串口接收与数据库部分都已经完成,就是将这两个模块集成在一起,还有个数据解析的模块得先完成。。。
阅读全文
摘要:一,串口通信 1,串口通信时单片机总是不间断发送“FF”的问题。 初步怀疑是波特率设置的问题 2,串口中断优先级的问题
阅读全文
摘要:本文串口内容为转载:源地址那么用C语言怎么来处理单片机收发的偶校验问题呢?直接使用项目中的要求:波特率:9600,偶检验,停止位1,数据位8。现在开始:单片机的奇偶校验使用串口工作方式2或者3,在有于波特率要求9600,所以使用串口方式3,这些设置自己查资料解决。偶校验:就是发送的8个数据位的1的个数为偶数时,TB8=0;为奇数时,TB8=1;奇校验:与偶校验相反的TB8。先讲发送字节时的偶校验:先看下汇编的解决方案是什么:1 MOV A,@R02 3 MOV C,P4 5 MOV TB8,C6 7 MOV SBUF,@R0再看下C语言的解决方案: 1 void chk_even(uchar
阅读全文
摘要:问题一:依照要求应该精确定时,为什么不采用更加精确的外部中断方式进行中断? 矩阵键盘扫描的几种方式:问题二:重键和连击问题的处理?
阅读全文
摘要:整个的51部分的伪代码简写如下: 1 void sendData() 2 {} 3 void time() 4 {} 5 void keysChecked() 6 { 7 return loca; 8 return key_state; 9 }10 main()11 {12 init();13 while(1)14 {15 if(keysChecked = 1) //放到中断处理比较好16 {17 temp_time = time (now);18 temp_location = key...
阅读全文
摘要:要求:上位机向下位机发送定时启动信息,然后检测当按下51板上按键时,将会向上位机软件发送按键位置,按键状态(开/关),以及按键的精确时间,该时间由51板所得出,上位机接收后,将所得信息进行处理并存入数据库。 特别要求:设计一个通信协议来进行上下位机的通信,用C#进=行上位机软件的串口编程(熟悉后用C)。 目前想法:设计通信协议,所要求为能够传递单片机的按键位置+按键状态+时间标签,然后还有CRC校验。暂时决定用一个5帧的数据包来发送数据,发送的方式为可以传输8位数据的方式1. 帧结构图为:忘记画CRC校验的了,这个暂时就当实验用,先做出来。下位机的整体设计为采用中断的方式,单片机在...
阅读全文
摘要:显而易见,独立键盘与矩阵键盘共用了LCDEN、RS、WR、RD这三个端口,使用的时候会发生很严重的串扰问题。那么如何解决呢???嗯,先放下这个,只用4X4的矩阵键盘,下面就是写出发送单片机的按键位置+按键状态的通信程序。无语……我的51学到太烂了……4X4矩阵键盘与串口通信共用了P3端口……各种干扰呀……目前只能改用独立键盘了,标记下,有时间改下硬件,得想办法用矩阵键盘实现了功能。
阅读全文

浙公网安备 33010602011771号