3.3.2 外部特性
ADC0808芯片有28条引脚,封装方式是双列直插,如图4所示。
图4 外部特性
其输入输出连接图如图5所示。
图5 ADC0808连接图
3.4 AT89C51芯片介绍
它由一个8位中央处理器CPU、一个256B片内RAM及4KB Flash ROM 、21个特殊功能寄存器、4个8位并行I/O口、两个16位定时/计数器、一个串行I/O口以及中断系统等部分组成,各功能部件通过片内单一总线联成一个整体,集成在一块芯片上[12]。
AT89C51有40条引脚,与其他51系列单片机引脚是兼容的。这40条引脚可分为I/O端口线、电源线、控制线、外接晶体线四部分。其封装形式有两种,双列直插封装(DIP)形式和方形封装形式。其中双列直插式如图6所示。
图6 双列直插式封装图
3.5 LED显示电路的介绍
在本任务中用4位数码管显示当前数值,由于数码管个数多,如采用静态显示方式,则占用单片机的I/O口线太多,如果用定时器/计数器的串行移位寄存器工作方式及外接串入并出移位寄存器74LS164的方式,则电路复杂。所以,在数码管个数较多时,常采用动态显示方式。
4位数码管的相同段并联在一起,由一个6位I/O输出字形码控制显示某一字形,每个数码管的公共端由另外一个I/O口输出的字位码控制,即数码管显示的字形是由单片机I/O口输出的字形码确定,而哪个数码管点亮是由单片机I/O口输出的字位码确定的[13,14]。4个数码管分时轮流循环点亮,在同一时刻只有1个数码管点亮,但由于数码管具有余辉特性及人眼具有视觉暂留特性,所以适当地选取循环扫描频率,看上去所有数码管是同时点亮的,察觉不出闪烁现象。动态显示方式所接数码管不能太多,否则会因每个数码管所分配的实际导通时间太少,使得数码管的亮度不足。在本任务中,为了简便,字形码和字位码都没由加驱动电路,在实际应用中应加驱动电路。数码管有共阴极和共阳极两种,对于共阳数码管,字形驱动输出0有效,字位驱动输出1有效;而对于共阴数码管则相反,与单片机连接图如图7所示。
图7 LED连接图
3.6 指示灯显示功能
当角度大于45度时灯亮报警,电机旋转,这样就帮助工作人员对平台进调平,其发光二极管、电机与单片机的连接如图8所示。
图8 指示灯与电机显示图
当角度值大于45度时,指示灯亮、电机转动的仿真图如图9所示。
图9 角度值大于45度时的报警仿真图
4. 软件设计
软件设计就是对系统的功能进行控制和实现的程序的设计。整个的功能实现程序包括执行程序的设计和监控程序的设计。系统的程序的编写通常要考虑以下问题。
(1)根据系统要实现的功能,将系统划分为几个独立的模块,设计出整体的主框图结构,使程序编写简单和流程清晰易懂。
(2)了解并学习一些正确的编程习惯。
(3)写出正确的程序流程思路。
(4)画出实现各自功能的流程图,通过仿真改善系统的功能。
(5)加写一些必要的注释,提高可读性,实施软件工程。
(6)注意软件的抗干扰设计,提高系统的可靠性。
4.1 C语言介绍
C语言是一种高级的计算机语言,它是目前计算机语言中被人们所认可的优秀的结构程序设计语言之一。在1972年,它由美国贝尔研究所的D.M.Ritchie教授首次推出[15]。十九世纪八十年代之后,C语言已先后被运用到到各种微型机上。
C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件,如DBASEⅣ都是由C语言编写的。用C 语言加上一些汇编语言子程序,就更能显C语言的优势了,像PC_DOS、WORDSTAR等就是用这种方法编写的。 51单片机的角度测量系统设计+仿真图+源码(4):http://www.751com.cn/zidonghua/lunwen_1333.html