单片机大作业
- 格式:docx
- 大小:208.83 KB
- 文档页数:16
姓名:滕建国班级:2010045201 学号:201004520105 一、九题目:设(70H)=60H,(60H)=20H.P1口为输入口,当输入状态为B7H,执行下面程序。
Mov R0,#70H MOV A,@R0 MOV R1,A MOV B,@R1 MOV P1,#0FFH MOV @R0,P1试分析(70H)﹑(B)﹑(R1)﹑(R0)的内容是什么。
答案:(70H)=0 (B)=20H (R1)=60H (R0)=0十题:试分析下列程序的功能。
CLR AMOV R2,AMOV R7,#4 LOOP:CLR CMOV A,R0RLC AMOV R0,AMOV A,R1 RLC AMOV R1,A MOV A,R2 RLC AMOV R2,A DJNZ R7,LOOP答案:把R0 R1 R4的内容代进位左移4位。
姓名:滕建国班级:2010045201 学号:201004520105 二﹑十二的题目:分析以下程序段,何时转向LABEL1?何时转向LABEL2?MOV A,R0CPL AJZ LABEL1INC AJZ LABEL2答案:(P0=0 时转向LABEL1 (P0+1=0时转向LABEL2 十三的题目:有4个变量U﹑V﹑W﹑X分别从P1.0~P1.3输入阅读如下程序,写出逻辑表达式并画出逻辑电路图。
MOV P1,#0FFH MOV C,P1.0 ANL C,P1.1 CPL C MOV ACC.0.C MOV C,P1.2 ORL C,ACC.0 MOV F,C题目:逻辑表达式:P(1.0) *P(1.1)+[P(1.2)+P(1.3)]姓名:滕建国班级:2010045201 学号:201004520105 三﹑十四的题目:若(R1)=30H, (A)=40H,(30H)=60H,(40H)=08H.试分析执行下列程序段后上述各单元内容的变化。
MOV A,@R1MOV @R1,40HMOV 40H,AMOV R1,#7F答案:A=60H R1=08H (40H)=60H R1=7FH十九的题目:若CY=1,P1=10100011,P3=01101100B.试指出执行下列程序段后,CY﹑P1口及P3口内容的变化情况。
江苏开放大学形成性考核作业学号姓名课程代码110049课程名称单片机应用技术评阅教师第 4 次任务共 4 次任务江苏开放大学单片机应用技术课程第4次形考作业—单片机大作业作业说明:第4次形考作业是单片机大作业报告,对应第11单元的学习内容。
是对整个单片机课程学习的检验。
完成日期评语得分评阅时间评阅教师【单片机大作业要求】学习第11单元,阅读单片机大作业内容与指导,根据给出的5个课题,任意选择1个课题,学习对应的课题课件,根据指导完成实践环节:使用Proteus软件和Keil软件完成上机仿真调试运行。
参考大作业报告案例,完成单片机大作业报告。
直接截图PPT或讲义上的图和程序不算完成,抄袭截图或PS姓名不得分。
(纸上完成内容要求手写签名,软件完成内容要求电子签名)单片机大作业报告1.写出所选课题名称和设计内容(只能在5个课题中选择1个)。
(20分)【作答结果】所选课题名称:工作指示灯设计内容:设计一个亮1s,灭1s的工作指示灯。
用定时/计数器构成LED灯控制器,在P1.0脚输出周期为2s的方波,即实现LED灯循环亮1s,灭1s。
2.在纸上画出所选课题的原理图并手写签名,拍照上传。
(30分)【作答结果】3.写出源程序。
可截图Keil中源程序(有电子签名)。
也可以将源程序写在纸上并手写签名,拍照上传。
(20分)【作答结果】4.根据原理图,用Proteus制作电路图,图上又有电子签名,全屏截图上传。
(15分)【作答结果】5.Proteus仿真调试结果截图,电子签名与4相同。
(15分)。
【作答结果】。
须知:1. 大作业的所有题目都应在PROTEUS 7.5(注意:只能使用7.5版本)仿真环境下运行通过。
2. 要求:(1)在keil IDE(μvision3)中完成应用程序设计、并编译;(2)在PROTEUS 7.5下的ISIS Professional中完成电路设计、调试与仿真通过。
题目1 智能电子钟(LCD显示)设计要求:以AT89C51单片机为核心,制作一个LCD显示的智能电子钟:(1) 计时:秒、分、时、天、周、月、年。
(2) 闰年自动判别。
(3) 时间、月、日交替显示。
(4) 自定任意时刻自动开/关屏。
(5) 计时精度:误差≤1秒/月(具有微调设置)。
题目2 电子时钟(LCD显示)设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间:●使用字符型LCD显示器显示当前时间。
●显示格式为“时时:分分:秒秒”。
●用4个功能键操作来设置当前时间,4个功能键接在P1.0~P1.3引脚上。
功能键K1~K4功能如下。
●K1—进入设置现在的时间。
●K2—设置小时。
●K3—设置分钟。
●K4—确认完成设置。
程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00:00:00”,然后开始计时。
题目3 秒表设计要求应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。
设计一个“复位”键,按下“复位”键后,秒表从0开始计时。
题目4 定时闹钟设计要求使用AT89C51单片机结合字符型LCD显示器设计一个简易的定时闹钟LCD时钟。
定时闹钟的基本功能如下:●显示格式为“时时:分分”。
●由LED闪动来做秒计数表示。
●一旦时间到则发出声响,同时继电器启动,可以扩充控制家电的开启和关闭。
程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00:00”,按下操作键K1~K4动作如下:(1) K1—设置现在的时间。
单片机大作业物流卓1.LED闪烁实例LED闪烁实例中使用51单片机控制8个LED间隔亮灭,形成闪烁效果,在实例中51单片机通过一个延时程序控制P1端口轮流输出高电平和低电平,驱动发光二极管的发光和熄灭。
程序代码使用两个嵌套的for循环语句来控制延时,当到达延时之后使P1输出电平翻转。
下图为电路设计图以下为控制代码2.流水数字流水数字是一个51单片机使用I/O引脚驱动8段数码管,数码管轮流显示“0”~”F”数字或者字符。
单位8段共阳数码管的公共端连接到VCC上,数码管的8位数据引脚则连接到P1的八个引脚上,使用1K欧姆的电阻限流,51单片机通过P1引脚将对应字符的字形编码送出供数码管显示。
下图为电路设计图以下为程序代码3.多位数字显示本实例使用51单片机驱动6位数码管显示”123456”6位数字,51单片机用P1给6个8段数码管提供字形编码,而用P2.0~P2.5共6个引脚通过PNP三极管来选通对应的数码管显示。
在控制程序中,为了精确的控制延时时间的时间以便造成“扫描”效果,使用Delayms 和Delayus两个函数来控制精确延时。
下图为电路设计图以下为程序代码4.轮流加热显示系统轮流加热显示系统是一个用51单片机控制3个继电器轮流接通,给3个设备加热5s并且使用一位数码管来显示当前加热设备的编号。
51单片机用P2端口通过ULU2803驱动3个工作电压为5V的继电器,用P1口驱动一个数码管用于显示当前接通的继电器的编号。
下图为电路设计图以下为程序代码5.定时报警实例本实例是让51单片机没隔10min控制蜂鸣器报警,51单片机使用P2.7引脚通过一个NPN三极管驱动蜂鸣器,当P2. 7输出高电平时三极管导通,蜂鸣器发声。
51单片机使用P2. 7通过三极管控制蜂鸣器,当输出高电平时三极管导通蜂鸣器发声,使用Delayms函数来进行毫秒级延时,使用Delayus函数来进行微秒级延时,当10min延时到达,蜂鸣器打开100ms下图为电路设计图以下为程序代码6.计算机键盘实例本实例用51单片机的I/O引脚扩展一个4 x4的行列扫描键盘,16个键使用0~F编码用一个数码管将按下键的对应编码显示出来,并且有声音提示。
大工15春《单片机原理及应用》大作业题目及要求5篇第一篇:大工15春《单片机原理及应用》大作业题目及要求2015年9月份《单片机原理及应用》大作业具体要求:题目一:单片机电子时钟设计准则:设计一个基于51单片机或STM单片机的电子时钟,并且能够实现时分秒的显示和调节撰写要求:(1)首先介绍课题背景,并进行需求分析及可行性分析,包括软硬件功能分配、核心器件的选型等;(2)对系统硬件进行设计,包括硬件功能模块划分、电路原理图设计等;(3)对系统软件进行设计,选用汇编语言或C语言编写程序,给出软件开发流程;(4)总结:需要说明的问题以及设计的心得体会。
题目二:基于单片机的音频播放器设计准则:设计一个基于51单片机或STM单片机的音频播放器。
撰写要求:(1)首先介绍课题背景,并进行需求分析及可行性分析,包括软硬件功能分配、核心器件的选型等;(2)对系统硬件进行设计,包括硬件功能模块划分、电路原理图设计等;(3)对系统软件进行设计,选用汇编语言或C语言编写程序,给出软件开发流程;(4)总结:需要说明的问题以及设计的心得体会。
题目三:基于单片机的温度采集系统设计准则:设计一个基于51单片机或STM单片机的温度采集系统,测量的温度分辨率为0.5℃。
撰写要求:(1)首先介绍课题背景,包括温度采集系统的发展、应用情况等,并进行需求分析及可行性分析,包括软硬件功能分配、核心器件的选型等;(2)对系统硬件进行设计,包括硬件功能模块划分、电路原理图设计等;(3)对系统软件进行设计,选用汇编语言或C语言编写程序,给出软件开发流程;(4)总结:需要说明的问题以及设计的心得体会。
题目四:交通灯控制系统设计准则:设计一个基于51单片机或STM单片机的交通灯控制系统,实现十字路口交通信号灯的基本控制、显示功能。
撰写要求:(1)首先介绍课题背景,并进行需求分析及可行性分析,包括软硬件功能分配、核心器件的选型等;(2)对系统硬件进行设计,包括硬件功能模块划分、电路原理图设计等;(3)对系统软件进行设计,选用汇编语言或C语言编写程序,给出软件开发流程;(4)总结:需要说明的问题以及设计的心得体会。
单片机原理及应用课程大作业一、引言单片机(Microcontroller)是一种集成了微处理器核心、存储器和各种输入输出设备的微型计算机系统。
它具有体积小、功耗低、成本低等特点,广泛应用于各个领域,如家电、汽车电子、工业自动化等。
本文将详细介绍单片机的工作原理、应用场景以及一个实际的大作业案例。
二、单片机的工作原理单片机的工作原理主要包括以下几个方面:1. 微处理器核心:单片机内部集成了一个微处理器核心,通常采用的是RISC (Reduced Instruction Set Computer)架构,具有高效的指令执行能力。
2. 存储器:单片机内部包含了存储器单元,用于存储程序代码和数据。
通常包括闪存(Flash)用于存储程序代码,以及静态随机存取存储器(SRAM)用于存储数据。
3. 输入输出设备:单片机通常具有多种输入输出接口,用于与外部设备进行数据交互。
常见的输入输出设备包括GPIO(General Purpose Input Output)、串口、SPI(Serial Peripheral Interface)、I2C(Inter-Integrated Circuit)等。
4. 时钟系统:单片机需要一个稳定的时钟信号来同步各个部件的工作。
通常采用晶体振荡器或者外部时钟源来提供时钟信号。
5. 中断系统:单片机具有中断系统,可以在特定的条件下中断当前的执行流程,转而处理其他紧急任务。
中断可以提高系统的实时性和响应能力。
三、单片机的应用场景单片机广泛应用于各个领域,下面列举几个常见的应用场景:1. 家电控制:单片机可以用于家电产品的控制,如空调、洗衣机、电视等。
通过单片机的控制,可以实现各种功能,提高产品的智能化水平。
2. 汽车电子:单片机在汽车电子领域也有广泛的应用,如车载音响、车身控制、发动机控制等。
单片机可以实现对汽车各个系统的精确控制,提高汽车的性能和安全性。
3. 工业自动化:单片机在工业自动化领域起到了至关重要的作用。
上海电力学院《16位单片机应用》大作业课程名称 16位单片机应用课程编号1院(系)电子与信息工程学院专业电子科学与技术任课教师杨芳班级 2013142 姓名 DANGDANG 学号 2013000题目:十六位单片机----密码锁一、设计目的及要求运用C语言,MC9S12XS128的知识,对实现密码锁进行软件和硬件的设计和调试,掌握如何使用CodeWarrior来整合各种驱动模块,例如本实验运用到的键盘中断、LCD、PWM以及小灯模块,将这些模块整合在一起再通过算法实现硬件上的运行,达到密码锁的功能。
密码锁主要功能:利用键盘中断、LCD、小灯、PWM模块,按下按键,在LCD可以显示对应值,并将其与预设密码进行比对。
若正确,则LCD显示right,小灯由暗变亮;否则,LCD显示wrong,小灯一直保持流水灯状态,直至输入的密码正确。
二、设计内容与实现过程本次用到了相对还是比较多的模块,主要有SCI串口通信模块,LED显示模块,LCD显示模块,Timer定时器模块和中断模块,主要采用了定时器和中断的方式去控制整个系统的工作,能在超级终端以及LCD上实时显示时分秒的数据,主要是在Timer的样例程序中对当中的一些驱动以及主函数中数据的定义进行一定量的修改,来保证控制功能的实现。
具体功能和实现过程如下:1、Main 函数(1)全局变量定义2、实验采用的模块①LCD 显示模块运行程序后,LCD上会显示“password: r/w: ”,在对应位置还会显示按下的键位对应的定义值。
②键盘中断模块按下键位后,键值存入valve,调用KBDef函数,将valve键值转为定义值,存入num数组中。
③小灯显示模块小灯为共阳极程序运行后,PORTB已在前面设置为输出,小灯会出现流水灯现象。
④PWM模块Period为PWM周期所占时钟周期数,duty为PWM占空比所占的PWM 周期数。
此处不断增加占空比,实现小灯由暗变亮的显示。
单片机大作业课题名称简易楼道灯电费计价系统院、系、自动化与电气工程学院部专业电气工程及其自动化班级姓名学号指导教师1.作业背景城市居民楼内一般安装有楼道灯,方便夜间居民上下楼,其工作特点是人来灯亮,人走灯灭。
以热释电型楼道灯为例,其基本工作原理是:热释电传感器能检测人体是否进入感应范围,当人体未进入感应范围,即离楼道灯还有一定距离时,传感器输出低电平;当人体进入感应范围,即靠近楼道灯时,传感器输出高电平。
根据传感器的输出,单片机可决定是否点亮楼道灯。
由于楼道灯属本单元全体居民共用,为便于电费结算,现要求设计一套简易楼道灯电费计价系统,系统能自动计算楼道灯在一个月内的总点亮时间,并据此计算出应缴电费额度。
2.作业要求系统由电源电路、热释电传感器、单片机、按键以及显示器组成,楼道灯供电为220市电,功率2kW(实际灯泡功率一般不会这么大。
考虑到实验演示时间有限,故假设此灯泡功率为该值)。
其中电源采用5V,热释电传感器的输出采用按键按下与否进行模拟,单片机采用51,显示器采用4位数码管,电价按5.86元/千瓦时(实际电价一般为0.58。
考虑到实验演示时间有限,故假设电价为该值),要求电费计算精度精确到0.01元。
用户可用按键查询本月楼道灯总点亮时间(精度0.01小时),以及本月总电费。
3.硬件部分(1)仿真电路图(2)实物电路图:(3)元器件列表STC89C52RC 一个按钮开关3个四位共阳数码管1个12M晶振1个CS9012三极管1个二极管1个ZS230-25G灯泡1个HK4 100F-DC5V-SHG继电器1个接线端子1个3906PNP三极管4个电容、电阻若干(4)电路介绍:1>起振电路:由一个12M晶振和两个20pF的电容组成,接在单片机STC89C52的18、19脚间,为整个电路提供时钟脉冲,一个机器周期为1us。
2>复位电路:由一个0.1nF的电容和一个100Ω的电阻,电容两端并联一个按钮开关S6组成复位电路,接在单片机第9脚上,按下开关S6,电路复位。
单片机大作业单片机是一种集成电路,其中包含了处理器、内存、输入输出接口等多个功能模块,广泛应用于各种电子设备中。
单片机大作业是在学习单片机的过程中,通过实际的项目设计与实现,加深对单片机原理和应用的理解。
本文将详细介绍单片机大作业的步骤、内容和技术要求。
一、选题与设计单片机大作业的第一步是明确选题和设计项目。
选题应该满足以下几个条件:具有一定的技术难度,能够综合运用单片机原理和相关知识;具有一定的实用性,能够解决实际问题或实现某种功能;对学生的能力提出一定的要求,能够提升学生的动手实践和解决问题的能力。
在选题确定之后,需要进行详细的设计。
设计包括系统框架设计、硬件电路设计和软件程序设计。
系统框架设计要明确整个项目的功能模块和工作原理,确定所需的输入输出接口和传感器等硬件设备。
硬件电路设计要根据需求,选择适合的电子元器件并进行电路连线、布局和优化。
软件程序设计要根据硬件设计,编写控制程序,并进行调试和测试。
二、实验与调试在完成系统设计之后,需要进行实验和调试。
实验和调试的目的是验证硬件和软件设计的正确性和可行性,发现并解决问题,确保系统的稳定运行。
实验和调试应该按照以下步骤进行:1. 硬件连接与检查:按照设计要求,将各个硬件模块进行正确的连接。
检查电路连线是否正确,元器件是否正常,接口是否相连良好,并及时修复和调整。
2. 软件烧录与调试:将编写好的程序通过编程器烧录到单片机中,并进行软件调试。
调试的过程包括程序烧录、设备驱动程序的加载和运行,各个功能模块的测试和调整。
3. 整合测试与修正:在完成各个功能模块的调试之后,进行系统的整合测试。
测试包括各个功能模块的协调和配合,整个系统的运行效果和稳定性。
根据测试结果,及时修正和调整设计中存在的问题。
三、文档撰写在完成实验和调试之后,需要进行文档撰写。
文档是对整个项目的总结和归纳,是对课程学习和实践经验的记录和总结。
文档撰写应包括以下内容:项目的背景和意义、设计方案和流程、实施过程和结果、存在问题和改进方法。
MCS-51单片机大作业通过学习51单片机资料完成以下作业题:1、简述电子计算机的冯诺依曼结构与哈弗结构,指出两种结构的本质区别。
(1)冯诺依曼结构:冯诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。
程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。
如图1所示:图1冯诺依曼结构冯诺依曼结构特点:●采用存储程序方式,指令和数据混合存储在同一个存储器中。
即数据和程序在内存中是没有区别的,它们都是内存中的数据,当EIP指针指向哪CPU就加载哪段内存中的数据,如果是不正确的指令格式,CPU就会发生错误中断. 指令和数据都可以送到运算器进行运算,即由指令组成的程序是可以修改的。
●存储器是按地址访问的线性编址的一维结构,每个单元的位数是固定的。
●指令由操作码和地址组成。
操作码指明本指令的操作类型,地址码指明操作数和地址。
操作数本身无数据类型的标志,它的数据类型由操作码确定。
●通过执行指令直接发出控制信号控制计算机的操作。
指令在存储器中按其执行顺序存放,由指令计数器指明要执行的指令所在的单元地址。
指令计数器只有一个,一般按顺序递增,但执行顺序可按运算结果或当时的外界条件而改变。
●以运算器为中心,I/O设备与存储器间的数据传送都要经过运算器。
●数据以二进制表示。
(2)哈弗结构简述:哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。
哈佛结构是一种并行体系结构。
如图2所示:图2,哈弗结构哈弗结构处理器的主要特点是:●使用两个独立的存储器模块,如图程序存储器和数据存储器,分别存储指令和数据,每个存储模块都不允许指令和数据并存,每个存储器独立编址、独立访问;●使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。
程序指令存储和数据存储分开,可以在硬件上读取指令代码和传输数据时使用不同的传输线宽度。
单片机大作业试题及答案单片机试题带答案版1、填空(每空2 分,共40 分)1、MCS-8051系列单片机字长是8 位,有40 根引脚,96系列字长是16 位。
单片机的特2、单片机的存储器的最大特点是指令存储器与数据存储器分开编址,Px并行口的地址是与数据存储器统一编址的,或者说属于该存储器。
3、8051最多可以有4 个并行输入输出口,最少也可以有1个并行口,即P1 。
P3常需复用作串行通信、外部中断、外部计数脉冲和读写控制信号。
4、ALE信号的作用是低8位地址锁存。
5、8051复位后,PC= 0 H。
若希望从片内存储器开始执行,EA 脚应接高电平,PC值超过0FFF H时,8051会自动转向片外存储器继续取指令执行。
6、8051的C/T是加(加或减)计数的。
7、8051的中断向量表在3 H、0B H和13H、1BH、23H。
8、MOV A,40H 指令对于源超作数的寻址方式是直接寻址。
9、指令JB 0A7H,ABC的作用是若P2口的第7位为1则跳转到ABC 。
(0A7H是P2.7的地址)2、已知A = 0F8H,当执行ADD A,#0A9H指令后,PSW中的OV、CY、AC、P各为多少?若是有符号数,A中的结果用十进制表示是多少?(共5 分)[解答] OV:0、CY:1、AC:1、P:1 A:-953、在两个8051间用模式2进行串行通信,A机并行采集外部开关的输入,然后串行传输给B机;B机接收后并行输出控制LED发光。
画出连接示意图,写出完整的程序。
(共15 分)4、将8051外部扩展2K EPROM,同时扩展16K RAM作数据存储器,采用的2716是2K 的EPROM芯片,6264是8K的RAM芯片,74LS373是8位锁存器。
请画出连接示意图。
要求画出8051的数据、地址、ALE、PSEN、RD、WR信号;锁存器的数据入D、数据出Q、锁存控制G、OE;2716的A、数据O、片选CE、输出使能OE;6264的A、D、CE、OE、WE。
须知:1. 大作业的所有题目都应在PROTEUS 7.5(注意:只能使用7.5版本)仿真环境下运行通过。
2. 要求:(1)在keil IDE(μvision3)中完成应用程序设计、并编译;(2)在PROTEUS 7.5下的ISIS Professional中完成电路设计、调试与仿真通过。
题目51 串行口方式1的应用设计要求单片机甲、乙双机进行串行通信,双机的RXD和TXD相互交叉相连,甲机的P1口接8个开关,乙机的P1口接8个发光二极管。
甲机设置为只能发送不能接收的单工方式。
要求甲机读入P1口的8个开关的状态后,通过串行口发送到乙机,乙机将接收到的甲机的8个开关的状态数据送入P1口,由P1口的8个发光二极管来显示8个开关的状态。
双方晶振均采用11.0592MHz。
题目52 串行口方式3的应用设计要求甲乙两个单片机进行方式3(或方式2)串行通讯。
甲机将8个流水灯控制数据发送给乙机,乙机再利用该数据点亮其P1口的8个LED。
方式3比方式1多了一个可编程位TB8,该位一般作奇偶校验位。
乙机接收到的8位二进制数据有可能出错,需进行奇偶校验,其方法是将乙机的RB8和PSW的奇偶校验位P进行比较,如果相同,接收数据;否则拒绝接收。
题目53 并行接口芯片82C55的应用设计要求根据题53图,要求82C55的PC口工作在方式0,并从PC5脚输出连续的方波信号,频率为500Hz,并用示波器观察。
题53图82C55的接口电路题目54 利用74LSTTL 扩展的I/O接口的应用设计要求电路如题54图所示,编写程序把开关S7~ S0的状态通过74LS373输出端的8个发光二极管显示出来。
例如当S5合上时,则LED5点亮。
题54图利用74LSTTL 扩展的I/O接口题目55测量INT1引脚上正脉冲的宽度设计要求:利用定时器/计数器门控制位GATEx的应用:测量INT1引脚上正脉冲的宽度(该脉冲宽度应该可调),并在6位LED数码管上以机器周期数显示出来。
1 设计一个交叉路口指挥信号灯控制电路(要求红、绿、黄三灯依次点亮循环进行,时间分配为2:2:1,加一倒计时计数器)。
2 设计一个七输入表诀器(少数服从多数原则),能显示相应的表决结果。
3 设计一个水塔供水系统水泵电机控制电路。
4 设计一个八输入抢答器(显示抢答位)。
5 心率数字计(用脉冲或开关模拟心跳)
6 灯光自动管理器(定时开关灯)
7电梯楼层显示电路
8汽车尾灯控制电路设计(模拟转弯、刹车、警示)
9篮球竞赛30s计数器设计
10具有校时功能的电子表设计
11具有声、光、电显示的四输入抢答器
12设计一个振荡计数器(0,1,2,3,4,5,6,7,8,9,10,9,8,7,6,5,4,3,2,1,0,1………)
13节日彩灯控制器设计(设计几种闪烁方式)
14 led 流水灯控制(要求可以改变方向和速度);
15 设计一个五十进制计数器
16 设计一直流电机控制器,可使电机完成正、反、停、加速、减速运动控制。
大连理工大学本科设计报告(单片机原理综合设计)题目:课程名称:单片机实验学院(系):信通学院专业:通信工程班级:电通1202学号:*********学生姓名:***成绩:20 15 年 5 月8 日目录1.题目及内容 (2)2.设计思路 (2)2.1数码管显示 (2)2.2显示内容转换 (2)2.3闪烁报警 (2)2.4温度上下限的设置 (2)2.5中断程序 (2)3.相关资料 (3)4.电路图 (3)5.程序框图 (4)5.1中断程序流程图 (4)5.2主程序流程图 (6)6.源程序 (6)7.调试中所遇到的问题 (14)8.调试解决了的问题. (14)9.个人体会(总结) (14)一、题目及内容用汇编语言模拟电梯运动系统设计程序,要求有完成如下要求:利用zlg7290和pcf8563t以及A/D转换实现下述功能。
1.利用键盘改变显示内容(能读A/D转换值、读取时间),并且闪烁显示3秒,变成稳定显示。
2.键盘设定温度上限值和下限制,当温度达到上限值后,显示闪烁;同样,当温度达到下限值后,同样发出报警,并闪烁。
3.当时间设定值达到设定值后,同样发出报警,并闪烁。
4.时间闪烁与温度闪烁时间长短有区别。
二、设计思路1.数码管显示通过ZLG7290B的数码管显示,将数据转换成BCD码,然后通过字形码的对应关系显示,通过中断程序每秒读取一次数据。
2.显示内容转换通过开关控制显示的内容,SW1低是时间,在SW1时间的情况下,SW2高是年月日;SW1高是温度,在SW1温度情况下,SW2高显示温度上限,SW2低,SW3高显示温度下限3.闪烁报警当条件满足报警时,通过调用显示程序,通过控制闪烁控制字,控制数码管相应的位置闪烁。
时间报警闪烁一分钟,温度报警一直闪烁。
4.温度上下限的设置通过键值设置上下限,通过不同按键对应于上限和下限的设置,然后的键值通过一定计算赋给上下限的存储空间。
5.中断程序两个中断,其中中断0用于每秒显示,中断1用于键值的读取。
三、相关资料MCS-51单片机应用实验教程四、电路图五、程序框图图1 显示中断程序流程图六、源程序;**************************************************************** ;SW1低是时间,在SW1时间的情况下,SW2高是年月日;SW1高是温度,在SW1温度情况下,SW2高显示温度上限,SW2低,SW3高显示温度下限;****************************************************************SDA BIT P1.0 ;I^2C引脚信号SCL BIT P1.1RST BIT P1.7 ;7290复位SW BIT P1.2 ;年份显示SW2 BIT P1.3 ;温度,时间转换SW3 BIT P1.5 ;温度上限DQ BIT P1.4 ;温度控制TEMPER_L EQU 36HTEMPER_H EQU 35HTEMPER EQU 34HTEMPER_NUM EQU 60HTEMMAX EQU 61HTEMMIN EQU 62H WSLA_7290 EQU 70H ;7290口地址RSLA_7290 EQU 71HWSLA_8563 EQU 0A2H ;8563口地址RSLA_8563 EQU 0A3HADDR EQU 20H;数据缓冲区首地址DISDA EQU 40H;显示缓冲区DISCUNT EQU 08H ;显示缓冲区长度FLAG1 BIT 00H;**************************** ORG 8000HLJMP MAINORG 8003H ;INT0中断源LJMP INT_7290ORG 8013HLJMP INT_KEYORG 8100HMAIN: MOV SP,#70HCLRRST ;ZLG7290B复位LCALL DELAYSETB RST;****************************;设定PCF8563T的时间和命令参数;****************************MOV 10H,#00HMOV 11H,#1FHMOV 12H,#50HMOV 13H,#09HMOV 14H,#50HMOV 15H,#11HMOV 16H,#05HMOV 17H,#04HMOV 18H,#15HMOV 19H,#10HMOV 1AH,#00HMOV 1BH,#00HMOV 1CH,#00HMOV 1DH,#83H;**************************** MOV TEMMAX,#40H ;温度上限初值MOV TEMMIN,#00H ;温度下限初值MOV R7,#0EHMOV R0,#10HMOV R2,#00HMOV R3,#WSLA_8563LCALL WRNBYTSETB EASETB EX0SETB IT0SETB EX1SETB IT1SJMP $;****************************;显示中断服务子程序;****************************INT_7290:JB SW,WENDUMOV R7,#07HMOV R0,#20HMOV R2,#02HMOV R3,#WSLA_8563MOV R4,#RSLA_8563LCALL RDADDMOV A,21HCJNE A,19H,XIANSHIMOV 50H,#70H ;闪烁MOV 51H,#18HMOV R7,#02HMOV R0,#50HMOV R2,#07HMOV R3,#WSLA_7290LCALL WRNBYTMOV 53H,#00H ;设置闪烁频率MOV R7,#01HMOV R0,#53HMOV R2,#0CHMOV R3,#WSLA_7290LCALL WRNBYTXIANSHI:LCALL ADJUSTLCALL CHAIFENMOV R7,#08HMOV R2,#10HMOV R3,#WSLA_7290JB SW2,YEARSMOV R0,#38HSJMP DISPYEARS: MOV R0,#28HDISP: LCALL WRNBYTLJMP JIESHUWENDU: JB SW2,THJB SW3,TLMOV DISDA+7,#00HMOV DISDA+6,#00H MOV DISDA+5,#00HMOV DISDA+4,#00HMOV DISDA+3,#00H LCALL GET_TEMPERLCALL TEMPER_COVMOV A,TEMPERMOV B,#02HDIV ABMOV TEMPER,ALCALL BCD_CONTMOV R7,#DISCUNTMOV R0,#DISDAMOV R2,#10HMOV R3,#WSLA_7290LCALL WRNBYTLCALL DELAYCLR CMOV A,TEMPERANL A,#7FHSUBB A,TEMMAXJC NEXT11LCALL SHANSHUO1LJMP JIESHUNEXT11: CLR CMOV A,TEMPERANL A,#7FHSUBB A,TEMMINJNC JIESHULCALL SHANSHUO1LJMP JIESHUTH:MOV DISDA+7,#6EH ;最高位显示HMOV DISDA+6,#12HMOV A,TEMMAXLCALL BCD_CONTMOV R7,#DISCUNTMOV R0,#DISDAMOV R2,#10HMOV R3,#WSLA_7290LCALL WRNBYTLCALL DELAYLJMP JIESHUTL:MOV DISDA+7,#1CH ;最高位显示LMOV DISDA+6,#12HMOV A,TEMMINLCALL BCD_CONTMOV R7,#DISCUNTMOV R0,#DISDAMOV R2,#10HMOV R3,#WSLA_7290LCALL WRNBYTLCALL DELAYJIESHU: JNB P3.2,$ RETI;**************************** ****SHANSHUO1:MOV 50H,#70H ;闪烁MOV 51H,#07HMOV R7,#02HMOV R0,#50HMOV R2,#07HMOV R3,#WSLA_7290LCALL WRNBYTMOV 53H,#00H ;设置闪烁频率MOV R7,#01HMOV R0,#53HMOV R2,#0CHMOV R3,#WSLA_7290LCALL WRNBYTRETI;**************************** ***********************;键值控制温度上下限;**************************** ***********************INT_KEY:PUSH 00HPUSH 02HPUSH 03HPUSH 04HPUSH 07HPUSH ACCPUSH PSWLCALL DELAYLCALL RDKEYCJNE A,#0EH,XIAXIAN AKEY:JB P3.3 ,$LCALL RDKEYCLR CMOV 64H,ASUBB A,#0AHJNC AKEYMOV A,64HMOV B,#0AHMUL ABMOV R5,AAKEY1: JB P3.3,$ ;以查询方式等待下一次按键操作LCALL RDKEYCLR CMOV 64H,ASUBB A,#0AHJNC AKEY1MOV A,64HADD A,R5MOV TEMMAX,ALJMP DOWN XIAXIAN:CJNE A,#0FH,DOWN BKEY:JB P3.3 ,$LCALL RDKEYCLR CMOV 64H,ASUBB A,#0AHJNC BKEYMOV A,64HMOV B,#0AHMUL ABMOV R5,ABKEY1: JB P3.3,$ ;以查询方式等待下一次按键操作LCALL RDKEYCLR CMOV 64H,ASUBB A,#0AHJNC BKEY1MOV A,64HADD A,R5MOV TEMMIN,ALJMP DOWNDOWN: CLR IE1POP PSWPOP ACCPOP 07HPOP 04HPOP 03HPOP 02HPOP 00HRETI;*********************** RDKEY:MOV R0,#1FHMOV R7,#01HMOV R2,#01HMOV R3,#WSLA_7290MOV R4,#RSLA_7290LCALL RDADDMOV A,1FHDEC ARET;**************************** ************************ 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 PSWRET;**************************** ************************ 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;############################ ###;温度采集;############################ ##GET_TEMPER:SETB DQBCD: LCALL INIT_1820JB FLAG1,S22LJMP BCDS22: LCALL DELAY1MOV A,#0CCHLCALL WRITE_1820MOV A,#44HLCALL WRITE_1820LCALL DELAYCBA: LCALL INIT_1820JB FLAG1,ABCLJMP CBAABC: LCALL DELAY1MOV A,#0CCHLCALL WRITE_1820MOV A,#0BEHLCALL WRITE_1820LCALL READ_18200RET;############################ ###WRITE_1820:MOV R2,#8CLR CWR1: CLR DQMOV R3,#6DJNZ R3,$RRC AMOV DQ,CMOV R3,#23DJNZ R3,$SETB DQNOPDJNZ R2,WR1SETB DQRET;############################ READ_18200:MOV R4,#2MOV R1,#36HRE00:MOV R2,#8RE01:CLR CSETB DQNOPCLR DQNOPNOPSETB DQMOV R3,#2DJNZ R3,$MOV C,DQMOV R3,#23DJNZ R3,$RRC ADJNZ R2,RE01MOV @R1,ADEC R1DJNZ R4,RE00RET;############################ TEMPER_COV:MOV A,#0F0HANL A,TEMPER_LSWAP AMOV TEMPER_NUM,AMOV A,TEMPER_LJNB ACC.3,TEMPER_COV1INC TEMPER_NUM;############################ TEMPER_COV1:MOV A,TEMPER_HANL A,#07HSWAP AADD A,TEMPER_NUMMOV TEMPER_NUM,AMOV TEMPER,TEMPER_NUMRET;############################ INIT_1820:SETB DQNOPCLR DQMOV R0,#80HTSR1: DJNZ R0,TSR1SETB DQMOV R0,#25HTSR2: DJNZ R0,TSR2JNB DQ,TSR3LJMP TSR4TSR3: SETB FLAG1LJMP TSR5TSR4: CLR FLAG1LJMP TSR7TSR5: MOV R0,#06BHTSR6: DJNZ R0,TSR6TSR7: SETB DQRET;############################ ;延时子程序;############################ DELAY1:MOV R7,#20HDJNZ R7,$RET;########################### DELAY: PUSH 00HPUSH 01HMOV R0,#00HLP: MOV R1,#00HDJNZ R1,$DJNZ R0,LPPOP 01HPOP 00HRET;************************** ;BCD转换;**************************BCD_CONT:PUSH 07HPUSH 06HPUSH 05HPUSH 02HMOV B,#64HDIV ABMOV R7,AMOV R2,BMOV A,R2MOV B,#0AHDIV ABMOV R6,AMOV R5,BMOV A,R7LCALL CFMOV DISDA+2,R3MOV A,R6LCALL CFMOV DISDA+1,R3MOV A,R5LCALL CFMOV DISDA+0,R3POP 02HPOP 05HPOP 06HPOP 07HRET;**************************** *CF: 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 02HRET;**************************** LEDSEG: DB0FCH,60H,0DAH,0F2H,66H,0B 6H,0BEH,0E4HDB0FEH,0F6H,0EEH,3EH,9CH,7A H,9EH,8EH;**************************** ;IIC总线通讯子程序;**************************** WRNBYT: PUSH PSWPUSH ACCWRADD: MOV A,R3LCALL STALCALL WRBYTLCALL CACKJB F0,WRADDMOV A,R2LCALL WRBYTLCALL CACKJB F0,WRADDWRDA: MOV A,@R0LCALL WRBYTLCALL CACKJB F0,WRADDINC R0DJNZ R7,WRDALCALL STOPPOP ACCPOP PSWRET;**************************** STA: SETB SDASETB SCLNOPNOPNOPNOPNOPCLR SDANOPNOPNOPNOPNOPCLR SCLRET;**************************** WRBYT: PUSH 06HMOV R6,#08HWLP: RLC AMOV SDA,CSETB SCLNOPNOPNOPNOPNOPCLR SCLDJNZ R6,WLPPOP 06HRET;**************************** CACK: SETB SDASETB SCLCLR F0MOV C,SDAJNC CENDSETB F0CEND: CLR SCLRET;**************************** STOP: CLR SDASETB SCLNOPNOPNOPNOPNOPSETB SDANOPNOPNOPNOPNOPSETB SCLSETB SDARET;**************************** RDADD: PUSH PSWPUSH ACCRDADD1: LCALL STAMOV A,R3LCALL WRBYTLCALL CACKJB F0,RDADD1MOV A,R2LCALL WRBYTLCALL CACKJB F0,RDADD1LCALL STAMOV A,R4LCALL WRBYTLCALL CACKJB F0,RDADD1RDN: LCALL RDBYTMOV @R0,ADJNZ R7,ACKLCALL MNACKLCALL STOPPOP ACCPOP PSWRETACK: LCALL MACKINC R0SJMP RDN;**************************** RDBYT: PUSH 06HMOV R6,#08HRLP: SETB SDASETB SCL;**************************** NOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPNOP;*************************** MOV C,SDAMOV A,R2RLC AMOV R2,ACLR SCLDJNZ R6,RLPPOP 06HRET;**************************** MACK: CLR SDASETB SCLNOPNOPNOPNOPNOPCLR SCLSETB SDARET;**************************** MNACK: SETB SDASETB SCLNOPNOPNOPNOPNOPCLR SCLCLR SDARET;*************************** END七、调试中所遇到的问题1.温度DQ占用了中断P3.3导致无法使用两个中断2.P1口使用太多,无法连接步进电机3.键盘输入接触不好,导致温度上下限的输入不准确4.中断太长,有时会程序卡死5.显示时间温度报警不起作用6.没有时间设置模块八、调试解决了的问题a)将DQ连接到P1.4口,解放中断口来使用中断程序b)判断键盘输入值是否在指定范围内,如果不在继续按键c)将开关的功能改在按键实现九、个人体会(总结)经过这几周的单片机实验课程,进一步掌握了汇编语言的编写,虽然我们没有正式的上单片机的理论课,但是基于计算机原理的学习,我们还是能胜任单片机程序的编写工作,这次的综合设计丰富了我对汇编语言的一些经验,同时锻炼了自己的动手能力。