当前位置:主页>delphi源码/MIS软件> 文章内容

有个中等难度Sql查询语句不会写,请大家帮忙!

发布时间:2010-01-20 | QQ免费站
1楼: 我想用单片机来输出高电平,如何在delphi里写好汇编再传给单片机呢? 我用spcomm控件做过232的控制,可是没接触过单片机的控制 最好有例程,谢谢! 我的邮箱是wxqdelphi@eyou.com,wxqdelphi@hotmail.com.cn
字串7

2楼: 是这样的:你如果想让单片机输出高电平,你就得针对单片机编程,单片机内有固化程序,然后你的计算机也要编写串口通信的程序。也就是下位机与上位机各自软件的编写。具体编码要根据你的电路与接法。 比如你想在P1.1脚输出高电平,你的单片机内的程序你得类似下面指令: MOV A,SBUF //接收从计算机传来的数据或命令 XRL A,#88H //此处假设你从计算机送来的命令单片机输出高电平的指令数据是0X88H JNZ RE //假如不是要单片机输出高电平,转入其它处理部分 SETB P1.1 //让单片机输出高电平 将上述程序用编程器写到单片机的程序存储器中;然后下一步你要编写计算机部分的程序。 此处假定你用的是C: ... outportb(0x3fc,0x03) /*PC机片于发送状态*/ ourportb(0x3fb,0x88) /*送命令88H到单片机*/ ... 编译之,在计算机上运行该程序,如果一切没出错的话单片机会在P1.1脚输出高电平。 如果你想在计算机上用汇编写计算机部分的程序也同样写法。以上直接读写串口不能在NT或win2000中运行。如想在NT或win2000中运行。如你所说,用SPCOMM之类的控件就可以了。 var chigh:array[1..16] of byte; begin ... chigh[1]:=$88 //高电平指令数据; comm1.writecommdata(@chigh[1],1) //送出控制命令到单片机 ... end; [:D]我省略了好多初始化与准备工作,只是划出了核心部分。 字串4

3楼: 太感谢你了! 我看资料说单片机有三根线,用来实现232传输,是把这三根线和单片机连上就能实现串口通讯了吗? 是不是不同的单片机的控制原理是不同的?
字串2

4楼: wa,Today meet GaoShou ,turn big open eye sideline![:)][:)] 字串2

5楼: 下午踢球不在。。是的。你的理解基本不错。三根线是最基本的一种接法。即RXD、TXD、GND三线。分别是表示接收、发送、信号地。单片机一般要接max232芯片转换成RS232电平,然后通过max232芯片与计算机的串口相连。是的。不同的单片机有不同的控制规则。但是大体原则是近似的。你要看你所用的是什么MCU了。 字串5

6楼: 为什么不用[b]CTS/RTS[/b]电平控制呢?有专用的[u]API函数[/u][:(!]供调用,硬件线路稍加改造就能实现简单的控制目的! 字串2

7楼: 老贾: 你说得很对,不用 rxd,txd 用其他引脚确实能简化很多,我正在找这方面的资 料,你能不能详细介绍一下这方面的 API 函数?多谢! 最简单的串口数字及模拟信号采集—— http://www.daqchina.net/daqchina/acquire/comio1.htm 这里有相关的一些资料,但我还没找到如何用在 delphi 里请高手指点一下, 字串5

8楼: 楼上两位说得好。楼主的要求是用单片机控制,肯定还有别的要求。只用计算机的串口的RTS与CTS是方便。如果要求多点控制的话,从串口窃电只稳定性你试试就知道了。再不用说从串口简单输出一下,控制那一点?目标出故障反冲过来的电能毁你串口、主机你考虑不? 所以只适合单点一对一控制,目标无高电能,并且目标没有别的控制要求。至于laoyou的问题,你想在那个环境下用?win98/me、or win2000/nt、or linux?
字串7

9楼: turtlesam: 我找到这两个 api 函数了: function EscapeCommFunction(hFile: THandle; dwFunc: DWORD): BOOL; stdcall; 为控制 RTS,CTS 输出电平, function GetCommModemStatus(hFile: THandle; var lpModemStat: DWORD): BOOL; stdcall; 为获取其它四个引脚的电平,(除 RXD,TXD,RTS,CTS,GND 之外的四个引脚) 在 WINME 下可以用,在 WIN2000/NT 可以用吗?[:)] 字串1

10楼: 非常感谢两位大虾的帮忙! 字串8