单片机课程设计-设计报告参考--
单片机小组课程设计
单片机小组课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理和功能,了解其在工程领域的应用。
2. 使学生熟悉单片机的编程语言,能运用C语言进行基础程序编写。
3. 帮助学生理解并掌握单片机与其他外围设备的连接与通信方法。
技能目标:1. 培养学生运用单片机解决实际问题的能力,能设计简单的电路控制系统。
2. 提高学生动手实践能力,能熟练使用编程软件和开发工具进行程序编写、调试和测试。
3. 培养学生团队协作能力,能与他人共同完成课程设计和项目任务。
情感态度价值观目标:1. 培养学生对单片机及电子工程的兴趣,激发创新精神和探索欲望。
2. 培养学生严谨、细致的学习态度,养成良好的编程习惯。
3. 增强学生的自信心,使其勇于面对挑战,积极解决问题。
分析课程性质、学生特点和教学要求,本课程旨在使学生通过理论学习与实践操作相结合的方式,掌握单片机的基本知识和技能。
课程目标具体、可衡量,便于学生和教师在教学过程中明确预期成果,为后续的教学设计和评估提供依据。
二、教学内容1. 单片机原理概述:介绍单片机的基本概念、发展历程、组成结构及其在自动化控制系统中的应用。
教材章节:第一章单片机概述内容安排:讲解单片机的基本原理,引导学生了解各类单片机的特点。
2. 单片机编程语言:以C语言为基础,讲解单片机编程的基本语法、数据类型、运算符、控制结构等。
教材章节:第二章C语言编程基础内容安排:通过实例演示,使学生掌握单片机编程的基本方法。
3. 单片机外围设备及其接口技术:介绍常用外围设备(如LED、蜂鸣器、传感器等)的原理及接口方法。
教材章节:第三章外围设备及其接口技术内容安排:讲解外围设备与单片机的连接方法,分析接口电路设计。
4. 单片机程序下载与调试:介绍程序下载、调试的方法和技巧,培养学生动手实践能力。
教材章节:第四章程序下载与调试内容安排:指导学生使用编程软件和开发工具进行程序下载、调试和测试。
5. 单片机控制系统设计:结合实际案例,讲解单片机控制系统的设计方法,提高学生解决实际问题的能力。
单片机c语言课程设计
单片机c语言课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理和结构,理解C语言在单片机编程中的应用。
2. 培养学生运用C语言进行单片机程序设计和调试的能力。
3. 使学生了解单片机外围设备的接口技术,并能结合实际需求进行简单系统设计。
技能目标:1. 培养学生运用Keil等开发工具进行单片机C语言编程,完成程序设计、编译、下载和调试。
2. 培养学生分析问题和解决问题的能力,能够针对实际应用场景设计单片机控制系统。
3. 提高学生的动手实践能力,通过课程设计,独立完成一个具有实际应用价值的单片机控制系统。
情感态度价值观目标:1. 培养学生积极的学习态度,激发对单片机及嵌入式系统开发的兴趣。
2. 培养学生的团队合作意识,学会在项目中进行有效沟通和协作。
3. 增强学生的创新意识,鼓励他们在课程设计中勇于尝试新思路、新技术。
课程性质分析:本课程为单片机C语言课程设计,侧重于实践操作和实际应用,旨在帮助学生将所学理论知识与实际工程相结合,提高解决实际问题的能力。
学生特点分析:学生已具备一定的单片机原理和C语言基础,具有一定的编程和动手能力。
在此基础上,通过课程设计,提高学生的综合应用能力和创新能力。
教学要求:1. 结合课本内容,注重理论与实践相结合,强化学生的动手实践能力。
2. 以项目为导向,引导学生主动探索,培养学生的问题分析和解决能力。
3. 注重团队合作,培养学生的沟通能力和协作精神。
4. 关注学生的个体差异,实施差异化教学,提高全体学生的学习效果。
二、教学内容1. 单片机基础理论:回顾51单片机的结构、原理及其外围设备的工作原理,重点复习I/O口编程、定时器、中断系统等内容。
教材章节:第一章至第三章2. C语言编程基础:巩固C语言基本语法,包括数据类型、运算符、控制语句、函数等,结合单片机编程需求进行讲解。
教材章节:第四章至第六章3. 单片机C语言编程实践:学习使用Keil开发工具进行单片机C语言编程,掌握程序设计、编译、下载和调试的全过程。
最新单片机课程设计报告
单片机原理及系统课程设计专业:电气工程及其自动化班级:姓名:学号:指导教师:兰州交通大学自动化与电气工程学院2013 年 3 月 7 日摘要抢答器可以在竞赛中,准确、公正、直观地判断出抢答成功者。
通过观察抢答者的指示灯可以判断出第一抢答者。
采用AT89C51作为控制中心,系统可以完成定时功能、输入输出信号的控制以及显示功能。
该系统通过开关电路中的三个按键输入抢答信号,经单片机的处理,输出控制信号,抢答成功其对应的二极管点亮。
并利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,完成提示功能。
关键字:抢答器;控制;单片机AbstractResponder can judge the fist man who vies to answer questions in a competition exactly, impartially and intuitively. By observing the signal light of the man who vies to answer questions, we can judge who is the first man. Adopting AT89C51 as the center of control system, the system can accomplish the function of timing and showing and the control of input and output signal. The system inputs signal by the button circuit. After the dispose of singlechip, control signal will be outputed ,then the success’ corresponding diode would be lighten. Besides making use of the theory that timing and count of timing or counting implement of singlechip, we can combine the software and hardware success perfectly, which can make the system accomplish prompt function. Keywords: responder, control, singlechip目录中文摘要 (1)Abstract (2)1 引言 (4)2 设计方案及原理 (4)2.1 总体设计方案 (4)2.2 系统原理组成和系统结构 (5)3 硬件设计 (6)4 软件设计 (7)5 总结 (8)参考文献 (10)附录 (11)1 引言在知识竞赛中,特别是做抢答题目的时候,在抢答过程中,为了知道哪一组或哪一位选手先抢答到题目,必须要设计一个系统来完成这个任务。
单片机课程设计
单片机课程设计《机器人入门》2021年亚太大学生机器人大赛——胜利鼓乐课程名称:单片机课程设计系部:自控系则专业班级:计算机控制20931学生姓名:陆小祥一、总体方案:1.工作原理:本设计使用stc89c52rc单片机做为本系统的掌控模块。
单片机可以把由ds18b20、ds1302、at24c02中的数据利用软件去展开处置,从而把数据传输至表明模块,同时实现温度、日历和闹铃的表明。
以lcd液晶显示器为表明模块,把单片机响起的数据表明出,并且表明多样化。
在表明电路中,主要依靠按键去同时实现各种表明建议的挑选与转换。
2.总体设计:设计总体框架图例如图二、系统硬件设计(单元电路设计及分析):1.stc89c52rc单片机最轻系统:最小系统包括晶体振荡电路、复位开关和电源部分。
图2为stc89c52rc单片机的最小系统。
图2最轻系统电路图2.温度测量模块:温度测量传感器使用dallas公司ds18b20的单总线数字化温度传感器,测温范围为-55℃~125℃,可编程为9十一位~12十一位a/d切换精度,测温分辨率达至0.0625℃,使用真菌电源工作方式,cpu只需一根口线便能够与ds18b20通信,挤占cpu口线太少,可以节省大量引线和逻辑电路。
USB电路例如图3右图。
图3ds18b20测量电路3.时钟模块:时钟模块采用ds1302芯片,ds1302是dallas公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态ram通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过am/pm指示决定采用24或12小时格式ds1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线:rst复位、i/o数据线、sclk串行时钟。
时钟/ram的读/写数据以一个字节或多达31个字节的字符组方式通信。
ds1302工作时功耗很低,保持数据和时钟信息时功率小于1mw,其接线电路如图4所示:图4时钟电路4.存储器模块:图5at24c02存储器电路5.lcd液晶显示模块:lcd液晶显示模块使用lcd1602型号,具备很低的功耗,正常工作时电流仅2.0ma/5.0v。
单片机课程设计
单片机原理及应用课程设计任务书一、课程设计的目的通过本课程设计使学生进一步巩固单片机原理及应用的基本概念、基本理论,分析问题的基本方法,增强系统地运用已学的理论知识解决实际问题的能力和查阅资料的能力。
培养一定的自学能力和独立分析问题、解决问题的能力,能通过独立思考、查阅工具书、参考文献,寻找解决方案。
二、课程设计的内容和要求课题一:题目:数字音乐盒的设计设计要求:以单片机为核心,设计一个数字音乐盒:利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少3首乐曲,每首不少于30s)。
采用LCD显示信息。
a. 开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称)。
b. 可通过功能键选择乐曲、暂停、播放。
课题二:题目:单片机电梯控制器设计要求:以51单片机和步进电机为核心设计单片机电梯控制器,要求具备如下基本功能。
显示:要求实现5层控制,实时显示电梯所在楼层号位置;升降控制:采用一台步进电机,利用电机的正反转来模拟电梯的升降;具备不可逆响应的功能:电梯上升途中只响应上升呼叫,下降途中只响应下降呼叫,任何反方向呼叫均无效。
课题三:题目:抢答器设计设计要求:1)抢答器的抢答路数为6路;2)设置一个系统清除和抢答控制开关s,开关由主持人控制;3)抢答器具有定时抢答功能:且一次抢答时间由主持人设定为30秒,当主持人启动开始按键后,定时器进行倒计时,并在数码管上显示计时间;4)系统采用2个数码管显示,抢答启动后首先显示时间,当有人抢答时,显示抢答人员所对应的编号;5)抢答器具备锁存与显示功能,当选手按下按钮时,锁存相应的编号,扬声器发生声响提示,并在数码管上显示该选手的编号,选手抢答实现优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
课题四:题目:4×4矩阵键盘设计要求:1)设计4×4矩阵键盘,共16个键;2)每个键位具有一个固定的键码,用十六进制表示为0H~FH;3)当按下一个键时用数码管显示其对应的键码。
单片机课程设计报告
单片机课程设计报告指导老师:任家富学生:钟文旭学号:200906050415一、目的与意义《单片微机原理及应用》是一门技术性、应用性很强的学科,实验课教学是它的一个极其重要的环节。
不论是硬件扩展、接口应用还是编程方法、程序调试,都离不开实验课教学。
如果不在切实认真地抓好学生的实践技能的锻炼上下功夫,单凭课堂理论课学习,势必出现理论与实践脱节,学习与应用脱节的局面。
任随书本上单片微机技术介绍得多么重要、多么实用、多么好用,同学们仍然会感到那只是空中楼阁,离自己十分遥远,或者会因此对它失去兴趣,或者会感到它高深莫测无从下手,这些情况都会令课堂教学的效果大打折扣。
《单片微机课程设计》的目的就是让同学们在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行单片机应用系统的开发设计工作打下一定的基础。
二、硬件电路图1、主板2、四位数码管3、八位LED流水灯4、蜂鸣器5、串口三、程序流程图五、实现的功能及现象1、键盘扫描输入当程序运行时,自动检测是否有按键按下,是哪个按键按下,并且通过返回值,在四位数码管上显示出按下键所对应的数字、字母或执行相应的功能。
2、四位数码管显示通过四位数码管显示相应的按键值、提示语或者执行相关功能。
3、八位流水灯程序运行时,当按下“B”功能键,八位流水灯依次循环点亮熄灭。
4、秒表程序运行时,当按下“C”功能键,数码管清零,从零开始逐秒增加。
5、串口通信程序运行时,当按下“F”功能键,数码管显示“232C”,提示进行串口输入,当从串口助手中输入控制字符时,八位LED灯得到对应的结果。
例如:当输入“00”时,八位灯全亮;当输入“AA”时,八位灯间隔亮。
单片机综合实验课程设计
单片机综合实验课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其内部结构及相关功能模块的使用方法。
2. 学生能掌握单片机编程的基本语法和技巧,能独立完成简单的程序设计。
3. 学生能了解单片机在现实生活中的应用,并学会分析实际案例。
技能目标:1. 学生能运用所学知识,完成单片机的基本操作和程序编写。
2. 学生能通过实验,学会使用相关开发工具和调试技巧,具备一定的故障排查能力。
3. 学生能运用单片机技术解决实际问题,提高创新实践能力。
情感态度价值观目标:1. 学生通过单片机综合实验课程,培养对电子信息科学的兴趣和热情。
2. 学生在团队协作中,学会沟通、分享和合作,提高解决问题的能力。
3. 学生能认识到单片机技术对社会发展的作用,树立正确的价值观和责任感。
课程性质:本课程为实践性课程,侧重于培养学生的动手能力和创新能力。
学生特点:学生已具备一定的单片机基础知识,对实际操作感兴趣,但编程能力和问题解决能力有待提高。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践和团队协作,提高学生的综合能力。
通过课程目标分解,使学生在知识、技能和情感态度价值观方面取得具体的学习成果,为后续教学设计和评估提供依据。
二、教学内容本课程教学内容主要包括以下几部分:1. 单片机基础理论:回顾单片机的基本原理、内部结构、工作原理等,重点讲解中断系统、定时器/计数器、串行通信等模块的功能和应用。
2. 单片机编程语言:以C语言为基础,介绍单片机编程的基本语法、数据类型、运算符、控制语句等,并通过实例进行讲解。
3. 单片机实验操作:结合教材章节,进行以下实验:- 基本输入输出实验:学习单片机I/O口控制,实现LED灯、蜂鸣器等设备的控制。
- 中断控制实验:掌握中断系统的使用,实现外部中断控制。
- 定时器/计数器实验:学习定时器/计数器的配置,完成定时控制等功能。
- 串行通信实验:了解串行通信原理,实现单片机之间的数据传输。
单片机原理及应用课程设计报告
课程设计为学生提供了一个实践平台,学生可以在实践中锻炼动手能力,培养解决实际问题的能力,同时通过创新思 维,设计出具有特色的单片机应用系统。
促进理论与实践相结合
单片机原理及应用课程设计将理论知识与实践操作相结合,使学生能够更好地理解单片机的实际应用场 景,加深对理论知识的理解。
时间安排
共计8周,每周5天, 每天8小时。
04
单片机应用实践
单片机外围电路设计
电源电路
为单片机提供稳定的电源,确 保单片机正常工作。
时钟电路
为单片机提供稳定的时钟信号 ,保证程序正常运行。
复位电路
在单片机出现异常时,能够实 现自动复位或手动复位。
输入输出接口
实现单片机与外部设备的通信 和控制。
单片机程序编写与调试
单片机的编程语言和开发环境
单片机的编程语言主要有汇编语言和C语言。汇编语言是一种低级语言,直接控制硬件操作,但编程 难度较大;C语言是一种高级语言,具有可读性强、易于编程和维护等优点。
单片机的开发环境是指用于编写、编译、调试和烧录程序的软件环境。常用的单片机开发环境有Keil 、IAR、SDCC等。这些开发环境都支持汇编语言和C语言编程,提供了丰富的库函数和调试工具,方 便开发者进行单片机应用开发。
• 解决方案
检查数码管的位选信号和段选信号是否正确连接。
对未来学习和实践的建议与展望
深入学习
进一步研究单片机的内部结构和工作原理,掌握 更多高级功能和应用。
实践应用
将所学知识应用到实际项目中,提高解决实际问 题的能力。
持续学习
关注单片机技术的最新发展动态,保持学习的持 续性。
THANKS
感谢观看
单片机课程设计word
单片机课程设计word一、课程目标知识目标:1. 让学生掌握单片机的基本原理和结构,理解其工作流程和编程方法。
2. 使学生了解单片机在现实生活中的应用,如智能家居、自动化控制等领域。
3. 帮助学生掌握与单片机相关的电子元器件的原理和使用方法。
技能目标:1. 培养学生运用C语言进行单片机编程的能力,能够独立完成简单的程序设计。
2. 提高学生动手实践能力,学会使用面包板、编程器等工具进行单片机系统的搭建和调试。
3. 培养学生团队协作和问题解决能力,能够共同完成具有一定难度的单片机项目。
情感态度价值观目标:1. 激发学生对单片机及电子技术的兴趣,培养其主动探索、勤于思考的学习习惯。
2. 培养学生的创新意识,鼓励他们勇于尝试,将所学知识应用于实际项目中。
3. 引导学生认识到单片机技术在我国科技发展中的重要性,增强国家认同感和自豪感。
课程性质:本课程为实践性较强的学科,注重理论联系实际,强调动手能力和创新能力的培养。
学生特点:学生具备一定的电子基础和编程能力,对单片机有一定了解,但实践经验和系统设计能力不足。
教学要求:结合学生特点和课程性质,采用案例教学、任务驱动、小组合作等方法,注重理论与实践相结合,提高学生的综合运用能力。
通过本课程的学习,使学生能够达到上述课程目标,为后续相关课程和未来职业发展打下坚实基础。
二、教学内容本课程教学内容主要包括以下几部分:1. 单片机基础知识:介绍单片机的原理、结构和功能,使学生了解单片机的基本概念,对应教材第一章。
- 单片机的组成与工作原理- 单片机的性能指标和分类2. 单片机编程语言:学习C语言编程,掌握单片机程序设计方法,对应教材第二章。
- C语言基础知识- 单片机编程语法和技巧3. 单片机I/O接口技术:学习并实践单片机与外部设备的通信和控制,对应教材第三章。
- I/O接口的工作原理- 常用I/O接口编程及应用4. 单片机中断与定时器:介绍中断系统、定时器的工作原理和应用,对应教材第四章。
51单片机电子时钟课程设计报告
第一部分设计任务和要求1.1单片机课程设计内容 (2)1.2单片机课程设计要求 (2)1.3系统运行流程 (2)第二部分设计方案2.1总体设计方案说明 (2)2.2系统方框图 (3)2.3系统流程图 (3)第三部分主要器材及基本简介3.1主要器材 (4)3.2主要器材简介 (4)第四部分系统硬件设计4.1最小系统 (6)4.2LCD显示电路 (6)4.3键盘输入电路 (7)4.4蜂鸣器和LED灯电路 (7)第五部分仿真电路图与仿真结果 (8)第六部分课程设计总结 (8)第七部分参考文献 (9)附录A 实物图附录B 系统源程序第一部分设计任务和要求1.1单片机课程设计内容利用STC89C51单片机和LCD1602电子显示屏实现电子时钟,可由按键进行调时和12/24小时切换。
1.2单片机课程设计要求1.能实现年、月、日、星期、时、分、秒的显示;2.能实现调时功能;3.能实现12/24小时制切换;4.能实现8 : 00—22 : 00整点报时功能。
1.3系统运行流程程序首先进行初始化,在主程序的循环程序中首先调用数据处理程序,然后调用显示程序,在判断是否有按键按下。
若有按键按下则转到相应的功能程序执行,没有按键按下则调用时间程序。
若没到则循环执行。
计时中断服务程序完成秒的计时及向分钟、小时的进位和星期、年、月、日的进位。
调时闪烁中断服务程序用于被调单元的闪烁显示。
调时程序用于调整分钟、小时、星期、日、月、年,主要由主函数组成通过对相关子程序的调用,如图所示。
实现了对时间的设置和修改、LCD显示数值等主要功能。
相关的调整是靠对功能键的判断来实现的。
第二部分设计方案2.1总体设计方案说明1.程序设计及调试根据单片机课程设计内容和要求,完成Protues仿真电路的设计和用Keil软件编写程序,并进行仿真模拟调试。
2.硬件焊接及调试根据仿真电路图完成电路板的焊接,并进行软、硬件的调试,只到达到预期目的。
3.后期处理对设计过程进行总结,完成设计报告。
单片机课程设计报告
摘要单片机课程设计主要是让我们增进对c51单片机的感性认识,加深对理论方面的理解。
了解软硬件之间的有关知识,并掌握软硬件的设计过程、方法及实现,为以后的设计和实现应用系统打下良好基础。
本次课程设计主要完成跑马灯及闪烁灯的实验设计。
首先通过Protel 99 SE 或proteus ISIS 画好原理图,然后将绘制好的原理图在PCB 面板上制线,通过导入Keil C 的设计好的汇编语言程序,完成模拟和仿真,最后将所模拟的程序导入已做好的AT89C51芯片上完成功能演示整个过程。
最终根据要求完成所有步骤,实现了预期演示跑马灯、流水灯、闪烁灯任务。
关键词:单片机、软件、硬件、跑马灯、流水灯、闪烁灯、印制板图、程序、数码管 AbstractSCM curriculum design is mainly let us enhance perceptions of the C51microcontroller, to deepen theoretical understanding. Understanding of relevant knowledge between hardware and software, and master the design process ofhardware and software, and the method of realization, and lay a good foundation for the design and implementation of application system. The experimental design of this course design mainly completes the marquee and flashing lights. Through the first Protel 99 SE or Proteus ISIS drawing principle diagram, and then draw principle of good business line in the PCB panel design, through the introduction of Keil C good assembly language program to complete the simulation, finally Complete the whole process of AT89C51 chip demo program to import the simulation done. Finally according to the requirements to complete all the steps to achieve the desired presentation marquees, lights, flashing lights.Keyword:SCM, software, hardware, marquees, lights, flashing lights, printed circuit board diagram, program, digital tube—————————————————————————装订线————————————————————————————————引言本次课程设计通过对单片机的学习和认识,单片机最小系统是在以MCS-52单片机为基础上扩展,使其能更方便地运用于测试系统中,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被测试的技术指标,从而能够大大提高产品的质量和数量。
单片机课程设计报告书---多路防盗报警电路的设计
课程设计报告书---多路防盗报警电路的设计课程设计任务书一、目的任务单片机原理与接口技术课程设计是一个实践教学环节,也是学生练的重要环节,是对学生的知识、能力和素质的一次培养训练和检验。
通过课程设计,使学生进一步巩固所学理论知识,并利用所学知识解决设计中的一些基本问题,培养和提高学生设计、识图、绘图,以及查阅、使用有关技术资料的能力。
本次课程设计,学生通过查阅资料、接口设计、程序设计、安装调试等环节,完成一个涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用。
二、设计内容1、主要内容(1)熟悉设计任务书,分析设计要求,借阅参考资料。
(2)在计算机上设计硬件原理图。
(3)设计软件框图、流程图编写软件程序、调试程序(4)用仿真器对所做的系统进行仿真,修改调试程序等;(5)加载程序到实验箱,调试、检查编程效果(6)撰写设计报告,绘图等。
三、设计要求1、理解设计任务书,原始设计要求。
2、掌握以下设计内容及方法:画出硬件电路原理图,确定各元件参数,确定软件流程,编写程序,调试程序,最后撰写设计报告,验收考核。
4、有勤于思考、刻苦钻研的学习精神和严肃认真、一丝不苟、精益求精的学习态度。
对有抄袭他人设计图纸(课程设计报告书)或找他人代编设计程序、等行为的弄虚作假者一律按不及格记成绩,并根据学校有关规定给予处理。
5、敢于创新,勇于实践,注意培养创新意识和工程意识。
6、扎实掌握课程的基本理论和基本知识,概念清楚,设计计算正确实验数据可靠,绘图符合标准,课程设计报告书撰写规范。
7、在设计周内完成所规定的设计任务,提交《课程设计报告书》一份。
报告书装订顺序:1)模板封皮2)任务书3)本课程设计要求4)设计报告a.系统总框图及系统工作原理。
b.系统的硬件电路连接图,电路的原理。
c.软件设计流程及其说明。
d.电路设计,软件编程、调试中遇到的问题及分析解决方法。
e.实验结果及其分析。
f.体会。
四、成绩评定1、考核方式:考查2、成绩评定:平时考勤20%,小组自评20%,调试结果验收30%,设计报告书占30%。
单片机课程设计
大庆师范学院单片机原理与课程设计报告设计课题:音乐播放器的设计姓名:马金玉、裴蕾、穆春玉、刘铁、史宏宇学院:物理与电气信息工程学院专业:自动化班级:09级(2)班日期:2011年6月20日——2011年6月30日指导老师:杨桂花目录1 设计的任务 (1)1.1 设计的要求 (1)2 系统硬件原理及设计 (1)2.1 核心器件AT89C51介绍 (1)2.2.1 总体电路设计 (1)2.2.2 单片机电路设计 (2)2.2.3 显示电路设计 (2)2.2.4 晶振时间电路设计 (2)2.2.5 控制电路设计 (2)2.2.6 输出电路设计 (2)2.2 硬件电路设计 (2)3 系统软件设计 (2)3.1 总体软件设计 (2)3.2 单片机音节代码实现 (3)3.3 单片机生产不同频率脉冲信号的原理 (4)3.4 音乐代码实现 (4)3.4.1音乐代码库的建立方法 (4)3.4.2 歌曲选择 (4)3.5 键控子程序 (5)3.5.1 播放/暂停子程序 (5)3.5.2 曲目选择子程序 (6)4 心得体会 (7)参考文献 (7)附录1 程序设计 (8)音乐播放器的设计1.设计任务设计一个音乐播放器,有三个按键及控制按钮:播放/暂停、下一曲、上一曲;通过控制按钮控制单片机,播放所要求的音乐,并通过放大电路和喇叭输出声音。
同时通过LED灯显示器,用来显示所选曲目,该显示器在音乐播放中关闭,一曲演奏结束时,或选曲时才显示曲目信息,从而利于操作。
1.1 设计要求1. 画出电路原理图;2. 元器件及参数选择;3. 编写设计报告,写出设计的全过程,附上有关资料和图纸,有心得体会。
2系统硬件原理及设计2.1 核心器件AT89C51介绍AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
单片机原理课程设计
单片机原理课程设计一、课程目标知识目标:1. 理解单片机的基本原理,掌握其内部结构及工作流程;2. 学会使用单片机编程语言进行程序设计,掌握基本的编程技巧;3. 了解单片机在现实生活中的应用,理解其功能及作用。
技能目标:1. 能够运用单片机进行简单的电路控制,具备实际操作能力;2. 培养学生动手实践、团队协作和解决问题的能力;3. 提高学生的编程技能,使其能够独立完成简单的单片机程序设计。
情感态度价值观目标:1. 培养学生对单片机技术的兴趣,激发其探索精神;2. 增强学生的创新意识,鼓励其勇于尝试和挑战;3. 培养学生严谨、务实的科学态度,使其认识到技术发展对社会进步的重要性。
课程性质分析:本课程为单片机原理课程设计,注重理论与实践相结合,以培养学生的实际操作能力和创新精神为核心。
学生特点分析:学生为高年级学生,具备一定的电子技术基础和编程能力,对单片机有一定了解,但实践操作经验不足。
教学要求:1. 结合课本内容,深入浅出地讲解单片机原理,注重实际应用;2. 创设实践环节,让学生动手操作,提高其技能水平;3. 激发学生兴趣,引导其探索单片机技术的未来发展。
二、教学内容1. 单片机基础理论:- 单片机的内部结构及工作原理;- 单片机的性能指标与选型;- 单片机指令系统与编程方法。
2. 单片机编程语言:- 汇编语言基础;- C语言在单片机编程中的应用;- 常用编程技巧及案例分析。
3. 单片机硬件接口:- I/O口编程与应用;- 定时器/计数器原理与应用;- 中断系统及其应用。
4. 单片机系统设计与实践:- 系统设计流程与方法;- 简单电路控制设计与实现;- 综合项目设计与展示。
教学大纲安排:第一周:单片机基础理论及内部结构学习;第二周:单片机指令系统与编程方法;第三周:汇编语言及C语言在单片机中的应用;第四周:单片机硬件接口学习;第五周:系统设计流程与方法;第六周:简单电路控制设计与实践;第七周:综合项目设计与展示。
《单片机课程设计》
《单片机原理及应用课程设计》报告——秒表设计专业:电子信息工程班级:姓名:学号:11201062指导教师:2014年5 月26 日(要求:正文部分一律用小四号字,宋体,1.5倍行距。
一级大标题靠左,加粗。
二级大标题靠左,不加粗。
)课程设计的内容如下:1.课程设计目的1.1巩固和加深对单片机原理和接口技术知识的理解;1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。
2.课程设计要求用AT89C51设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒自动加1,另设计一个“开始”键和一个“复位”键。
3.硬件设计3.1 设计思想该实验要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信号CLK输入的入口地址。
定时器T0作为每秒加一的定时器;定时器T1作为“快加”键的定时器。
其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。
3.2主要元器件介绍1.单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。
2.累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。
(1) ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。
c51单片机课程设计
c51单片机课程设计一、课程目标知识目标:1. 理解C51单片机的基本原理与结构,掌握其指令系统及编程方法。
2. 学会使用C51单片机进行简单的电路设计与控制系统实现。
3. 了解C51单片机在嵌入式系统中的应用,掌握相关外围电路的设计与调试。
技能目标:1. 能够运用C语言编写简单的C51单片机程序,完成基础控制功能。
2. 熟练使用Keil、Proteus等软件进行C51单片机程序的编译、仿真与调试。
3. 能够分析并解决C51单片机在实际应用中遇到的问题,具备一定的故障排查能力。
情感态度价值观目标:1. 培养学生对电子技术及嵌入式系统的兴趣,激发其创新意识与探索精神。
2. 强化学生的团队合作意识,培养其在项目实践中的沟通与协作能力。
3. 培养学生严谨、务实的科学态度,使其认识到技术对社会发展的积极作用。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程为电子技术领域的一门实践性课程,旨在培养学生的编程能力、电路设计能力及实际操作能力。
2. 学生特点:学生已具备一定的电子技术基础,具有较强的学习兴趣和动手能力,但对复杂编程及实际应用尚存一定难度。
3. 教学要求:注重理论与实践相结合,充分调动学生的积极性与主动性,提高其在实际项目中的应用能力。
二、教学内容1. C51单片机原理与结构:介绍C51单片机的硬件结构、工作原理及性能特点,对应教材第一章内容。
- 单片机内部结构- 指令系统与执行过程- 性能参数与选型2. C51单片机编程基础:学习C语言编程,掌握C51单片机程序设计方法,对应教材第二章内容。
- 数据类型、运算符与表达式- 控制语句与函数- 汇编与C语言混合编程3. C51单片机外围电路设计:学习常用外围电路的设计方法,如键盘、显示、传感器等,对应教材第三章内容。
- 键盘电路设计- 显示器接口设计- 传感器信号处理4. C51单片机应用实例:通过实际案例,学习C51单片机在嵌入式系统中的应用,对应教材第四章内容。
单片机课程设计大纲
单片机课程设计大纲一、课程目标知识目标:1. 让学生掌握单片机的基本组成、工作原理及功能特点;2. 使学生了解单片机编程的基本语法和编程技巧;3. 帮助学生理解单片机在实际应用中的使用方法。
技能目标:1. 培养学生运用单片机进行简单电路设计和控制的能力;2. 使学生能够独立编写简单的单片机程序,实现基础功能;3. 提高学生分析问题、解决问题的能力,学会运用单片机解决实际问题。
情感态度价值观目标:1. 培养学生对单片机及电子技术的兴趣和热情;2. 培养学生具备良好的团队协作精神和沟通能力;3. 增强学生的创新意识和实践能力,激发学生积极参与科技创新活动的意愿。
课程性质:本课程为实践性较强的课程,旨在通过理论学习与实践操作相结合的方式,让学生全面掌握单片机技术。
学生特点:学生处于初中或高中阶段,具备一定的电子技术基础知识,对单片机有一定了解,好奇心强,喜欢动手实践。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,强调动手实践,鼓励学生创新,培养实际应用能力。
将课程目标分解为具体的学习成果,为后续教学设计和评估提供依据。
二、教学内容1. 单片机基础知识- 单片机的组成与结构- 单片机的工作原理- 单片机的性能指标2. 单片机编程语言- 汇编语言基础- 程序结构及编程技巧- C语言在单片机编程中的应用3. 单片机接口技术- I/O接口- 定时器/计数器- 中断系统- 串行通信接口4. 单片机应用实例- 简单电路设计与控制- 基础功能编程实现- 实际应用案例分析5. 单片机实践操作- 基本操作训练- 综合项目设计与实现- 创新实验与拓展教学内容安排与进度:第一周:单片机基础知识学习第二周:汇编语言编程训练第三周:C语言在单片机编程中的应用第四周:单片机接口技术学习第五周:单片机应用实例分析与实践操作第六周:综合项目设计与实现教材章节关联:《单片机原理与应用》第一章:单片机概述《单片机原理与应用》第二章:单片机组成与结构《单片机原理与应用》第三章:单片机编程语言《单片机原理与应用》第四章:单片机接口技术《单片机原理与应用》第五章:单片机应用实例《单片机实践指导书》:实践操作指导内容教学内容确保科学性和系统性,结合课程目标,注重理论与实践相结合,提高学生的实际操作能力。
单片机课程设计报告书---交通灯控制电路设计
交通灯控制电路设计一、选题背景交通灯控制系统是城市道路管理中极为重要的一个环节,其在加强道路交通管理,减少交通事故的发生,提高道路使用效率等方面具有不可替代的作用。
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制技术日益更新。
本文将介绍一种用单片机作为系统的主控单元,通过单片机嵌入软件程序来实现交通信号灯的多重控制方式,整个系统以STC89C52RC单片机为核心加以晶振电路、复位电路、电源电路构成系统的控制枢纽,系统状态显示系统采用7段LED数码管进行倒计时的现实,红、黄、绿三色LED灯作为信号指示。
系统除基本的交通灯功能外,还具有倒计时、紧急情况处理等功能,较好的模拟实现了十字路口出现的状况。
本系统性能稳定,功能完善,实用性强。
二、方案论证(设计理念)1.主要内容用单片机系统设计十字路口交通灯控制电路,要求东西方向的红、黄、绿灯和南北方向的红、黄、绿灯按照下面的工作时序进行工作,黄灯亮时应为闪烁状态:(1)南北和东西车辆交替进行,各通行时间 24 秒(2)每次绿灯变红灯时,黄灯先闪烁 4 秒,才可以变换运行方向。
(3)十字路口要有数字显示作为时间提示,以倒计时按照时序要求进行显示;具体为:当某方向绿灯亮时,置显示器为某值,然后以每秒减 1 计数方式工作,直至减到数为“0”,十字路口红、绿等交换,一次工作循环结束,而进入下一步某方向的工作循环。
(4)可以手动调整和自动控制,夜间为黄灯闪耀状态2.教学要求选择适当元器件设计单片机外围电路、由单片机系统完成二十四进制倒计时、四进制倒计时、显示及模式切换逻辑控制等;仿真实现各电路功能;搭建、调试电路实现设计要求的功能;掌握复杂数字电路的一般设计方法,具备初步的独立设计能力;掌握对电子线路进行仿真调试的方法和技能;掌握实现电路的实验方法和电路的调试方法。
3.方案设计与选择3.1交通信号控制原理交通信号控制原理是按照一定的控制程序,在交叉路口的每个方向上通过红、黄、绿三色灯循环显示,指挥交通流,在时间上实施隔离。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机原理与应用课程设计》设计报告2014——2015学年第2学期设计题目:姓名:专业班级:学号:数理与信息工程学院1 课题设计内容对基于单片机的交通灯控制系统进行设计。
所设计的系统功能为:以MCS-51系列单片机作为控制核心,在东西南北四个方向设置左拐、右拐、直行及行人4种通行指示灯,用计时器显示路口通行转换剩余时间。
在出现紧急情况时,可以由交警手动实现全路口车辆禁行而行人通行状态,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行状态。
2 设计方案论证方案二:采用20脚、片内带2kB Flash ROM的AT89C2051单片机作为控制器,左拐、右拐、直行及行人4种通行指示采用16×16点阵双色LED发光管,通行倒计时显示也采用16×16点阵LED发光管。
LED点阵的列驱动采用74LS595,以实现串行端口扩展,行译码采用4/16译码器74LS154,74LS154生成16条行选通信号线,每条行线上需要较大的驱动电流,选用大功率三极管作为驱动管。
方案二结构框图如图4-2所示,方案三:采用AT89C2051单片机作为控制器,左拐、右拐、直行、行人通行指示及通行倒计时指示采用单块LCD液晶点阵显示器。
三种方案的特点比较如下:方案一具有电路简单,设计方便,显示亮度高,耗电较少,可靠性高等特点;方案二的图案显示逼真,单片机占用端口资源少,缺点是需要大量的硬件,电路复杂,耗电量大,不太适合于模型制作;方案三设计占用单片机的端口最少,硬件也少,耗电也最少,虽然显示图案也很精美,但由于亮度太暗,晚上还得开背光灯,不够实用。
可见方案一优于其他两种方案,因此本设计选用方案一:采用LED动态扫描的方案进行设计。
图4-2 方案二:采用16×16点阵LED发光管设计的交通灯控制系统结构框图3 系统硬件设计采用LED动态扫描的交通灯控制系统电路原理图如图4-3所示系统由控制模块、通行灯显示模块、时间显示模块、电源模块四部分组成。
通行灯显示模块如图4-5所示(以西路口和北路口为例)。
通行灯指示采用高亮共阴红绿双色发光二极管,左拐、右拐、直行及行人各一个。
双色发光二极管的共阴极通过电阻接地,阳极接P1口或P2口(南北为P1口,东西为P2口),经74HC244控制。
当发光电流为6mA时,限流电阻按公式R=(5-1.8)/0.006计算,取标称值为510Ω。
由于通行时南北双向指示牌相同,东西双向指示牌相同,因此每个端口应具有12mA的驱动电流能力,在单片机的输出口接驱动电路74HC244,以保护单片机的输出端口。
3.3 时间显示模块通行剩余时间显示模块如图4-6所示(以北路口为例)。
路口通行剩余时间采用高亮红色7段共阳LED发光数码管显示。
如用单片机吸收电流驱动,列扫描驱动使用三级管,按每段6mA电流算,全显示字型“8”时,每个数码管需6mA×8=48mA。
由于时间显示每个路口相同,4组需192mA,因此设计中采用功率三极管S9012驱动。
由于单片机每位段码输出口需吸收24mA电流,因此在电路设计中也使用了驱动集成块74HC244。
3.4 电源电路电源电路如图4-7所示。
整个系统采用的电源电压只需+5V电压,将交流电经变压器变换为15V交流电,再用整流桥得到13.5V左右的直流电,采用不可调的3端稳压器件LM7805将电源稳定在5V直流输出。
图4-6 时间显示模块电路图4-7 电源电路图4-8 AT89S52引脚功能4 系统软件设计交通灯控制系统软件主要分为主程序、定时器中断服务子程序、特种车中断服务子程序三部分。
4.1 主程序主程序主要负责总体程序管理功能,包括初始化部分与人机交互设定部分。
由于采用动态扫描方式显示时间,因此主程序大部分时间是调用扫描显示程序。
主程序流程图如图4-9所示。
P3.7=0表示按下了自动/手动转换开关。
图4-9主程序流程图初始化部分主要完成内存规划,定时器的工作模式、中断方式等的设定。
由于子程序调用较多,因此初始化时堆栈指针设于80H处。
定时器T0、T1设为16位定时器模式,定时时间为50mS,T0为秒计时用,T1为特种车通行秒计时用。
4.2 定时器中断服务子程序定时器中断服务子程序主要用于车辆与行人的通行指示,按照通行规则,红绿灯控制转换逻辑表如表4-1所示。
通行规则如下:A.车辆南北直行、各路右拐,南北向行人通行。
南北向通行时间为1min(60S),各路右拐比直行滞后10S开放。
B.车辆南北向左拐、各路右拐,行人禁行。
通行时间为1min(60S)。
C.车辆东西直行、各路右拐,东西向行人通行。
东西向通行时间为1min(60S),各路右拐比直行滞后10S开放。
D.车辆东西向左拐、各路右拐,行人禁行。
通行时间为1min(60S)。
交通灯的4种通行规则,是以给控制红绿灯端口送控制码的方式实现的。
它的原理是,将按不同规则通行时的各路口的红绿灯亮灭情况转换为单片机端口控制码。
红绿灯指示功能通过T0定时中断服务程序实现。
定时器T0定时溢出中断周期设为50ms,中断累计20次(即1S)时对120S 倒计时单元减一操作。
设计中将4种通行规则分成几种不同的亮灯方式,通过查询秒倒计时单元的数据,实现在不同的时间段给控制端口送不同的控制数据码。
控制码分为5个时间段:120~110S、110~70S、70~60S、60~10S、10~0S。
交通管理定时功能程序流程图如图4-10所示。
5 特种车中断服务子程序总的程序清单见附录4。
6 算法分析附录一交通灯控制程序清单基于单片机的交通灯控制系统程序清单;************************************************;;交通灯控制系统程序;;************************************************;;******************初始化部分********************TIME EQU 50H ;秒计数用TIMESFR EQU 51H ;临时寄存器CONR5 EQU 52H ;T1秒定时计数用TIMED0 EQU 55H ;单向最大定时时间,直行开始,人行开;始(120S)TIMED1 EQU 56H ;各路右拐开始时间(110S)TIMED2 EQU 57H ;前行结束提醒(70S)TIMED3 EQU 58H ;前行结束,人行结束,左拐开始(60S)TIMED4 EQU 59H ;左拐结束提醒TIMED5 EQU 5AH ;左拐结束TIMED6 EQU 5BHTIMED7 EQU 5CHSN EQU P1 ;南北口EW EQU P2 ;东西口SCAN EQU P3 ;扫描口LEDOUT EQU P0 ;段码口SNEWFLAG BIT 09H ;东西口与南北口转换标志;*************中断入口程序********************ORG 0000H ;程序执行开始地址LJMP START ;跳到标号START执行ORG 0003H ;外中断0中断程序入口RETI ;外中断0中断返回ORG 000BH ;定时器T0中断程序入口LJMP INTT0 ;跳至INTT0执行ORG 0013H ;外中断1中断程序入口LJMP INT11 ;119﹑120中断ORG 001BH ;定时器T1中断程序入口LJMP INTT1ORG 0023H ;串行中断程序程序返回RETI;****************主程序*********************;P3.6所接S2开关打开,为120秒倒计时,合上,则为60秒倒计时;P3.7所接S2开关打开,正常状态,合上,全红灯。
;定时器T0﹑T1溢出周期为50ms,T0为秒计数用START:MOV SP, # 80HMOV R0, # 00H ;清00H~8EH内存单元MOV R7, # 8FHCLEARDISP: MOV @R0, # 00HINC R0DJNZ R7, CLEARDISPMOV TIMED0, # 78H ;单向最大定时时间,直行开始;人行开始MOV TIMED1, # 6EH ;各路右拐开始时间(110S)MOV TIMED2, # 46H ;前行结束提醒(70S)MOV TIMED3,# 3CH ;前行结束,人行结束,左拐开始;(60S)MOV TIMED4,# 0AH ;左拐结束提醒CLR SNEWFLAG ;南北先通行标志位MOV TMOD, # 01H ;设T0,T1为16位定时器MOV TL0, #0B0H ;50ms定时初值(T0记时用)MOV TH0, #3CH ;50ms定时初值MOV TL1, #0B0H ;50ms定时初值MOV TH1, #3CH ;50ms定时初值JB SCAN.6, SSST ;120s管理;以下为60s管理LCALL DL1MSLCALL DL1MSLCALL DL1MSJB SCAN.6, SSST ;干扰MOV TIMED0, #60 ;单向最大定时时间,直行开始;人行开始MOV TIMED1, #55 ;各路右拐开始时间(55S)MOV TIMED2, #35 ;前行结束提醒(35S)MOV TIMED3, #30 ;前行结束,人行结束,左拐开始(30S)MOV TIMED4, #05 ;左拐结束提醒SSST: MOV TIME, TIMED0LCALL TUNBCDMOV SN, #99HMOV EW, #0AAHSETB EA ;总中断开放SETB PX1SETB EX1SETB ET0 ;允许T0中断SETB TR0 ;开启T0定时器MOV R4, #14H ;1S定时用初值(50ms×20)MOV CONR5, #20START1: LCALL DISPLAY ;调用显示子程序JNB SCAN.7, KEYFUN ;手动状态SJMP START1 ;P3.7为1时跳回START1 KEYFUN: LCALL DISPLAYLCALL DISPLAYJB SCAN.7, START1CLR ET0CLR TR0MOV SN, #0A9H ;全车道停,行人通MOV EW, #0A9HMOV TIME, #00H ;时间显示0LCALL TUNBCDKEYWAIT: LCALL DISPLAYJNB SCAN.7, KEYWAITKEYWAIT1: LCALL DISPLAYJNB SCAN.7, KEYWAIT1MOV TIME, TIMED0 ;重新开始计时初值LCALL TUNBCDCLR SNEWFLAG ;南北先通行标志位SETB TR0SETB ET0AJMP START1;*****************1s计时程序(T0定时器中断服务子程序)***************** INTT0: PUSH ACC ;累加器入栈保护PUSH PSW ;状态字入栈保护CLR ET0 ;关T0中断允许CLR TR0 ;关闭定时器T0MOV A, #0B7H ;中断响应时间同步修正ADD A, TL0 ;低8位初值修正MOV TL0, A ;重装初值(低8位修正值)MOV A, #3CH ;高8位初值修正ADDC A, TH0MOV TH0, A ;重装初值(高8位修正值)SETB TR0 ;开启定时器T0DJNZ R4, OUTT00 ;20次中断到(1S),重赋初值MOV R4, #14HJB SNEWFLAG, INT22DEC TIMEMOV A, TIMECJNE A, TIMED1, LOOP11 ;判断是否小于110S LOOP11: JC LOOP22 ;120-110MOV SN, #99HMOV EW, #0AAHLJMP OUTT0 ;120-110LOOP22: MOV A, TIMECJNE A, TIMED2, LOOP33;判断是否小于70S LOOP33: JC LOOP44 ;110-70MOV SN, #95HMOV EW, #0A6HLJMP OUTT0 ;110-70LOOP44: MOV A, TIMECJNE A, TIMED3, LOOP55 ;判断是否小于60S LOOP55: JC LOOP66 ;70-60MOV 20H, SNCPL 04HCPL 00HMOV SN, 20HMOV EW, #0A6HLJMP OUTT0 ;70-60LOOP66: MOV A, TIMECJNE A, TIMED4, LOOP77 ;判断是否小于10S LOOP77: JC LOOP88 ;60-10MOV SN, #66HMOV EW, #0A6HLJMP OUTT0 ;60-10LOOP88: MOV A, TIMEJZ OUT88MOV 20H, SNCPL 06HCPL 02HMOV SN, 20HMOV 20H, EWCPL 02HMOV EW, 20HLJMP OUTT0 ;70-60OUT88: MOV TIME, TIMED0 ;20初值CPL SNEWFLAGOUTT0: LCALL TUNBCDOUTT00: POP PSW ;恢复状态字(出栈)POP ACC ;恢复累加器SETB ET0 ;开放T0中断RETI ;中断返回INT22: DEC TIMEMOV A, TIMECJNE A, TIMED1, LOOP111 ;判断是否小于110S LOOP111: JC LOOP221 ;120-110MOV EW, #99HMOV SN, #0AAHLJMP OUTT01 ;120-110LOOP221: MOV A, TIMECJNE A, TIMED2, LOOP331 ;判断是否小于70S LOOP331: JC LOOP441 ;110-70MOV EW, #095HMOV SN, #0A6HLJMP OUTT01 ;110-70LOOP441: MOV A, TIMECJNE A, TIMED3, LOOP551 ;判断是否小于60S LOOP551: JC LOOP661 ;70-60MOV 20H, EWCPL 04HCPL 00HMOV EW, 20HMOV SN, #0A6HLJMP OUTT01 ;70-60LOOP661: MOV A, TIMECJNE A, TIMED4, LOOP771 ;判断是否小于10S LOOP771: JC LOOP881 ;60-10MOV EW, #66HMOV SN, #0A6HLJMP OUTT01 ;60-10LOOP881: MOV A, TIMEJZ OUT881MOV 20H, EWCPL 06HCPL 02HMOV EW, 20HMOV 20H, SNCPL 02HMOV SN, 20HLJMP OUTT01 ;70-60OUT881: MOV TIME, TIMED0 ;120S初值CPL SNEWFLAGOUTT01: LCALL TUNBCDPOP PSW ;状态恢复字(出栈)POP ACC ;恢复累加器SETB ET0 ;开放T0中断RETI ;中断返回;**********************显示子程序******************;显示数据在70H~72H单元内,用3位LED共阳数码管显示,LEDOUT口输出段;码数据,;P3(SCAN)口作扫描控制,每个LED数码管亮1ms再逐位循环DISPLAY: MOV R1, #70H ;指向显示数据首址MOV R5, #0FEH ;扫描控制字初值PLAY: MOV A, R5 ;扫描字放入AMOV SCAN, A ;从SCAN口输出MOV A, @R1 ;取显示表地址MOV DPTR, #TAB ;取段码表地址MOVC A, @A+DPTR ;查显示数据对应段码MOV LEDOUT, A ;段码放入LEDOUT口LOOP6: LCALL DL1MS ;显示1msINC R1 ;指向下一地址MOV A, R5 ;扫描控制字放入AJNB ACC.2, ENDOUT ;ACC.2=0时,一次显示结束RL A ;A中数据循环左移MOV R5, A ;放回R5内MOV LEDOUT, #0FFHAJMP PLAY ;跳回PLAY循环ENDOUT: MOV LEDOUT, # 0FFH ;一次显示结束,端口复位MOV SCAN, #0FFH ;端口复位RET ;子程序返回TAB: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80H, 90H DB 0FFH, 88H, 0BFH;共阳段码表"0","1","2","3","4","5","6","7","8","9";"不亮","A","-";***********************延时子程序*******************;1ms延时程序,LED显示程序用DL1MS: MOV R6, #14HDL1: MOV R7, #19HDL2: DJNZ R7, DL2DJNZ R6, DL1RET;*******************十六进制转换为BCD码的子程序******************* TUNBCD: PUSH ACCPUSH PSWPUSH BMOV A, TIMEMOV B, #100DIV ABMOV 72H, AJNZ JJ0MOV 72H, #0AH ;最高位为0,不点亮JJ0: MOV A, BMOV B, #10DIV ABMOV 71H, AJNZ JJ1MOV A, 72H ;次高位为0,先看最高位是否为不亮SUBB A, #0AHJNZ JJ1MOV 71H, #0AH ;最高位不亮,次高位也不亮JJ1: MOV 70H, BPOP BPOP PSWPOP ACCRET;*********************119,120特种车中断服务子程序**************** INT11: PUSH ACCPUSH PSWCLR EX1CLR ET0CLR TR0MOV SN, #AAH ;全红灯MOV EW, # AAHMOV TIMESFR, TIME ;保存道口数据MOV TIME, #0FHMOV CONR5, #20LCALL TUNBCDSETB ET1SETB TR1POP PSWPOP ACCRETI;******************15s计时程序(T1中断服务程序)********************* INTT1: PUSH ACC ;累加器入栈保护PUSH PSW ;状态字入栈保护CLR ET1 ;关T1中断允许CLR TR1 ;关闭定时器T1MOV A, #0B7H ;中断响应时间同步修正ADD A, TL1 ;低8位初值修正MOV TL1, A ;重装初值(低8位修正值)MOV A, #3CH ;高8位初值修正ADDC A, TH1MOV TH1, A ;重装初值(高8位修正值)SETB TR1 ;开启定时器T1DJNZ CONR5, OUTT333 ;20次中断未到,中断退出MOV CONR5, #14H ;20次中断到(1S),重赋初值DEC TIMELCALL TUNBCDMOV A, TIMEJZ OUT444OUT333: SETB ET1POP PSWPOP ACCRETIOUT444: CLR TR1CLR ET1MOV TIME, TIMESFRLCALL TUNBCDSETB ET0SETB TR0SETB EX1POP PSWPOP ACCRETIEND ;程序结束。