电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

C语言在测量与控制中的应用实验报告VIP专享

C语言在测量与控制中的应用实验报告_第1页
1/36
C语言在测量与控制中的应用实验报告_第2页
2/36
C语言在测量与控制中的应用实验报告_第3页
3/36
Harbin Institute of TechnologyHarbin Institute of TechnologyCC 语言在测量与控制中的语言在测量与控制中的应用应用实验报告实验报告专 业: 控制科学与工程 班 级: 学 号: 姓 名: 设计时间: 2024 年 5 月 12 日星期二 下载后可任意编辑实验一 AD/DA 数据采集实验一、定时中断程序设计实验的目的:1. 掌握定时器/计数器 8254 的工作原理与编程。2. 熟悉中断控制器 8259A 的工作原理与使用方法。3. 掌握硬件中断程序设计的原理与编程方法。实验条件:PC 机,WinXP 操作系统,Turbo C 2.0程序设计要求:程序运行首先提示输入中断服务的时间间隔 T 和中断服务次数 N,正确输入后,回车,则每间隔指定的时间 T 会在屏幕上显示一些字符,显示 N 次后,则不再显示,假如 N=0,则会无限显示下去,直到在键盘上按下指定的按键,才停止显示。停止显示后,按任意键程序结束运行。1. 时间间隔 T 为以毫秒为单位浮点数,可处理范围至少要 0.001 毫秒到 5000毫秒。2. 屏幕上的显示信息要有助于验证程序运行结果的正确。3. 输入错误信息要有提示,并允许重新输入。4. 编程时要尽量把具有独立功能的代码写成子程序。5. 注意变量的命名要清楚,代码的注释要丰富。6. 后面的三个实验均要在此程序基础上编程、添加代码,注意程序的结构。设计思路1.如何实现任意时间间隔?(附程序流程图)答:时间间隔的选择是根据用户需求进行相应设置。程序第一步用户输入时间间隔T(ms),在程序设计时,根据用户输入 T(ms),并通过使用相应的语句对 8254 的下载后可任意编辑通道 0 定时器设计数初值,然后将计数初值先写低 8 位,后写高 8 位的方式,初始化通道 0。代码实现为: 通过 CalIPara()函数来计算计数初值的高低 8 位: void CalIPara(double DTimeI,int *ILongCount,unsigned char *CL8, unsigned char *CH8) { double TotalCounter=DTimeI*1193; int Residue; ILongCount[0]=TotalCounter/65536; Residue=TotalCounter-65536*ILongCount[0];CH8[0]=Residue>>8; CL8[0]=Residue&0x0FF;}通过 SetupTimerInterrupt()函数来对 8254 的通道 0 定时器的初始化:void SetupTimerInterrupt(void) { disable(); oldint8=getvect(0x08); outportb(0x43,0x36); if(LongCount==0) { outportb(0x40,L8); outportb(0x40,H8); } else { outportb(0x40,0x00); outport...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

C语言在测量与控制中的应用实验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部