课程设计报告 样板 联系客服

发布时间 : 星期日 文章课程设计报告 样板更新完毕开始阅读

第三章 汉明码编解码系统 12

图3.4 接收方硬件设计

接收方同样也采用上面的电路结构只不过去掉了按键输入单元。

第三章 汉明码编解码系统 13

3.3 系统软件设计

3.3.1 单片机结构介绍

3.3.1.1 概述

8051系列微处理器基于简化的嵌入式控制系统结构,被广泛应用于从军事到自动控制再到PC 机上的键盘上的各种应用系统上,很多制造商都可提供8051系列单片机,像Intel Philips Siemens等。这些制造商给51系列单片机加入了大量的性能和外部功能,像I2C总线接口模拟量到数字量的转换、看门狗、PWM 输出等,不少芯片的工作频率达到40M,工作电压下降到1.5V。基于一个内核的这些功能使得8051单片机很适合作为厂家产品的基本构架,它能够运行各种程序,而且开发者只需要学习这一个平台。

8051系列的基本结构如下: 1、一个8 位算术逻辑单元

2、32个I/O口(4 组8位端口)可单独寻址 3、两个16 位定时计数器 4、全双工串行通信

5、6个中断源两个中断优先级 6、128 字节内置RAM

7、独立的64K 字节可寻址数据和代码区

每个8051处理周期包括12个振荡周期,每12 个振荡周期用来完成一项操作,计算指令执行时间可把时钟频率除以12,取倒数,然后指令执行所须的周期数,因此,如果系统时钟是11.059MHz, 除以12 后就得到了每秒执行的指令个数为921583条指令,取倒数将得到每条指令所须的时间(1.085ms)。 3.3.1.2 存储区结构

8051结构提供给用户3个不同的存储空间,每个存储空间包括从0到最大存储范围

第三章 汉明码编解码系统 14

的连续的字节地址空间.通过利用特定地址的寻址指令,决了地址重叠的问题。 3.3.1.3 CODE区

第一个存储空间是代码段,用来存放可执行代码。被16位寻址,空间可达64K。代码段是只读的,当要对外接存储器件如EPROM 进行寻址时处理器会产生一个信号,但这并不意味着代码区一定要用一个EPROM,目前一般使用EEPROM 作为外接存储器可以被外围器件或8051进行改写这使系统更新更加容易新的软件可以下载到EEPROM 中,而不用拆开它然后装入一个新的EEPROM。另外,带电池的SRAM也可用来代替EPROM,他可以像EEPROM一样进行程序的更新,并且没有像EEPROM那样读写周期的限制。但是,当电源耗尽时,存储在SRAM中的程序也随之丢失。使用SRAM来代替EPROM 时,允许快速下载新程序到目标系统中,这避免了编程/调试/擦写这样一个循环过程,不再需要使用昂贵的在线仿真器。

除了可执行代码,还可在代码段中存储查寻表,为达此目的8051 提供了通过数据指针DPTR或程序计数器加上由累加器提供的偏移量进行寻址的指令,这样就可以把表头地址装入DPTR 中,把表中要寻址的元素的偏移量装入累加器中,8051在执行指令时的过程中把这两者相加,由此可节省不少指令周期。在以后的例子中我们会看到这点。 3.3.1.4 DATA区

第二个存储区是8051内128 字节的内部RAM或8052的前128 字节内部RAM.这部分主要是作为数据段称为DATA区.指令用一个或两个周期来访问数据段.访问DATA区比访问XDATA区要快,因为它采用直接寻址方式,而访问XDATA 须采用间接寻址,必须先初始化DPTR .通常我们把使用比较频繁的变量或局部变量存储在DATA 段中,但是必须节省使用DATA 段,因为它的空间毕竟有限.

在数据段中也可通过R0 和R1 采用间接寻址,R0 和R1 被作为数据区的指针,将要恢复或改变字节的地址放入R0 或R1 中,根据源操作数和目的操作数的不同,执行指令需要一个或两个周期。

数据段中有两个小段,第一个子段包含四组寄存器组,每组寄存器组包含八个寄存

第三章 汉明码编解码系统 15

器共32 个寄存器,可在任何时候通过修改PSW寄存器的RS1和RS0 这两位来选择四组寄存器的任意一组作为工作寄存器组,8051 也可默认任意一组作为工作寄存器组。工作寄存器组的快速切换不仅使参数传递更为方便,而且可在8051 中进行快速任务转换。

另外一个子段叫做位寻址段(BDATA),包括16个字节,共128 位,每一位都可单独寻址。8051有好几条位操作指令,这使得程序控制非常方便,并且可帮助软件代替外部组合逻辑,这样就减少了系统中的模块数。位寻址段的这16 个字节也可像数据段中其它字节一样进行字节寻址。 3.3.1.5 IDATA区

8051系列的一些单片机如8052有附加的128字节的内部RAM,位于从80H 开始的地址空间中,被称为IDATA。 因为IDATA区的地址和SFR的地址是重叠的,通过区分所访问的存储区来解决地址重叠问题,因为IDATA 区只能通过间接寻址来访问。 3.3.1.6 XDATA区

8051的最后一个存储空间为64K,和CODE 区一样,采用16位地址寻址,称作外部数据区,简称XDATA 区。这个区通常包括一些RAM( 如SRAM)或一些需要通过总线接口的外围器件。对XDATA 的读写操作需要至少两个处理周期,使用DPTR,R0或DPTR,R1。对DPTR来说,至少需要两个处理周期来装入地址,而读写又需要两个处理周期。同样,对于R0或R1 装入需要一个以上的处理周期,而读写又需两个周期,由此可见处理XDATA 中的数据至少要花3 个指令周期,因此使用频繁的数据应尽量保存在DATA 区中。

如果不需要和外部器件进行I/O 操作或者希望在和外部器件进行I/O操作时开关RAM,则XDATA 可全部使用64K RAM。 3.3.2 软件中用到的单片机资源介绍

3.3.2.1单片机的中断系统