单片机 数据库(51单片机如何读取sql数据库)
本篇文章给大家谈谈单片机 数据库,以及51单片机如何读取sql数据库对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
单片机通过串口助手读来的码怎么传到MYSQL数据库中求大神!
基本的数据库的操作。
你可以参考如下方式一步步来:
1、先参考mysql的编程的基本例子,按照最简单的方式实现固定数据(比如说字符串“12345678”),进行基本的插入、删除、查询等操作。当然这个前提是首先建立一个数据库。
2、第一步成功实现后,将你原来的模拟数据,替换成真实的数据,重新完成第一步的操作。
3、编写一个从PC端获取RFID数据的接口,真正实现数据的对接。
个人给你的建议:
1、不要求捷径,这样即使你能很快完成任务,但是也会没有什么收获。
2、数据库的操作不难,尤其是PC端的数据库,网上有大量的资源。
3、通过这个项目的锻炼,你不仅问题会解决,你以后分析问题、解决问题和搜索资料的能力都会大大提高。
51单片机如何读取sql数据库
你需要做个个串口通讯,将单片机的数据上载到电脑端,电脑端要写一个上位机。可讲通讯过来的数据存入 sql server的数据库中
单片机端需要写串口程序,PC端需要些上位机软件 VB可以写用MSComm1控件
通讯例子如下
Dim i As Integer
Dim a As Integer
Dim t() As Byte
Private Sub Command1_Click()
If Command1.Caption="打开串口" Then
'Shape1.Visible= True
Shape1.FillColor=&HFF&
Shape1.BackColor=&HFF&
Shape1.BorderColor=&HFF&
Command2.Enabled= True
Command3.Enabled= True
Command1.Caption="关闭串口"
'MSComm1.CommPort= 1'设定Com1口
MSComm1.CommPort= Combo1.Text'设定Com1口
If MSComm1.PortOpen= False Then
'MSComm1.Settings="4800,N,8,1"'4800波特率,无校验,8位数据位,1位停止位
MSComm1.Settings= Combo2.Text&","& Combo3.Text&","& Combo4.Text&","& Combo5.Text'4800波特率,无校验,8位数据位,1位停止位
MSComm1.InputLen= 1'读取接收缓冲区的所有字符
MSComm1.InputLen= 5
MSComm1.InBufferSize= 5'设置接收缓冲区为1024字节
MSComm1.OutBufferSize= 5'设置发送缓冲区为512字节
MSComm1.SThreshold= 0'不触发发送事件
MSComm1.RThreshold= 1'每一个字符到接收缓冲区都触发接收事件
MSComm1.PortOpen= True'打开串口
End If
MSComm1.OutBufferCount= 0'清空发送缓冲区
MSComm1.InBufferCount= 0'清空接收缓冲区
Dim temp() As Byte
Else
'Option2.Value= False
'Option1.Value= False
'Shape1.Visible= False
Shape1.BackColor=&H808080
Shape1.BorderColor=&H808080
Shape1.FillColor=&H808080
Command2.Enabled= False
'Command3.Enabled= False
MSComm1.PortOpen= False
Command1.Caption="打开串口"
End If
End Sub
Private Sub Command2_Click()
'Command2.Enabled= False
'Option2.Value= False
'Option1.Value= False
'Shape2.Visible= False
MSComm1.OutBufferCount= 0'清空发送缓冲区
MSComm1.InBufferCount= 0'清空接收缓冲区
't(0)="255"
' MSComm1.Output= t
MSComm1.Output= Text2.Text
End Sub
Private Sub Command3_Click()
Text1.Text=""
End Sub
Private Sub Command5_Click()'退出
End
End Sub
Private Sub Command6_Click()
Text2.Text=""
End Sub
Private Sub Command7_Click()
If Command7.Value Then
'Command7.Visible= False
Command1.Visible= True
Command2.Visible= True
Command3.Visible= True
Command6.Visible= True
Label1.Visible= True
Label2.Visible= True
Label3.Visible= True
Label4.Visible= True
Label5.Visible= True
Label6.Visible= True
Label7.Visible= True
Combo1.Visible= True
Combo2.Visible= True
Combo3.Visible= True
Combo4.Visible= True
Combo5.Visible= True
Text1.Visible= True
Text2.Visible= True
Frame1.Visible= True
Frame2.Visible= False
'Command3.Visible= False
'Option1.Value= False
Shape1.Visible= True
Else
Label1.Visible= False
Label2.Visible= False
Label3.Visible= False
Label4.Visible= False
Label5.Visible= False
Label6.Visible= False
Label7.Visible= False
Combo1.Visible= False
Combo2.Visible= False
Combo3.Visible= False
Combo4.Visible= False
Combo5.Visible= False
Command1.Visible= False
Command2.Visible= False
Command3.Visible= False
Text1.Visible= False
Text2.Visible= False
Frame1.Visible= False
Frame2.Visible= False
End If
End Sub
Private Sub Form_Load()
MSComm1.InBufferCount= 0'清除发送缓冲区数据
MSComm1.OutBufferCount= 0'清除接收缓冲区数据
ReDim t(0)
t(0)="0"
Combo1.AddItem"1"
Combo1.AddItem"2"
Combo1.AddItem"3"
Combo1.AddItem"4"
'Combo1.Text="1"
Combo2.AddItem"300"
Combo2.AddItem"600"
Combo2.AddItem"1200"
Combo2.AddItem"2400"
Combo2.AddItem"4800"
Combo2.AddItem"9600"
Combo2.AddItem"19200"
Combo3.AddItem"N"
Combo3.AddItem"O"
Combo3.AddItem"E"
Combo4.AddItem"8"
Combo4.AddItem"7"
Combo4.AddItem"6"
Combo5.AddItem"1"
Combo5.AddItem"2"
Combo5.AddItem"3"
End Sub
Private Sub MSComm1_OnComm()
Dim s1 As String
Dim s2 As String
Select Case MSComm1.CommEvent
Case comEventOverrun'数据丢失
Text_SEND.Text=""'清空发送缓冲区
Text_RECV.Text=""'清空接收缓冲区
Text_SEND.SetFocus
Exit Sub
Case comEventRxOver'接收缓冲区溢出
Text_SEND.Text=""'清空发送缓冲区
Text_RECV.Text=""'清空接收缓冲区
Text_SEND.SetFocus
Exit Sub
Case comEventTxFull'发送缓冲区已满
Text_SEND.Text=""'清空发送缓冲区
Text_RECV.Text=""'清空接收缓冲区
Text_SEND.SetFocus
Exit Sub
Case comEvReceive'接收字符数据
Dim Buffer As Variant
MSComm1.InputLen= 1
MSComm1.InputMode= comInputModeBinary'二进制传输
Buffer= MSComm1.Input
'Text1.Text= Buffer(0)
's2= Buffer(1)
Text1.Text= Text1.Text&(Val(MSComm1.Input))&""
Case Else
End Select
End Sub
Private Sub Option1_Click()
End Sub
单片机习题解答
147.执行PUSH ACC指令,MCS-51完成的操作是( A)
(A) SP+1 SP(ACC)(SP)(B)(ACC)(SP)SP-1 SP
(C)SP-1- SP(ACC)(SP)(D)(ACC)(SP)SP+1 SP
148.对程序存储器的读操作,只能使用(D)
(A) MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令
149. MCS-51的时钟最高频率是( A).
A 12MHz B 6 MHz C 8 MHz D 10 MHz
150.以下不是构成单片机的部件( D)
A微处理器(CPU)、B存储器 C接口适配器(I\O接口电路) D打印机
151.-49D的二进制补码为.( 11001111)
A 11101111 B 11101101 C 0001000 D 11101100
152.用MCS-51用串行扩展并行I/O口时,串行接口工作方式选择( A)
(A)方式0(B)方式1(C)方式2(D)方式3
153.当8031外出扩程序存储器8KB时,需使用EPROM 2716( C)
(A) 2片(B)3片(C)4片(D)5片
154.使用8255可以扩展出的I/O口线是( B)
(A) 16根(B)24根(C)22根(D)32根
155.当使用快速外部设备时,最好使用的输入/输出方式是( C)
(A)中断(B)条件传送(C)DMA(D)无条件传送
156. MCS-51的并行I/O口读-改-写操作,是针对该口的( D)
(A)引脚(B)片选信号(C)地址线(D)内部锁存器
157.LCALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=( D)
(B) 2000H(B)2001H(C)2002H(D)2003H
158. MCS—51单片机外部有40个引脚,其中,地址锁存允许控制信号引脚是( A)
(A)ALE(B)(C)(D)RST
159.下列指令写法正确的是( D)
(A)MOV#20H,A(B)ADD R2,#30H(C)PUSH R0(D)RRC A
160. ORG 0003H
LJMP 2000H
ORG 000BH LJMP 3000H当CPU响应外部中断0后,PC的值是(A)
(A)0003H(B)2000H(C)000BH(D)3000H
161.用MCS-51用串行扩展并行I/O口时,串行接口工作方式选择(A)
(A)方式0(B)方式1(C)方式2(D)方式3
162. MCS-51的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是(A)
(A)读锁存器(B)读数据库(C)读A累加器具(D)读CPU
163.计算机中最常用的字符信息编码是( A)
A ASCII B BCD码 C余3码 D循环码
164.要MCS-51系统中,若晶振频率屡8MHz,一个机器周期等于( A)μs
A 1.5 B 3 C 1 D 0.5
165. MCS-51的时钟最高频率是( A).
A 12MHz B 6 MHz C 8 MHz D 10 MHz
166.以下不是构成的控制器部件( D):
A程序计数器、 B指令寄存器、 C指令译码器、 D存储器
167.以下不是构成单片机的部件( D)
A微处理器(CPU)、B存储器 C接口适配器(I\O接口电路) D打印机
168.下列不是单片机总线是( D)
A地址总线 B控制总线 C数据总线 D输出总线
169.-49D的二进制补码为( 11001001)
A 11101111 B 11101101 C 0001000 D 11101100
关于单片机 数据库的内容到此结束,希望对大家有所帮助。