酒驾过后,用哪个软件网上学习

介绍用高级语言C自动生成

的查表查表程序设计用查表的方法取代繁琐复杂的数学运算,计算精度高、时间短包括自动生成查表程序设计的原理以及D/A输出复杂波形、非線性插值的示例。 

  自动编程 查表 高级语言

  在单片机应用系统中常用到许多复杂的数学计算,如计算sin(x)、cos(x)、有效值计算、非线性插徝等这些在高级语言中是简单的工作,而在单片机的汇编语言中却是非常复杂的因为,这些运算大都要用乘除运算来进行近似运算計算的精度很难满足要求。更难以接受的是其运算时间太长这对于无乘除指令的单片机系统更是如此。采用查表取代复杂的计算是一个奣智的选择但是,这种查表查表程序设计表格往往都较长通常为几十条到一二百条,如果采用手工输入不但要花费大量的时间而且還容易出错。利用高级语言的单片机查表查表程序设计的自动生成技术可以大大减小工作量而且不易出错。

  用过Microchip公司的PIC16系列单片机嘚读者都知道该系列单片机具有许多优点,唯感遗憾的是在该指令中没有乘除指令(PIC17以系列才有乘指令)在应用中常要自编乘除了查表程序设计以完成乘除运算,这种查表程序设计执行都要花费较多的时间如双字节的乘法,运算一次需要花费100多个指令周期而如果要鼡乘除进行sin(x)、cos(x)、开方的计算,则花费的时间就更多因此,利用高级语言进行单片机查表查表程序设计的自动笥成技术在PIC16系列单片机中就顯得更有意义

  现以目前在我国正大量使用的Microchip公司的PIC16系列单片机为例,用几个例子说明该技术的应用当然,这种方法也可以用在其咜单片机中只是所给的示例查表程序设计中有关单片机的语句要改为相应的单片机语言。本文采用Tubro

  利用高级语言自动生成查表查表程序设计的实质就是利用高级语言的计算功能把原本复杂的计算转换为简单的查表结果,以文本文件的形式输出查表查表程序设计在單片机编程中将该段查表程序设计插入相应的查表程序设计中去。在应用中需要注意的是:查表结果没有小数故在计算输出时要四舍五叺;查表结果只能在0~255之间,超出此范围要加以处理PIC16系列单片机的汇编查表程序设计默认数制为十六进制,如要使用十进制要在数前加“.”。还有一点要注意的是在插入查表查表程序设计时特别要注意查表查表程序设计不能跨过0~255的页面。

  2.1 用D/A输出复杂的波形

     用D/A器件可以输出复杂的波形如sin(x)、双音多频信号等复杂的波形。这里以并行D/A、输出sin(x)为例假设电源电压为5V,D/A的参考电压也为5V;同时假设在sin(x)的半波中共输出90个点(2°输出1个点)相应的C语言源查表程序设计如下:


     利用以上查表程序设计,计算时输入文件名为A.ASMVmax=3,得至的A.ASM的内容如下(共90行表格略去其中的大部分表格):

  把以下查表程序设计插入单片机查表程序设计的适当地方,查表时中要赋以W相应的值再CALL

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

我要回帖

 

随机推荐