单片机课程设计报告
51单片机课程设计报告
51单片机课程设计报告.成绩:单片机原理及应用课程设计课程名<单片机原理及应用> </单片机原理及应用>学部机械与电子信息工程学部专业移动通信技术学号姓名指导教师日期 .一、设计任务与要求1. 任务:制作并调试51单片机学习板2. 要求:(1)了解并能识别学习板上的各种元器件,会读元器件标示;(2)会看电路原理图;(3)制作51单片机学习板;(4)学会使用Keil C软件下载调试程序;用调试程序将51单片机学习板调试成功。
二、实验内容(5)(6)(7)(8)(9)*****芯片工作电路,利用晶振提供控制信号。
10引脚下载口与*****芯片相关引脚相连完成下载电路。
8个10K电阻与*****芯片P0口相连,利用上拉电阻组成上拉电路。
使用开关与5.1K电阻连成外部中断0、1电路和复位电路。
利用16个开关做成键盘,实现输入号对已编程的*****芯片的控制并通过数码管显示0--F。
(10)用2片74HC573N具有锁存功能芯片与8个数码管相连,通过编程的*****位选和段选实现输出信号的显示功能。
(11)使用74HC573N锁存功能结合*****AG芯片8非门芯片和74HC04N6非门芯片与4个2N5551三极管实现对步进电机的控制,和控制步进电机的信号结合LED输出显示的功能。
(12)6、利用1片74HC573N芯片与8个共阴极LED实现跑马灯功能。
三、总原理图1.总原理图.四、硬件调试1、是否短路用万用表检查P2两端是短路。
电阻为0,则短路,电阻为一适值,电路正常。
2、焊接顺序焊接的顺序很重要,按功能划分的器件进行焊接,顺序是功能部件的焊接--调试--另一功能部件的焊接,这样容易找到问题的所在。
3、器件功能1)检查原理图连接是否正确2)检查原理图与PCB图是否一致3)检查原理图与器件的*****ET上引脚是否一致4)用万用表检查是否有虚焊,引脚短路现象5)查询器件的*****ET,分析一下时序是否一致,同时分析一下命令字是否正确6)通过示波器对芯片各个引脚进行检查,检查地址线是否有信号的7)飞线。
单片机课程设计 报告
《单片机应用设计报告》系别电子信息与电气工程系专业自动化班级 09 级 (1) 班姓名王杰王典老师储忠完成时间 2012年5月18日单片机原理及接口技术课程设计报告摘要:单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
MCS-51单片机是使用极为广泛的一款8位单片机,在此次实训中所用的单片机是美国Atmel公司生产的以8031为内核的AT89S52单片机。
实训分别以构建单片机最小系统版、74HC138流水灯、8255交通灯、8253方波、6N137光耦控制继电器等几个实验关键词:AT89S52 74HC138 8255A 8253 6N137 交通灯目录单片机原理及接口技术课程设计报告 (1)实验一构建单片机最小系统和实验环境熟悉 (3)1.1单片机的工作原理 (3)1.1.1单片机最小系统图 (3)1.1.2运算器简介 (4)1.1.3控制器简介 (5)1.1.4实验解析与总结 (7)实验二跑马灯实验及74HC138译码器 (7)2.1实验内容 (7)2.1.1实验原理 (8)2.1.2实验原理图 (8)2.1.3实验程序流程图 (9)2.1.4实验程序代码 (9)2.1.5完成后的效果图 (10)2.2实验总结 (10)实验三8255控制交通灯实验 (11)3.1实验内容 (11)3.1.3实验原理 (11)3.1.2实验原理电路图 (12)3.1.3程序流程图 (13)3.1.4实验程序代码 (13)3.1.5系统实现图 (15)3.2 8255A寻址原理 (15)3.3实验总结 (16)实验四8253方波实验 (17)4.1实验内容 (17)4.1.1实验原理图 (17)4.1.2实验原理电路图 (17)4.1.3程序流程图 (18)4.1.4程序流程代码 (19)4.1.4系统仿真 (20)4.2实验总结 (21)实训总结 (21)附录 (22)1 实验源程序 (22)2仿真系统电路原理图 (27)3硬件实物照片 (27)实验一构建单片机最小系统和实验环境熟悉1.1单片机的工作原理1.1.1单片机最小系统图单片机最小系统主要有外部晶振电路,系统复位电路以及供电电源组成。
单片机 课程设计报告(完成版)
单片机课程设计报告
题目:音乐门铃
院系:电气信息工程系专业:通信工程
组长:吴楠学号: 20100606019
组员 1 :刘静静学号: 20100606017
组员 2 :张琳娜学号: 20100606018
组员 3 :李元学号: 20100606020
组员 4 :黄智鑫学号: 20100606049
组员 5 :学号:
组员 6 :学号:
指导教师:李宁
2011年01月06日
电气信息工程系课程设计总结报告
PCB原理图
电气信息工程系
单片机课程设计元器件清单指导教师:李宁课题名称:音乐门铃
参考文献:
[1]徐爱钧.单片机原理实用教程[M].北京:电子工业出版社,2009:267-285.
[2]刘焕平.单片机原理及应用[M].北京:北京邮电大学出版社,2008:246-260.
[3]刘南平.单片机实训与开发教程[M].北京:科学出版社,2008:199-209.
[4]吴金戌.8051单片机实践与应用[M].北京:清华大学出版社,2002:242-253.
[5]刘海成.单片机及应用系统设计原理与实践[M].北京:北京航空航天大学出版社,2009:273-281.
[6]杨振江.单片机应用于实践指导[M].西安:西安电子科技大学出版社,2010:378-380.。
单片机课程设计报告代码
单片机课程设计报告代码摘要:一、单片机课程设计报告简介1.单片机概述2.课程设计报告的目的与意义3.报告内容概述二、单片机基础知识回顾1.单片机的定义与历史2.单片机的基本结构3.单片机的工作原理三、单片机应用领域1.工业控制2.通信设备3.消费电子4.汽车电子5.其他领域四、单片机课程设计报告实例分析1.实例一:基于单片机的智能家居系统设计2.实例二:单片机控制的智能交通灯系统设计3.实例三:单片机在智能医疗设备中的应用设计五、单片机课程设计报告撰写建议1.明确设计目标与要求2.详细的设计过程与思路3.合理的硬件与软件设计4.系统测试与优化5.结论与展望正文:一、单片机课程设计报告简介单片机课程设计报告是学生在学习单片机知识后,将理论应用于实际的一个综合性实践环节。
通过对单片机的了解与掌握,学生可以设计出各种具有一定功能的智能系统。
本报告将对单片机课程设计报告进行简要介绍,包括报告的目的、意义以及内容概述。
二、单片机基础知识回顾在开始设计报告之前,我们需要先回顾一下单片机的基础知识,以便更好地理解单片机的工作原理和应用领域。
单片机是一种集成电路,集成了CPU、存储器、外设接口等多种功能于一体,可编程实现各种控制功能。
它具有体积小、成本低、功耗低、功能强大等特点,被广泛应用于各个领域。
1.单片机的定义与历史单片机(Microcontroller Unit, MCU)是一种集成了CPU、存储器、外设接口等多种功能于一体的微型计算机。
自1971年Intel公司推出第一款单片机4004以来,单片机得到了迅速发展,其性能、功能和应用领域不断扩展。
2.单片机的基本结构单片机主要由CPU、存储器、外设接口和时钟电路等部分组成。
CPU是单片机的核心部分,负责程序的执行;存储器用于存储程序和数据;外设接口用于与外部设备进行通信;时钟电路为单片机提供工作节拍。
3.单片机的工作原理单片机根据预先编写好的程序,在时钟信号的作用下,对输入信号进行处理,并产生相应的输出信号,从而实现对各种外部设备的控制。
单片机课程设计实验报告
单片机课程设计实验报告实验名称:频率计 指导教师:徐建军 学生信息:鄢立夏(电气 0903,09271061) 闫琛 (电气 0904,09271121)一、 实验题目 6 位数码管显示频率,测量频率的范围为 50HZ—50KHZ 用外 部中断或计数器,可使用 555 波形发生器。
二、 实验电路频率测量电路鄢立本电路图根据实验板的绘制。
三、 实验原理 本实验中采用了测频的方法,使用了 T0、T1 定时计数器,其中 通过控制 T1 作为定时器设定 1S 延时,T1 作为计数器接受脉冲输入。
1S 延时到,关闭 T0、T1 读取 TH0、TL0 并将此两个 8 位数据转化为 6 位十进制数存储进 30H-35H 的位寻址空间内, 然后调用数码管显示函 数,显示 30H-35H 中的数值。
然后对 T0、T1 做下一次计数的初始化 设置,并清零 TH0、TL0。
再进入下一次测频阶段,如此循环,即可夏实现动态测量输入信号的频率并在数码管上进行显示。
四、 程序控制流程图START 关闭T0、T1 停止计数单片机读取 TH0、TL0T0->十六位计数器 初始化 T1->十六位20ms定 时初始化初始化数据存储空 间初始化数据处理 函数开启T0、T1, 开始计数 数据处理完毕并送至 30H~35H?N YP3.4管脚脉冲NT1,50次中断, 定时1秒到?数码管显示 30H~35H内容N显示完 毕?频 率 计 控 制 流 程 图Y设计:鄢立夏、闫琛五、 实测代码 由于我们采用了自己焊接的 51 单片机最小系统为新片烧写程序,然后将新 片安放至实验板上进行调试的,编写软件为 Keil,所以一下包括注释等某些格式 可能和伟福软件有些不同。
望谅解。
Org 0000H Sjmp Main; Org 000BH; Sjmp Timer0_Serv; 判断 100Khz 时溢出时使用 Org 001BH Sjmp Timer1_Serv; Main: Lcall Sys_Init; LCALL Start; Sys_Loop: Ajmp Sys_Loop; while(1);//开始函数 Start: Setb TR0; Setb TR1; Setb ET1; Setb ET0 Setb EA; Ret; //系统初始化函数 Sys_Init: Lcall Timer_Init; //设置定时时间 50*20ms=1s MOV 20H,#50; //保存 T0 的计数值 Mov 21H,#0; Mov 22h,#0; Mov 23H,#0;//100Khz 位 //设置六位数据存储空间; MOV 31H,#0; MOV 32H,#0; MOV 33H,#0; MOV 34H,#0; MOV 35H,#0; MOV 36H,#0; Ret; //定时器/计数器 0、1 初始化函数,T0 作为计数器,T1 作为定时器 Timer_Init: Mov TMOD,#15H; Mov TH0,#00H; Mov TL0,#00H; Mov TH1,#0ECH;定时 10ms Mov TL1,#078H; Ret; //T0 中断服务函数 Timer0_Serv: INC 23H; 十万位处理; Reti; //T1 中断服务函数 Timer1_Serv: MOV R1,#31H;数据起始位 MOV R2,#6; MOV R4,#0FEH; Single_Spark:;单个数码管亮,循环起来MOV A,R4; MOV P0,A; RL A; MOV R4,A; MOV A,@R1; MOV DPTR,#Led_Data; MOVC A,@A+DPTR; MOV P2,A; INC R1; LCALL Delay; DJNZ R2,Single_Spark; //判断 1S 定时是否已到 Djnz 20H,Timer_Go_On; Clr TR0; Clr TR1; Mov 21H,TL0; Mov 22H,TH0; Mov 20H,#100; LCALL Frequence_Show; Mov TH0,#00H; Mov TL0,#00H; Timer_Go_On: Mov TH1,#0B1H;定时 10ms Mov TL1,#0DFH; SETB TR0; SETB TR1; EXIT: Reti; Frequence_Show: MOV R0,#31H MOV R1,#06H ;对上次的内容清零 Clear_Data: MOV @R0,#0 INC R0 DJNZ R1,Clear_Data; //计数器处理函数,封装. Data_Handle: MOV A,23H; MOV B,#0AH; DIV AB; MOV 24H,A ;存储第一位商 MOV A,B;MOV 30H,22H; ANL 30H,#0F0H; ADD A,30H; SWAP A; MOV B,#0AH; DIV AB; MOV 25H,A MOV A,B; SWAP A; ANL 22H,#0FH; ADD A,22H; MOV B,#0AH; DIV AB; MOV 26H,A MOV A,B; MOV 30H,21H; ANL 30H,#0F0H; ADD A,30H; SWAP A; MOV B,#0AH; DIV AB; MOV 27H,A; MOV A,B; SWAP A; ANL 21H,#0FH; ADD A,21H; MOV B,#0AH; DIV AB; MOV 28H,A; MOV 31H,B MOV A,24H; SWAP A; ADD A,25H; MOV B,#0AH; DIV AB; MOV 24H,A MOV A,B; SWAP A; ADD A,26H;;存储第二位商;存储第三位商;存储第四位商;存储第五位商 ;存储十进制数个位;存储第一位商MOV B,#0AH; DIV AB; MOV 25H,A; MOV A,B; SWAP A; ADD A,27H; MOV B,#0AH ; DIV AB ; MOV 26H,A; MOV A,B; SWAP A; ADD A,28H; MOV B,#0AH; DIV AB; MOV 27H,A; MOV 32H,B; MOV A,24H; SWAP A; ADD A,25H; MOV B,#0AH; DIV AB ; MOV 24H,A ; MOV A,B ; SWAP A; ADD A,26H; MOV B,#0AH; DIV AB ; MOV 25H,A; MOV A,B; SWAP A ; ADD A,27H; MOV B,#0AH; DIV AB; MOV 26H,A; MOV 33H,B; MOV A,24H; SWAP A; ADD A,25H;;存储第二位商;存储第三位商;存储第四位商 ;存储十进制数十位;存储第一位商;存储第二位商;存储第三位商 ;存储十进制数百位MOV B,#0AH; DIV AB; MOV 24H,A ; MOV A,B; SWAP A; ADD A,26H; MOV B,#0AH; DIV AB; MOV 25H,A MOV 34H,B MOV A,24H; SWAP A; ADD A,25H; MOV B,#0AH; DIV AB; MOV 35H,B; MOV 36H,A;;存储第一位商;存储第二位商 ;存储十进制数千位;存储十进制数万位 ;存储十进制数十万位MOV R0,#6; MOV R1,#31H; MOV R2,#0EFH MOV DPTR,#Led_Data;RET; Delay: MOV 40H,#0F0H; Delay_Loop: NOP; DJNZ 40H,Delay_Loop; RET; Led_Data: DB 3FH,06H,5BH,4FH,66H,6DH,0FDH,07H,0FFH,0EFH; END六、 实验问题总结及解决方法 1、 在调试数码管显示子程序时,数码管显示太暗。
51单片机课程设计报告
51单片机课程设计报告一、课程目标知识目标:1. 理解51单片机的硬件结构、工作原理及其功能特点;2. 学会使用51单片机的指令系统进行程序设计;3. 掌握51单片机与外围电路的接口技术,能实现简单的硬件控制功能;4. 了解51单片机在嵌入式系统中的应用及发展趋势。
技能目标:1. 能够运用C语言编写51单片机的程序,实现基础控制功能;2. 能够运用仿真软件对51单片机程序进行调试,分析并解决简单问题;3. 能够设计简单的51单片机硬件系统,进行电路连接和功能测试;4. 培养学生的动手能力、创新能力和团队协作能力。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发学习热情;2. 培养学生严谨、务实的科学态度,提高自主学习能力;3. 培养学生关注社会发展,了解科技在生活中的应用,增强社会责任感;4. 培养学生团队合作精神,尊重他人意见,善于沟通交流。
课程性质:本课程为实践性较强的电子技术课程,以51单片机为核心,结合硬件和软件,培养学生的实际操作能力和创新能力。
学生特点:学生具备一定的电子技术基础知识,对单片机有一定了解,但实践经验不足。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,提高学生的实际操作能力和解决问题的能力。
通过课程学习,使学生能够独立完成简单的51单片机控制系统设计。
二、教学内容根据课程目标,教学内容分为以下几个部分:1. 51单片机硬件结构及原理- 熟悉51单片机的内部结构、引脚功能;- 掌握51单片机的工作原理及性能特点。
2. 51单片机指令系统与编程- 学习51单片机的指令集,理解各指令的功能和使用方法;- 掌握C语言在51单片机编程中的应用。
3. 51单片机外围接口技术- 学习51单片机与常见外围电路(如LED、LCD、键盘等)的接口技术;- 掌握外围设备的控制原理及编程方法。
4. 仿真软件的使用- 学习使用Keil、Proteus等仿真软件进行51单片机程序设计和调试;- 掌握仿真软件的操作方法,提高程序调试效率。
单片机课程设计报告1 交通灯
单片机课程设计报告1 交通灯1. 引言本文档是单片机课程设计的报告,主题为交通灯。
交通灯是城市交通管理的重要组成部分,合理的交通灯设置可以提高交通效率、保障交通安全。
本文将介绍交通灯的设计方案、实现过程以及遇到的问题及解决方法。
2. 设计方案2.1 总体设计思路本次交通灯设计采用的是基于单片机的控制系统。
通过在单片机上编程设计,控制交通灯的状态和时间,实现交通灯的自动切换,并保证交通流畅。
2.2 硬件设备本次设计所需的硬件设备包括:•单片机:采用STC89C52型单片机•交通灯信号灯模块:包括红灯、黄灯、绿灯三个灯泡及控制电路板•电源模块:用于提供电力供给2.3 软件设计本次设计的软件部分主要包括:•交通灯控制程序:通过编写程序控制单片机,实现交通灯的自动切换3. 实现过程3.1 准备工作在开始设计之前,我们首先进行了一些准备工作。
包括准备好所需的硬件设备,如单片机、交通灯信号灯模块和电源模块;同时也对单片机进行了初始化配置,以及编写好了交通灯控制程序的框架。
3.2 硬件连接我们将单片机与交通灯模块进行连接。
具体的连接方式如下:1.将单片机的IO口与交通灯模块的各个灯泡的控制引脚相连,以实现对灯泡亮灭的控制。
2.将电源模块与单片机进行连接,以提供电力供给。
3.3 软件设计与编程在硬件连接完成后,我们开始着手进行软件设计和编程。
主要的步骤包括:1.定义交通灯的状态:根据交通灯的信号变化规律定义交通灯状态,如红灯亮、黄灯亮、绿灯亮等。
2.编写控制程序的逻辑:根据交通灯的状态定义,编写控制程序的逻辑,实现不同状态之间的切换和持续时间的控制。
3.编程实现:根据以上设计,在单片机上编写程序,并通过烧录将程序烧录到单片机上。
3.4 测试与调试在程序编写完成后,我们进行了测试与调试。
通过在交通灯工作状态下的观察与测试,我们可以判断出程序是否符合设计要求,并进行必要的调试。
4. 遇到的问题与解决方法在设计与实现过程中,我们遇到了一些问题,具体包括:•问题1:单片机与交通灯模块的连接出现问题,导致交通灯无法正常工作。
单片机万年历课程设计报告
单片机万年历课程设计报告一、课程设计目标本课程设计旨在帮助学生掌握单片机应用基础知识,学习并完成万年历电路的设计和代码编写。
通过这个实践,学生将会深入理解单片机在实际生活中的应用,同时提升自己的程序设计和解决问题的能力。
二、课程设计内容1. 万年历电路的原理和设计本次课程设计要求学生完成一个万年历电路的设计,包括硬件电路和程序设计。
在电路设计中,学生需要考虑到显示器、时钟模块、日期模块和温湿度传感器等部分的连接和调试。
在程序设计方面,学生需要实现万年历的功能,包括显示当前日期和时间、自动确定闰年、节假日提示等。
2. 单片机基本原理和应用实践在万年历电路设计之前,本课程将会对单片机基本原理进行介绍,包括单片机内部结构、芯片选型和I/O口控制等。
另外,还将介绍单片机在各种应用场景中的应用实践,如遥控、电脑控制、机器人和智能家居等。
3. 问题解决和困难克服在学生完成万年历电路设计的过程中,难免会遇到各种问题和困难。
本课程将对学生进行相关的实用技巧和方法讲解,帮助他们解决问题和克服难关。
三、课程设计流程1. 单片机基础知识介绍(2学时)讲解单片机内部结构及其原理,并介绍单片机应用实践2. 万年历电路设计(12学时)对万年历的硬件和软件进行介绍,包括连接显示器和外设、编写程序等3. 问题解决(2学时)介绍学生应对问题的技巧和方法,并帮助他们克服电路设计中的问题和难点四、课程设计评价标准1. 设计成果设计成果的好坏是课程设计的重要衡量标准之一,包括电路的设计完整性、软件功能实现等方面。
2. 实践能力课程设计是一种实践性强的学习形式,学生需要通过实践来掌握知识,因此他们的实践能力成为衡量标准之一。
3. 团队合作在课程设计的过程中,学生要协同工作,完成一个大型的项目,因此团队合作能力是衡量标准之一。
4. 学习的态度学习态度是衡量标准之一,包括学生在课程设计中的主动性、积极性和责任感等方面。
五、总结通过这个万年历课程设计,学生不仅学会了单片机应用的基础知识,还掌握了实际项目开发的方法和技巧。
单片机电子时钟课程设计报告
单片机电子时钟课程设计报告一、设计目的。
本课程设计旨在通过单片机技术的应用,设计并制作一个简单的电子时钟。
通过这一设计,学生将能够掌握单片机的基本原理和应用,培养学生的动手能力和创新意识,提高学生的实际操作能力。
二、设计原理。
本电子时钟采用单片机作为控制核心,通过晶振产生的时钟信号来实现时间的计时和显示。
利用数码管来显示小时和分钟,通过按键来调整时间。
同时,通过蜂鸣器发出报时信号,实现基本的闹钟功能。
三、设计方案。
1. 硬件设计。
(1)单片机选择,本设计选用常见的51单片机作为控制核心,具有成本低、易于编程的特点。
(2)时钟电路,采用晶振作为时钟信号源,通过单片机的定时器来实现时间的计时。
(3)显示模块,采用数码管来显示小时和分钟,通过数码管的扫描显示来实现时间的动态显示。
(4)按键输入,设计按键来调整时间,包括调整小时和分钟。
(5)报时功能,通过蜂鸣器来实现基本的报时功能,可以设置闹钟时间。
2. 软件设计。
(1)时钟控制,通过单片机的定时器来实现时间的计时和更新。
(2)显示控制,设计数码管的扫描显示程序,实现时间的动态显示。
(3)按键处理,设计按键扫描程序,实现对时间的调整。
(4)报时功能,设计蜂鸣器的报时程序,实现基本的闹钟功能。
四、设计实现。
1. 硬件实现。
根据上述设计方案,完成了电子时钟的硬件连接和布线,保证各个模块之间的正常通讯和工作。
2. 软件实现。
编写了单片机的程序,实现了时钟的计时、显示和控制功能,保证了电子时钟的正常运行。
五、实验结果。
经过调试,电子时钟能够准确显示当前的时间,并能够通过按键调整时间和设置闹钟功能,报时功能也能够正常工作。
六、总结与展望。
通过本课程设计,学生掌握了单片机的基本原理和应用,培养了动手能力和创新意识。
在今后的学习和工作中,学生将能够更好地应用单片机技术,设计和制作更加复杂的电子产品。
同时,也为学生今后的科研和创新工作奠定了良好的基础。
单片机课程设计报告
单片机课程设计实验报告设计题目:基于单片机的多功能综合应用系统的设计专业:电子信息工程班级:姓名:指导老师:目录第一章设计说明1.1 设计目的 (3)1.2 设计内容及要求 (3)第二章硬件电路仿真实现2.1 硬件结构分析 (5)2.2基本功能仿真电图 (6)2.3扩展功能仿真电路图 (10)2.4 实物电路图 (15)第三章软件设计实现3.1软件程序内容 (16)3.2模块分析 (16)3.3 程序流程图 (17)第四章系统测试4.1 软件调试 (19)4.2硬件调试 (19)第五章心得体会 (20)第六章参考文献 (21)附录 (21)第一章设计说明1.1 设计目的单片机在许多领域使用十分广泛,如智能仪器仪表、实时工控、通讯设备、导航系统、家用电器等。
各科任老师们经常说“学好单片机,工作就不成问题了。
”可见学好单片意义之重大。
单片机作为一门基础学科,既是对前期学习C语言的综合运用,也是理论与实践相结合的一大体现。
本次课程设计通过基础部分,拓展功能以及整体电路的实现能很好地锻炼我们的动手及编程能力。
1.2 设计内容及要求内容:1.设计并实现具有复位功能的单片机小系统。
2.利用单片机进行灯光的场景开关控制、循环点亮控制、花样变化控制及速度变化控制(如:左右循环、扩散收缩式移动、流星雨、舞台灯光综合效果、名曲名句跟随显示等。
至少应做两项:前两项选一并有速度变化控制功能,后三项选一或自创特色花样)。
3. 炫彩音乐显示(依据3秒以上某名曲名句,模拟高、中、低音三分频,彩色LED随音频变化而起伏显示的效果,进一步地,LED 亮度跟随音乐响度闪烁)。
4.利用单片机进行灯光的色彩连续变化效果控制。
5.利用单片机进行灯光的三色联动定时控制(以交通灯为例)。
(说明:3、4中二选一,1、2、5必选)6. 配合2至5项中功能,实现液晶屏输出功能或状态信息。
7. 以调节5或4项中的时间为例实现基于4X4键盘的输入功能。
单片机原理及应用课程设计报告
课程设计为学生提供了一个实践平台,学生可以在实践中锻炼动手能力,培养解决实际问题的能力,同时通过创新思 维,设计出具有特色的单片机应用系统。
促进理论与实践相结合
单片机原理及应用课程设计将理论知识与实践操作相结合,使学生能够更好地理解单片机的实际应用场 景,加深对理论知识的理解。
时间安排
共计8周,每周5天, 每天8小时。
04
单片机应用实践
单片机外围电路设计
电源电路
为单片机提供稳定的电源,确 保单片机正常工作。
时钟电路
为单片机提供稳定的时钟信号 ,保证程序正常运行。
复位电路
在单片机出现异常时,能够实 现自动复位或手动复位。
输入输出接口
实现单片机与外部设备的通信 和控制。
单片机程序编写与调试
单片机的编程语言和开发环境
单片机的编程语言主要有汇编语言和C语言。汇编语言是一种低级语言,直接控制硬件操作,但编程 难度较大;C语言是一种高级语言,具有可读性强、易于编程和维护等优点。
单片机的开发环境是指用于编写、编译、调试和烧录程序的软件环境。常用的单片机开发环境有Keil 、IAR、SDCC等。这些开发环境都支持汇编语言和C语言编程,提供了丰富的库函数和调试工具,方 便开发者进行单片机应用开发。
• 解决方案
检查数码管的位选信号和段选信号是否正确连接。
对未来学习和实践的建议与展望
深入学习
进一步研究单片机的内部结构和工作原理,掌握 更多高级功能和应用。
实践应用
将所学知识应用到实际项目中,提高解决实际问 题的能力。
持续学习
关注单片机技术的最新发展动态,保持学习的持 续性。
THANKS
感谢观看
单片机课程设计-武汉理工大学单片机实训报告
单⽚机课程设计-武汉理⼯⼤学单⽚机实训报告第⼀章绪论 (2)1.1概述 (2)1.2课程设计任务 (2)第⼆章硬件系统设计 (3)2.1单⽚机最⼩系统 (3)2.1.1 STC89C52的介绍 (3)2.1.2 stc89c52系列单⽚机最⼩系统的介绍 (4)2.2矩阵键盘模块 (5)2.3数码管显⽰单元 (5)2.4 LCD1602液晶显⽰电路 (6)2.5蜂鸣器单元 (7)第三章软件设计 (8)3.1数码管实验 (8)3.1.1循环数码管显⽰0—F程序设计结构图: (8)3.1.2 59秒倒计数流程图 (9)3.2 矩阵键盘流程图 (10)3.3 LCD1602滚动显⽰年⽉⽇时分秒 (11)3.4 AD转换, (12)3.5家电遥控器 (13)第四章调试结果分析 (14)4.1数码管调试及分析 (14)4.1.1循环数码管显⽰0—F (14)4.1.2数码管59秒倒计数 (15)4.2矩阵键盘 (15)4.3 LCD1602滚动显⽰年⽉⽇时分秒 (16)4.4 AD转换 (16)4.5家电遥控器 (17)第五章⼩结 (17)参考⽂献: (18)第⼀章绪论1.1概述随着我国⼯业技术和电⼦技术的发展和进步,⾃动控制技术也已经得到了极⼤的普及和应⽤,⽽这些⾃动控制技术的核⼼技术就是单⽚微型计算机,简称单⽚机。
它以其⾼可靠性、⾼性价⽐、低电压、低功耗等⼀系列优点,被⼴泛应⽤于控制系统、数据采集等领域。
⽽51单⽚机系列以其超⾼的性价⽐深受⼴⼤电⼦爱好者和开发者以及⼤学⽣群体的欢迎。
故⽽本次课程设计采⽤STC89C52单⽚机。
1.2课程设计任务必做项⽬(这是每个学⽣必做的任务):1.基本系统:在51单⽚机开发系统PCB电路板上完成电⼦元器件的焊接、调试、程序下载,并实现数码管显⽰、矩阵键盘扫描、中断程序、定时器程序、串⼝通讯等基本功能;2.显⽰功能:焊接电路并实现对1602液晶屏的显⽰功能,要求能滚动显⽰字符;3.输出控制:焊接电路并实现对继电器的控制功能;4.数据采集:焊接电路并实现对AD0832的数据采集功能;选做项⽬(以下任选⼀):1.家电遥控器:实现对红外接收管和发射管的控制功能,要求能够学习遥控器的红外码,并能发射相应的编码,实现红外遥控器的功能。
单片机课程设计实验报告
单片机课程设计实验报告单片机课程设计实验报告引言单片机是嵌入式系统中常见的一种计算机芯片,具有体积小、功耗低、成本低等优势。
本次实验旨在通过单片机的应用设计,加深对单片机原理和应用的理解,并提升解决问题的能力。
实验目的本次实验的目的是设计一个简单的温度监测系统,通过单片机采集温度传感器的数据,并将数据显示在液晶显示屏上。
通过这个实验,我们可以掌握单片机的基本编程和电路连接方法,同时加深对温度传感器的原理和应用的理解。
实验原理1. 单片机基本原理单片机是一种集成电路,内部包含了CPU、内存、输入输出端口等功能模块。
通过编程,可以控制这些功能模块的工作,实现各种应用。
2. 温度传感器原理温度传感器是一种能够感知环境温度变化的器件,常见的有热敏电阻、热电偶等。
本次实验使用的是热敏电阻,其电阻值随温度的变化而变化。
实验材料1. 单片机开发板2. 温度传感器3. 液晶显示屏4. 连接线等实验步骤1. 连接电路将单片机开发板与温度传感器、液晶显示屏连接起来,确保电路连接正确无误。
2. 编写程序使用C语言编写单片机的程序,实现温度传感器数据的采集和液晶显示屏的显示。
程序的基本思路是通过单片机的模拟输入端口读取温度传感器的电阻值,然后将电阻值转换为温度值,并将温度值显示在液晶显示屏上。
3. 烧录程序将编写好的程序烧录到单片机开发板上,确保程序能够正常运行。
4. 实验测试将温度传感器放置在不同的环境中,观察液晶显示屏上的温度数值是否能够准确显示,并记录实验结果。
实验结果与分析经过实验测试,我们发现温度传感器能够准确地采集环境温度,并将温度数值显示在液晶显示屏上。
通过对比实际温度和显示温度的差异,我们可以评估温度传感器的准确性和精度。
实验总结通过本次实验,我们深入了解了单片机的基本原理和应用,掌握了单片机的编程方法和电路连接方法。
同时,我们也加深了对温度传感器的原理和应用的理解。
这些知识和技能对于今后的学习和工作都具有重要意义。
单片机课程设计报告-数字温度计
单片机课程设计报告-数字温度计单片机是一种集成了微处理器核心、存储器、外围接口和定时器等功能模块的微型计算机。
在现代电子科技领域中,单片机被广泛应用于各种嵌入式系统中。
本课程设计主要针对单片机的应用实践,通过设计一个数字温度计来锻炼学生的单片机编程能力,同时加深对数字温度计的原理及应用的理解。
二、设计目标本课程设计旨在使学生掌握以下内容:1. 掌握单片机的基本原理和编程方法;2. 了解数字温度计的原理和应用;3. 熟悉温度传感器的使用和数据处理方法;4. 能够利用单片机开发出一个简单的数字温度计。
三、设计内容本课程设计主要包括以下内容:1. 单片机原理和编程基础;2. 数字温度计的原理和应用介绍;3. 温度传感器的选型及使用方法;4. 单片机数字温度计的设计和实现。
四、设计步骤1. 单片机原理和编程基础学生首先将学习单片机的基本原理和编程方法,包括单片机的体系结构、存储器组成、I/O口的使用、定时器的应用等内容。
2. 数字温度计的原理和应用介绍学生将了解数字温度计的基本原理和应用场景,包括数字温度计的工作原理、常见的数字温度计种类、数字温度计的应用领域等。
3. 温度传感器的选型及使用方法学生将学习温度传感器的选型原则,了解各种温度传感器的特点及使用方法,包括模拟温度传感器和数字温度传感器。
4. 单片机数字温度计的设计和实现学生将利用所学的单片机编程知识和温度传感器的使用方法,设计并实现一个简单的数字温度计。
学生需要考虑温度测量精度、显示方式、数据处理方法等问题。
五、教学方法本课程设计采用理论教学与实践相结合的教学方式,通过理论课堂讲解和实际操作演示相结合,加深学生对单片机和数字温度计知识的理解和掌握。
同时,鼓励学生合作学习,共同解决实际问题,提高实战能力。
六、教学评估学生将根据设计的数字温度计的实际测量情况、数据处理方法以及最终的效果进行评估,教师将根据学生的设计方案和实际操作情况进行评分。
同时,学生对单片机编程的理解和掌握水平也将作为评估的重要内容。
单片机课程设计报告(简易计算机)
专业综合课程设计任务书班级:学号:姓名:成绩:电子与信息工程学院计算机科学系图1.2 图1.3图1.42.3键盘电路这部分有16个button构成4*4矩阵,通过p1口进行行扫描方式实现按键的读取。
硬件电路图如图1.4。
2.4总体硬件图如图1.5图1.53 软件详细设计3.1键盘扫描子程序要进行数据的计算就必须进行数据的输入,也就是确定按键输入的数值是什么,这就需要对键盘进行行扫描,从而确定究竟是那个键按下。
对于键盘的扫描,既可以使用行扫描也可以使用列扫描,这里采用行扫描的方法完成对键盘的扫描行扫描就是逐行扫描键盘,看那一行有键按下,再通过返回的见马来确定究竟是哪个按键按下。
对第一行扫描就置p1.0为底电平,其余p1口为高电平,如果有按键按下,则p1口的值就会变为别的值,再由新值来确定是那个键按下。
程序流程图如图1.6图1.6dd:mov r0,#0f7h mov r1,#0cc:mov a,r0 mov p1,amov a,p1 mov r2,asetb c mov r3,#4bb:rlc a jnc aaee:inc r1 djnz r3,bbmov a,r0 setb crrc a mov r0,ajc cc ljmp ddKAOO:LJMP KAO BBB2:LJMP BB2aa:lcall mm mov a,p1xrl a,r2 nz eeff:mov a,p1 xrl a,r2jz ff MOV A,51HCJNE A,#1,BBB2RET3.4主程序及其他部分程序下图为主程序流程图:主要有:初始化子程序,清屏子程序,固定字符显示,单元定义,端口定义,字模部分。
主程序:RG 0LJMP STARTSTART:MOV SP,#60HLCALL INT ;调用初始化子程序START1:LCALL CLEAR ;调用清屏子程序初始化子程序:INT: MOV COM,#0C0H ;设置显示起始行为第一行LCALL PRM0LCALL PRR0MOV COM,#3FH ;开显示设置LCALL PRM0LCALL PRR0RET清屏子程序:CLEAR:MOV R4,#00H。
单片机课程设计实验报告
单片机课程设计实验报告一、课程目标知识目标:1. 让学生理解单片机的基本原理和功能,掌握其内部结构及工作流程。
2. 使学生掌握单片机编程的基本语法和编程技巧,能独立完成简单的程序编写。
3. 帮助学生了解单片机在现实生活中的应用,提高对新技术、新领域的认识。
技能目标:1. 培养学生运用单片机进行实验设计和实践操作的能力。
2. 培养学生分析问题、解决问题的能力,提高创新思维和动手实践能力。
3. 提高学生的团队协作和沟通能力,学会在实验过程中相互交流、共同进步。
情感态度价值观目标:1. 激发学生对单片机及电子技术的兴趣,培养主动学习的习惯。
2. 培养学生严谨、细致的实验态度,养成良好的实验操作习惯。
3. 增强学生的自信心和责任感,使他们认识到学习单片机对国家科技发展的意义。
课程性质分析:本课程为单片机课程设计实验,侧重于实践操作和实际应用。
课程要求学生具备一定的电子技术基础和编程能力,通过实验深入了解单片机的工作原理和应用领域。
学生特点分析:本课程面向高年级学生,他们在之前的学习中已掌握了基本的电子技术和编程知识,具备一定的自学能力和动手实践能力。
但学生在单片机应用方面的实践经验不足,需要通过本课程加强实践锻炼。
教学要求:1. 结合课本内容,注重理论与实践相结合,提高学生的实际操作能力。
2. 注重启发式教学,引导学生主动思考、探索,培养学生的创新精神和实践能力。
3. 关注学生的个体差异,给予个别辅导,确保每位学生都能达到课程目标。
二、教学内容1. 单片机基础知识:- 单片机原理与结构- 单片机内部资源及功能- 单片机编程语言(汇编语言、C语言)2. 单片机编程与实验:- 基本输入输出编程- 定时器、中断编程- 模数转换、串行通信编程3. 单片机应用案例:- 实例分析:温度控制器、智能小车等- 创新设计:学生自主选题,设计单片机应用项目4. 实验操作与调试:- 实验步骤与方法- 常用工具与仪器的使用- 故障分析与调试技巧教学大纲安排:第一周:单片机基础知识学习,包括原理、结构、编程语言等第二周:基本输入输出编程,实验一:LED灯控制第三周:定时器、中断编程,实验二:简易电子时钟第四周:模数转换、串行通信编程,实验三:温度传感器数据采集第五周:单片机应用案例分析,学生自主选题,设计单片机应用项目第六周:实验操作与调试,完成设计项目,撰写实验报告教材章节关联:教学内容与教材《单片机原理与应用》相关章节紧密关联,具体包括:- 第一章:单片机概述- 第二章:单片机的结构与原理- 第三章:单片机编程语言- 第四章:单片机内部资源及应用- 第五章:单片机实验与调试教学内容确保科学性和系统性,以培养学生的实际操作能力为目标,注重理论与实践相结合,提高学生的创新能力和实践技能。
《单片机课程设计》报告
机械与车辆学院课程设计题目:姓名:学号:班级:指导老师:时间:成绩:水塔水位控制系统职称:《单片机课程设计》考查评分表、出勤率:□全勤□缺勤较少□缺勤较多□全缺(20%) 2、进度:□较快□正常□较慢□没有按时完成布局焊接:□合理(20%) □错误较多□较合理□原则性错误□基本合理1、程序编写框架:□合理□较合理□基本合理(20%) (10%) (15%) (15%)□原则性错误□基本正确□错漏较多系统调试结果:□实现□基本实现□不能实现1、硬件设计:2、软件设计:3、联调结果:4、过程体味:□合理□合理□正确□属实□较合理□较合理□较正确□较属实□基本合理□基本合理□基本正确□基本属实□不合理□不合理□错漏较多□不属实□思路清晰,内容正确□思路基本清晰,内容基本正确指导教师:吴明友 2022 年 1 月 3 日□错误较多2、程序编写过程:□正确□较正确□思路较清晰,内容较正确□思路较混乱,内容错漏较多一、课程设计性质和目的 (4)二、课程设计的内容及要求 (4)1、硬件设计 (4)2、软件设计 (5)3 、功能要求: (5)三、课程设计的进度及安排 (5)四、设计所需设备及材料 (6)五、设计思路及原理分析 (7)六、流程图及程序编写 (7)(1)根据功能要求画出控制程序流程图。
(8)(2)根据控制程序流程图编写C51 程序 (8)七、调试运行 (10)1 、软件测试: (10)2、硬件测试: (11)八、结果及分析 (12)九、心得体味 (13)十、参考文献 (14)十一、致谢 (14)十二、附录 (15)【1】整流器protel 防真原理图: (15)【2】数字时钟 (16)单片机课程设计是《单片机原理与接口技术》课程与实验结束后的一门综合性实践课。
设计一种基于单片机水塔水位检测控制系统。
该系统能实现水位检测、机电故障检测、处理和报警等功能,实现超高、低警戒水位报警,超高警戒水位处理。
介绍电路接口原理图,给出相应的软件设计流程图和汇编程序,并用Proteus 软件仿真。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文华学院单片机原理及应用课程设计报告姓名:学号:学部(系):专业年级:指导老师:2016年12月5日目录一标题 (1)二设计内容,设计要求 (1)三设计思路 (1)四工作原理 (2)五硬件设计 (3)六软件设计(含流程图) (5)七调试 (9)八改进意见 (10)九收获及体会 (10)十源程序(含注释) (11)一、标题简易计时器——LED 数码管显示接口技术应用二、设计内容,设计要求1、目的a.通过简易计时器的制作,熟悉LED 数码管与单片机的接口方式;b.定时/计数器、中断技术的综合应用;c.学会简易键盘的使用。
2、明确要完成的任务a.利用按键构成键盘实现秒表的启动、停止与复位,b.利用LED 数码管显示时间。
c.进行简单的串行通信。
3、用单片机实现任务a.如何运用单片机实现计时;b.如何显示时间;c.如何利用按键实施对秒表的控制。
d.定时器T0 或Tl 的定时时间作为时钟计时的基准e.启动与停止定时器工作实现计时。
f.先用两个数码管动态显示时间,时间范围为0-60sg.用三个独立式按键实现秒表的启动、停止和复位功能。
h.A机发送,B机接收三、设计思路1、硬件设计思路a.采用P0 口输出并联控制两个数码管的8 个段选控制端b.用P2.0、P2.1分别控制两个LED 数码管的位选控制端c.动态显示电路接法,LED 采用共阳极数码d.三个按键采用独立式键盘接法,e.两个按键连接到外部中断INT0 、INT1 的输人引脚P3.2和P3.3f.S4按键接到T1的外部脉冲输入引脚P3.5,以中断方式实现键盘输入状态的扫描g.其中S2为启动按钮,S3为停止按钮,S4 清零按钮。
h.K1为复位键2、程序设计思路a.根据设计的总体要求划分出各功能程序模块,分别确定主程序、子程序及中断服务程序结构b.对各程序模块占用的单片机资源进行统一调配c.对各模块间的逻辑关系进行细化,优化程序结构d.设计出各模块程序结构流程图e.最后依据流程图编制具体程序f.将整个程序划分为主程序、键盘扫描程序、秒计时程序三大模块g.其中主程序除完成初始化外,主要由动态显示程序构成h.秒计时程序由定时器0中断服务子程序构成i.键盘扫描程序也由各中断服务子程序来实现四、工作原理1、计时表原理图S1:复位按键S2:启动按键S3:暂停按键S4:清零按键T1(P3.5) INT1(P3.3) INT0(P3.2)工作原理图如上图所示,单片机所需的晶振频率由振荡电路提供,复位由复位电路实现。
其中S2为启动按钮,S3为停止按钮,S4为清零按钮,三个按钮分别连接到外部中断INT0 、INT1 的输人引脚P3.2、P3.3和T1的外部脉冲输入引脚P3.5。
设置外部中断为下降沿触发,当按键未被按下时,其相应的引脚为高电平,而当按键被按下后,变为低电平,因此有下降沿,产生中断,从而执行相应的外部中断服务程序,实现启动和停止的功能。
同理,只要设置T1为计数器,因为计数器是对外脉冲的下降沿计数,当按键按下时,产生下降沿,计数值加1,这样,只要选择合适的计数初值,使其只要加1后产生溢出,也会执行T1的中断服务程序,实现清零的功能。
而对1S时间的准确控制可以由定时器T0来控制,这样,就实现了T0、T1、INT0、INT1等4个中断源的运用。
对于数码管,采用P0 口输出并联控制两个数码管的8 个段选控制端,而用P2.0、P2.1分别控制两个LED 数码管的位选控制端,这是动态显示的电路接法,LED 采用共阳极接法,0-9的共阳极数码管编码如下所示:共阳极数码管编码五、硬件设计图2 电路布线图(protel)图3 PCB图元器件清单六、软件设计(含流程图)K3(S4):001BH 方式2计数,中断,计数初值:256-1=255,秒计数清0K1(S2):0013H 下降沿中断,启动T0、T1K2(S3):0003H 下降沿中断,关断T0,暂停计时T0:000BH 方式1,50ms定时中断,中断20次为1S。
1. 两个LED 显示的时间由显示缓冲区31H 、30H 单元中的数据决定。
动态显示每位的持续时间为lms ,采用软件延时。
2. 1 秒钟的定时采用定时器T0 的方式1 来实现。
3. T0每50ms中断一次,每中断一次计数单元R0 内容减1 ;若计满20 次,秒计数单元R4 内容加1。
4. R4 单元中的数据采用压缩BCD 码按十进制计数,将该单元中的数据拆成个位和十位两个十进制数据后分别送至显示缓冲区的3OH 、31H 单元。
主程序流程图:1.显示程序2.查询程序开始保护现场设定时器初值3.按键子程序七、调试(遇到的问题和解决方法)1、输人源程序。
2、先调试主程序,实现基本的显示功能。
3、当无键按下时,将一直显示初值“00”。
4、再调试查询服务程序。
5、当按键S2按下时,程序将会跳转到启动子程序,启动定时器开始计时。
7、当按键S3按下时,程序将会跳转到停止子程序,定时器停止计时,秒表显示内容保持不变;当按键S3在次按下时定时器开始计时。
8、当按键S4按下时,程序将会跳转到清零停止子程序,停止定时器工作,秒表显示清零。
9、最后将各模块联调实现全部功能。
遇到的问题和解决方法这次课设我用的是汇编对我来说是一个新的挑战,在程序设计过程中也遇到了很大的困难,开始对编程软件不熟悉,就连很小的问题也调试了很久,后来慢慢的解决了这些问题自己也学到了许多东西。
1.在调试时,遇到的最大的问题就是在使用开关查询的时候,对开关进行只按不松也会计时,停止和清零也是这样。
后来加了一个按下开关时不计数,弹起来的程序,也就是等待。
2.在开始做的时候自己没把原理图看清楚,还是采用以前共阴极的方式来做结果数码管不亮。
后来问同学知道这是共阳极的位选要给1、段选给0就可以亮了。
3.设置的暂停键只能暂停,不能恢复,只能重新按启动键才能开始计数。
开始就把问题锁定在暂停程序那里,我发现我最开始编写的是按下暂停,则CLR TR0,关闭了启动,后来我改成了CPL TR0,将TR0取反这样再按下去就可以恢复。
4.按键没有消抖在后来调试中通过老师讲的必须消除抖动的不良后果,所以我加了一个延时10ms的子程序,从而消除抖动的影响。
八、改进意见主要是暂停按键按下暂停在按一下启动是有时候有点不灵敏,我想主要的原因可能是在按键扫描时但我们再次按下时CPU没有及时反应过来花费时间在扫描按键上去了,我后来通过自己去查资料去学习问题的所在。
我用的是查询方式做的后来自己看书把中断方式也写了通过改进把程序在完善,通过自己的学习编写程序多加一些功能。
九、收获及体会通过这次的设计使我认识到我对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,有很多我们需要掌握的知识在等着我去学习,我会在以后的学习生活中弥补我所缺少的知识。
在做本次课程设计的过程中,为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。
其次,在这次课程设计中,我们运用到了以前所学的专业课知识,这是我做这次课程设计的又一收获是要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。
发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。
设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。
在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
我们通过查阅大量有关资料,若遇到实在搞不明白的问题就会及时请教同学,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。
通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。
这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。
通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。
我觉得作为一名自动化专业的学生,单片机的课程设计是很有意义的。
更重要的是如何把自己平时所学的东西应用到实际中。
我认为这个收获应该说是相当大的。
本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的知识运用到我以后的工作中去。
在大学的课堂的学习只是在给我们灌输专业知识,而我们应把所学的用到我们现实的生活中去,此次的设计给我奠定了一个实践基础,我会在以后的学习、生活中磨练自己,使自己适应于以后的竞争。
十、源程序(含注释)简易时钟(时分秒)ORG 0000H ;初始化程序入口地址AJMP MAIN ;主程序ORG 0030H ;程序入口地址MAIN:MOV TMOD,#01H ;定时器T0工作于方式1MOV DPTR,#TABLE ;DPTR指向TABLE表首地址MOV R1, #59 ;秒表时间置初值MOV R2, #59 ;分钟时间置初值MOV R3, #23 ;小时时间置初值LP1:MOV R0, #20 ;软件计数器置初值LP2:MOV TH0, #3CH ;置50ms定时初值高位MOV TL0, #0B0H ;置50ms定时初值低位LP3:LCALL DISP ;调用显示程序JNB P3.2, K1 ;判断启动键是否按下JNB P3.3, K2 ;判断停止键是否按下JNB P3.5, K3 ;判断清零键是否按下JNB TF0, LP3 ;判断中断标志位是否溢出CLR TF0 ;定时50到ms,则中断标志位清零DJNZ R0, LP2 ;中断二十次MOV R0,#20 ;重新装软件计数器初值INC R1 ;1秒时间到,秒表数加一CJNE R1,#60,LP1 ;与60比较,小于60就跳转MOV R1, #0 ;若秒表数加到60秒,则清零INC R2 ;60秒时间到,分钟数加一MOV A,R2 ;R2地址里面的数赋给ACJNE A,#60, LP1 ;与60比较,小于60就跳转MOV R2, #0 ;若秒表数加到60分钟,则清零INC R3 ;60分钟时间到,小时数加一MOV A,R3 ;R3地址里面的数赋给ACJNE A,#24, LP1 ;与24比较,小于24就跳转MOV R3, #0 ;若秒表数加到24小时,则清零K1: LCALL DELAY ;按下,调用显示子程序LCALL DISP ;消除抖动JB P3.2, LP3 ;判断启动键是否释放SETB TR0 ;启动T0LJMP LP3 ;跳转到启动键是否按下的指令段,不断判断K2: LCALL DELAY ;按下,调用显示子程序LCALL DISP ;消除抖动JB P3.3, LP3 ;判断暂停键是否释放CPL TR0 ;取反TR0LJMP LP3 ;跳转到暂停键是否按下的指令段,不断判断K3: LCALL DELAY ;按下,调用显示子程序LCALL DISP ;消除抖动JB P3.5, LP3 ;判断清零键是否释放CLR TR0 ;关闭T0MOV R1, #0 ;秒表时间清零MOV R2, #0 ;分钟时间清零MOV R4, #0 ;小时时间清零LJMP LP3 ;跳转到清零键是否按下的指令段,不断判断DISP:MOV A,R1 ;显示程序,先将秒表计时值给累加器作为被除数MOV B,#10 ;除数为10,存放在B累加器DIV AB ;当前值除以10MOV 20H,A ;得出的商送给十位MOV 21H,B ;得出的余数送给个位MOV A,20H ;十位显示MOVC A,@A+DPTR ;查表找个位数段码MOV P0,A ;将个位段码送给P0口SETB P2.4 ;用第一个数码管显示十位数LCALL DELAY ;延时CLR P2.4 ;清零MOV A,21H ;个位显示MOVC A,@A+DPTR ;查表找个位数段码MOV P0,A ;将个位段码送给P0口SETB P2.5 ;用第二个数码管显示十位数LCALL DELAY ;延时CLR P2.5 ;清零MOV A,R2 ;显示程序,先将分钟计时值给累加器作为被除数 MOV B,#10 ;同理秒表显示程序DIV ABMOV 30H,AMOV 31H,BMOV A,30HMOVC A,@A+DPTRMOV P0,ASETB P2.2LCALL DELAYCLR P2.2MOV A,31HMOVC A,@A+DPTRMOV P0,ASETB P2.3LCALL DELAYCLR P2.3MOV A,R3 ;显示程序,先将小时计时值给累加器作为被除数 MOV B,#10 ;同理秒表显示程序DIV ABMOV 40H,AMOV 41H,BMOV A,40HMOVC A,@A+DPTRMOV P0,ASETB P2.0LCALL DELAYCLR P2.0MOV A,41HMOVC A,@A+DPTRMOV P0,ASETB P2.1LCALL DELAYCLR P2.1RETDELAY: MOV R5,#10 ;延时子程序(1ms)DL0:MOV R4,#50DJNZ R4,$DJNZ R5,DL0RET ;延时子程序返回TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H ;共阳极0-9显示代码 DB 92H,82H,0F8H,80H,90HEND。