、实验11 编写子程序一个子程序,子程序的功能为将内存数据段某单元中保存的一个8

君,已阅读到文档的结尾了呢~~
精品:微机原理及应用习题 微机原理习题 微机原理及应用 微机原理及应用课件 单片微机原理及应用 微机原理与应用 微机原理及应用视频 微机原理 微机原理与接口技术 微机原理实验报告
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
微机原理及应用习题105道
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口单片机作业+试卷程序汇总1_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
单片机作业+试卷程序汇总1
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩20页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢当前位置:
主题:610951 ┆ 帖子:4734875
┆ 今日新贴:715
昨日贴数:1377 ┆ 1历史最高贴数:2056
(日)在线用户:5038人
怎样在子程序中暂停一段时间,以等待串行口数据?(vb)
给TA发消息
加TA为好友 发表于: 10:27:00 楼主
我编了一个从工控主机中采集数据的程序,因工控机响应很慢需要在子程序中暂停一段时间,是处理器能够接受串口返回的响应,但又不离开该子程序. 我现在的做法是:利用一个很长的循环,这样一来有时串行口收不到数据(成功率是80%).
各位大虾救救我!我用的是vb6.0.
给TA发消息
加TA为好友 发表于: 12:11:00 1楼
其实一般均用校验的方法检查数据是否收到,再读串口,不用循环等待.
比较简单的是循环检查串口缓冲区数据长度,当长度达到应该接收的数据量时,读串口缓冲区,保证数据完整,但抗干扰
给TA发消息
加TA为好友 发表于: 02:18:00 2楼
我作过着类的软件,也是用VB6做的,用的方法是中断接收数据,当然也可以用查询数据长度的办法,单很费PC进程的!有问题可以和我联系!
给TA发消息
加TA为好友 发表于: 19:32:00 3楼
可以用控件中的MSCOMM 控件,可以解决这一问题
给TA发消息
加TA为好友 发表于: 22:17:00 4楼
用中断方法检测时,若通讯部件发生故障,则容易造成死机,我的方法是先延时一段时间,再检查串口缓冲区数据长度,当长度达到应该接收的数据量时,读串口缓冲区,该方法虽然浪费cpu,但程序较稳定。至于延时时间,则需不断调试至合适数值。哪位大侠有更好的方法,请告之.
给TA发消息
加TA为好友 发表于: 16:16:00 5楼
我不明白你是怎样处理串口数据,你可以试试以下方法:
1。在中断中处理
2。接受缓冲区的长度增大,延时检测。
给TA发消息
加TA为好友 发表于: 21:03:00 6楼
可以用控件中的MSCOMM 控件的oncomm事件,无须用延时.
给TA发消息
加TA为好友 发表于: 20:43:00 7楼
用vb是比较麻纺的,用定时器吧.
我试过用子线程来打开串口通讯,可是出现非法操作.用C++就没有问题,是vb的问题.
我用一个子线程不停循环通讯,把数据发给主线程
给TA发消息
加TA为好友 发表于: 22:40:00 8楼
我觉得最好的方法是采用多线程通信方法,在我的应用实例中,其通信可靠性、软件开发效率和通信效率都可以有很大的提高。
具体做法您可以自己编写ACTIVEX控件或DLL而实现。因为我目前正在忙于找工作,具体实例暂时没有时间上传,具体问题欢迎来信讨论。
另,请问诸位,在哪里可以找到月薪5000左右的自控行业的工作?我可以独立完成一般自控项目的软硬件方案设计和施工管理,对锅炉自控改造燃烧器自控和楼宇自控较熟。
给TA发消息
加TA为好友 发表于: 10:32:00 9楼
一般发送数据后,要延时才能去读数据,
可用doevent()函数,效果是可以的。()内是时间,我曾用25毫秒。
给TA发消息
加TA为好友 发表于: 14:21:00 10楼
VB开多线程比较麻烦,最好的办法是用TIMER,隔一段时间读一次。
给TA发消息
加TA为好友 发表于: 16:07:00 11楼
下面一段程序,可能对你有用
private sub send
dim cmd as string
cmd="ok,request data"
mscomm1.output=cmd
timer.enable=true
Private Sub Timer1_Timer()
If Me.MSComm1.InBufferCount & 0 Then
MSComm1_OnComm
Me.Timer1.Enabled = False
Private Sub MSComm1_OnComm()接收数据
Dim recstr As String
If Me.MSComm1.InBufferCount & 0 Then
recstr = Me.MSComm1.Input
给TA发消息
加TA为好友 发表于: 10:27:00 12楼
通信程序应该采用多线程
用定时器至少也有50ms的延时,你可以调用Win32API实现延时
我来先给出Delphi源程序,有问是可以我QQ联系
procedure TimeDelay(DT:DWORD);
TT:=GetTickCount();
While (GetTickCount()-TT)&DT do
Application.ProcessM
给TA发消息
加TA为好友 发表于: 18:07:00 13楼
我个人觉得使用mscomm实现起来是比较简单的。方法就是将其阀值设定为1(即当数据发送到串口,就触发事件),可以在事件处理中定义一个变量,把接收的数据连接起来,达到长度才就处理。这样速度和可靠性都比较高(有疑问交流 qq:)
周点击排行周回复排行
[294] [293] [198]精通RS485通讯系列.. [150] [110] [110] [104] [101] [92] [91]
[23] [16] [15] [15] [14] [14] [13] [12]精通RS485通讯系列.. [10] [10]最新求助
[2] [1] [1] [9] [0] [5] [1] [2] [3] [2]第4章练习题-五星文库
免费文档下载
第4章练习题
导读:程序设计定义段结束的伪指令是___________;定义子程序结束的伪指令是________。伪指令XDB4DUP(6,2DUP(6,8));YDW6800H;设X的偏移地址为2000H,则Y的偏移地址为_________H,若执行指令MOVBL,BYTEPTRY后,则(BL)=_______________。标号和变量都是存贮单元的符号地址,但其内容不同,
定义段结束的伪指令是___________;定义子程序结束的伪指令是________。
4 DUP (6,2 DUP(6,8)); Y
6800H; 设X的偏移地址为2000H,则Y的偏移地址为_________H,若执行指令MOV BL,BYTE PTR Y后,则(BL)=_______________。
标号和变量都是存贮单元的符号地址,但其内容不同,标号是_______________的符号地址,而变量是_______________的符号地址。
伪指令VR1 DB 2 DUP(?,3 DUP(1,2),5)在存贮器中被分配了_______________字节。
汇编语言源程序结束伪指令是_______________。
下面表示段定义结束的伪指令是__________。
变量的类型属性如下,下面错误的类型是__________。
A) 字节型
B) 字符型
D) 双字型
设有一程序定义如下:
AR1 DW 4,5,$+4
MOV AX,AR1+4
执行以上指令后,AX中的内容正确的是_______________。
现用数据定义伪指令定义数据:BUF DB 4 DUP(0,2 DUP(1,0));问定义后,存储单元中有数据0100H的字单元个数是____________。
下列伪指令中定义字节变量的是________。
使用DOS功能调用时,子功能号应放在(
)寄存器中。
简述8086汇编语言中,指令语句和伪指令语句的区别和作用。
什么是变量,变量有哪些属性,如何使用这些属性?
试说明为什么有时候必须使用PTR属性操作符?
一个程序中,有下列伪指令:
DB 25 DUP(3,4,4 DUP(?,1,0))
问LEN单元存储的值是多少?
什么是汇编语言,什么是汇编?
有一个程序片段如下
3 DUP(?, 2 DUP (5,4),3)
问AX的值最后是多少?
一个程序中,有下列伪指令:
35 DUP(3,4,4 DUP(?,1,0))
问LEN单元存储的值是多少?
简述DOS系统功能调用的使用方法?
用汇编语言编程,实现从键盘输入一个不多于60个元素的无序8位无符号数数组,输入结束符为非数字字符。然后对该数组用气泡排序法排序,最后用折半查找法在该数组中查找元素66,若查找到,显示'FOUND!',若找不到,则显示'NOT FOUND!'
从BUFF单元起有一个字符串(长度小于65535),以'*'结束,编写一个完整程序求该字符串长度存入LENT单元,并统计字符串中含有大写英文字符的个数并存入COUNT单元。要求源程序具备必要的伪指令和段说明。
试题编号:A0285
难度为:容易
章节:程序设计――数据运算
已知在DAT至DAT+2单元中分别有八位无符号数a、b和c,试编写一个程序段计算表达式(a*b+c)/a ,商和余数分别存入RES和RES+1单元。
试题编号:A0284
难度为:一般
章节:程序设计――数据运算
有一带符号8位数X存于DAT单元.编一个程序段判断该数,若x小于0则将0FFH送MARK单元;若X等于0则将MARK+1单元置0FFH;若X大于0则置MARK+2单元为0FFH。
已知有X、Y、Z三个字变量,存放无符号整数,请编一个完整的程序实现公式Z=(X+Y)/(X-Y+600)(不考虑溢出情况)。
通过键盘输入一串不长于100个字符的字符串,以回车键为结束符,统计该字符串中的小写字母数存放于CX寄存器中。
AX寄存器中存放着4位十六进制数。试编写一个汇编语言程序,将这4位十六进制数分别转换为相应的ASCII码,并依次存放到RESULT数组的4个字节中去,要求用调用子程序的方法实现。
写出对存放在DX和AX中的双字长数求补的指令序列。
设有两个等长字符串。试编写一个汇编语言程序,比较它们是否完全相同;若相同,则将字符&Y&送入AL中,否则,将字符&N&送入AL中。
写出程序段,把DX,AX中的双字右移四位。
已知有X、Y、Z三个字变量,存放无符号整数,请编一个完整的程序实现公式Z=(X+Y)/(X-Y+600)(不考虑溢出情况)。
编写一个汇编语言程序,要求对键盘输入的小写字母用对应的大写字母显示出来,非小写字母不显示。如输入'abd'则应显示'ABD',输入字符以回车键结束。
统计从01000H内存单元开始的100个字(WORD)型带符号数中的正数、负数和零的字(WORD)个数。
将LM开始到LM+100的内存区中的一组数据按与原来相反的次序送到PM到PM+100的内存区。
从ARY开始存放着100个字型带符号数,寻找其中的最大值,结果放在MAX单元,只要写出实现功能的程序段即可。
实现两个十六位二进制数的加法。要求加数放在FIRST开始单元,被加数放在SECOND开始单元,和数放在SUM单元。
编写一汇编语言程序,实现将数据段中首地址为1000H(偏移地址)的100个连续存放的字节型数据搬移至该段内首地址为1050H(偏移地址)的连续的100个内存单元中。
编写一个完整的8086汇编语言程序,从附加段中首地址为ADR1(变量名)连续存放的100个字型无符号整数中找出最大数,并将此数及其偏移地址分别放入变量MAX和MAXM中。
在数据区从BLOCK开始有若干个非0字型带符号数,并以0结尾,编程统计其中共有多少个数,其中正数有多少个,负数有多少个,分别存放在ALL,PLUS,MINUS三个字单元中。
比较AX,BX,CX中带符号数的大小,将最大的数放在AX中。试编写此程序段。
已知(AX)=4BD5H,统计AX中1的个数和0的个数,并分别放在BL和DL中。编写程序段实现该功能。
试编写程序,要求能从键盘接收一个个位数N,然后响铃N次(响铃的ASCII码为07H)。
有一个首地址为ARRAY的N个字的数组,请编程序使该数组中的数按照从大到小的次序排序。(采用冒泡排序算法)
分别用移位指令和循环程序编写程序段完成(AX)*10,并将结果存入AX 条件:-32768〈=(AX)*10〈=32767。
已知32位数存放在DX:AX中。试编写一个汇编语言程序将32位数左移4位,并将高4位存入CH。
已知在N到N+I的存储区中有一组ASCII码字符串(共I+1个),试编写一个汇编语言程序,将此字符传送到NI到NI+I单元中,并使字符串的顺序与原来的顺序相反。
求1+2+3+??的直到和刚好大于1000,保存实际结果到Y中和项数n,画出程序流程图并编程实现。
从00AF0内存单元开始的100个8位带符号数中寻找最大、最小值,结果放在MAX、MIN中,画出程序流程图并编程实现。
现有一个不超过255个大写英文字母组成的字符串,要求编写一个完整的程序,统计A-Z各字符串出现的次数,并分别存入字符串后的以RESULT为首地址的26个字节单元中。
从内存30000H开始的单元中顺序存放着40个同学某门课的考试成绩,试编写程序段求该班该门课的总成绩和平均成绩。
用循环程序将物理地址10000H到100FFH单元清零。
设当前数据段寄存器的内容为1B00H,在数据段的偏移地址2000H单元内,含有一个内容为0FF10H和8000H的指针,它们是一个16位变量的偏移地址和段地址,试写出把该变量装入AX的指令序列。
试编写程序段查找从地址ASCII_STR开始的顺序256个单元的内容中是否有字符'*'若有程序转向FOUND,若没有则转向NOT_FOUND。
编写完整程序,功能是将VARW中的4位BCD码表示的一个十进制数分拆成4个一位的BCD码,每个占一个字节,存放到变量VARB中。要求数的高位BCD码占高地址,低位占
包含总结汇报、办公文档、旅游景点、IT计算机、教程攻略、党团工作、人文社科、工作范文以及第4章练习题等内容。本文共4页
相关内容搜索

我要回帖

更多关于 s7200子程序编写 的文章

 

随机推荐