最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

单片机 波形发生器的设计

来源:动视网 责编:小OO 时间:2025-10-03 00:31:16
文档

单片机 波形发生器的设计

课程设计课程单片机原理及应用课程设计题目波形发生器的设计院系专业班级学生姓名学生学号指导教师2010年3月19日课程设计任务书课程单片机原理及应用课程设计题目波形发生器的设计专业电子信息工程姓名学号主要内容、基本要求、主要参考资料等1、主要内容:根据单片机课程所学内容,结合其他相关课程知识,设计一个波形发生器,以加深对单片机知识的理解,锻炼实践动手能力,为以后的毕业设计和工作打下坚实基础。2、基本要求:本设计以MCS-51系列单片机为核心,采用常用电子器件设计。可以产生正弦波、方波、三角波等常
推荐度:
导读课程设计课程单片机原理及应用课程设计题目波形发生器的设计院系专业班级学生姓名学生学号指导教师2010年3月19日课程设计任务书课程单片机原理及应用课程设计题目波形发生器的设计专业电子信息工程姓名学号主要内容、基本要求、主要参考资料等1、主要内容:根据单片机课程所学内容,结合其他相关课程知识,设计一个波形发生器,以加深对单片机知识的理解,锻炼实践动手能力,为以后的毕业设计和工作打下坚实基础。2、基本要求:本设计以MCS-51系列单片机为核心,采用常用电子器件设计。可以产生正弦波、方波、三角波等常
课  程  设  计

课    程    单片机原理及应用课程设计            

题    目     波形发生器的设计           

院    系                      

专业班级                      

学生姓名                              

学生学号                     

指导教师                                  

 

 

 

2010年3月 19日

课程设计任务书

课程 单片机原理及应用课程设计

题目 波形发生器的设计   

专业  电子信息工程     姓名       学号  

主要内容、基本要求、主要参考资料等

1、主要内容:

根据单片机课程所学内容,结合其他相关课程知识,设计一个波形发生器,以加深对单片机知识的理解,锻炼实践动手能力,为以后的毕业设计和工作打下坚实基础。

2、基本要求:

    本设计以MCS-51系列单片机为核心,采用常用电子器件设计。可以产生正弦波、方波、三角波等常用标准波形,由按键选择并显示。

3、主要参考资料:

   [1] 张毅坤,陈善久.单片微型计算机原理及应用.西安:西安电子科技大学出版社,2002.

   [2] 张友德,赵志英,徐时亮.单片微机原理应用与实验.上海:复旦大学出版社,2000.

   [3] 伟福Lab2000P系列单片机仿真实验系统说明书.

完成期限  2010.3.15-2010.3.19  

指导教师                    

专业负责人                  

2010年3 月 13 日

第一章概述.........................................................1

第二章系统设计.....................................................2

    2.1 系统原理设计.............................................. 2

第三章硬件设计.....................................................3

3.1单片机电路设计..............................................3

3.2 键盘/显示接口电路设计......................................4

3.3 D/A转换电路设计............................................5

第四章 软件设计....................................................5

4.1 主程序及中断程序...........................................5

4.2 显示系统程序...............................................6

4.3 键盘处理程序...............................................6

第一章概述

单片机是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。

  单片机是靠程序的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!波形发生器是一种数据信号发生器,在调试硬件时,常常需要加入一些信号,以观察电路工作是否正常。用一般的信号发生器,不但笨重,而且只发一些简单的波形,不能满足需要。例如用户要调试串口通信程序时,就要在计算机上写好一段程序,再用线连接计算机和用户实验板,如果不正常,不知道是通讯线有问题还是程序有问题。用E2000/L的波形发生器功能,就可以定义串口数据。通过逻辑探勾输出,调试起来简单快捷。

第二章系统设计 

2.1 系统原理设计

系统设计的原理方框图如图1所示。MCS-51系列的8051单片机是整个波形发生器的核心部分,他从程序存储器读取程序,从键盘接收数据,经过处理送到LED数码管,并产生相应的数字信号送到D/A转换器,转换成模拟信号也就是所需要的波形输出。4×4键盘可使8051接收用户输入的波形选择、波形频率和幅值电压信息,LED数码管则将这些信息显示出来,8051单片机执行存储的程序指令,产生相应的不同频率和幅值的波形。

图2.1系统原理方框图

波形发生器通电后,系统进行初始化,数码将显示显示6个‘-’,等待输入设置命令。键盘上除了0-9这十个数字键外,还有按“幅值”、“频率”、“方波”、“正弦波”、“三角波”进行相应设置的键,以及“Enter”键。输入相应的参数后,LED数码管上将显示参数值,全部设置完毕后,按“Enter”键,LED数码管显示波形的编码、电压幅值、频率。要停止使用波形发生器,可按下复位按钮将系统复位,然后关闭电源。

第三章 硬件设计

 单片机电路设计

单片机是整个波形发生器的核心部件,本次设计采用了应用广泛的MCS-51系列的8051单片机。单片机在整个系统中的作用是形成扫描码,进行键值识别、键处理、参数设置;形成显示段码;产生定时中断;形成波形的数字编码,并输出到D/A接口电路。

电路如图2所示。8051单片机的P1口作为4×4键盘的接口。P2口作为LED数码显示管的位选择接口。用定时/计数器作为中断源。不同的频率值对应不同的定时初值,允许定时器溢出中断。定时器中断的特殊功能寄存器设置如下:

定时控制寄存器TCON=20H;工作方式选择寄存器TMOD=00H;中断允许控制寄存器IE=82H。

8051执行指令的时间以及定时器/计数器记数的频率都与震荡源的周期有关,为了提高波形频率的精度,采用了6MHz的晶振与外部时钟的方式,晶振的两个引脚分别与8051单片机的外接晶振引脚X1和X2相连。另外还设计了复位电路。

图3.1 键盘/显示接口电路

 键盘/显示接口电路设计

整个键盘/显示接口电路由反向驱动器ULN2803A、6位共阴极数码管和4×4键盘组成。它的作用是驱动6位数码管动态显示,扫描键盘,根据输入的参数执行相应的程序。电路设计如图二所示。P0口作为数码管的段选口,P2口作为位选口,与UNL2803A相连接。P1口的低四位作为键盘的行状态的输入,高四位作为输出扫描。

 转换电路设计

整个电路由两片DAC0832数模转换器和两块LM324运放组成。

单片机8051产生的是数字信号,要想得到所需要的波形,就要把8051单片机产生的数字信号转换成模拟信号,这就需要一种能把数字信号转换成模拟信号的器件,这种器件就是数模转换器DAC。实际上,DAC输出的电量也不是真正能联续可调,而是以DAC的绝对分辨率为单位递增,这实际上是准模拟量输出。本次设计的波形发生器选用价格低廉、接口简单、转换控制容易的8位分辨率的数模转换器DAC0832。DAC0832转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路组成,它具有两个输入数据寄存器,能直接与8051单片机接口相连。图3是实际设计的D/A转换电路。这个电路将波形样值的编码转换成模拟值;完成单极性的波形输出。

DAC0832(1)提供参考电压,单片机向0832(1)送数字编码,产生不同的输出。本波形发生器可输出1V、2V、3V、4V、5V五个电压。0832(1)输出电压作为的0832(2)的参考电压,因此本波形发生器的幅值是可调的。0832(2)产生各种波形,生成波形样值码,经D/A转换得到各种模拟样值点。假如N个点构成波形的一个周期,则0832(2)输出N个样值点后,样值点形成运动轨迹,即一个周期。重复输出N个点,成为第二个周期。如此循环就形成了一定周期的信号波形。

两片DAC0832数模转换器的地址分配如下:0832(1):BFFFH,  0832(2):7FFFH。

图3.2 D/A转换电路

第四章 软件设计

 主程序及中断程序

实现系统的波形输出。单片机的片内RAM有128字节,30~3FH作为堆栈区,40~45H为显示缓冲区,40H存放波形编码,42H~45H存放频率值,42H存放参考电压值,46H为设置标志区。

图4.1 主程序流程                   图4.2 定时器中断程序流程

 显示系统程序

 片内RAM的40H~45H是显示缓冲区。采用查表方式形成显示的段码,显示码表存于ROM中。R1存位选信号,R2存显示次数,R0存显示缓冲区地址。单片机先向P2口送位选信号;从显存中取数字,通过查表,得到显示段码,送P0口;延时,保持显示;修改R0;判断是否已显示6次,不满6次,转开始处执行,已执6次,则结束显示。

 键盘处理程序

键识别作为主程序,键处理作为子程序。波形发生器开机后,首先扫描键盘,获得列扫描码和行状态码,确定键值,然后根据键值,通过散转表,转到相应的键处理程序,最后进入键处理,执行键功能。键盘的功能键可分为“0~9”数字键、“幅值”键、“频率”键、“方波”键、“正弦波”键、“三角波”键、“Enter”键。下面介绍的是对各个功能键的处理

4.3.1“幅值”键处理

进入PRO2子程序,将设置标志位区46H置为02H,表示设定参考电压;将46H单元置为#0AH,使相应的数码管显示“-”。

4.3.2“频率”键处理

进入“PRO3”子程序,将设置标志区置为01H,表示频率参数设定;42H是频率值显示缓冲区首址;向42H、43H、44H、45H单元送#0AH,使数码管显示“―――”,返回键盘主程序。

4.3.3“方波”键处理

进入“PRO4”程序,给40H单元送方波编码01H,使数码管显示“1”,返回键盘主程序。

4.3.4“正弦波”键处理

进入“PRO5”子程序,给40H单元送正弦波编码02H,使数码管显示“2”,返回键盘主程序。

4.3.5“三角波”键处理

进入“PRO6”子程序,给40H单元送三角波编码03H,使数码管显示“3”,返回键盘主程序。

4.3.6“Enter”键处理

进入“PRO6”子程序,查缓冲区,看所有参数是否已全部设置完毕,若全部设置,则按下述步骤执行:1)从42H单元中取出参考电压值,查表获得电压的数字编码,送0832(1),并作为0832(2)参考电压;2)从42H~45H单元中取频率值并进入相应的程序段,实现频率与定时初值的转换,完成TMOD的设定和初值的设定;3)开启定时中断,向R6赋样值初始编码并返回主程序。

4.3.7“0~9”键处理

进入“PRO1”子程序,查设置标志区46H的内容,有无设置,若有设置,则进入设定操作,将数字0~9送显示缓冲区。若无设置,则返回主程序。

将一个周期为T的信号分成32个点(按X轴等份),两点间的时间间隔△T由单片机的定时器产生。一个周期分成32个点,对应三种波形的32个数据存放在以FBO_TAB、XIN_TAB、JCHB_TAB为起始地址的存储器中。

总 结

课程设计是我们理论联系实际的最好的途径之一,让我们有机会把课本上学到的知识运用到实际生活中。目前单片机在工业检测领域中得到了广泛的应用,在我们平常的生活中也是随处可见,包括我们日常生活中随处可见的交通灯、闹钟等都含有单片机作为一个主要的部件,懂得并熟悉掌握单片机的运用技术是非常有用的。

由于真正意义上的程序设计还不多,因此还不是很得心应手,所以在设计中遇到一些问题和一些难点。比如:在程序设计中如何实现程序结构的最优化,以达到较高的质量。这是以后设计中要注意的问题。但也多到了很学实践知识。

参考文献

  [1] 张毅坤,陈善久.单片微型计算机原理及应用:西安电子科技大学出版社。

  [2] 张友德,赵志英,徐时亮.单片微机原理应用与实验:复旦大学出版社。

  [3] 伟福Lab2000P系列单片机仿真实验系统说明书。

  [4] 张毅刚,彭喜圆,谭晓昀.MCS-51单片机应用设计:哈尔滨工业大学出版社。

  [5]康华光、华中理工大学电子学教研室《电子技术基础》高等教育出版社。

  [6]张洪润、易涛编著《单片机应用技术教程 》清华大学出版社。

附录1:总电路图

附录2 主要源代码

 MAIN

 主程序

        MOV A,#00H          ;初始化主程序

        MOV 40H,A           ;给显示缓冲区送#00H

  LOOP: CALL LED_DISPLAY

 LOOP

这是定时中断服务程序,通过对40单元的内容的检测,判断调用哪个波形输出

          MOV A,40H             ;读波形设置标志位

这是显示程序,对显示缓冲取的数据进行扫描显示

LED_DISPLAY: PUSH R1

             MOV R1,#FEH           ;存位选信号

             MOV R2,#06H           ;存显示次数

             MOV R3,#40H           ;存显示缓存区首址

             MOV A,@R3             ;取缓冲区显示数据

           LCALL DELAY1            ;调用延时

DELAY1:     PUSH R1             ;延时程序

这是对键盘的扫描程序,通过扫描获取键值,并对其进行处理

S判断有无键闭合

          JZ    NS             ;A等于0,无键闭合,返回主程序

          ACALL DELAY          ;延时12ms

          ACALL KS1            ;判断有无键闭合

          JZ    NS             ;无键闭合,放回主程序

   SCAN:  MOV R0,#00H           ;按键初始值

          MOV R1,#04H           ;扫描行数

          MOV R2,#FEH           ;送扫描值

          MOV P1,A             ;扫描,并设定输入模式

    WTF:  ACALL DELAY             ;等待按键释放

          CALL KEY_DEAL           ;调用键功能处理

     NS:   RET

     KS1: MOV A,#0FH            ;按键闭合判断子程序

          MOV P1,A              ;扫描,并设定输入模式

          MOVX A,P1             ;把P1口的值读回A

          ANL A,#0FH            ;A不为0,有键闭合

          MOV  R7,#40          ;延时约6ms

按键功能处理,当按数字键,检测设置标志区,看是否是要送显示缓冲去的数,不是就返回主程序

当按幅值键时,把设置标志区置为02H,表示设定参考电压,将42单元置为#0AH

当按频率键时,把设置标志区置为01H,表示频率参数设定,42H时缓冲区首址,向42H,43H,44H,45H单元

送#0AH,返回键盘主程序

当按ENTER键,检查是否已全部设置完毕,是的话1、送从45H中取参考电压,查表获得电压的数字编码

送0832(1);2、从42H~45H中取频率值并进入相应的程序段,实现频率与设定初值的转换,完成TMOD的

设定和初值设定;3、开启定时中断,向R1赋样值初始编码并返回主程序          

 送散转表首地址

          MOV A,46H         ;0~9号功能键处理

 频率存储的一个循环

 不等于#0AH,说明已经有数字存储,转移到下一单元

 F_SEND1: INC R5

 不是幅值就转移

          JMP OVER                    ;PRO1结束返回

 PRO2:    MOV A,#02H             ;幅值功能键处理

  PRO3:   MOV A,#01H              ;频率功能键处理

  PRO4:   MOV A,#01H              ;方波功能键处理

  PRO5:   MOV A,#02H              ;正弦波功能键处理

  PRO6:   MOV A,#03H               ;三角波功能键处理

  PRO7:   MOV R2,#06H              ;ENTER功能键处理

P检查缓冲区看是否已全部设置

          MOVX A,41H             ;把幅值送给0832(1)

          MOV DPTR,#V_TAB         ;把幅值表的首地址送给DPTR

          MOV DPTR,#0BFFFH        ;把0832(1)的地址送给DPTR

          MOVX A,42H               ;对频率和定时器初值的转换

          CJNE A,#01H,NEXT        ;不是1K转移

          MOV R7,#0CH              ;用R7存相应频率的查表值

    NEXT: CJNE A,#00H,ERROR      ;所设频率超出所要求频率范围,跳到错误处理

   NEXT3: CJNE A,#00H,ERROR      ;所设频率超出所要求频率范围,跳到错误处理

          PUSH R7                ;把R7进栈,以便中断时使用

   NEXT6: MOV TMOD,#01H          ;设定定时器工作在方式0

          MOV DPTR,#F_TAB         ;把频率表的首地址送给DPTR

          MOV A,@A+DPTR           ;把频率初值的低位送给TL

          MOV TL0,A                

          MOV A,@A+DPTR           ;把频率初值的高位送给TH

          MOV IE,#82H              ;设置中断控制

          MOV R6,#00H              ;给R6赋样值初值编码

          SETB TR0                 ;开启定时器0

   TAB:   JMP PRO1                ;散转表

          JMP PRO2              ;转到幅值键处理程序

          JMP PRO3              ;转到频率键处理程序

          JMP PRO4              ;转到方波键处理程序

          JMP PRO5              ;转到正弦波键处理程序

          JMP PRO6              ;转到三角波键处理程序

          JMP PRO7              ;转到ENTER键处理程序

   ERROR: JMP PRO3              ;跳到PRO3进行清除缓冲区处理

方波函数:

 把方波值表首地址送给DPTR

      FB: CALL INIT_T              ;调用定时器初值初始化

正弦波函数:

   XINEW: MOV DPTR,#XIN_TAB      ;把正弦波值表首地址送给DPTR

      XW: CALL INIT_T            ;调用定时器初值初始化

三角波函数:

 JUCHIBO: MOV DPTR,#JCHB_TAB

给TH0,TL0送初值:

 把频率表的首地址送给DPTR

          MOV A,@A+DPTR           ;把频率初值的低位送给TL

          MOV TL0,A                

          MOV A,@A+DPTR           ;把频率初值的高位送给TH

幅值,频率,波形表值:

 8F0H,0EC78H,0F63CH,0FC18H,0FE0CH

 FBO_TAB: DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

 XIN_TAB: DB 98H,0BOH,0C6H,0D9H,0E9H,0F5H,0FCH,0FFH

 0F5H,0E9H,0D9H,0C6H,0BOH,98H,7FH

JCHB_TAB: DB 00H,0FH,1FH,2FH,3FH,4FH,5FH,6FH

课程设计成绩评价表

课程名称单片机原理及应用课程设计
题目名称波形发生器的设计
学生姓名学号指导教师姓名职称
序号评价项目指 标

满分评分
1工作量、工作态度和出勤率按期的完成了规定的任务,难易程度和工作量符合教学要求,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。20
2课程设计质量课程设计选题合理,计算过程简练准确,分析问题思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。45
3创新工作中有创新意识,对前人工作有一些改进或有一定应用价值。5
4答辩能正确回答指导教师所提出的问题。30
总分
评语:
指导教师: 年 月 日

文档

单片机 波形发生器的设计

课程设计课程单片机原理及应用课程设计题目波形发生器的设计院系专业班级学生姓名学生学号指导教师2010年3月19日课程设计任务书课程单片机原理及应用课程设计题目波形发生器的设计专业电子信息工程姓名学号主要内容、基本要求、主要参考资料等1、主要内容:根据单片机课程所学内容,结合其他相关课程知识,设计一个波形发生器,以加深对单片机知识的理解,锻炼实践动手能力,为以后的毕业设计和工作打下坚实基础。2、基本要求:本设计以MCS-51系列单片机为核心,采用常用电子器件设计。可以产生正弦波、方波、三角波等常
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top