毕业设计论文基于单片机的数据采集系统设计(7)

2019-03-23 13:23

江苏师范大学本科生毕业设计 基于单片机的数据采集系统的设计

最后一步就是利用STC-ISP将HEX文件烧录到单片机里。

4.2 下位机部分程序设计

该部分的程序包括一个主程序、五个子程序,五个子程序分别为下位机串口接收中断函数、向串口发送数据子程序、模数转换子程序、键盘扫描子程序、数据显示子程序。 (1)主程序

主程序对系统进行初始化,主要是进行定时/计数的初始化,然后调用键盘扫描程序Keys_Scan(),再根据按下的键来调用向串口发送数据子程序putc_to_serialport()将相应的数据发送给串行口。当没有键按下时,则送一个数F给LED显示器。其流程图见图4-1

26

江苏师范大学本科生毕业设计 基于单片机的数据采集系统的设计

开始初始化启动定时器1开中断判断是否有按键按下Y再根据扫描到的键盘号,发送相应的数据给出口N调用一个Display()在LED上显示F

图4-1主程序流程图

(2)下位机串口接收中断函数Serial_INT() interrupt 4

因为发送完成和接收到新字节都会触发串口中断,因此串口中断程序里用if(RI)来表示接受中断,然后将RI清0。再判断接收到的数据第4位是否为1,如果为1,则按照主机发送过来的通道进行采集,如果为0,则调用循环采集程序。如图4-2所示

27

江苏师范大学本科生毕业设计 基于单片机的数据采集系统的设计

开始接收串口数据N判断收到的数据第4位是否为1Y按选定的通道号采集选定循环采集方式结束

4-2下位机串口接收中断函数流程图

(3)模数转换子程序ADCON

先要选通ADC0809,又因为ADC0809具有8个通道,利用For循环进行8次采集,接下来选择转换通道,F8H~FFH用以选择输入模拟信号的通道IN0~IN7的选择,首先从第一个通道开始,然后执行一条读取转换结果的指令,再将转换得到的结果送给串行口,再依次循环,将通道号自增1,直到8个通道全部转换完。其流程图如图4-3所示

开始选定通道号开始转换转换结束将得到的数据发送给串口结束

28

江苏师范大学本科生毕业设计 基于单片机的数据采集系统的设计

图4-3模数转换子程序流程图

(4)键盘扫描子程序Keys_Scan()

该程序是先将行选好,然后再选定列就可以确定到具体的哪一个按键。其流程图如图4-4所示

开始先将低3位置1,选定3行然后判断该按键发生在哪一行N是否有按键按下Y将列数赋给KeyNoKeyNo=9将高3位置1选定3列再判断发生在哪一列0—2行分别附加起始值 0, 3, 6结束

图4-4键盘扫描子程序流程图

(5)LED显示程序Display_Result(int d)

该子程序用的数码管动态显示方式。先将单片机的P2.7口选通进行位选,然后将位选的值发送给单片机P1口。接着将单片机的P2.6口选通进行段选,然后

29

江苏师范大学本科生毕业设计 基于单片机的数据采集系统的设计

将要显示的数字的值发送给P0口。然后调用延时,接着将P2.7、P2.6口置0,下面是重复上面的过程,直到要显示的数字全部显示在数码上。其流程图如4-5所示。

开始 显示个位 显示十分位 显示百分位 显示小数点 结束

图4-5 LED显示程序流程图

(6)向串口发送数据子程序putc_to_SerialPort(uchar c)

程序首先将数据发送到串行口,当T1=0时,表明传送结束。如图4-6所示

数据发送到串行口

当T1=0时,则传送

TI=0

图4-6向串口发送数据子程序流程图

30


毕业设计论文基于单片机的数据采集系统设计(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:福师《幼儿园教育》在线作业一15秋答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: