嵌入式系统及其应用实验
题目:保险柜开锁模拟
姓名:班级:学号:
f一.实验要求使用网络助手发送保险柜密码,单片机通过WiFi模块接收,将密码在数码管上显示,同时点亮对应数字的LED小灯。如果密码输入正确,则继电器打开,模拟开柜成功的LED小灯点亮;如果密码输入错误,则蜂鸣器报警。二.单片机工作原理
图180C51单片机内部结构
图280C51单片机引脚图
f1.单片机的CPU它可以分为运算器和控制器两部分。运算器功能部件包括算术逻辑运算单元ALU、累加器ACC、寄存器B、暂存寄存器TMP1、TMP2、程序状态字寄存器PSW等。控制器功能部件包括程序计数器PC、指令寄存器IR、指令译码器ID、定时控制逻辑电路CU、数据指针寄存器DPTR、堆栈指针SP及时钟电路等。(1)运算器①算术逻辑运算单元ALU。ALU可以进行算术、逻辑运算。算术运算有:加、减、乘、除,逻辑运算有:与、或、异或等。②累加器ACC。累加器ACC的主要功能是在运算前存放一个操作数,运算后存放一个操作结果。80C51系列单片机虽然在结构上仍然以累加器A作为重要部件。但由于内部电路采取了措施,使得累加器A在数据传送、逻辑操作等方面的核心作用有所削弱。数据可以在片内直接间接地址的存储器之间直接传送,而不必经过累加器A。但,加、减、乘、除算术运算指令的运算结果都存放在累加器A或AB寄存器对中。③暂存器TMP1、TMP2。由图1可知,ALU进行算术逻辑运算前的两个操作数来自暂存器TMP1、TMP2,所以暂存器TMP1、TMP2用于存放运算前的两个操作数。④程序状态字寄存器PSW。程序状态字寄存器PSW用来存放运算结果的状态标志。PSW寄存器各位的含义如下,其中PSW1未定义,其它各位说明如下:
图3PSW寄存器
CY:进位标志。它是累加器A的进位位,如果操作结果在最高位有进位(加法)或借位(减法)时置1,否则清0。AC:半进位标志。它是低半字节的进位位(累加器A中A3位向A4位的进位),主要用于BCD码调整。低4位有进位(加法时)或向高4位有借位时(减法时),AC是1,否则,AC清0。F0:用户定义的状态标志位。可通过软件对它置位、复位或测试,以控制程序的流向。RS1、RS0:工作寄存器区选择控制位,用于选择4组工作寄存器之一。可以用软件来置位或清零,以确定工作寄存器区。RS1、RS0与寄存器区的对应关系如下:RS1、RS0000区(地址00H07H)RS1、RS0011区(地址08H0FH)
fRS1、RS0102区(地址10H17H)RS1、RS0113区(地址18H1FH)OV:溢出标志位,用于表示r