辽宁工程技术大学电信学院课程设计报
课程名称:院 部:专业班级:学生姓名:指导教师:完成时间:
告
单片机课程设计报告 电 信 学 院 于 长 麟 2012年05月08日
目录
一、概述 . ................................................................................................................ 3 1.1、设计内容 . ................................................................................................. 3 1.2、设计的基本要求 ..................................................................................... 3 二、方波发生器设计方案 .................................................................................... 3 2.1、方案介绍 . ................................................................................................. 3 2.2、方波发生器的原理与功能 ..................................................................... 4 三、系统的硬件设计............................................................................................. 5 3.1、单片机最小系统 ..................................................................................... 5 四、系统的软件设计............................................................................................. 6 4.1、主程序 . ..................................................................................................... 6 4.2、系统初始化子程序 ................................................................................. 6 4.4、定时器中断子程序 ................................................................................. 6 五、调试与性能分析............................................................................................. 7
5.1硬件调试.............................................................................................. 7 六、设计体会 . ........................................................................................................ 7 参考文献 . ................................................................................................................ 8 附录A :基于单片机方波发生器的程序清单 ..................................................... 9 附录B :基于单片机方波发生器的原理图 ....................................................... 11
方波发生器设计
一、概述
单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC 机外围以及网络通讯等广大领域。
单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。 本课题讨论的方波发生器的核心是目前应用极为广泛的 51系列单片机。 1.1、设计内容
本课程设计是设计一个方波发生器,频率为38KHz 。 1.2、设计的基本要求
我们在此设计的方波发生器频率38KHz ,显示部分可以使用ZLG7290芯片及数码管来实现。由此即可构成一个最小单片机应用系统。
二、方波发生器设计方案
在电子技术领域中,实现方波发生器的方法有很多种,可以采用不同的原理及器件构成不同的电路,但可以实现相同的功能。在此次设计中,利用51 单片机实现方波发生。 2.1、方案介绍
微处理器模块AT89S52,频率与占空比信息显示模块,2×4矩阵键盘模块,74LS164
移位寄存器显示驱动模块。本设计中用到定时器0,定时器0工作在定时方式下, 决定方波的频率。
2.2、方波发生器的原理与功能
方波发生器的原理方框图如图1所示
由于系统的要求不高,比较单一的,再加上我们是通过定时器来调节频率的,而非电阻,因此实现起来就相对简化了。仅用AT89S52及串行显示便可完成设计,达到所要求实现的功能。
方波发生器工作原理与功能:
简单的流程为:主程序扫描输入值,将设置信息输入,处理后,输出到示波器显示器显示。
单片机的晶振为11.0592MHz ,用到了定时器0进行频率的定时,定时器是工作在方式1。根据计算定时器初值的公式:
TC =2L -
f osc ⨯t
12
计算出定时器0所要装入的初值。
是一个矩形波。
3.1、单片机最小系统
三、系统的硬件设计
图2 单片机最小系统
取频率为11.0592MHz 的晶振,微调电容是瓷片电容。
此单元电路包括时钟电路、复位电路,具体电路如图2所示:
单片机各功能部件的运行都是以时钟频率为基准的,有条不紊地进行工作。因而时
的时钟电路方式有两种:一种是内部时钟方式,一种是外部时钟方式,这里采用的是内
钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用
部时钟方式,外接晶振。时钟电路由片外晶体、微调电容和单片机的内部电路组成。选
89S52单片机的P0.7口作为波形输出口,若接示波器,则可通过示波器来观察波形,
四、系统的软件设计
方波发生器的软件设计包括主程序、延时子程序、系统初始化程序、显示子程序、定时器中断子程序。其中主程序用来控制整个程序的执行,它与各子程序紧密相联,共同实现方波发生器各种功能的执行。 4.1、主程序
主程序包括系统初始化及显示程序,是一个死循环系统。其流程图如图4所示:
4.2、系统初始化子程序
图4 主程序流程图
在此程序中,给所有变量赋初值,有选择串行口工作方式SCON 、状态标志位flag 、初始频率及其定时、定时器0的工作方式等。初始化时启动了定时器0。
4.4、定时器中断子程序
定时器中断子程序中有定时器0中断,频率定时器0中断流程图如图6所示。
定时器0遇中断执行的操作有复位,启动自身进行频率定时。
图6 频率定时器0中断流程
五、调试与性能分析
5.1硬件调试
硬件的测试首先是检查电路的逻辑线路是否正确,如果正确再检查原理图的线路连接是否正确,电路的布局安排是否合理等等。软件的测试只要是检查程序的语法是否正确,数据结构安排是否妥当,时序是否正确,整体流程安排是否合理。上面两部检查妥当后,就到了系统调试最关键的一步,软硬件的协同调试,问题往往在此才能被发现。
六、设计体会
在单片机课程设计中,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。
但是,由于平时对单片机知识学习得不够扎实,理解得不够透彻、一知半解,致使在运用是不能贯通,导致在设计过程中困难重重,往往无从下手,但是通过和同组的同学一起探讨,最后还是一步一步的把所有的问题给一一解决了。在这次设计过程中,我也对word 、protel 、画图板等软件有了更进一步的了解,这使我在以后的学习中更加熟练。
总之,本次单片机课程设计让我悟出了许多东西:第一,就是对资料的搜索、整理、归类、总结、保存的能力是一个至关重要的个人能力。如果没有这种能力,在大学学习阶段,那么我们的学习将会是一种负担;今后我们走出校门,甚至在整个人生阶段,也将会碌禄无为;第二,我们要学会坚持不懈,不轻易言弃,这对于我们非常的重要。如果我们没有这种精神,一旦我们遇到一点挫折,我们也许就会被打败,以后进入社会就会没有我们的立足之地。因此,我们要珍惜大学时光,循序渐进的培养这些能力,这样才不会被瞬息万变的时代所淘汰。
参考文献
[1] 何立民.MCS51单片机应用系统设计[M].北京:北京航空航天大学出版社,2003. [2] 徐君毅. 单片微型机原理与应用[M].上海:上海科技出版社,1995 [3] 公茂法. 单片机人机接口实例集[M].北京:航空航天大学出版社,1998. [4] 沈红卫. 基于单片机的智能系统设计与实现[M].北京:电子工业出版社, 2005. [5] 李广弟,朱月秀等. 单片机基础[M].北京:北京航空航天大学出版社, 2003.
附录A :基于单片机方波发生器的程序清单
#include #include
#define uchar unsigned char #define uint unsigned int
sbit OutPut=P0^7; //矩形波输出口 /* 设全局变量 */
float fosc=11059200; //系统时钟频率 float length=65536; //方式1计数长度 uint PL; //频率 uint ZKB; //占空比
uchar TIMER0_L,TIMER0_H; //定时器0的定时初值 /***************************************** 延时子程序
*****************************************/
void delay1ms(uchar n) //延时n ms {
uchar j;
while(n--) for(j=0;j
/***************************************** 系统初始化
*****************************************/ void system_init(void ) {
SCON=0x00;
PL=38000; ZKB=50
TL0=0x66; //初始频率38KHz 定时1ms TH0=0xfc;
TL1=0x33; //初始占空比50定时0.5ms TH1=0xfe;
TMOD=0x11; //定时器0工作在方式1的定时模式 IT0=0; //选择INT0为低电平触发方式 EX0=1; //外部中断0允许 ET0=1; //定时器0中断允许 ET1=1;
EA=1; //系统中断允许
TR0=1; //定时器0开始定时}
/*****************************************
发送数据
*****************************************/ void send(uchar d) {
SBUF=d; while(!TI); TI=0; }
/***************************************** 定时器中断子程序
*****************************************/
void Timer0_PL() interrupt 1 //频率定时器0中断 {
TL0=TIMER0_L; TH0=TIMER0_H;
OutPut=1; //输出高电平 }
/***************************************** 主函数
*****************************************/ void main() {
uint PL0=0;
system_init(); //系统初始化
while(1)
{ send();} }
}
附录B :基于单片机方波发生器的原理图
11
12
辽宁工程技术大学电信学院课程设计报
课程名称:院 部:专业班级:学生姓名:指导教师:完成时间:
告
单片机课程设计报告 电 信 学 院 于 长 麟 2012年05月08日
目录
一、概述 . ................................................................................................................ 3 1.1、设计内容 . ................................................................................................. 3 1.2、设计的基本要求 ..................................................................................... 3 二、方波发生器设计方案 .................................................................................... 3 2.1、方案介绍 . ................................................................................................. 3 2.2、方波发生器的原理与功能 ..................................................................... 4 三、系统的硬件设计............................................................................................. 5 3.1、单片机最小系统 ..................................................................................... 5 四、系统的软件设计............................................................................................. 6 4.1、主程序 . ..................................................................................................... 6 4.2、系统初始化子程序 ................................................................................. 6 4.4、定时器中断子程序 ................................................................................. 6 五、调试与性能分析............................................................................................. 7
5.1硬件调试.............................................................................................. 7 六、设计体会 . ........................................................................................................ 7 参考文献 . ................................................................................................................ 8 附录A :基于单片机方波发生器的程序清单 ..................................................... 9 附录B :基于单片机方波发生器的原理图 ....................................................... 11
方波发生器设计
一、概述
单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC 机外围以及网络通讯等广大领域。
单片机有两种基本结构形式:一种是在通用微型计算机中广泛采用的,将程序存储器和数据存储器合用一个存储器空间的结构,称为普林斯顿结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,一般需要较大的程序存储器,目前的单片机以采用程序存储器和数据存储器截然分开的结构为多。 本课题讨论的方波发生器的核心是目前应用极为广泛的 51系列单片机。 1.1、设计内容
本课程设计是设计一个方波发生器,频率为38KHz 。 1.2、设计的基本要求
我们在此设计的方波发生器频率38KHz ,显示部分可以使用ZLG7290芯片及数码管来实现。由此即可构成一个最小单片机应用系统。
二、方波发生器设计方案
在电子技术领域中,实现方波发生器的方法有很多种,可以采用不同的原理及器件构成不同的电路,但可以实现相同的功能。在此次设计中,利用51 单片机实现方波发生。 2.1、方案介绍
微处理器模块AT89S52,频率与占空比信息显示模块,2×4矩阵键盘模块,74LS164
移位寄存器显示驱动模块。本设计中用到定时器0,定时器0工作在定时方式下, 决定方波的频率。
2.2、方波发生器的原理与功能
方波发生器的原理方框图如图1所示
由于系统的要求不高,比较单一的,再加上我们是通过定时器来调节频率的,而非电阻,因此实现起来就相对简化了。仅用AT89S52及串行显示便可完成设计,达到所要求实现的功能。
方波发生器工作原理与功能:
简单的流程为:主程序扫描输入值,将设置信息输入,处理后,输出到示波器显示器显示。
单片机的晶振为11.0592MHz ,用到了定时器0进行频率的定时,定时器是工作在方式1。根据计算定时器初值的公式:
TC =2L -
f osc ⨯t
12
计算出定时器0所要装入的初值。
是一个矩形波。
3.1、单片机最小系统
三、系统的硬件设计
图2 单片机最小系统
取频率为11.0592MHz 的晶振,微调电容是瓷片电容。
此单元电路包括时钟电路、复位电路,具体电路如图2所示:
单片机各功能部件的运行都是以时钟频率为基准的,有条不紊地进行工作。因而时
的时钟电路方式有两种:一种是内部时钟方式,一种是外部时钟方式,这里采用的是内
钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用
部时钟方式,外接晶振。时钟电路由片外晶体、微调电容和单片机的内部电路组成。选
89S52单片机的P0.7口作为波形输出口,若接示波器,则可通过示波器来观察波形,
四、系统的软件设计
方波发生器的软件设计包括主程序、延时子程序、系统初始化程序、显示子程序、定时器中断子程序。其中主程序用来控制整个程序的执行,它与各子程序紧密相联,共同实现方波发生器各种功能的执行。 4.1、主程序
主程序包括系统初始化及显示程序,是一个死循环系统。其流程图如图4所示:
4.2、系统初始化子程序
图4 主程序流程图
在此程序中,给所有变量赋初值,有选择串行口工作方式SCON 、状态标志位flag 、初始频率及其定时、定时器0的工作方式等。初始化时启动了定时器0。
4.4、定时器中断子程序
定时器中断子程序中有定时器0中断,频率定时器0中断流程图如图6所示。
定时器0遇中断执行的操作有复位,启动自身进行频率定时。
图6 频率定时器0中断流程
五、调试与性能分析
5.1硬件调试
硬件的测试首先是检查电路的逻辑线路是否正确,如果正确再检查原理图的线路连接是否正确,电路的布局安排是否合理等等。软件的测试只要是检查程序的语法是否正确,数据结构安排是否妥当,时序是否正确,整体流程安排是否合理。上面两部检查妥当后,就到了系统调试最关键的一步,软硬件的协同调试,问题往往在此才能被发现。
六、设计体会
在单片机课程设计中,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。
但是,由于平时对单片机知识学习得不够扎实,理解得不够透彻、一知半解,致使在运用是不能贯通,导致在设计过程中困难重重,往往无从下手,但是通过和同组的同学一起探讨,最后还是一步一步的把所有的问题给一一解决了。在这次设计过程中,我也对word 、protel 、画图板等软件有了更进一步的了解,这使我在以后的学习中更加熟练。
总之,本次单片机课程设计让我悟出了许多东西:第一,就是对资料的搜索、整理、归类、总结、保存的能力是一个至关重要的个人能力。如果没有这种能力,在大学学习阶段,那么我们的学习将会是一种负担;今后我们走出校门,甚至在整个人生阶段,也将会碌禄无为;第二,我们要学会坚持不懈,不轻易言弃,这对于我们非常的重要。如果我们没有这种精神,一旦我们遇到一点挫折,我们也许就会被打败,以后进入社会就会没有我们的立足之地。因此,我们要珍惜大学时光,循序渐进的培养这些能力,这样才不会被瞬息万变的时代所淘汰。
参考文献
[1] 何立民.MCS51单片机应用系统设计[M].北京:北京航空航天大学出版社,2003. [2] 徐君毅. 单片微型机原理与应用[M].上海:上海科技出版社,1995 [3] 公茂法. 单片机人机接口实例集[M].北京:航空航天大学出版社,1998. [4] 沈红卫. 基于单片机的智能系统设计与实现[M].北京:电子工业出版社, 2005. [5] 李广弟,朱月秀等. 单片机基础[M].北京:北京航空航天大学出版社, 2003.
附录A :基于单片机方波发生器的程序清单
#include #include
#define uchar unsigned char #define uint unsigned int
sbit OutPut=P0^7; //矩形波输出口 /* 设全局变量 */
float fosc=11059200; //系统时钟频率 float length=65536; //方式1计数长度 uint PL; //频率 uint ZKB; //占空比
uchar TIMER0_L,TIMER0_H; //定时器0的定时初值 /***************************************** 延时子程序
*****************************************/
void delay1ms(uchar n) //延时n ms {
uchar j;
while(n--) for(j=0;j
/***************************************** 系统初始化
*****************************************/ void system_init(void ) {
SCON=0x00;
PL=38000; ZKB=50
TL0=0x66; //初始频率38KHz 定时1ms TH0=0xfc;
TL1=0x33; //初始占空比50定时0.5ms TH1=0xfe;
TMOD=0x11; //定时器0工作在方式1的定时模式 IT0=0; //选择INT0为低电平触发方式 EX0=1; //外部中断0允许 ET0=1; //定时器0中断允许 ET1=1;
EA=1; //系统中断允许
TR0=1; //定时器0开始定时}
/*****************************************
发送数据
*****************************************/ void send(uchar d) {
SBUF=d; while(!TI); TI=0; }
/***************************************** 定时器中断子程序
*****************************************/
void Timer0_PL() interrupt 1 //频率定时器0中断 {
TL0=TIMER0_L; TH0=TIMER0_H;
OutPut=1; //输出高电平 }
/***************************************** 主函数
*****************************************/ void main() {
uint PL0=0;
system_init(); //系统初始化
while(1)
{ send();} }
}
附录B :基于单片机方波发生器的原理图
11
12