单片机综合设计实验

合集下载

单片机ISP

单片机ISP

第一章单片机/ISP综合设计实验装置简介1.1 概述由于计算机科学和电路集成技术的迅猛发展,电子系统日趋数字化、复杂化和大规模集成化,且电子系统设计原理和大型软件设计的原理极为接近。

这些都要求电子类专业的教学重点应由传统的基础功能模块设计转向对大规模复杂系统的分析和管理,加强对学生系统概念的培养。

电子信息系列实验装置便是为了满足这种需要而开始研发的。

它包含有电子技术实验装置,计算机组成/网际服务实验装置,微机系统与接口实验装置及单片机/ISP综合设计实验装置。

该系列实验装置提供了集演示、验证和综合设计的新一代教学平台,并按照教学大纲的要求配置了实验项目和实验内容,此外,用户还可根据自己的需要安排实验内容,发挥创造性才能。

单片机技术是一门很实用的技术,单片机在工业控制中独占鳌头,故又称为微控制器。

迄今为止,8位单片机仍占有单片机市场的60%以上份额,促进了8位单片机朝着高性能和多功能化方向发展。

随着CPLD技术的不断发展,也越来越被广大设计人员重视、应用。

单片机/ISP综合设计实验装置实质上是构建了一个以CPLD/FPGA和MCU为中心,能与微机子系统进行通信的综合设计实验平台,它采用的是CPLD/FPGA和MCU双系统核心架构,再与外围设备通过总线方式连接起来。

可以完成有关单片机,微机接口,逻辑设计等众多实验,可作为“计算机结构与逻辑设计”,“单片机原理与应用”,“在系统编程技术”,“VHDL 设计”,“微型计算机测控技术”和“电子系统综合设计”等课程的综合实验装置。

该实验装置在教学实践中的应用,为提高学生的动手能力,加深学生对单片机、CPLD/FPGA技术的理解提供了良好的实验平台,为以后电子系统设计开发打下坚实的基础。

除具有单片机,CPLD/FPGA双系统核心构架外,提供了极其丰富的功能单元电路,如A/D、D/A、RTC及通讯接口等,并可根据学生应用的需要方便地扩展其它电路,使其完全能够做出具有复杂性和创造性的综合性实验,另外配置的一些工具模块也能为学生做实验提供方便。

单片机设计实验的心得体会(精选4篇)

单片机设计实验的心得体会(精选4篇)

单片机设计实验的心得体会(精选4篇)单片机设计实验的心得体会1课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践潜力的重要环节,是对学生实际工作潜力的具体训练和考察过程。

随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中能够说得是无处不在。

因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,能够说得是苦多于甜,但是能够学到很多很多的的东西,同时不仅仅能够巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

透过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手潜力和独立思考的潜力。

在设计的过程中遇到问题,能够说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PNP管脚不懂怎样放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……透过这次课程设计之后,必须把以前所学过的知识重新温故。

这次课程设计最后顺利完成了,在设计中遇到了很多编程问题,最后在梁强老师的辛勤指导下,最后游逆而解。

同时,在梁强老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮忙的所有同学和各位指导老师再次表示忠心的感谢!单片机设计实验的心得体会2两周的单片机课程设计最后顺利完成了,其中包含着快乐,也有辛酸。

我们选的设计题目是“数字温度计”,大家都觉得这个题目是比较简单的。

其实不然,做了之后,发现设计电路虽然简单,但我们认为它真正困难的地方是程序设计,但是在我们同心努力下最终完成了。

我们刚选该题目时,真的是一头雾水,硬件电路不知如何下手,更何谈解决程序那块,因为我们所学的都是单片机方面的理论知识,应用到实践中去还比较少。

单片机综合实验课程设计

单片机综合实验课程设计

单片机综合实验课程设计一、课程目标知识目标:1. 学生能理解单片机的基本工作原理,掌握其内部结构和功能模块;2. 学生能掌握单片机编程的基本语法和常用指令,具备编写简单程序的能力;3. 学生能了解并运用单片机接口技术,实现与外围设备的通信和控制。

技能目标:1. 学生能运用所学知识,设计并实现简单的单片机控制系统;2. 学生能熟练使用编程软件和开发工具,进行单片机的程序编写、调试与优化;3. 学生能通过实验操作,培养动手能力和团队协作能力,提高问题解决能力。

情感态度价值观目标:1. 学生通过课程学习,增强对电子技术和编程的兴趣,培养主动探索和创新的意识;2. 学生在学习过程中,树立正确的价值观,认识到单片机技术在现实生活中的应用价值;3. 学生通过团队协作,培养沟通与协作能力,增强集体荣誉感和责任感。

课程性质:本课程为单片机原理与应用的综合实验课程,注重理论与实践相结合,以培养学生的动手能力和创新能力为主。

学生特点:学生具备一定的电子技术和编程基础,对单片机有一定了解,但实践经验不足。

教学要求:教师应结合学生特点和课程性质,采用任务驱动、案例教学等方法,引导学生主动参与实验,提高实践操作能力和创新能力。

同时,注重个体差异,因材施教,确保每位学生都能在课程中学有所获。

通过课程目标的分解与实现,为后续教学设计和评估提供依据。

二、教学内容本课程教学内容主要包括以下三个方面:1. 单片机原理与结构- 熟悉单片机的内部结构,掌握其功能模块;- 了解单片机的工作原理,理解指令执行过程;- 学习单片机编程语言,掌握基本语法和常用指令。

教学大纲:参照教材第1章至第3章,共计6学时。

2. 单片机编程与接口技术- 学习单片机程序设计方法,掌握程序编写、调试与优化技巧;- 了解单片机接口技术,掌握I/O口、定时器、中断等应用;- 学习外围设备与单片机的通信协议,实现数据交换和控制。

教学大纲:参照教材第4章至第6章,共计10学时。

单片机实验报告数字时钟设计报告

单片机实验报告数字时钟设计报告

单片机实验报告数字时钟设计报告一、实验目的本次单片机实验的目的是设计并实现一个基于单片机的数字时钟。

通过该实验,深入了解单片机的工作原理和编程方法,掌握定时器、中断、数码管显示等功能的应用,提高综合运用知识解决实际问题的能力。

二、实验原理1、单片机选择本次实验选用了常见的 51 系列单片机,如 STC89C52。

它具有丰富的资源和易于编程的特点,能够满足数字时钟的设计需求。

2、时钟计时原理数字时钟的核心是准确的计时功能。

通过单片机内部的定时器,设定合适的定时时间间隔,不断累加计时变量,实现秒、分、时的计时。

3、数码管显示原理采用共阳或共阴数码管来显示时间数字。

通过单片机的 I/O 口控制数码管的段选和位选信号,使数码管显示相应的数字。

4、按键控制原理设置按键用于调整时间。

通过检测按键的按下状态,进入相应的时间调整模式。

三、实验设备与材料1、单片机开发板2、数码管3、按键4、杜邦线若干5、电脑及编程软件(如 Keil)四、实验步骤1、硬件连接将数码管、按键与单片机开发板的相应引脚通过杜邦线连接起来。

确保连接正确可靠,避免短路或断路。

2、软件编程(1)初始化单片机的定时器、中断、I/O 口等。

(2)编写定时器中断服务程序,实现秒的计时。

(3)设计计时算法,将秒转换为分、时,并进行进位处理。

(4)编写数码管显示程序,将时间数据转换为数码管的段选和位选信号进行显示。

(5)添加按键检测程序,实现时间的调整功能。

3、编译与下载使用编程软件将编写好的程序编译生成可执行文件,并下载到单片机中进行运行测试。

五、程序设计以下是本次数字时钟设计的主要程序代码片段:```cinclude <reg52h>//定义数码管段选码unsigned char code SEG_CODE ={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};//定义数码管位选码unsigned char code BIT_CODE ={0x01, 0x02, 0x04, 0x08, 0x10,0x20, 0x40, 0x80};//定义时间变量unsigned int second = 0, minute = 0, hour = 0;//定时器初始化函数void Timer_Init(){TMOD = 0x01; //定时器 0 工作在方式 1 TH0 =(65536 50000) / 256; //定时 50ms TL0 =(65536 50000) % 256;EA = 1; //开总中断ET0 = 1; //开定时器 0 中断TR0 = 1; //启动定时器 0}//定时器 0 中断服务函数void Timer0_ISR() interrupt 1{TH0 =(65536 50000) / 256;TL0 =(65536 50000) % 256;second++;if (second == 60){second = 0;minute++;if (minute == 60){minute = 0;hour++;if (hour == 24){hour = 0;}}}}//数码管显示函数void Display(){unsigned char i;for (i = 0; i < 8; i++)P2 = BIT_CODEi;if (i == 0){P0 = SEG_CODEhour / 10;}else if (i == 1){P0 = SEG_CODEhour % 10;}else if (i == 2){P0 = 0xBF; //显示“”}else if (i == 3){P0 = SEG_CODEminute / 10;else if (i == 4){P0 = SEG_CODEminute % 10;}else if (i == 5){P0 = 0xBF; //显示“”}else if (i == 6){P0 = SEG_CODEsecond / 10;}else if (i == 7){P0 = SEG_CODEsecond % 10;}delay_ms(1);//适当延时,防止闪烁}}//主函数void main(){Timer_Init();while (1){Display();}}```六、实验结果与分析1、实验结果将程序下载到单片机后,数字时钟能够正常运行,准确显示时、分、秒,并且通过按键可以进行时间的调整。

单片机课程设计实验报告 基于单片机的数字时钟 含完整实验代码..

单片机课程设计实验报告 基于单片机的数字时钟 含完整实验代码..

单片机课程设计报告基于单片机的数字时钟姓名:班级:学号:一、前言利用实验板上的4个LED数码管,设计带有闹铃、秒表功能的数字时钟。

功能要求:a)计时并显示(LED)。

由于实验板上只有4位数码管,可设计成显示“时分”和显示“分秒”并可切换。

b)时间调整功能。

利用4个独立按钮,实现时钟调整功能。

这4个按钮的功能为工作模式切换按钮(MODE),数字加(INC),数字减(DEC)和数字移位(SHITF)。

c)定闹功能。

利用4个独立按钮设定闹钟时间,时间到以蜂鸣器响、继电器动作作为闹铃。

d)秒表功能。

最小时间单位0.01秒。

二、硬件原理分析1.电源部分电源部份采用两种输入接口(如上图)。

a)外电源供电,采用2.1电源座,可接入电源DC5V,经单向保护D1接入开关S1。

b)USB供电,USB供电口输入电源也经D1单向保护,送到开关S1。

注:两路电源输入是并连的,因此只选择一路就可以了,以免出问题。

S1为板子工作电源开关,按下后接通电源,提供VCC给板子各功能电路。

电路采用两个滤波电容,给板子一个更加稳定的工作电源。

LED为电源的指示灯,通电后LED灯亮。

2.蜂鸣器蜂鸣器分为有源和无源两种,有源即两引脚有一个直流电源就可以长鸣,无源则需要一个1K左右的脉冲才可以蜂鸣,因此对于按键的提示音及报警蜂鸣使用有源来得方便。

有源也可以当无源使用,而无源则不能当有源使用,当然用有源蜂鸣器作音乐发声会失真厉害。

如上图:单片机P15输出高低电平经R21连接三极管B极,控制三极管的导通与截止,从而控制蜂鸣器的工作。

低电平时三极管导通,蜂鸣器得电蜂鸣,高电平时三极管截止,蜂鸣器失电关闭蜂鸣。

电路使用一个四位共阳型数码管,四个公共阳级由三极管放大电流来驱动,三极管由P10-P13控制开与关。

数码管的阴级由P0口经过电阻限流连接。

例如,要十位的数码管工作,P12输出0,使三极管Q12导通,8脚得电,当P0口相应位有输出0时,点亮相应的LED灯组合各种字符数字。

单片机综合实训教案

单片机综合实训教案

单片机综合实训教案一、教学目标1. 了解单片机的基本概念、结构和原理。

2. 掌握单片机的编程方法和应用技巧。

3. 能够独立完成单片机系统的设计和调试。

二、教学内容1. 单片机概述单片机的定义和发展历程单片机的结构和组成部分2. 单片机编程基础单片机的指令系统编程语言和开发工具程序结构和编程规范3. 单片机应用系统设计系统需求分析硬件选型和电路设计软件设计和编程4. 单片机系统调试与优化调试方法和工具常见问题和解决方案系统性能优化技巧5. 单片机应用案例解析温度控制器设计智能家居系统设计控制系统设计三、教学方法1. 讲授法:讲解单片机的基本概念、原理和编程方法。

2. 实践法:动手操作单片机开发板,进行编程和系统设计。

3. 案例分析法:分析实际应用案例,理解单片机的应用场景。

4. 讨论法:分组讨论,解决实际问题和难点。

四、教学资源1. 教材:单片机原理与应用2. 实验设备:单片机开发板、编程器、调试器等3. 软件工具:Keil、MPLAB等编程软件4. 在线资源:相关教程、案例和答疑论坛五、教学评价1. 平时成绩:考察学生的出勤、提问和讨论情况。

2. 实验报告:评估学生的实践操作能力和编程水平。

3. 课程设计:评价学生的系统设计和调试能力。

4. 期末考试:测试学生对单片机知识的掌握程度。

六、教学安排1. 课时:共计32课时,其中理论讲授16课时,实验操作16课时。

2. 教学计划:第1-4课时:单片机概述及结构原理第5-8课时:单片机编程基础第9-12课时:单片机应用系统设计第13-16课时:单片机系统调试与优化第17-20课时:单片机应用案例解析第21-24课时:实践操作与实验第25-28课时:课程设计第29-32课时:期末复习与考试七、教学重点与难点1. 教学重点:单片机的基本概念、结构和原理。

单片机的编程方法和应用技巧。

单片机系统的设计、调试与优化。

2. 教学难点:单片机指令系统的理解与应用。

硬件电路设计与故障排除。

单片机综合实验课程设计

单片机综合实验课程设计

单片机综合实验课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其内部结构及相关功能模块的使用方法。

2. 学生能掌握单片机编程的基本语法和技巧,能独立完成简单的程序设计。

3. 学生能了解单片机在现实生活中的应用,并学会分析实际案例。

技能目标:1. 学生能运用所学知识,完成单片机的基本操作和程序编写。

2. 学生能通过实验,学会使用相关开发工具和调试技巧,具备一定的故障排查能力。

3. 学生能运用单片机技术解决实际问题,提高创新实践能力。

情感态度价值观目标:1. 学生通过单片机综合实验课程,培养对电子信息科学的兴趣和热情。

2. 学生在团队协作中,学会沟通、分享和合作,提高解决问题的能力。

3. 学生能认识到单片机技术对社会发展的作用,树立正确的价值观和责任感。

课程性质:本课程为实践性课程,侧重于培养学生的动手能力和创新能力。

学生特点:学生已具备一定的单片机基础知识,对实际操作感兴趣,但编程能力和问题解决能力有待提高。

教学要求:结合学生特点,注重理论与实践相结合,强调动手实践和团队协作,提高学生的综合能力。

通过课程目标分解,使学生在知识、技能和情感态度价值观方面取得具体的学习成果,为后续教学设计和评估提供依据。

二、教学内容本课程教学内容主要包括以下几部分:1. 单片机基础理论:回顾单片机的基本原理、内部结构、工作原理等,重点讲解中断系统、定时器/计数器、串行通信等模块的功能和应用。

2. 单片机编程语言:以C语言为基础,介绍单片机编程的基本语法、数据类型、运算符、控制语句等,并通过实例进行讲解。

3. 单片机实验操作:结合教材章节,进行以下实验:- 基本输入输出实验:学习单片机I/O口控制,实现LED灯、蜂鸣器等设备的控制。

- 中断控制实验:掌握中断系统的使用,实现外部中断控制。

- 定时器/计数器实验:学习定时器/计数器的配置,完成定时控制等功能。

- 串行通信实验:了解串行通信原理,实现单片机之间的数据传输。

单片机课程设计报告

单片机课程设计报告

单片机课程设计实验报告设计题目:基于单片机的多功能综合应用系统的设计专业:电子信息工程班级:姓名:指导老师:目录第一章设计说明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键盘的输入功能。

单片机综合实训教案

单片机综合实训教案

单片机综合实训教案一、实训目的与要求1. 目的(1)了解单片机的基本原理和结构。

(2)掌握单片机的编程方法和应用技巧。

(3)培养动手能力和团队协作精神。

2. 要求(1)熟悉单片机的基本硬件组成。

(2)掌握单片机编程语言(如C语言、汇编语言等)。

(3)能够独立完成简单单片机程序的设计与调试。

二、实训内容与课时安排1. 实训内容(1)单片机硬件认识与搭建。

(2)单片机编程基础。

(3)单片机常见外设接口编程。

(4)单片机应用系统设计。

(5)综合实训项目。

2. 课时安排(1)单片机硬件认识与搭建:2课时。

(2)单片机编程基础:4课时。

(3)单片机常见外设接口编程:6课时。

(4)单片机应用系统设计:4课时。

(5)综合实训项目:8课时。

三、实训步骤与方法1. 实训步骤(1)单片机硬件认识与搭建:了解单片机的硬件组成,搭建实验平台。

(2)单片机编程基础:学习单片机编程语言,掌握基本编程技巧。

(3)单片机常见外设接口编程:学习并掌握常见外设接口(如LED、按键、串口等)的编程方法。

(4)单片机应用系统设计:结合实际项目,设计并实现一个完整的单片机应用系统。

(5)综合实训项目:完成一个综合性的实训项目,提高实际应用能力。

2. 实训方法(1)讲解与演示:教师讲解单片机相关知识,并进行现场演示。

(2)实践操作:学生动手进行实验,巩固所学知识。

(3)讨论与提问:学生之间互相讨论,解答疑问。

(4)项目实践:以小组为单位,完成综合性实训项目。

四、实训评价与考核1. 评价方式(1)平时表现:30%。

(2)实验报告:40%。

(3)综合实训项目:30%。

2. 考核标准(1)平时表现:参与课堂讨论、提问、实验操作等。

(2)实验报告:内容完整、分析深入、表达清晰。

(3)综合实训项目:项目完成度高、创新性强、实用性好。

五、教学资源与工具1. 教学资源(1)教材:单片机原理与应用。

(2)课件:单片机相关知识。

(3)实验器材:单片机开发板、编程器、实验器件等。

单片机实习报告3篇

单片机实习报告3篇

单片机实习报告单片机实习报告3篇随着人们自身素质提升,报告有着举足轻重的地位,报告具有成文事后性的特点。

相信很多朋友都对写报告感到非常苦恼吧,下面是小编帮大家整理的单片机实习报告3篇,希望对大家有所帮助。

单片机实习报告篇1一实习目的1. 通过对单片机小系统的设计、焊接、装配,掌握电路原理图及电子线路的基本焊接装配工艺、规范及注意事项;2. 通过对系统板的测试,了解系统板的工作原理及性能,掌握元器件及系统故障的排除方法;3. 掌握程序编制及调试方法,完成系统初始化、存储器操作、端口操作、键盘显示等程序的编制及调试(汇编语言、C语言均可);4. 通过单片机系统的组装,调试以及程序编制、调试及运行,与理论及实验的有机结合和指导教师的补充介绍,使学生掌握控制系统的工作原理、开发方法和操作方法。

5. 培养学生解决实际问题的能力,提高对理论知识的感性认识。

二实习意义通过本实习不但可以掌握单片机软、硬件的综合调试方法,而且可以熟练掌握电路原理图,激发对单片机智能性的探索精神,提高学生的综合素质,培养学生应用单片机实现对工业控制系统的设计、开发与调试的能力。

在制作学习过程中,不但可以掌握软、硬件的综合调试方法,而且可以使学生对单片机智能性产生强烈的欲望。

达到最大限度地掌握微机应用技术,软件及接口设计和数据采集与处理的技能,培养电综合实践素质的目的。

三系统基本组成及工作原理1 系统基本组成系统以单片机STC89C52作为控制核心,各部分基本组成框图如图1所示。

流水灯部分由单片机、键盘模块等组成;四位数码显示,编程实现30秒倒计时部分由单片机、键盘模块、液晶显示模块等组成;按键功能部分通过按键控制流水灯部分、四位数码显示部分;电子钟部分由单片机、键盘模块、液晶显示模块等组成;使用功能键实现相应的功能组合部分通过流水灯部分、30秒倒计时部分实现;模数转换部分由单片机、ADC0809转换模块、键盘模块、液晶显示模块等组成。

单片机自动测试设计实验 课程实验报告

单片机自动测试设计实验    课程实验报告

西安电子科技大学单片机自动测试设计实验课程实验报告实验名称输出口实验机电工程学院学院班Array姓名学号同作者实验日期 2020 年月日输出口实验一、实验目的:(1)学习Keil软件的使用(2)学习P1口的使用方法。

(3)学习软件延时函数的编写。

二、实验原理1、Pl口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。

2、本实验中延时函数采用指令循环来实现,机器周期(系统晶振12MHz)*指令所需机器周期数*循环次数,在系统时间允许的情况下可以采用此方法。

三、实验仪器1.计算机2.单片机系统和仿真机3.Keil uVision2调试软件四、实验步骤1)设置:关闭实验仪电源,MON51K卡上跳线帽分别短接至MON、片内、FOSC;系统设置(JF)→总线(598),JK→系统,KB6→59(单“51”无此项);2)接线:☞ P1.0~P1.7→L1~L8。

☞实验箱主板CZ1/USB口→电脑串口/USB口。

3)运行:开启实验仪电源,双击“Keil uVision2”图标启动keil软件,选择通信端口、硬件仿真,编程、编译下载、开始调试,全速运行程序后,观察L1…L8流水灯循环。

五、实验内容:1.P1输出口接八只发光二极管,编写程序,使发光二极管循环点亮。

2.实现状态指示灯的驱动3.按照实验要求编写控制程序,进行在线调试,并进一步修改完善,最终完成可按一定0.1S的时间顺序依次点亮发光二极管的控制程序。

(要求写出程序)六、实验结果七、思考题如何修改程序,使发光二极管的移位方向改变;若使发光二极管的延迟时间发生变化,如何修改程序。

八、按要求写出实验报告编写实验报告规范:实验名称、目的、内容、原理、设备及仪表(名称、规格、型号)、实验装置或连接示意图、实验步骤、实验记录、数据处理(或原理论证、或实验现象描述、或结构说明等)。

西安电子科技大学单片机自动测试设计实验课程实验报告实验名称输出口扩展实验机电工程学院学院班Array姓名学号同作者实验日期 2020 年月日一、实验目的:(1)了解教学实验系统的结构(2)学习单片机系统中扩展简单I/O口的方法。

单片机C51程序设计实验报告书(word文档良心出品)

单片机C51程序设计实验报告书(word文档良心出品)

实验一并行输入输出口的使用一、实验目的:学会设计proteus 7仿真电路,学习P1口的使用方法和延时子程序的编写用Keil uVision 3编程实现发光二极管的流水点亮。

二、实验原理:P1口为8位准双向I/O口,它的每一位都可以分别定义为输入线或输出线(作为输入时,口锁存器必须置1)。

P1口作为输出,接8个发光二极管D1~D8经限流电阻分别接至8个引脚。

本实验仿真电路图、流程图如下:三、实验代码:#include<reg51.h>#include<intrins.h> //移位库函数包含于此头文件中void delay(unsigned int d) //定义延时子函数{ while(--d>0);}void main(){ unsigned char i,sel;while(1){ sel=0xfe;for(i=0;i<=8;i++){ P1=sel; //显示变量赋给P1口delay(50000); //延时sel=_crol_(sel,1); //改变显示变量}}}四、实验结论:用while语句实现发光二极管循环流水点亮,从上到下一次点亮。

实验二C51分支程序设计一、实验目的:学习多分支选择结构和switch语句,了解循环的嵌套。

二、实验原理:do while 循环先执行后判断是否循环,switch括号中的表达式的值与某case后的常量表达式的值相同时,就执行它后面的语句,遇到break语句则退出switch语句。

本实验仿真电路图、流程图如下:(仿真电路图)(流程图)三、实验代码:#include <reg51.h>void main(){ char a;do{ P1=0xff;a=P1;a=a&0x03;switch(a){ case 0:P2=0x0e;break;case 1:P2=0x0d;break;case 2:P2=0x0b;break;case 3:P2=0x07;break;}}while(1);}四、实验结论:多分支选择的switch/case语句,可直接处理并行多分支选择问题,从匹配表达式的括号开始执行,不再进行判断。

基于Proteus的单片机综合实验仿真平台设计

基于Proteus的单片机综合实验仿真平台设计

基于Proteus的单片机综合实验仿真平台设计基于Proteus的单片机综合实验仿真平台设计一、引言单片机在嵌入式系统中起着非常重要的作用,它能够完成各种各样的控制任务。

为了验证程序在实际硬件上的可行性,需要进行实验验证。

然而,传统的硬件实验需要大量的时间和资源,而且存在许多困难,如硬件组件的购买和组装、故障排除等。

因此,开发一种基于仿真的单片机实验平台对于提高学生和工程师们的实验效率和能力具有重要意义。

二、综合实验仿真平台设计基于Proteus的综合实验仿真平台整体设计如下图所示:1. 系统架构综合实验仿真平台主要由三个模块构成:上位机、仿真器和实验控制模块。

上位机负责程序设计、仿真设置和结果显示;仿真器负责仿真各种外设;实验控制模块提供与示波器、信号源、电压表等外部设备的接口,并负责控制这些设备的动作。

2. 上位机模块上位机模块提供了一个用户友好的图形界面,使用户可以方便地编写和调试单片机程序。

用户可以编写程序并通过仿真器加载到仿真模块中进行仿真。

上位机模块还提供了一个仿真设置界面,用户可以设置仿真时钟频率、在仿真模块中加载外设模块等。

最后,上位机模块还可以显示仿真的结果,如波形图、寄存器状态和程序输出等。

3. 仿真器模块仿真器模块是整个平台的核心部分,它负责加载用户编写的程序,并对程序进行仿真和调试。

仿真器模块通过解析程序指令,模拟单片机的工作过程,包括指令执行、数据传输和外设控制等。

仿真器模块能够提供准确的仿真结果,并支持动态调试,如单步执行、断点设置和变量跟踪等。

4. 实验控制模块实验控制模块负责与外部设备进行通信和控制。

它提供了与示波器、信号源、电压表等设备的接口,并能够通过命令控制这些设备的动作。

实验控制模块还可以检测外设的反馈信息,并将其显示在上位机的界面上。

三、功能与特点基于Proteus的综合实验仿真平台具有以下功能和特点:1. 真实性:平台能够准确模拟真实硬件环境,包括单片机的指令集和外设的工作原理。

单片机交通灯综合实验报告

单片机交通灯综合实验报告

单片机交通灯综合实验报告河北工业大学实验报告学院:专业:班级:姓名:学号:实验课程:单片机应用系统设计开发入门指导教师:实验名称:交通信号灯控制实验实验时间:2021 年5月23 日2021 年5 月23 日一实验要求1实验目的及实验内容要求实验目的:1.熟悉外部中断源的扩展方法。

2.初步掌握单片机综合应用系统设计。

3.掌握用Proteus 调试汇编源程序的方法。

实验内容要求:用发光二极管模拟交通信号灯,用逻辑电平开关模拟控制开关,设计一个交通信号灯控制系统。

设计要求如下:(1) A 车道与B 车道交叉组成十字路口,A 是主道,B 是支道;正常情况下,A、B 两车道轮流放行。

具体放行时间和要求如下:(2) A 车道放行50s,其中绿灯常亮44s,绿灯闪烁3s(用于警告),黄灯常亮3s(用于警告)。

(3) B 车道放行30s,其中绿灯常亮24s,绿灯闪烁3s(用于警告),黄灯常亮3s(用于警告)。

在交通繁忙时,交通信号灯控制系统应有手控开关,可人为地改变信号灯的状态,以缓解交通拥挤状况。

控制要求如下:(1) 在B 车道放行期间,若A 车道有车而B 车道无车,按下开关使A 车道放行15s。

(2) 在A 车道放行期间,若B 车道有车而A 车道无车,按下开关使B 车道放行15s。

(3) 有紧急车辆通过时,按下开关使A、B 车道均为红灯,禁行15s。

2实验设备或运行软件平台完成本实验需要使用到单片机仿真软件Proteus8,该软件是英国Lab Center Electronics 公司出版的EDA 工具软件,是目前比较好的仿真单片机及外围器件的工具。

从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB 设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台。

在编译方面,它也支持IAR、Keil、MATLAB 等多种编译器。

其具有的基本功能特点为:1.原理布图。

单片机实训报告总结

单片机实训报告总结

单片机实训报告总结篇一:51单片机实训报告“51单片机”精简开发板的组装及调试实训报告为期一周的单片机实习已经结束了。

通过此次实训,让我们掌握了单片机基本原理的基础、单片机的编程知识以及初步掌握单片机应用系统开发实用技术,了解“51”单片机精简开发板的焊接方法。

同时培养我们理论与实践相结合的能力,提高分析问题和解决问题的能力,增强学生独立工作能力;培养了我们团结合作、共同探讨、共同前进的精神与严谨的科学作风。

此次实训主要有以下几个方面:一、实训目的1.了解“51”精简开发板的工作原理及其结构。

2.了解复杂电子产品生产制造的全过程。

3.熟练掌握电子元器件的焊接方法及技巧,训练动手能力,培养工程实践概念。

4.能运用51单片机进行简单的单片机应用系统的硬件设计。

5.掌握单片机应用系统的硬件、软件调试方法二、实验原理流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。

它的电气性能指标:输入电压:~6V,典型值为5V。

可用干电池组供电,也可用直流稳压电源供电。

如图所示:本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。

三、硬件组成1、晶振电路部分单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信。

他是由一个晶振和两个瓷片电容组成的,x1和x2分别接单片机的x1和x2,晶振的瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。

2、复位端、复位电路给单片机一个复位信号(一个一定时间的低电平)使程序从头开始执行;一般有两中复位方式:上电复位,在系统一上电时利用电容两端电压不能突变的原理给系统一个短时的低电平;手动复位,同过按钮接通低电平给系统复位,时如果手按着一直不放,系统将一直复位,不能正常。

单片机实验报告

单片机实验报告

单⽚机实验报告单⽚机原理及接⼝技术实验报告班级学号:姓名:实验⼀P1⼝输⼊输出实验与P1、P3⼝输⼊输出实验⼀、实验⽬的及任务学习P1、P3⼝的使⽤⽅法,熟练HICE单⽚机试验系统的操作步骤。

⼆、实验总体设计本实验分为两部分:P1⼝和P1、P3⼝输⼊输出实验。

1、P1⼝是⼀个准双向⼝,外接⼋个发光⼆极管,连续运⾏程序,发光⼆极管循环点亮2、P3⼝作为输⼊读取开关状态,P1⼝作为输出⼝,连续运⾏程序,发光⼆级管显⽰开关状态。

3、设计思路如下:(1)、开始——>P1⼝初始化——>点亮⼀位发光⼆极管——>右移⼀位——>循环;(2)、开始——>初始化——>P3⼝开关状态送到P1⼝——>驱动发光⼆极管——>延时三、试验程序框图及实验电路(实验电路及连线详见附录)四、软件设计⼀、P1⼝输⼊输出程序代码:#inc lud e#def ine uc har un sig ned ch ar#def ine ui nt uns ign ed intucha r r rc(uch ar a,n);ucha r r rc(uch ar a,n) //循环右移⼦程序{ucha r b,c;b=a<<(8-n);c=a>>n;a=c|b;retu rn(a);}void ma in(){ucha r i,te mp;uint j;P1=0xff;loop:temp=0x7f;for(i=0;i<8;i++){P1=r rc(tem p,i);for(j=0;j<30000;j++);//延时}}⼆、和P1、P3⼝输⼊输出实验。

#i ncl ude#def ine uc har un sig ned ch ar#def ine ui nt uns ign ed intvoid ma in(){uint j;loop:P1=0XFF;P1=P3;//读取P3⼝状态送P1⼝for(j=0;j<5000;j++);//延时goto lo op;}五、硬件设计1、仿真模式设置:8752模式,仿真存储器模式选择:内程序存储器外数据存储器;2、仿真器P3.6/P3.7短路块设置在WR/RD状态(见仿真器说明书跳线设置)。

51单片机综合实验报告

51单片机综合实验报告

《单片机原理与接口技术》综合实验报告实验题目:基于单片机的电子日历、数字温度计、音乐播放器学院:电子信息学院专业:12 电子信息工程实验者:潘安乐学号: 1 2 2 8 4 0 1 0 1 0前言21世纪是信息时代,电子技术发展日新月异,在电子信息发展迅猛的年代,我们不仅要掌握8051系列单片机的C语言编程,而且要掌握好按键、LCD、USB 等程序的编写,要知道几乎每一样单片机系统都要与他们打交道的。

并且单片机作为一种经典的微控制器,其技术已经涉及到我们生活、工作、科研,各个领域,已经成为一种比较成熟的技术,作为电子专业的学生,我们学习了单片机,就要将其应用到自己的日常生活中来。

电子日历:在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响,随着社会、科技的发展,人类得知时间,从观太阳、摆钟到现在电子钟,不断研究、创新。

为了在观测时间的同时,能够了解其它与人类密切相关的信息,比如星期、日期等,于是电子万年历诞生了,它集时间、日期、星期等功能于一身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电子仪器仪表的发展趋势。

对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒等信息,还具有时间校准等功能。

数字温度计:在科学技术不断发展的今天,温度的检测.控制应用于许多行业,随着电子行业的发展,数字仪表反应快,操作简单,对环境要求不高的优点,市场上逐渐出现越来越多的数字式温度计。

实践表明,低功耗高精度的便携式数字式温度计使用方便,工作稳定,待机时间长,具有广阔的应用前景,本实验所采用的DS18B20可以很好的转换温度值,并且直接显示温度值,它的性能优于传统的感温元件并且省去了A\D、和模拟开关的设计。

数字音乐播放器:本文设计的数字音乐播放器是以单片机为核心元件的数字音乐播放器。

单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点。

单片机综合设计实验

单片机综合设计实验

单片机综合设计实验一、实验目的通过单片机的综合设计实验,加深对单片机原理和应用的理解,练习使用单片机进行控制和数据处理的能力。

二、实验内容设计一个模拟温度控制系统,要求能够通过单片机读取温度传感器的温度值,并根据设定的目标温度进行判断和控制,使得温度值稳定在目标温度附近。

即实现一个简单的闭环温度控制系统。

三、实验器材1.单片机:使用8051单片机2.温度传感器:使用LM35温度传感器3.显示器:使用数码管显示器4.控制器:使用电热器作为温度控制的对象,通过控制电热器的加热时间和加热功率来控制温度四、实验步骤1.连接电路将LM35温度传感器与单片机相连接,使得单片机能够读取到温度传感器的模拟信号。

将单片机与数码管显示器以及电热器相连接,使得单片机能够通过数码管显示温度值,并能够控制电热器的加热时间和加热功率。

2.编写程序根据实验要求,设计一个闭环温度控制系统的程序。

通过单片机读取温度传感器的温度值,并与设定的目标温度进行比较,根据比较结果控制电热器的加热时间和加热功率。

同时,将温度值通过数码管进行显示,使得操作人员能够实时监控温度的变化。

3.调试验证五、实验结果经过调试验证,实验结果表明设计的温度控制系统能够达到预期的效果。

单片机能够准确读取温度传感器的温度值,并根据设定的目标温度进行判断和控制,使得温度能够稳定在目标温度附近。

六、实验总结通过这次单片机综合设计实验,我对单片机的原理和应用有了更深入的理解。

通过实际操作和编程,我学会了如何连接温度传感器和数码管显示器,以及如何通过单片机对温度进行控制和显示。

同时,我还锻炼了解决问题和调试的能力,提高了实际应用技能。

这次实验不仅提供了实践的机会,也巩固了我对单片机的相关知识,为今后的学习和应用打下了坚实的基础。

单片机设计实验心得体会(3篇)

单片机设计实验心得体会(3篇)

单片机设计实验心得体会(3篇)单片机设计试验心得体会1这是我第一次做单片机试验,说起来有一些紧急和新颖。

在此之前我并没有接触过单片机,我本以为与之前的光学试验及其它试验差不多,可我进到试验室之后,我就转变了这个看法。

单片机试验要求的是一种思维的创新,而不是简洁的重复老师所说的试验步骤。

因此第一次试验,试验老师向我们讲解了CVAVR编译器的大体状况及使用方法和技巧,并简洁的向我们示例——如何在CVAVR中编写一段程序。

编完程序之后,知道我们如何使用AVRStudio 到达将编好的程序输入到单片机中来使其运行。

之后老师让我们以组为单位合作编写一段程序,并使其运行。

我们组想要编写一个跑马灯的程序。

在第一次运行CVAVR时,我们组就遇到了一个麻烦,我们在建立一个新project文件那里消失了错误。

在保存这个新project文件的时候,我们单击了Save,而不是Generate,SaveandExit。

因此它弹不出我们我们所需要的源程序。

之后我们通过询问其他人解决了这个问题。

在编程中,我们开头做的是两盏灯的交替闪耀,间隔时间是1000ms。

在运用AVRStudio的时候,我们又犯了一个错误。

在我们打开编译好的工程文件时,开头调试,在最终一步点击Finish时,弹出一对话框,问我们是否更新,然后我们单击了Yes。

这导致了仿真器无法下次使用。

这是由于试验室中的仿真器是盗版的,无法进行更新。

经过我们的不断努力,我们最终实现了简洁的跑马灯的运行,便是两个灯地交替闪耀。

我们感到兴奋极了。

但是我们并没有满意于当前,我们又编写了三个灯地交替闪耀,四个及多个。

当我们一步步实现我们的目的时,我得到莫大成就感和自信。

在这次试验中,我体会到了合作的重要性。

一个人也可能实现这一系列的过程,但是要花费许多精力和时间。

群策群力,分工明确,可以使我们更好、更快地完成我们的工作。

在此期间,你可以更好知道自己的缺乏和缺陷,来得到改正。

还可以知道自己的优势所在,把握好自己的优势。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

大连理工大学本科设计报告题目:基于PCF8563的时钟系统设计课程名称:学院(系):专业:班级:学号:学生姓名:成绩:2014 年7 月10 日题目:基于PCF8563的时钟系统设计1 设计要求实验要求:(1)显示两位小时、两位分钟和两位秒参数,相互之间有分隔符号;(2)按住KEY1可显示四位年、两位月、两位日;(3)具备整点报时功能(模拟广播电台的整点报时从59分55秒开始,每一秒驱动蜂鸣器一次,其中前5次为低频,00秒时为高频驱动);(4)具备键盘修改时间功能。

可修改小时、分钟和秒参数;(5)修改时间时具备“回显”功能,以方便观察;(6)输入时间参数时应具有“自动纠错”功能,以免错误数据的输入;(7)在修改时间参数时具备“参数闪烁”功能,是操作更人性化;2 设计分析及系统方案设计(1)主程序算法描述主程序中定义端口名称、围器件读写地址增强程序的可读性。

设置中断服务程序入口地址,将硬件电路连接与之对应。

INT_RCTDUI对应INT_0中断服务程序,INT_7290对应INT1的中断服务程序。

开始时先对硬件电路进行复位操作。

然后设定PCF8563T的时间和命令参数存放在单片机内部的10H~1DH单元,将其写入到8563的00H~0DH单元。

使总的中断使能端有效,开INT0和INT1中断,使触发极性为下降沿。

等待中断的到来。

(2)INT_RCT中断子程序算法描述调读数据子程序,将读出的8563中02H~08H单元的内容存放于单片机内部20H~26H单元。

判断时、分的数值,当时间在**-59-55至**-59-59时调用低频蜂鸣器BUZZL,当时间为**-00-00时调用高频蜂鸣器BUZZH。

实现整点报时。

调整时间,将20H-26H单元中内容拆分查表后送到28H~2FH (年,月,日)和38H~3FH(时,分,秒)。

使P1.2控制显示内容,当P1.2=1时,显示时,分,秒;当P1.2=0时,显示年,月,日。

(3)蜂鸣器发声子程序(BUZZL和BUZZH)设置初始值使BUZZL发声频率为500HZ,BUZZH发声频率为1500HZ。

(4)键盘修改子程序读入进入中断前的数据,将8563的20H单元内容送入单片机内部12H单元(秒);21H单元内容送入单片机内部13H单元(分);22H单元内容送入单片机内部14H单元(时)便于修改后显示。

读入输入的键值为0AH时,为A键修改小时参数。

设置小时的十位闪烁命令等待按键操作,读入键值判断是否超过三,超过则报警且要求重新输入。

输入正确时回显,设置小时的个位闪烁命令等待按键操作,读入键值判断个位不超过9,然后判断小时整个数是否小于24。

分和秒的设置与小时类似,不同的是十位不能超过5个位不能超过9。

(5)闪烁子程序设置入口闪烁参数单元值3 系统电路图4 外围接口模块硬件电路功能描述5 主程序中主要变量定义6 系统软件中各个子程序的功能描述8 程序清单SDA BIT P1.0SCL BIT P1.1WSLA_8563 EQU 0A2H ;PCF8563T口地址RSLA_8563 EQU 0A3HWSLA_7290 EQU 70H ;ZLG7290B口地址RSLA_7290 EQU 71HORG 8000HLJMP 8040HORG 8003HLJMP INT_RCTORG 8013HLJMP INT_7290ORG 8040HSTART: MOV SP,#60HCLR P1.7 ;ZLG7290复位LCALL DELAYSETB P1.7;**************************************** ;设定pdf8563tde时间和命令参数(参数和控制命令缓冲区10H-1DH);**************************************** MOV 10H,#00H ;启动控制字MOV 11H,#1FH ;设置报警及定时器中断MOV 12H,#50H ;秒单元MOV 13H,#59H ;分单元MOV 14H,#08H ;小时单元MOV 15H,#01H ;日期单元MOV 16H,#01H ;星期单元MOV 17H,#01H ;月单元MOV 18H,#10H ;年单元MOV 19H,#00H ;设定分报警MOV 1AH,#00H ;设定小时报警MOV 1BH,#00H ;设定日报警MOV 1CH,#00H ;设定星期报警MOV 1DH,#83H ;设定CLKOUT的频率,1秒周期方波MOV R7,#0EH ;写入参数个数MOV R0,#10H ;参数与控制命令缓冲区首地址MOV R2,#00H ;从器件内部子地址MOV R3,#WSLA_8563;准备向PCF8563T 写入数据串LCALL WRNBYT ;写入时间,控制命令到PCF8563TSETB EA ;启动总中断SETB EX0 ;启动INT_RCT(INT_0)SETB IT0 ;定时器0下降沿有效SETB EX1 ;启动INT_7290(INT_7290)SETB IT1 ;定时器1下降沿有效SJMP $ ;等待中断;**************************************** ;中断服务子程序INT_RCT;**************************************** INT_RCT:MOV R7,#07H ;数据块字节数MOV R0,#20H ;内部数据块首地址MOV R2,#02H ;内部寄存器首地址MOV R3,#WSLA_8563;向8563写地址MOV R4,#RSLA_8563;从8563读地址LCALL RDADD ;调读数据子程序,将读出的数据存放于单片机20H-26H中MOV A,21H ;判断是否为59分CJNE A,#59H,NEXT1MOV A,20H ;判断是否为55秒CJNE A,#55H,NEXT2LCALL BUZZLSJMP NEXTNEXT2: CJNE A,#56H,NEXT3LCALL BUZZLSJMP NEXTNEXT3: CJNE A,#57H,NEXT4LCALL BUZZLSJMP NEXTNEXT4: CJNE A,#58H,NEXT5LCALL BUZZLSJMP NEXTNEXT5: CJNE A,#59H,NEXTLCALL BUZZLSJMP NEXTNEXT1: CJNE A,#00H,NEXTMOV A,20HCJNE A,#00H,NEXTLCALL BUZZHNEXT: LCALL ADJUST ;调时间调整子程序LCALL CHAIFEN ;调拆分子程序,将20H-26H中的参数分别存28H-2FH,38H-3FH中MOV R7,#08HMOV R2,#10HMOV R3,#WSLA_7290JNB P1.2,YEARS ;使用P1.2控制显示内容MOV R0,#38H ;显示时分秒SJMP DISPYEARS: MOV R0,#28H ;显示年月日DISP: LCALL WRNBYT ;调7290显示子程序JNB P3.2,$RETI;**************************************** ;BUZZ;**************************************** BUZZL: PUSH 07HMOV TMOD,#01H ;方式1MOV TL0,#66H ;低频500HZMOV TH0,#0FCHMOV R7,#50SETB TR0LOOPL: JNB TF0,$CLR TF0MOV TL0,#66HMOV TH0,#0FCHCPL P3.4 ;驱动蜂鸣器DJNZ R7,LOOPLSETB P3.4POP 07HRETBUZZH: PUSH 07HMOV TMOD,#01HMOV TL0,#0CDH ;高频1500HZMOV TH0,#0FEHMOV R7,#100SETB TR0LOOPH: JNB TF0,$CLR TF0MOV TL0,#0CDHMOV TH0,#0FEHCPL P3.4 ;驱动蜂鸣器DJNZ R7,LOOPHSETB P3.4POP 07HRET;**************************************** ;键盘修改中断服务程序INT_7290;**************************************** INT_7290:PUSH 00HPUSH 02HPUSH 03HPUSH 04HPUSH 07HPUSH ACCPUSH PSWMOV R7,#07H ;写入参数个数MOV R0,#20H ;参数和控制命令缓冲区首地址MOV R2,#02H ;从器件内部从地址MOV R3,#WSLA_8563;准备向8563写入数据串MOV R4,#RSLA_8563;准备从8563读取数据串LCALL RDADDMOV 12H,20H ;写入秒单元MOV 13H,21H ;写入分单元MOV 14H,22H ;写入时单元RE: JB P3.3,$ ;以查询方式等待下一次按键LCALL RDKEY ;读取键值CJNE A,#0AH,BKEY;判断是否为A键AKEY: MOV 51H,#80HLCALL FLASHJB P3.3,$LCALL RDKEYCJNE A,#03H,HOUR1;判断键入的数是否满足小时十位的要求HOUR1: JNC ERROR1;若键值大于2,则报错SW AP A;将键值处理成小时数据的十位ANL 14H,#0FHORL 14H,A ;小时数据的十位生成LCALL WR8563 ;写入8563LCALL CF ;拆分,查表,R4(H),R3(L) MOV 3FH,R4 ;回显MOV R7,#01HMOV R0,#3FHMOV R2,#17HMOV R3,#WSLA_7290LCALL WRNBYTLJMP HOUR2ERROR1: LCALL BUZZH;报错,返回重新键入LJMP AKEYHOUR2: MOV 51H,#40HLCALL FLASHJB P3.3,$LCALL RDKEYCJNE A,#0AH,STEP1;判断键值是否满足小时个位的要求(小于10)STEP1:JNC ERROR2ANL 14H,#0F0HORL 14H,AMOV A,14HCJNE A,#24H,JJJ;判断小时的值是否满足要求(小于24)JJJ: JNC ERROR2LCALL WR8563LCALL CF ;拆分,查表,R4(H),R3(L) MOV 3EH,R3 ;回显MOV R7,#01HMOV R0,#3EHMOV R2,#16HMOV R3,#WSLA_7290LCALL WRNBYTMOV 51H,#00H ;停止闪烁LCALL FLASHLJMP DOWNERROR2: LCALL BUZZHLJMP HOUR2BKEY: CJNE A,#0BH,CKEYMOV 51H,#10HLCALL FLASHJB P3.3,$LCALL RDKEYCJNE A,#06H,MIN1MIN1: JNC ERROR3SWAP AANL 13H,#0FHORL 13H,ALCALL WR8563LCALL CF ;拆分,查表,R4(H),R3(L) MOV 3CH,R4 ;回显MOV R7,#01HMOV R0,#3CHMOV R2,#14HMOV R3,#WSLA_7290LCALL WRNBYTLJMP MIN2ERROR3: LCALL BUZZHLJMP BKEYMIN2: MOV 51H,#08HLCALL FLASHJB P3.3,$LCALL RDKEYCJNE A,#0AH,STEP2STEP2: JNC ERROR4ANL 13H,#0F0HORL 13H,ALCALL WR8563LCALL CF ;拆分,查表,R4(H),R3(L) MOV 3BH,R3 ;回显MOV R7,#01HMOV R0,#3BHMOV R2,#13HMOV R3,#WSLA_7290LCALL WRNBYTMOV 51H,#00HLCALL FLASHLJMP DOWNERROR4: LCALL BUZZHLJMP MIN2CKEY: CJNE A,#0CH,ERRORMOV 51H,#02HLCALL FLASHJB P3.3,$LCALL RDKEYCJNE A,#06H,SEC1SEC1: JNC ERROR5SWAP AANL 12H,#0FHORL 12H,ALCALL WR8563LCALL CF ;拆分,查表,R4(H),R3(L) MOV 39H,R4 ;回显MOV R7,#01HMOV R0,#39HMOV R2,#11HMOV R3,#WSLA_7290LCALL WRNBYTLJMP SEC2ERROR5: LCALL BUZZHLJMP CKEYSEC2: MOV 51H,#01HLCALL FLASHJB P3.3,$LCALL RDKEYCJNE A,#0AH,STEP3STEP3: JNC ERROR6ANL 12H,#0F0HORL 12H,ALCALL WR8563LCALL CF ;拆分,查表,R4(H),R3(L) MOV 38H,R3 ;回显MOV R7,#01HMOV R0,#38HMOV R2,#10HMOV R3,#WSLA_7290LCALL WRNBYTMOV 51H,#00HLCALL FLASHLJMP DOWNERROR6: LCALL BUZZHLJMP SEC2ERROR: LCALL BUZZH ;若键入数不为A、B、C中的一个,则报错LCALL DELAYLCALL BUZZLDOWN: CLR IE1CLR IE0POP PSWPOP ACCPOP 07HPOP 04HPOP 03HPOP 02HPOP 00HRETI;**************************************** ;读键值子程序(出口参数累加器A——获取到的键值);**************************************** RDKEY: MOV R0,#1FHMOV R7,#01HMOV R2,#01HMOV R3,#WSLA_7290MOV R4,#RSLA_7290LCALL RDADDMOV A,1FHDEC ARET;**************************************** ;向日历芯片写入时间参数子程序;将RAM的10H-1DH中的时间参数(含控制字)写入芯片的00H-0DH单元;**************************************** WR8563: MOV R7,#0EHMOV R0,#10HMOV R2,#00HMOV R3,#WSLA_8563LCALL WRNBYTRET;**************************************** ;闪烁子程序;**************************************** FLASH: PUSH 00HPUSH 02HPUSH 03HPUSH 07HMOV 50H,#70HMOV R7,#02HMOV R0,#50HMOV R2,#07HMOV R3,#WSLA_7290LCALL WRNBYTPOP 07HPOP 03HPOP 02HPOP 00HRET;**************************************** ;各子程序;**************************************** CHAIFEN:PUSH PSWPUSH ACCPUSH 03HPUSH 04HMOV A,20HLCALL CFMOV 38H,R3MOV 39H,R4MOV 3AH,#02HMOV A,21HLCALL CFMOV 3BH,R3MOV 3CH,R4MOV 3DH,#02HMOV A,22HLCALL CFMOV 3EH,R3MOV 3FH,R4MOV A,23HLCALL CFMOV A,R3ORL A,#01HMOV R3,AMOV 28H,R3MOV 29H,R4MOV A,25HLCALL CFMOV A,R3ORL A,#01HMOV R3,AMOV 2AH,R3MOV 2BH,R4MOV A,26HLCALL CFMOV A,R3ORL A,#01HMOV R3,AMOV 2CH,R3MOV 2DH,R4MOV 2EH,#0FCHMOV 2FH,#0DAHPOP 04HPOP 03HPOP ACCPOP PSWRETCF: PUSH 02HPUSH DPHPUSH DPLMOV DPTR,#LEDSEGMOV R2,AANL A,#0FHMOVC A,@A+DPTRMOV R3,AMOV A,R2SWAP AANL A,#0FHMOVC A,@A+DPTRMOV R4,APOP DPLPOP DPHPOP 02HRETLEDSEG:DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E4H DB0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH;**************************************** ;将20H-26H中从PCF8563T中读出的7个字节参数的无关位屏蔽掉;**************************************** ADJUST: PUSH ACCMOV A,20HANL A,#7FHMOV 20H,AMOV A,21HANL A,#7FHMOV 21H,AMOV A,22HANL A,#3FHMOV 22H,AMOV A,23HANL A,#3FHMOV 23H,AMOV A,24HANL A,#07HMOV 24H,AMOV A,25HANL A,#1FHMOV 25H,APOP ACCRET;****************************************;延时子程序;**************************************** DELAY: PUSH 00HPUSH 01HMOV R0,#00HDELAY1: MOV R1,#01HDJNZ R1,$DJNZ R0,DELAY1POP 01HPOP 00HRET;****************************************;I2C子程序;**************************************** END- 6 -9 系统调试运行结果说明、分析所出现得问题,设计体会与建议硬件环境:DP-51PROC单片机综合仿真实验台,TKSMonitor51仿真器。

相关文档
最新文档