P3口:P3口是8个有上拉电阻的准双向I/O口,可以接收4个TTL门电路。当P3口写入“1”之后,内部被上拉为高电平。P3口也可作为特殊功能寄存器,如表6所示。
表6 寄存器内容
P3.0 RXD 串行输入口
P3.1 TXD 串行输出口
P3.2 /INT0 外部中断0
P3.3 /INT1 外部中断1
P3.4 T0 记时器0外部输入
P3.5 T1 记时器1外部输入
P3.6 /WR 外部数据存储器写选通
P3.7 /RD 外部数据存储器读选通
3.1.2 PIC16F887单片机简介
PIC单片机的总线结构是哈佛结构,指令和数据空间是完全分开的,一个用于指令,一个用于数据,由于可以对程序和数据同时进行访问,所以提高了数据吞吐率。正因为在PIC单片机中采用了哈佛双总线结构,所以与常见的微控制器不同的一点是:程序和数据总线可以采用不同的宽度。数据总线都是8位的,但指令总线位数分别位12、14、16位。
PIC单片机的指令周期比51单片机的短,同样的晶振下,PIC单片机的指令周期是4个时钟周期,51单片机是12个,并且PIC单片机绝大部分指令都是单周期指令,一个指令周期执行一条指令,51单片机一般是2到4个指令周期执行一条指令,所以用同样晶振情况下,除了执行乘除法外,PIC单片机要比51单片机快。PIC单片机的外部引脚图如图6所示。
图6 PIC单片机外部引脚
3.1.3 时钟电路和显示电路
LED数码管采用的是CD4511数码管译码器直接驱动的,芯片CD4511具有BCD转换、锁存、七段译码及驱动功能[6],其功能是用来驱动LED数码管。其内部结构如图7所示。
图7 时钟芯片CD4511
共阴LED数码管的电路图及LED数码管的外形图如图8所示。
图8 共阴LED数码管内部结构图
3.2 各路功能电的设计
上位机由键盘、显示和通讯三个部分组成。键盘采用的是普通开关。显示电路用LED显示,有4位共阴极LED数码管和驱动,作为了显示器。单片机之间用串行连接,直接连接在两单片机上。
电路工作原理如下:
3.2.1主要电路模块
主要电路模块包括晶体振荡电路和单片机复位电路。如图9所示。
图9 单片机基本电路
3.2.2 开关电路模块
本设计采用了普通开关键输入方式,它的结构和工作原理比较简单,如图10所示。
图10 开关电路
3.2.3 显示模块
该系统的显示电路采用的是单片机驱动四位一体的LED显示电路,为了保持电路的显示的稳定在驱动中加入了74LS273锁存器,同时在位选端采用了74LS138的译码器,节约了引脚资源。
显示模块中用到4个LED数码管进行了动态扫描显示,其原理如图11所示。
图11 LED显示电路
4. 软件实现
软件部分是配合硬件部分工作的,有人说软件是硬件工作的方向标。
4.1 上位机
本文用到C语言编程是由于中断服务程序中的现场保护和现场恢复,并且头文件当中的宏定义、数据类型以及函数原型,对程序的移植以及对单片机产品系列化的开发有用。上位机电路主要包括键盘、显示和通讯电路,相对应的软件包括键盘扫描程序,LED显示程序,时钟定时程序,数字钟程序和通讯模块相对应的程序。
在上位机程序的设计中采用的单片机内置的定时计数功能,内部中断,外部中断的功能。
在程序的入口处首先将显示电路清零,然后进入16位计数工作模式,设定允许中断的工作模式,紧接着进入键盘扫描子程序,接受用户发送的命令,把接受的命令经过处理后传递给下一级即是下位机,在传递的过程始终首先要经过编码,把命令转换为适合在网络中传递的数据形式,在下位机端进行解码,然后下位机执行相应的操作即可。 51单片机远程家电控制系统的设计+电路流程图+源码(7):http://www.youerw.com/zidonghua/lunwen_909.html