论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
3.4 SN74151芯片及其外围电路设计
SN74151是较为常用的8选1数据选择器,该芯片是组合电路,不包含时序部分。电源的设计依然使用两根线就足够了。即一根接VCC,另一根接GND。除此之外还有8路输入线以及1路输出线。
4 模块设计
模块设计的思想就是为了使系统整体看起来根据有层次性。以上设计的三部分在功能上相对独立,互补影响。但在整个系统中又是相互关联,环环相扣的。根据上述的三部分电路设计可以分块为:单片机最小系统模块、串行通信电平转换模块以及8路数据选通模块。三个模块之间只有数据或控制线相连,使彼此间的干扰降到最小。当然,如果在电路设计时就将不同的模块分别焊在若干块电路板上,还有利于后续对电路的改进工作。由于8路选通是经过扩展后的二次设计,故本设计只把8路数据选通模块独立放在另一块电路板上。
5 电源设计
在电路板上,电源接口设计使用的是两端子的接线插头。实际使用一个能将220V交流电转为+5V直流电的变压器提供电源。
6 系统总体设计
系统设计的电路图。
中国大学排名
7 软件设计
7.1 总体设计思路
本设计采用的是传统的数频率的方式。但由于两个定时器分别要用作定时1秒钟时间和设置串口通信的波特率,所以只能利用其它的外部中断来数频率。在本设计中,使用的是INT0中断计数,识别脉冲交给硬件电路,计数则由软件函数实现;T0定时/计数器用作计时间1秒,溢出中断作为定时到点得标志位;T1定时/计数器用作设置串口通信的波特率。整体程序的实现主要依靠三个中断来完成,主函数的任务则是等待中断。
7.2 频率信号采集设计
中断定时、计数设计这一部分利用两个中断函数实现该功能,T0用作定时1秒,INT0的中断函数用作对频率信号的计数。
7.3 频率信号数据传输设计
①串口数据发送设计
串行发送在单片机中实现起来比较容易,只需要在可以发送数据的前提下,执行一条指令即可。所以,在串行发送部分无需采用进中断函数发送的方法,而是在定时到1秒后程序相应溢出中断,然后在定时中断程序中发送,而非串口中断发送。当然,在最初的初始化中要完成对T1计数器的相应初始化工作,包括:选择工作模式以及设定装载初值等工作。由于T1计数器只用做设置波特率,所以无需打开其中断使能,工作方式选择方式2(自动重装初值的8位计数器);初值则需要参考计算公式自己算得。唯一值得注意的是,在通过串口发送数据这一过程开始前系统一定要处于满足发送数据的条件,只有这样才能实现数据的串口发送,即TI为“0”。
②串口数据接收设计
串口数据接收的过程就不像发送数据那么简单了。因为数据不在你这里,而是从外部送来的,不能想收就收了。所以一定要想检测有数据过来。否则你都不知道你会收到什么东西。所以,在此利用中断程序接收外来数据是最好不过的了。
7.4 主程序设计