当前位置:文档之家› 两路相位可调方波信号发生器(最终版)

两路相位可调方波信号发生器(最终版)

目录1、设计原理与方法 (2)1.1、单片机系统概述 (2)1.2、80C51内部结构与引脚说明 (2)1.3、设计原理 (4)2、系统硬件线路设计图 (6)3、程序框图 (7)4、资源分配表 (8)5、源程序 (8)6、仿真结果 (12)7、性能分析 (14)8、总结与心得 (15)9、参考文献 (16)1、设计原理与方法1.1、单片机系统概述单片机也被称为微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。

单片机由芯片内仅有CPU的专用处理器发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。

事实上单片机是世界上数量最多的计算机。

现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。

手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。

而个人电脑中也会有为数不少的单片机在工作。

汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。

概括的讲:一块芯片就成了一台计算机。

它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。

同时,学习使用单片机是了解计算机原理与结构的最佳选择。

1.2、80C51内部结构与引脚说明8051的CPU包含以下功能部件:(1)8位CPU。

(2)布尔代数处理器,具有位寻址能力。

(3)128B内部RAM数据存储器,21个专用寄存器。

(4)4KB内部掩膜ROM程序存储器。

(5)2个16位可编程定时器/计数器。

(6)32位(4×8位)双向可独立寻址的I/O口。

(7)1个全双工UART(异步串行通信口)。

(8)5个中断源、两级中断优先级的中断控制器。

(9)时钟电路,外接晶振和电容可产生1.2MHz~12 MHz的时钟频率。

(10)外部程序/数据存储器寻址空间均为64KB。

(11)111条指令,大部分为单字节指令。

(12)单一+5V电源供电,双列直插40引脚DIP封装。

MCS-51单片机中有两个16位的定时器/计数器T0和T1,它们由4个8位寄存器(TL0, TH0, TL1和TH1)组成,2个16位定时器/计数器是完全独立的。

可以单独对这4个寄存器进行寻址,但不能把T0和T1当做16位寄存器来使用。

具体结构框图如下:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。

其引脚图如图所示。

下面,我们将对一些本次试验用到的引脚,加以说明Pin9:RESET/V pd复位信号复用脚,当80C51通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。

初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。

RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。

然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,80C51的初始态。

程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,Pin31:EA/Vpp当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。

如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。

显然,对内部无程序存储器的8031,EA端必须接地。

1.3、设计原理说明本次设计的目的是实现两路相位可调的方波信号发生器。

通过对51单片机工作原理的学习,设计如下:选用51单片机中的T0和T1两个定时器,对于两路输出信号P0.0和P0.1分别进行控制,通过定时器的定时计数功能,调整电平变化,产生方波采取改变两个定时计数器计数初值的手段,改变方波电平产生的延时时间,从而改变方波频率(本次设计中方波占空比为1)将P1.0设为调频端口,将P1.1设为调相端口。

通过更改P0.1端口定时中断中加入输出方波前的独立延时时间,使两个波形之间产生相位差,相位差的步进值为45°2、系统硬件线路设计图3.程序框图调频按键TF1开始 设定计数器初值和相应的定时脉冲个数设定定时器T0和T1的工作方式为方式一,并打开定时中断依设定的计数初值开始计数溢出 N 输出电平取反并重新给计数器赋初值 YN 将计数器初值减小,改变频率,输出方波 调频按键TF2Y 以18°步进值改变相位N 返回将计数器初值增大,改变频调相键tp 按下 N Y4、资源分配表以下是本设计单片机80C51的系统资源分配:P1.0调整频率步进值+1按键P1.1调整频率步进值-1按键P1.1调整相位按键P0.0第一路方波输出端(定时中断入口0BH)P0.1第二路方波输出端(定时中断入口1BH)T0控制P0.0的方波输出T1控制P0.1的方波输出XTAL1与XTAL2接外部晶振,频率为12MHZ5.源程序ORG 0000HAJMP STARTORG 000BHAJMP BRK0ORG 001BHAJMP BRK1ORG 0030HSTART:MOV R0,#3CH ;设定定时器的初值MOV R1,#0B0HMOV R2,#0C3H ;相应的脉冲个数MOV R3,#50HMAIN:SETB P0.0SETB P0.1MOV TMOD,#11H ;设定T0、T1均工作于方式1 MOV TH0,R0 ;设定T0初值MOV TH1,R0 ;设定T1初值MOV TL1,R1SETB TR1 ;启动T1工作SETB EASETB TR0 ;启动T0工作SETB ET0 ;允许T0中断WAIT:JNB P1.0,TF1 ;等待调频按键的操作JNB P1.1,TF2 ;等待调频按键的操作JNB P1.2,TP ;等待调相按键的操作LJMP WAITTP:MOV R4,#16HDL1: MOV R6,#16HDJNZ R6,$DJNZ R4,DL1MOV R7,#01HLJMP WAITTF1: ;步进值为+1Hz的调频程序 JNB P1.0,$MOV A,R3CLR CSUBB A,#88HMOV R3,ACPL AMOV R1,A ;调频后的计数器初值低八位MOV A,R2SUBB A,#13HCLR CCPL AMOV R0,A ;调频后的计数器初值高八位MOV TH1,R0 ;重新给计数器赋初值MOV TL1,R1MOV TH0,R0MOV TL0,R1LJMP WAITTF2: ;步进值为-1Hz的调频程序 JNB P1.0,$MOV A,R3CLR CADDC A,#88HMOV R3,ACPL AMOV R1,A ;调频后的计数器初值低八位MOV A,R2ADDC A,#13HMOV R2,ACLR CCPL AMOV R0,A ;调频后的计数器初值高八位MOV TH1,R0 ;重新给计数器赋初值MOV TL1,R1MOV TH0,R0MOV TL0,R1LJMP WAITBRK0: ;T0中断程序入口SETB ET1CPL P0.0MOV TH0,R0MOV TL0,R1RETIBRK1: ;T1中断程序入口CJNE R7,#01H ,XXCALL CF ;若R7为1,则调用调相程序XX:CPL P0.1MOV TH1,R0MOV TL1,R1RETICF:MOV R4,#16HDL2: MOV R6,#16HDJNZ R6,$DJNZ R4,DL2CPL P0.1DEC R7 ;将R7位清零RET ;返回定时中断程序6.protuse软件仿真初始波形调频步进值+1调频步进值-1调相波形7、性能分析本次设计所实现的功能如下:通过定时计数器,产生双输出同步,占空比为1的方波通过更改计数器的初值,产生倍频效果,调节频率变化,实现频率可控通过对T1定时计数器的设置,对其进行相位延时,从而产生步进值为18°的相位差,实现相位差可控综上可知,本次设计基本实现了两路相位可调方波信号发生器的功能,尚待完善的功能如下:频率的步进变化,而非倍频效果对于相位差的步进,采用的是更改计数初值的办法来是第二个波形产生单独延时,所以对于改变后的频率不再是以18°为步进值改变。

8、总结与心得这次单片机课程设计,我要求的题目是两路相位可调方波信号发生器,从找资源,到查阅书籍,到咨询同学,再到完成设计,大概用时一个星期左右。

通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。

创新,是要我们学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。

使之不断地战胜别人,超越前人。

同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。

设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。

这个设计过程中,我遇到过许多次失败的考验,就比如,在实现频率步进值的时候,由于是采用计数初值的办法,所以不能完全按照标准的步进频率进行步进,调相也遇到了同样的问题,由于是按照步进初值的办法,所以调相也出现了缺点,他只能在初始频率上标准的按步进值变化,但是一旦改变了频率,他的步进值就会不再是18°了,对于答辩老师的意见,我觉得对计数进行跟踪确实是个好的办法,这样就能完全符合客户的要求了。

总之,这次课程设计我付出不少,但是我同样收获很多。

9、参考文献张义和王敏男许宏昌,《例说51单片机》,人民邮电出版社,2008李群芳张士军黄建,《单片微型计算机与接口技术》,电子工业出版社,2008 王守中聂元铭,《51单片机开发入门与典型实例》,人民邮电出版社,2009周兴华,《手把手教你学单片机》,北京航空航天大学出版社,2007。

相关主题