单片机原理与应用课程设计_第1页
单片机原理与应用课程设计_第2页
单片机原理与应用课程设计_第3页
免费预览已结束,剩余27页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计说明书题目:单片机原理及应用课程设计(电子时钟)摘要本次设计时钟电路, 电子时钟。格式如下:利用 CPU的定时器和实验仪上提供的数码显示电路,设计一个 XX XX XX由左向右分别为:时,分,秒。并拓展功能一闹钟。关键字:数码管蜂鸣器8031目录第1章绪论 5第2章设计要求 5第3章设计方案(包括原程序及其拓展功能) 5第4章 硬件部分 64.1 8031 单片机4.2 复位电路64.3 时钟电路64.4 显示电路74.5 蜂鸣器电路8第5章 软件部分 95.1主程序模块 9115.2 100us 定时中断服务程序5.3程序(C语言)12心得体会 18参考文献 18第一章 绪论单片机是

2、将 CPU、定时器 / 计数器以及输入输出 (I/O) 接口等计算机的主要部件集成在一块的集成电路芯片, 作为微机系统它还可以实现模 / 数 转换、脉宽调制、计数器捕获/比较逻辑、高速I/O 口和WDT各种控制功能。通过在MCS-5係列的单片机中增设了全双工串行口I/O、片内数据存储器采用寻址范围为 256kb 的 8 位地址、均有四种工作方式的 2 个 16 位的定时/ 计数器、增加了中断系统、增设了颇具特色的布尔处理机、让单片机具有较 强的指令寻址和运算功能这些技术,使单片机拥有了完善的外部并行总线(AB、DB CB具有多机识别功能的串行通信接口,规范了功能单元的特殊功能寄存器控制模式及适

3、应控制器特点的布尔处理系统和指令系统,位发展具 有良好兼容性的新一代单片机奠定了良好的基础。单片机被广泛地应用在各种领域。例如用来作家用电器中如洗衣机、电 冰箱、微波炉、电饭煲、电视机、录像机以及其他视频音像设备的控制器; 在办公室中用作大量通信、信息的承载体,比如磁盘驱动、打印机、复印机、 电话等;它还可以来构成电子秤、收款机、仓储安全检测系统、空气调节系 统等冷冻保鲜系统等的专用系统;在工业中,像工业过程控制、过程监制以 及机电一体化控制等系统都是以单片机为核心火多网络系统;它还可以构成 一些智能仪表与集成智能传感器传统的控制电路,实现一些像存储、数据处 理、查找、判断、联网和语音功能等智

4、能化功能,还可以构成一些电子系统 中的集中显示系统、动力检测控制系统、自动驾驶系统、通信系统以及运行 监视器等的冗余网络系统。第二章 设计要求1 、准确计时,以数字形式显示时、分、秒的时间。2、小时以 24 小时计时形式,分秒计时为 60 进位。拓展功能:3、闹钟功能,一旦走时到该时间,能以蜂鸣器蜂鸣的形式告警提示第三章设计方案(包括原程序及其拓展功能)本次设计时钟电路,使用了 8031单片机芯片控制电路,单片机控制电 路简单且省去了很多复杂的线路,使得电路简明易懂,使用数码管来显示时 钟的时、分、秒,用一扬声器来进行定时提醒,同时使用 C语言程序来控制 整个时钟显示。通过三个模块:芯片、蜂鸣

5、器、数码管显示即可满足设计要求。第四章硬件部分4.1 8031 单片机4.2复位电路4.3时钟电路4.4显示电路AiHi'T-i££dIE 4np7 U4/b本设计晶振电路采用12M的晶振。晶振的作用是给单片机正常工作提供sw 电IE uFT伸惟Ml,症dADrao舵 P3lTt£FJJ.WT 旧皿 FT" PiJdPOF rxWPl" H * tJlB稳定的时钟信号。单片机的晶振并不是只能用12M,只要不超过20M就行,在 准许的范围内,晶振越大,单片机运行越快,还有用12M的就是好算时间,因为一个机器周期为1/12时钟周期,所以这样

6、用12M的话,一个时钟周期为 12us,那么定时器计一次数就是1us 了,电容范围在20-40pF之间,这里连 接的是30pF的电容。机器周期=10*晶振周期=12*系统时钟周期4.5蜂鸣器电路电路接法:三极管选定PNP型,基极B连接5V电压,发射极E连接 一个1K左右的电阻后接I/O 口,集电极C连接蜂鸣器后接地。单片机在 复位后的个I/O 口是高电平,此时三极管是截止的,编写程序使选定的 I/O为低电平,此时三极管导通,导通后蜂鸣器与电源正极连通,构成一 个工作回路,从而发出滴滴的响声。其中电阻R1在电路里起分压限流的作用,PNPE极管起到模拟开关的作用。第5章软件部分定时器每100us中

7、断一次,在中断服务程序中,对中断次数进行计数,1OOus计数10000次就是1秒,然后再对秒计数得到分和小时值,并送入显示缓冲区5.1 主程序模块:主程序主要用于系统初始化:设置计时缓冲区的位置及初值,设置8031的工作方式、定时器的工作方式和计数初值等参数。主程序流程如下图所示。五.实验征田5.2 100us 定时中断服务程序:匸寸丰幽X »柑亍5.3程序(C语言)#include <reg51.h>#define LEDLen 6#define PB1 2 / 164时钟位#define PB0 1 / 164数据位xdata unsigned char OUTBIT

8、 _at_ 0x8002; / 位控制口xdata unsigned char OUTSEG _at_ 0x8004; / 段控制口unsigned char LEDBufLEDLen; / 显示缓冲code unsigned char LEDMAP = / 八段管显示码0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71;void Delay(unsigned char CNT)unsigned char i;while (CNT- !=0)for (i=10

9、0; i !=0; i-); void DisplayLED()unsigned char i, j; unsigned char Pos; unsigned char LED;Pos = 0x20; /从左边开始显示for (i = 0; i < LEDLen; i+) OUTBIT = 0; / 关所有八段管LED = LEDBufi;OUTSEG = LED;OUTBIT = Pos; / 显示一位八段管Delay(1);/#define Tick 10000 / 10000 x 100us = 1s #define T100us (256-50) / 100us 时间常数 (6M

10、) unsigned char Hour, Minute, Second;unsigned int C100us; / 100us 记数单元void T0Int() interrupt 1C100us-;if (C100us = 0) C100us = Tick; / 100us记数器为 0, 重置记数器Second+;if (Second = 60) Second = 0;Minute+;if (Minute = 60) Minute = 0;Hour+;if (Hour = 24) Hour = 0;void main()TMOD = 0x02; / 方式 2, 定时器TH0 = T100

11、us;TL0 = T100us;IE = 0x82; / EA=1, IT0 = 1Hour = 0;Minute = 0;Second = 0;C100us = Tick;TR0 = 1;/ 启动定时器 0while (1) LEDBuf0= LEDMAPHour/10;LEDBuf1= LEDMAPHour%10 | 0x80;LEDBuf2= LEDMAPMinute/10;LEDBuf3= LEDMAPMinute%10 | 0x80;LEDBuf4= LEDMAPSecond/10;LEDBuf5= LEDMAPSecond%10;DisplayLED();5.4 拓展功能程序(闹钟

12、) 闹钟时间为 7时 10 分 15 秒,当电子时钟走到 7 时 10 分 15 秒时,蜂鸣器蜂 鸣。#include <reg51.h>/添加部分sbit Speaker = P1A1;/ #define LEDLen 6#define PB1 2 / 164时钟位#define PB0 1 / 164数据位/ 添加部分void Delay1();/ xdata unsigned char OUTBIT _at_ 0x8002; /位控制口xdata unsigned char OUTSEG _at_ 0x8004; / 段控制口unsigned char LEDBufLEDLe

13、n; / 显示缓冲code unsigned char LEDMAP = / 八段管显示码0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71 ;/ 添加部分void beep()int k=10;while(k!=0)Speaker = 0;Delay1();Speaker = 1;Delay1();k-;/ void Delay(unsigned char CNT)unsigned char i;while (CNT- !=0)for (i=100; i !

14、=0; i-); void DisplayLED()unsigned char i, j; unsigned char Pos; unsigned char LED;Pos = 0x20; /从左边开始显示for (i = 0; i < LEDLen; i+) OUTBIT = 0; / 关所有八段管LED = LEDBufi;OUTSEG = LED;OUTBIT = Pos; / 显示一位八段管Delay(1);/#define Tick 10000 / 10000 x 100us = 1s #define T100us (256-50) / 100us 时间常数 (6M) unsi

15、gned char Hour, Minute, Second;unsigned int C100us; / 100us 记数单元void T0Int() interrupt 1C100us-;if (C100us = 0) C100us = Tick; / 100us记数器为 0, 重置记数器Second+;if (Second = 60) Second = 0;Minute+;if (Minute = 60) Minute = 0;Hour+;if (Hour = 24) Hour = 0;/添加部分void Delay1()unsigned char i;for (i=0; i<50

16、; i+); / void main()TMOD = 0x02; /方式 2, 定时器TH0 = T100us;TL0 = T100us;IE = 0x82; / EA=1, IT0 = 1Hour = 0;Minute = 0;Second = 0;C100us = Tick;TR0 = 1; /启动定时器 0while (1) LEDBuf0 =LEDMAPHour/10;LEDBuf1 =LEDMAPHour%10 | 0x80;LEDBuf2 =LEDMAPMinute/10;LEDBuf3 =LEDMAPMinute%10 | 0x80;LEDBuf4 =LEDMAPSecond/1

17、0;LEDBuf5 =LEDMAPSecond%10;DisplayLED();/. 添加部分if( Hour = 7&&Minute = 10&&Second = 15) beep();/心得体会通过本次实验,使我对 Proteus 7 Professional 软件的使用方法有了初 步的了解,还认识了 8031 单片机的结构及各个端口的功能。虽然在本次试验中遇到了的问题,都在同学的帮助下解决了,同时还进 一步了解了单片机方面的有关知识。该课程设计中应用到了蜂鸣器、数码管,并且要求在一个电路板上将各 个功能集成在一起,数码管计时以及蜂鸣器发生。以前我们做试验都

18、是一个 功能一个功能的完成,从来没有一起实现过。经过老师的讲解和分析,我们 可以用扫描的程序来解决,将各个功能设置在不同的模块作为子程序一一调 试,这样就可以实现全部功能并互不干扰。最后完成调试和下载,终于正常工作,但是还是有一些问题没有解决, 但是整体上还是成功的,这些问题下去还会继续研究,直到将它消除。参考文献1)单片机原理及应用技术 张淑清,国防工业出版社(教材)2)过程控制系统及仪表 邵裕森 巴筱云 编(教材)3)单片机及应用 李大友,高等教育出版社(教材)4)机械量测量 机械工业出版社(教材)燕山大学课程设计评审意见表指导教师评语:工作态度认真较认真不认真理论分析正确完善较为合理一般方法设计较差完善合理一般较差成绩:指导教师:2011年6月25日答辩小组评语:清晰设计结论正确基本正确基本掌握原理了解成绩:不清楚评阅人:不正确2011年6月25日课程设计总成绩:答辩小组成员签字:赵彦涛、程淑红、林洪斌2011年6月25日燕山大学课程设计(论文)任务书院(系):电气工程学院基层教学单位:自动化仪表系学号XXXXXXXXXXX 学生姓名XXXXXXX 专业(班级)仪表XXXX班设计题目电子时钟设 计 技 术 参 数1. 独立完成设计任务2. 编程,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论