单片机实验设计报告单片机程序信号发生器设计.doc

上传人:仙人指路1688 文档编号:4142970 上传时间:2023-04-07 格式:DOC 页数:23 大小:90.50KB
返回 下载 相关 举报
单片机实验设计报告单片机程序信号发生器设计.doc_第1页
第1页 / 共23页
单片机实验设计报告单片机程序信号发生器设计.doc_第2页
第2页 / 共23页
单片机实验设计报告单片机程序信号发生器设计.doc_第3页
第3页 / 共23页
单片机实验设计报告单片机程序信号发生器设计.doc_第4页
第4页 / 共23页
单片机实验设计报告单片机程序信号发生器设计.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《单片机实验设计报告单片机程序信号发生器设计.doc》由会员分享,可在线阅读,更多相关《单片机实验设计报告单片机程序信号发生器设计.doc(23页珍藏版)》请在三一办公上搜索。

1、单片机实验设计报告信息科学与工程学院自动化专业0411班学号:0901041107姓名: 目录部分一 实验设计的目的和意义- 3二 实验设计的题目及要求- 4三 硬件环境及软件环境- 5四 接口电路- 11 1 硬件电路图 2 硬件电路说明五 软件部分- 12 1 流程图 2 说明六 调试步骤及结果分析- 13七 结论及收获- 14附录 程序清单- 15参考文献- 23第一章 课程设计的目的和意义1.1 课程设计的目的 单片机原理与应用系统设计主要培养自动化专业学生,运用所学知识解决计算机应用领域内实际问题能力,进一步提高学生通过单片机的学习,利用编程语言综合编程的能力、程序调试的技能和利用模

2、拟软件proteus 进行电路设计和调试的能力。它对所学课程内容全面、系统的总结、巩固和提高的一项课程实践活动。根据汇编语言的特点,选择相应的题目,在老师的指导下,由学生独立完成。课程设计要求同学们熟悉单片机51汇编语言的编程,中断调用、系统功能调用等相关知识。通过课程设计,一方面提高运用51汇编语言编程解决实际问题的能力,另一方面使我们更深入的了解单片机系统实际运用中的作用,为以后的学习和系统开发奠定良好的基础1.2 设计的意义 通过课程设计要进一步锻炼同学们在微型计算机应用方面的实际工作能力。计算机科学在应用上得到飞速发展,因此,学习这方面的知识必须紧密联系实际:掌握这方面的知识更要强调解

3、决实际问题的能力。要着重学会面对一个实际问题,如何去自己收集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断地去分析和解决前进道路上的一切问题,最终到达胜利的彼岸。第二章 实验设计的题目及要求2.1设计的题目及要求题目:信号发生器要求:提供正弦波、三角波、方波、锯齿波的键盘选择功能。通过D/A转换,输出所选择的信号波形。电压(频率)可以调节。2.2设计的时间、地点时间:2007年5月地点:民主楼第三章 硬件环境及软件环境3.1硬件环境计算机一台 AEDK598EAT实验箱AEDK598EAT微机教学实验系统实结合单片机MCS51仿真技术,推出的新一代微机教学实验系统。由

4、AEDK598EAT实验机外配计算机和其他一些附件及选配组成。电源AEDK598EAT实验机机电实验平台IBM PC机该实验系统,可以接到PC机通过串口或ISA总线运行,在扩展功能上,可以通过实验机的25 芯插座外接机电实验平台,做机电一体化实验。3.2 软件环境要求在 Windows系统下制作而成因而对应用环境要求不高,只要操作系统下安装有LCA51或WAVE6000便能运行。其中硬件说明如下: AT89C51说明如下:AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机

5、。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH

6、编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部

7、程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示: 管脚 备选功能:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P

8、3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号AT89C51的内部结构图。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的

9、脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。-PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。-EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,-EA将内部锁定为RESET;当/EA

10、端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。DAC0832是用CMOS工艺制成的20只脚双列直插式单片八位D/A转换器。它由八位输入寄存器、八位DAC寄存器和八位D/A转换器三大部分组成。它有两个分别控制的数据寄存器,可以实现两次缓冲,所以使用时有较大的灵活性,可根据需要接成不同的工作方式。DAC0832芯片上各管脚的名称和功能说明如下:引脚功能DAC0832的逻辑功能框图和引脚图如图4-1所示。各引脚的功能说明如下:DAC0832的逻辑功能框图和

11、引脚图-CS:片选信号,输入低电平有效。 ILE:输入锁存允许信号,输入高电平有效。-WR1:输入寄存器写信号,输入低电平有效。-WR2:DAC寄存器写信号,输入低电平有效。-XFER:数据传送控制信号,输入低电平有效。 DI0DI7:8位数据输入端,DI0为最低位,DI7为最高位。IOUT1:DAC电流输出1。此输出信号一般作为运算放大器的一个差分输入信号(通常接反相端)。 IOUT2 :DAC电流输出2,IOUT1 + IOUT2 = 常数。 RFB :反馈电阻。 Vref :参考电压输入,可在+10V10V之间选择。 VCC :数字部分的电源输入端,可在+5V+15V范围内选取,+15V

12、时为最佳工作状态。 AGND:模拟地。 DGND:数字地。第四章 接口电路1.硬件电路2.硬件图说明:51芯片是本电路的核心,它提供数据的采集与处理功能;138芯片提供0832芯片的片选地址;0832芯片将数字的数据转换成模拟量数据并由示波器观察;四个按钮的作用是提供波形的选择、频率的选择、开始和复位功能。第五章 软件部分5.1 流程开始程序 键盘扫描 否 否是2#键是1#键 是 是选择频率选择波形是3#键开始 否 是调用波形产生程序是4#键结束 否 是5.2 软件说明 程序开始执行后,程序进入键盘扫描段中,进行循环扫描,当有外部输入信号进入时,程序将进入相应的程序段进行计算,例如:1#键,将

13、进入波形选择程序段,记录当前按键次数,用以计算出所选择的波形;2#键,将进入频率选择程序段,记录当前的按键次数,并计算出相应波形的延时频率(理论波形频率为00H0FFH*2毫秒,但事实上波形在大延时下会严重的失真)。 进入相应的波形程序后,将不停的进行循环输出波形,其间,将对4#键进行扫描。若4#键有效,则程序将跳到程序开始处,并初始化所用到的存储器和累加器,以免下次选择时产生干扰!第六章 调试步骤及结果分析1.调试本次课程设计可以基于单片机的AEDK598EAT实验机来模拟,也可以用proteus isis模拟软件进行模拟。下面将从这两种方法进行说明:1. AEDK598EAT实验机利用实验

14、箱上的8279进行键盘输入。将这个单元的CS8279接在8700H片选地址上;将D/A单元的CS0832接在8300H片选地址上。开机(先开AEDK598EAT实验箱,再开主机)。打开LCA51软件,调入编好的程序,设定好通信口,编译并加载程序,运行即可。所需的键盘将由8279键盘单元提供。2.基于proteus实验 打开proteus软件,选择所需的元器件:80C51,DAC0832,BUTTON,运放741,电源,地线和示波器。按照接线原理和芯片管脚的规则接线。打开软件WAVE6000,导入编辑好的软件,编译连接生成 .HEX 文件,检查接线无误情况下,在80C51上单击左键,载入 .HE

15、X文件,点击运行即可实现模拟!6.2结果分析使用第一种实验方法,将要对本程序要做较大的改动,而且观看波形要另外使用示波器,很不方便。因而使用第二种方法,但在调试过程中,发现不同的版本间不是很兼容,而且较低的版本,虽然元件库中有所需的元器件,但是不能进行模拟。第七章 结论及收获1借鉴鲁迅先生曾说过要拿来,对,在这次课程设计中,就要拿来。其中波形程序段是原有的程序,我们就借鉴来使用,为设计节省了大量的时间。2合作 一个人的能力毕竟有限,惟有善于合作的团队才能发挥出最大的能量。在这次课程设计中,我真正体会到了合作的重要性,我们这个小组在这次程序设计中总在一起,从要实现的功能到流程图的绘制,从程序的编

16、写到程序的检查,从程序的调试到实验报告的写作,其间每一个过程都凝聚了我们集体的力量。在遇到棘手的问题时,我们总是一起讨论,一起把问题解决;在我遇到不很明白的程序时,是同学们耐心地给我讲解;在我面对有错的程序不知所措时,也是同学们帮我一步步地调试,耐心的指导,直至程序能正常运行。 程序附表val1 equ 30hval2 equ 35hval3 equ 40hc0 bit 90h c1 bit 91h c2 bit 92h c3 bit 93h org 0000h ljmp start org 0030hstart: mov val1 , #00h mov val2 , #00h mov val

17、3 , #00h mov r1 , #00hzjj: jnb c0 , s1 jnb c1 , s2 jnb c2 , s3 jnb c3 , s4 ljmp zjjs1: lcall delay jb c0 , zjj mov r1 , #00h mov a , val1 inc a mov val1 , a cjne a , #04h , zjj mov val1 , #00h ljmp zjjs2: lcall delay jb c1 , zjj mov a , val2 add a , #10h mov val2 , a mov a , val3 add a , #1h mov val

18、3 , a mov a , val2 cjne a , #0f0h , zjj mov val2 , #00h ljmp zjjs3: lcall delay jb c2 , zjj ljmp kugoos4: lcall delay ljmp startkugoo:mov a , val1 rl a add a , val1 mov dptr , #table jmp a+dptrtable:ljmp sin ljmp fang ljmp san ljmp ju sin: mov a , r1 mov dptr , #sinx movc a , a+dptr mov dptr , #00h

19、lcall delay2 movx dptr, a inc r1 jnb c3 , s4 ljmp sin retfang: mov dptr , #00hxxx1: mov a , #00 movx dptr, a lcall delay1 mov a , #0ffh movx dptr, a lcall delay1 jnb c3 , s4 ajmp xxx1 retsan: mov dptr , #00hxx1: mov r1 , #00Hxx2: mov a , r1 movx dptr, a inc r1 jnb c3 , s4 lcall delay2 cjne r1 , #0ff

20、h , xx2xx3: dec r1 mov a , r1 movx dptr, a jnb c3 , s4 lcall delay2 cjne r1 , #00H , xx3 ajmp xx1 retju: mov dptr , #00Hx1: mov r1 , #00Hx2: mov a , r1 movx dptr, a lcall delay2 inc r1 jnb c3 , s4 cjne r1 , #0ffh , x2 ajmp ju ret delay:push 6 push 7 mov r6 , #10jj: mov r7 , #250 djnz r7 , $ djnz r6

21、, jj pop 7 pop 6 retdelay1:push 6 mov r6 , val2 djnz r6 , $ pop 6 retdelay2:mov r5 , val3 djnz r5 , $retsinx:DB 80H, 83H, 86H, 89H, 8DH, 90H, 93H, 96HDB 99H, 9CH, 9FH,0A2H,0A5H,0A8H,0ABH,0AEHDB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5HDB 0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8HDB 0DAH,0DDH,0DFH,0E1H,0E

22、3H,0E5H,0E7H,0E9HDB 0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5HDB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDHDB 0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDHDB 0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6HDB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAHDB 0E9H,0E7H,0E5H,0E3H,0E1H,0DE

23、H,0DDH,0DAHDB 0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7HDB 0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1HDB 0AEH,0ABH,0A8H,0A5H,0A2H,9FH, 9CH, 99HDB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80HDB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69HDB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51HDB 4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AH

24、DB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27HDB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16HDB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AHDB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02HDB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02HDB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09HDB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15HDB 16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25HDB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38HDB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EHDB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66HDB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80H retend参考文献 实验指导书 中南大学教材科 李志民 著单片机原理及应用系统设计 中南大学出版社 凌玉华 著

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号