已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 课程名称_单片机原理与接口技术_题目名称_个性化电子钟_学生学院_材能学院_专业班级_2012级微电子2班_ 学 号_学生姓名_郑培柱_参考书目 李全利单片机原理与接口技术指导老师:乐金松老师2015 年 1 月 8 日 一、课程设计任务书(一)、根据单片机原理及接口技术所学的内容及其他相关课程的知识,结合各生的基础,充分发挥个人的特长,设计个性化数字电子钟。具体要求以下:1 AT89S51CPU,12MHZ时钟,常规上电和手动复位电路。2 4位LED数码显示器(带钟点),分别显示“小时:分钟”或“分钟:秒”3 3个独立试按键,具体功能描述如下:MODE模式转换键,具有“正常小时(校准)分钟(校准)小时(闹铃)分钟(闹铃)”等5种模式,每按一次,转换一种模式。假设当前处于正常模式,按一下此键,“小时”闪烁,表示进入“小时”调校模式,再按一次,转入分钟模式,如此类推,正常模式下不闪烁。 UP加“1”键,按下此键,被选中的项目加“1” DOWN减“1”键,按下此键,被选中的项目减“1”4 设计1路蜂鸣器输出驱动电路,用于报警或按键声5 电源:9V交流输入,全波整流,滤波,7805稳压电路,输出5V直流电源共给单片机系统。6 编写数字电字钟的所有软件,包括主程序,定时器中断计时程序,定时器中断扫描显示程序,键盘扫描及功能程序,BCD码转换程序,“二翻十拆字转码”程序,闹铃程序等等。将这些程序整合成一个完整的电子钟程序,在软件模拟器上调试,在MCS51学习机上调试,并测试其功能及性能。在设计软件时,学生可充分发挥自己的特长和想象力,自行扩充功能,如“秒表”功能,通信功能,钟控功能等。7 在程序调试通过后,测试计时精度,分析误差来源,提出补偿方法。(二)、计报告要求:每人一份设计报告,要求独立完成,用统一的封面装订,设计报告的内容包括以下部分:8 设计任务书9 个性化电子钟功能要求10 单片机系统原理图及工作原理描述11 程序模块框图12 程序清单13 设计或调试过程中碰到的问题及决计方法14 测试数据,误差分析,补偿方法,补偿前后精度比较15 完成课程设计后的收获或体会,对单片机课程设计提出改进意见。(三)、课程设计验收标准:本次课程设计的成绩由大部分组成:即硬件设计软件设计和课程设计报告。硬件设计主要是电路图设计(可以用手工画或计算机辅助设计)。软件部分在答辩时验收,并结合答辩情况进行评定。16 电路原理图设计(20%),包括以下知识点:CPU及时钟,复位电路显示接口电路键盘接口电路蜂鸣器驱动电路电源部分17 软件设计及答辩(60%),包括以下知识点:主程序及初始化程序定时中断及计时程序定时中断及显示程序键盘程序闹铃程序按键声程序18 课程设计报告(20%),具体要求见上面所述.(四)、基础较好的学生可以结合实际应用自拟题目,题目和具体设计内容定好后由指导老师比准。 指导老师:乐金松2014,12,28二、个性化电子钟功能要求1、设计4位LED数码显示器(带钟点),分别显示“小时:分钟”或“分钟:秒”2、设计一路继电器输出,用于电子钟滴答声3、设计4个独立试按键,具体功能描述如下:MODE模式转换键,具有“正常小时(校准)分钟(校准)秒钟(校准)小时(闹铃)分钟(闹铃)”等6种模式,每按一次,转换一种模式。假设当前处于正常模式,按一下此键,“小时”闪烁,表示进入“小时”调校模式,再按一次,转入分钟模式,如此类推,正常模式下不闪烁。 UP加“1”键,按下此键,被选中的项目加“1” DOWN减“1”键,按下此键,被选中的项目减“1” ZHUAN“小时:分钟”、“分钟:秒”切换键3、 设计1路蜂鸣器输出驱动电路,用于报警或按键声以及闹钟。三、单片机系统原理图及工作原理描述(一)电源模块 考虑到用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少, 7805三端稳压集成电路电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。电源模块采用9V交流输入,通过整流桥并滤波,7805稳压电路,输出5V直流电源供给单片机系统。具体设计的电路图如下:(二)最小系统模块STC89C52CPU,12MHZ晶振,常规上电和手动复位电路。设计电路图如下:(三)数码管显示模块 考虑到S8050是一种低电压,大电流,小信号的PNP型硅三极管,用来作为四位共阳数码管的驱动,四位共阳数码管14的位选分别接了P1.4P1.7,而段选adp分别接了P3.0P3.7,具体电路图如下:(四)按键模块 本电子钟共有四个按键分别是MODE、ZHUAN、UP、DOWN,分别接了单片机的P2.2P2.4口,具体功能上面已有详细说明,这里不再说明。具体电路图如下:(五)闹铃模块闹铃部分采用S8050三极管放大电路驱动蜂鸣器,基级通过电阻接到单片机P1.3口,用于按键声和闹钟响声,闹钟任务开启时响20秒后停止。具体电路如下:(六)滴答模块本电子钟采用继电器发出的声响作为时钟的滴答声音,也是通过三极管放大电路驱动。单片机P1.2口控制,一秒响一次。具体电路图如下:(七)实物图正面实物图背面四、程序模块框图本电子钟的程序部分包括主程序、定时器中断计时程序、数码管显示程序、按键扫描和功能程序、BCD码转码程序和“二翻十、拆字、转码程序”等。主程序初始化变量及中断设置等之后不断扫描按键、BCD转码、数码管显示等,并且通过按键实现三种模式,即时钟模式、时钟设置模式、闹钟设置模式。时钟模式下,正常显示时钟,可以通过ZHUAN键显示“时钟-分钟”或者“分钟-秒钟”;时钟设置模式下,分别可以设置时钟、分钟和秒钟,设置时闪烁数值,按UP时加1,按DOWN时减1;而闹钟设置模式时,默认为08:00,设置方法与时钟设置模式相同。具体的程序模块框图如下:是否中断T0定时器中断单片机(51)主程序否键盘扫描程序是进入中断服务函数BCD转换程序数码管显示函数记时1秒时钟模式时钟设置模式闹钟设置模式图1 系统结构示意图五、程序清单:;-; 变量定义;- SIGN1EQU65HS_MEM1EQU66H ;闹钟-秒H_MEM1EQU67H ;闹钟-分M_MEM1EQU68H ;闹钟-时SIGNEQU69HH_MEMEQU70H ;秒M_MEMEQU71H ;分S_MEMEQU72H ;时MODE_REGEQU73HFLASH_FLAGEQU20H.0 ;定时1秒标志LED1EQU7FHLED2EQU7EHLED3EQU7DHLED4EQU7CHSCAN_COUNT EQU 7BHH_M_FLAG EQU 7AH ;时-分 分-秒 显示标志COUNTEQU77H ;中断计数;-; 中断向量安装及主程序初始化;-ORG0000HLJMPMAINORG000BHLJMPT0_INTORG0030HMAIN:MOV SP,#2FH MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0AFHSETB ET0SETB TR0SETB EAMOV P3,#00000001BMOVH_MEM,#0; 初始化MOVM_MEM,#0MOVS_MEM,#0MOVH_MEM1,#8MOVM_MEM1,#0MOVS_MEM1,#30MOV SIGN1,#78MOV SIGN,#0MOV H_M_FLAG,#0MOV COUNT,#20CLR FLASH_FLAG;-;主程序循环;-WAIT: LCALL KEY_SCAN MOV A,MODE_REGCJNE A,#4,ZHUAN3MOV SIGN,#0 LCALLCONVERT_BCD1LCALLDISPLAYLJMPWAITZHUAN3: CJNE A,#5,ZHUAN4 MOV SIGN,#0 LCALLCONVERT_BCD1LCALLDISPLAYLJMPWAITZHUAN4: MOV A,SIGN CJNE A,#0,ZHUAN6 MOV A,H_MEM CJNE A,H_MEM1,ZHUAN5 MOV A,M_MEM CJNE A,M_MEM1,ZHUAN5MOV A,MODE_REG CJNE A,#0,ZHUAN5CLR P1.5ZHUAN5: MOV A,S_MEM CJNE A,#20,ZHUAN6 MOV SIGN,#1SETB P1.5ZHUAN6: LCALLCONVERT_BCDLCALLDISPLAYLJMPWAIT;-按键声功能程序-ANJIAN: MOV A,#11111111BXRL A,P2 JZ ZHUAN7CLR P1.5ZHUAN7: RET;-中断服务函数-T0_INT: PUSH ACC PUSH PSWSETB RS0MOV TH0,#3CHMOV TL0,#0AFHDJNZ COUNT,INT_OUTMOV COUNT,#20CPL FLASH_FLAGCPL P2.0MOV A,P3RR AMOV P3,AMOV A,MODE_REGCJNE A,#0,ZHUAN1INC S_MEMZHUAN1:MOVA,S_MEMXRL A,#60JNZINT_OUTMOV S_MEM,#0INC M_MEMMOVA,M_MEMXRL A,#60JNZINT_OUTMOV M_MEM,#0INC H_MEMMOVA,H_MEMXRL A,#24JNZINT_OUTMOV H_MEM,#0INT_OUT:POPPSWPOPACCRETI;-; 拆字-二翻十-转码;- CONVERT_BCD1:MOV A,MODE_REG CJNE A,#4,D_BCD2 LJMP D1_DISPD_BCD2: LJMP D2_DISPD1_DISP: MOV R3,M_MEM1 MOV R2,#0 LCALL BTID MOV A,R6 ANL A,#0FH MOV DPTR,#LED_CODE MOVC A,A+DPTR MOV LED1,A MOV A,R6 ANL A,#0F0H SWAP A MOVC A,A+DPTR MOV LED2,AMOV R3,H_MEM1 MOV R2,#0 LCALL BTID MOV A,R6 ANL A,#0FH MOV DPTR,#LED_CODE MOVC A,A+DPTRJNB FLASH_FLAG,D1_DISP10MOV A,#10000000B D1_DISP10: MOV LED3,A MOV A,R6 ANL A,#0F0H SWAP A MOVC A,A+DPTRJNB FLASH_FLAG,D1_DISP11MOV A,#00000000BD1_DISP11:MOV LED4,ARETD2_DISP: MOV R3,M_MEM1 MOV R2,#0 LCALL BTID MOV A,R6 ANL A,#0FH MOV DPTR,#LED_CODE MOVC A,A+DPTRJNB FLASH_FLAG,D2_DISP10 MOV A,#00000000BD2_DISP10: MOV LED1,A MOV A,R6 ANL A,#0F0H SWAP A MOVC A,A+DPTRJNB FLASH_FLAG,D2_DISP11 MOV A,#00000000BD2_DISP11: MOV LED2,AMOV R3,H_MEM1 MOV R2,#0 LCALL BTID MOV A,R6 ANL A,#0FH MOV DPTR,#LED_CODE MOVC A,A+DPTRJNB FLASH_FLAG,D2_DISP12SETB ACC.7D2_DISP12: MOV LED3,A MOV A,R6 ANL A,#0F0H SWAP A MOVC A,A+DPTR MOV LED4,A RET;-; 拆字-二翻十-转码;-CONVERT_BCD:MOV A,MODE_REG CJNE A,#0,C_BCD1LJMP M0_DISPC_BCD1: CJNE A,#1,C_BCD2 LJMP M1_DISPC_BCD2: CJNE A,#2,C_BCD3 LJMP M2_DISPC_BCD3: LJMP M3_DISPM0_DISP: JNB H_M_FLAG,M01_DISP MOV R3,M_MEM MOV R2,#0 LCALL BTID MOV A,R6 ANL A,#0FH MOV DPTR,#LED_CODE MOVC A,A+DPTR MOV LED1,A MOV A,R6 ANL A,#0F0H SWAP A MOVC A,A+DPTR MOV LED2,AMOV R3,H_MEM MOV R2,#0 LCALL BTID MOV A,R6 ANL A,#0FH MOV DPTR,#LED_CODE MOVC A,A+DPTRJNB FLASH_FLAG,M0_DISP1 SETB ACC.7M0_DISP1: MOV LED3,A MOV A,R6 ANL A,#0F0H SWAP A MOVC A,A+DPTR MOV LED4,A RETM01_DISP: MOV R3,S_MEM MOV R2,#0 LCALL BTID MOV A,R6 ANL A,#0FH MOV DPTR,#LED_CODE MOVC A,A+DPTR MOV LED1,A MOV A,R6 ANL A,#0F0H SWAP A MOVC A,A+DPTR MOV LED2,AMOV R3,M_MEM MOV R2,#0 LCALL BTID MOV A,R6 ANL A,#0FH MOV DPTR,#LED_CODE MOVC A,A+DPTRJNB FLASH_FLAG,M01_DISP1 SETB ACC.7M01_DISP1: MOV LED3,A MOV A,R6 ANL A,#0F0H SWAP A MOVC A,A+DPTR MOV LED4,A RETM1_DISP: MOV R3,M_MEM MOV R2,#0 LCALL BTID MOV A,R6 ANL A,#0FH MOV DPTR,#LED_CODE MOVC A,A+DPTR MOV LED1,A MOV A,R6 ANL A,#0F0H SWAP A MOVC A,A+DPTR MOV LED2,AMOV R3,H_MEM MOV R2,#0 LCALL BTID MOV A,R6 ANL A,#0FH MOV DPTR,#LED_CODE MOVC A,A+DPTRJNB FLASH_FLAG,M1_DISP10MOV A,#10000000B M1_DISP10: MOV LED3,A MOV A,R6 ANL A,#0F0H SWAP A MOVC A,A+DPTRJNB FLASH_FLAG,M1_DISP11MOV A,#00000000BM1_DISP11:MOV LED4,ARETM2_DISP: MOV R3,M_MEM MOV R2,#0 LCALL BTID MOV A,R6 ANL A,#0FH MOV DPTR,#LED_CODE MOVC A,A+DPTRJNB FLASH_FLAG,M2_DISP10 MOV A,#00000000BM2_DISP10: MOV LED1,A MOV A,R6 ANL A,#0F0H SWAP A MOVC A,A+DPTRJNB FLASH_FLAG,M2_DISP11 MOV A,#00000000BM2_DISP11: MOV LED2,AMOV R3,H_MEM MOV R2,#0 LCALL BTID MOV A,R6 ANL A,#0FH MOV DPTR,#LED_CODE MOVC A,A+DPTRJNB FLASH_FLAG,M2_DISP12SETB ACC.7M2_DISP12: MOV LED3,A MOV A,R6 ANL A,#0F0H SWAP A MOVC A,A+DPTR MOV LED4,A RETM3_DISP:MOV R3,S_MEM MOV R2,#0 LCALL BTID MOV A,R6 ANL A,#0FH MOV DPTR,#LED_CODE MOVC A,A+DPTRJNB FLASH_FLAG,M3_DISP10 MOV A,#00000000BM3_DISP10: MOV LED1,A MOV A,R6 ANL A,#0F0H SWAP A MOVC A,A+DPTRJNB FLASH_FLAG,M3_DISP11 MOV A,#00000000BM3_DISP11: MOV LED2,AMOV R3,M_MEM MOV R2,#0 LCALL BTID MOV A,R6 ANL A,#0FH MOV DPTR,#LED_CODE MOVC A,A+DPTRJNB FLASH_FLAG,M3_DISP12SETB ACC.7M3_DISP12: MOV LED3,A MOV A,R6 ANL A,#0F0H SWAP A MOVC A,A+DPTR MOV LED4,A RET;-; 二翻十程序;-BTID: CLR A MOV R4,A MOV R5,A MOV R6,A MOV R7,#16IBTL: CLR C MOV A,R3 RLC A MOV R3,A MOV A,R2 RLC A MOV R2,A MOV A,R6 ADDC A,R6 DA A MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A DJNZ R7,IBTL RET;-; 数码管显示程序;-DISPLAY:LCALL ANJIAN MOVP0,#11111111B ;消鬼影 MOV A,SCAN_COUNTADDA,ACCMOVDPTR,#LED_SCAN_TABLEMOVCA,A+DPTRMOV P1,AMOV A,SCAN_COUNTADDA,ACCINC AMOVCA,A+DPTR ;读取第二字节地址 MOVR0,AMOVA,R0 ;间接寻址读取缓冲区的显示内容 MOVP0,A INCSCAN_COUNTMOVA,SCAN_COUNTCJNEA,#4,DISPLAY1 ;4位显示 MOV SCAN_COUNT,#0DISPLAY1: RET;-; 按键扫描程序;-KEY_SCAN: JNB P2.2,K1 JNB P2.3,K2 JNB P2.4,K3 JNB P2.5,K4 JNB P2.7,K5 RETK5: MOV SIGN,#1 SETB P1.5 RETK1: MOV SIGN,#0 INC MODE_REG MOV A,MODE_REG CJNE A,#6,K11 MOV MODE_REG,#0K11: CJNE A,#4,K111 LCALLCONVERT_BCD1 LCALLDISPLAY JNB P2.2,K11 RETK111: CJNE A,#5,K112 LCALLCONVERT_BCD1 LCALLDISPLAY JNB P2.2,K111 RETK112: LCALLCONVERT_BCD LCALLDISPLAY JNB P2.2,K11 RET K2: CPL H_M_FLAGK21: LCALLCONVERT_BCD LCALLDISPLAY JNB P2.3,K21 RET K3: MOV A,MODE_REG CJNE A,#0,K31 RETK31: CJNE A,#1,K32 LJMP H_INCK32: CJNE A,#2,K33 LJMP M_INCK33: CJNE A,#4,K132 LJMP H1_INCK132: CJNE A,#5,K133 LJMP M1_INCK133: LJMP S_INCK4: MOV A,MODE_REG CJNE A,#0,K41 RETK41: CJNE A,#1,K42 LJMP H_DOWNK42: CJNE A,#2,K43 LJMP M_DOWNK43
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件测试工程师岗位技能提升辅导
- 医养结合下的多元化收入模式方案
- xx片区排水防涝工程节能评估报告
- 中学数学证明题系统训练
- 建筑企业安全检查操作规范
- 施工现场临时交通设施规划方案
- 城乡污水设施一体化建设项目技术方案
- 企业发展阶段员工激励制度设计
- 工程项目建设过程中的风险管理
- 标准化厂房及配套基础设施建设项目社会稳定风险评估报告
- 【浙商证券】餐饮系列研究之茶饮+咖啡深度:茶饮方兴未艾品牌格局渐明
- 企业规章制度制定的民主程序和流程
- 青马工程笔试题库及答案
- 《跨境电商》课件-跨境电商法律法规
- DBJ50T-123-2020 建筑护栏技术标准
- 三人合租房协议合同
- 直立性低血压诊断与处理中国多学科专家共识(2024版)解读
- 八年级上册,劳动技术,全册教案,湖南教育出版社
- 时代乐章第一课城市名片 课件 2024-2025学年人教版(2024)初中美术七年级上册
- 各科室迎检资料盒
- GB/T 2423.17-2024环境试验第2部分:试验方法试验Ka:盐雾
评论
0/150
提交评论