《精品课程ATS单片机中基于keilC使用proteus软件低频信号发生器》由会员分享,可在线阅读,更多相关《精品课程ATS单片机中基于keilC使用proteus软件低频信号发生器(22页珍藏版)》请在金锄头文库上搜索。
1、 低频信号发生器 -期末课程设计学院:班级:学号:姓名: 指导老师: 2010-6-12第0章 实验室基础3第1章 交换机基本配置71.1 使用交换机的命令行管理界面71.2 交换机的全局配置101.3 交换机端口的基本配置121.4 查看交换机的系统和配置信息14第2章 虚拟局域网VLAN162.1 交换机端口隔离162.2 跨交换机实现VLAN18第3章 提供交换网络中的冗余链路213.1 端口聚合提供冗余备份链路213.2 快速生成树配置24第4章 路由器的基本配置304.1 使用命令行界面304.2 路由器的全局配置334.3 路由器端口的基本配置344.4 查看路由器的系统和配置信息
2、38一、 实验目的1、 学习和运用keilC的C语言;2、 学习通过proteus软件画原理图,并利用keilC软件形成的HEX文件运行;3、 实现利用单片机AT98C51和8位D/A转换芯片DAC0832共同实现方波、三角波、锯齿波、梯形波这四种常见波形的发生4、 进一步学习和利用protel软件,画出实验原理图,并生成PCB图;5、 AT89S51为核心的单片机系统的软硬件开发过程;6、 基本信号的产生原理及函数发生器系统的设计流程二、实验要求设计一个低频信号发生器:1、 查阅相关资料,完成原理图设计;2、 编写软件,使该系统能输出方波、三角波、锯齿波和梯形波;波形频率均为1khz,双极性
3、输出。3、 用protel软件完成系统的硬件设计,并通过电器规则检查;4、 仿真实现;5、 画pcb图;6、 写综合课程设计报告。三、器件清单1、AT80C51一个;2、DAC0832一个;3、OPAMP两个;4、数码管一个;5、按键开关一个;6、电阻、电感若干;四、实验原理#include unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66/ 0 1 2 3 4 unsigned char time1; /延时函数参数/ /变量说明/ unsigned char time2;unsigned char time3;unsigned char c
4、ount;unsigned char ms;/函数说明/void initial(void); /初始化函数/void initial_time0(void); /定时器0初始化/void anjian(void);/按键函数/void delay(unsigned char time1,time2,time3); /延时函数/void disp(unsigned char count); /静态显示子函数/void delay1(char ms);void fangbo(void);/方波函数/void sanjiaobo(void);/三角波函数/void juchibo(void);/锯
5、齿波函数/void tixingbo(void);/正弦波函数/void main (void)initial();while(1)anjian(); /*/函数名称:void anjian(void)/函数说明:按键函数/函数功能:/ 注意:*/void anjian(void) if(P3_7=0) delay(1,50,248); if(P3_7=0) count=1; disp(count); fangbo(); while(P3_7=0);count=0;disp(count);anjian(); /*/函数名称:void fangbo(void)/函数说明:方波函数/函数功能:/
6、注意:*/void fangbo(void)while(1) unsigned char fangbo_1; fangbo_1+=8; if(fangbo_1128&fangbo_1256)P0=0x00; if(fangbo_1128)P0=0xff; if(P3_7=0) delay(1,50,248); if(P3_7=0) count=2; disp(count); sanjiaobo(); while(P3_7=0); /*/函数名称:void sanjiaobo(void)/函数说明:三角波函数/函数功能:/ 注意:*/void sanjiaobo(void)while(1) un
7、signed char sanjiaobo_2; if(sanjiaobo_2=255)sanjiaobo_2=0x00; if(P3_7=0) delay(1,50,248); if(P3_7=0) count=3; disp(count); juchibo(); while(P3_7=0); /*/函数名称:void juchibo(void)/函数说明:锯齿波函数/函数功能:/ 注意:*/void juchibo(void)while(1) unsigned char juchibo_3; if(juchibo_3=180)juchibo_3=0x00;if(P3_7=0) delay(
8、1,50,248); if(P3_7=0) count=4;disp(count); tixingbo(); while(P3_7=0); /*/函数名称:void tixingbo(void)/函数说明:梯形波函数/函数功能:/ 注意:*/void tixingbo(void)while(1) unsigned char tixingbo_4; if(tixingbo_4120)P0=tixingbo_4; else if(tixingbo_4=120) delay1(1); else if(tixingbo_4240)tixingbo_4=0x00; tixingbo_4+=10;if(P3_7=0) delay(1,50,248); if(P3_7=0) count=0; disp(count); anjian(); while(P3_7=0);/*