单片机设计应该考虑的3大步骤

单片机设计应该考虑的3大步骤

单片机设计应该考虑的3大步骤

总体规划

软件所要完成的任务已在总体设计时规定,在具体软件设计时,要结合硬件结构,进一步明确软件所承担的一个个任务细节,确定具体实施的方法,合理分配资源。

1程序设计技术

合理的软件结构是设计一个性能优良的单片机应用系统软件的基础。在程序设计中,应培养结构化程序设计风格,各功能程序实行模块化、子程序化。一般有以下两种设计方法。

a.模块程序设计

模块程序设计是单片机应用中常用的一种程序设计技术。它是把一个较长的程序分解为若干个功能相对独立的较小的程序模块,各个程序模块分别设计、编程和调试,最后由各个调试好的模块组成一个大的程序。

优点是单个功能明确的程序模块的设计和调试比较方便,容易完成,一个模块可以为多个程序所共享。其缺点是各个模块的连接有时有一定难度。

b.自顶向下的程序设计

自顶向下程序设计时,先从主程序开始设计,从属程序或子程序用符号来代替。主程序编好后再编制各从属程序和子程序,最后完成整个系统软件的设计。

优点是比较符合于人们的日常思维,设计、调试和连接同时按一个线索进行,程序错误可以较早的发现。缺点是上一级的程序错误将对整个程序产生影响,一处修改可能引起对整个程序的全面修改。

2程序设计

在选择好软件结构和所采用的程序设计技术后,便可着手进行程序设计,将设计任务转化为具体的程序。

a.建立数学模型

根据设计任务,描述出各输入变量和各输出变量之间的数学关系,此过程即为建立数学模型。数学模型随系统任务的不同而不同,其正确度是系统性能好坏的决定性因素之一。

网络教育学院《单片机原理及应用》大作业 题目:单片机电子时钟设计 学习中心:奥鹏福州直属 层次:专科起点本科 专业:电气工程及其自动化 年级: 14年03 学号: 141024309020 学生姓名:郑建

一、课题背景 1、数字电子钟的发展 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 2、数字电子钟的原理 数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟

文献综述 题目基于单片机的温度控制 系统设计 学生姓名 X X X 专业班级自动化07-2 学号20070x0x0x0x 院(系) xxxxxxxxxxxxxxxx 指导教师 x x x 完成时间 2011年06月10日

基于单片机的温度控制 系统设计文献综述 1.前言 温度是日常生活、工业、医学、环境保护、化工、石油等领域最常遇到的一个物理量。而且随着现代工业的发展,人们需要对工业生产中有关温度系统进行控制,如钢铁冶炼过程需要对刚出炉的钢铁进行热处理,塑料的定型及各种加热炉、热处理炉、反应炉和锅炉中温度进行实时监测和精确控制。而有很多领域的温度可能较高或较低,现场也会较复杂,有时人无法靠近或现场无需人力来监控。如加热炉大都采用简单的温控仪表和温控电路进行控制, 存在控制精度低、超调量大等缺点, 很难达到生产工艺要求。且在很多热处理行业都存在类似的问题,所以,设计一个较为通用的温度控制系统具有重要意义。这时我们可以采用单片机控制,这些控制技术会大大提高控制精度,不但使控制简捷,降低了产品的成本,还可以和计算机通讯,提高了生产效率. 单片机是指芯片本身,而单片机系统是为实现某一个控制应用需要由用户设计的,是一个围绕单片机芯片而组建的计算机应用系统,这是单片机应用系统。单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点,因此,应用日益广泛,并且正在逐步取代现有的

多片微机应用系统。 2.历史研究与现状 在工业生产温控系统中采用的测温元件和测量方法不相同,产品的工艺不同,控制温度的精度也不相同,因此对数据采集的精度和采用的控制方法也不相同。 通常由位式或时间比例式温度调节仪控制的工业加热炉温度控制系统,其主回路由接触器控制时因为不能快速反应,所以控温精度都比较低,大多在几度甚至十几度以上。随着电力电子技术及元器件的发展,出现了以下几种解决的方案: (1)主回路用无触点的可控硅和固态继电器代替接触器,配以PID或模糊逻辑控制的调节仪构成的温度控制系统,其控温精度大大提高,常在±2℃以内,优势是采用模糊控制与PID 控制相结合,对控制范围宽、响应快且连续可调系统有巨大的优越性。 (2)采用单片机温度控制系统。用单线数字温度传感器采集温度数据,打破了传统的热电阻、热电偶再通过A/D 转换采集温度的思路。用单片机对数字进行处理和控制,通过RS - 232 串口传到PC 机对温度进行监视与报警,设置温度的上限和下限。其优势是结构简单,编程不需要用专用的编程器,只需点击电脑鼠标就可以把编好的程序写到单片机中,很方便且调试、修改和升级很容易。 (3)ARM(Advanced RISC Machine)嵌入式系统模糊温度控制。利用ARM处理器的强大功能,通过读取温度传感器数据,并与设定值进行比较,然后对温度进行控制。通过内嵌的操作系统μCLinux获得极好的实时性,并且通过TCP/IP协议能与PC机

安阳工学院 《单片机基础》课程大作业 《简易红外遥控小车设计》 院系:计算机科学和信息工程学院 专业班级: 姓名: 学号: 成绩(教师填写)___________ 20 年月日 一、课题名称: 《简易红外遥控小车设计》 二、方法步骤: 1.总体设计 主要设计思想: 本设计利用通用红外遥控器控制小车后轮两个电机的动作来实现小车走、停、转弯等功能。并通过软件控制小车方向和PWM调速小车的转速。具体思想如下:通过外部中断1接收红外信息,并通过软件解码,根据接收信息的不同通过PWM和控制函数做出响应,并且在二极管上面反映出来,所以说二极管充当车灯和档位指示灯的作用,且每次接收信号,蜂鸣器鸣叫用来显示有信号的传入。 主要设计任务: 红外遥控小车的设计主要分两大步,第一是硬件实现的设计,

第二是单片机软件实现的设计。 (1)其中硬件又分几块:51单片机最小系统板,小型直流电机(3~9V)驱动电路模块,红外接收模块(已集成在最小系统板),蜂鸣器和二极管显示模块,车体。 (2)软件比较简单,但也分了几块:外部中断红外接收解码模块,PWM电机调速模块,主程序。 2.设计任务和要求 (1)主要完成的性能指标 本小车设计完成后能够实现如下功能:前进、后退、左前传(以做轮胎为轴转弯)、右前转、左圆转(以车体为轴进行转弯)、右圆转、左倒转、右倒转、紧急暂停、123级加减速。 (2)器件选择 本设计主要用到以下材料:51单片机一个、通用遥控器一个、红外接收头一个、5号电池7节、车体(双电机+万向轮)一套、蜂鸣器一个、杜邦线若干、二极管9个、L9110S电机驱动芯片2个、其他电阻电容若干 (3)单片机选择 本设计用到宏晶公司的STC——125A32Ad单片机 (4)说明总体框图(可选)

单片机大作业 课题名称简易楼道灯电费计价系统 院、系、 自动化与电气工程学院部 专业电气工程及其自动化 班级 姓名 学号 指导教师

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个 电容、电阻若干

单片机原理及系统课程设计 专业:电气自动化 班级:电气XX 姓名: XXX 学号:XXXXXXX 指导教师:XXX XXXXXXX自动化与电气工程学院

2016年12月29日

基于单片机的串行通信发射机设计 引言 串行通信技术长久以来一直稳定地应用在IT和工业通信领域。相比较PC机单片机体积小,系统运行可靠,数据采集方便灵活,成本低廉等优点,在通信领域发挥着越来越大的作用。在一些相对较复杂的单片机应用系统中,仅仅利用单片机资源是不够的,往往而要需要单片机系统与计算机协同工作。本设计就单片机与PC机之间进行串行通信,给出了硬件结构及软件的设计方法。 1概述 1.1Proteus简介 Proteus是由英国Labcenter electronics公司开发的EDA工具软件。它是一种混合电路仿真工具,包括模拟电路仿真、数字电路仿真、单片机机器外围电路组成的仿真等。Proteus软件的应用范围十分广泛,设计PCB制版、spice电路仿真、单片机仿真等。 1.2系统概述 利用电平转换器件RS-232实现单片机与PC间的串行通信。本节利用虚拟终端仿真单片机与PC之间的串行通信。PC先发送从键盘输入的数据,单片机接收后回发给PC机,双方收发数据是相同的。单片机接收到的0-9间的数据转换为30-39H,在计算机上显示为30-39,在单片机上按0-9显示。接收到大写字母A-Z间的数据,在计算机上按41-5AH显示,在单片机上按输入显示。小写字母a-z间的数据,在计算机上按61-7AH显示,在单片机上按输入显示。用Proteus

实现该接口的电路设计和程序设计,并进行实时仿真。 1.3设计方案思路 本设计以AT89C51作为核心元件,以RS-232和数码管作为辅助元件,对AT89C51进行编程,利用软件控制硬件,利用Proteus仿真设计结果。 1.4主要技术参数 波特率:串行控制寄存器SCON是一个特殊功能寄存器,用以设定串行口的工作方式、发送/接收控制以及设置控制状态标志。字节地址为89H,可进行位寻址,其格式为: 位地址9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 位符号SM0 SM1 SM2 REN TB8 RB8 T1 R1 SM0 SM1 方式功能简介波特率 0 0 0 移位寄存器Fosc/12 0 1 1 10位异步收发器可变 1 0 2 11位异步收发器Fosc/64或Fosc/32 1 1 3 11位异步收发器可变

网络教育学院《单片机原理及应用》大作业 大工2019年春离线大作业 题目:题目一:单片机电子时钟设计 学习中心:奥鹏学习中心 层次: 专业: 年级:年春/秋季 学号: 学生姓名:

(注:本页为课程学习要求,阅读后请删除) 大工2019年春《单片机原理及应用》大作业具体要求: 1 作业内容 从以下五个题目中任选其一作答。 2 正文格式 作业正文内容统一采用宋体,字号为小四,字数在2000字以上。 3. 作业提交 学生需要以附件形式上交离线作业(附件的大小限制在10M以内),选择已完成的作业,点“上交”即可。如下图所示。 4.注意事项 请同学独立完成作业,不准抄袭其他人或者请人代做,如有雷同作业,成绩以零分计! 大连理工大学网络教育学院 2019年5月

题目一:单片机电子时钟设计 准则:设计一个基于51单片机或STM单片机的电子时钟,并且能够实现时分 秒的显示和调节 撰写要求:(1)首先介绍课题背景,并进行需求分析及可行性分析,包括软硬件功 能分配、核心器件的选型等; (2)对系统硬件进行设计,包括硬件功能模块划分、电路原理图设计等; (3)对系统软件进行设计,选用汇编语言或C语言编写程序,给出软件 开发流程; (4)总结:需要说明的问题以及设计的心得体会。 答: 单片机电子时钟设计 一、引言 单片机技术是计算机科学技术的独立分支,拥有着高性价比、高集成度、体积少、强大控制功能、功耗低、高可靠性、电压低、容易生产、方便携带等优点,越来越广泛的被应用于实际生活中。单片机全称,单片机微型计算机,从应用领域来看,单片机主要用来控制系统运行,所以又称微控制器或嵌入式控制器,单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。 二、时钟的基本原理分析 利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数初值减1,当减到0时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。 为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管

M法、T法测速单片机程序设计 摘要 本设计为M法、T法测速的单片机程序设计。使用STC89C52单片机作为控制器,使用该单片机的外部中断和定时器对编码器的输出的脉冲进行采样来计算出电机的转速。可以使用按键输入来调整M法、T法测速法中Z、Tc和Tt等参数以及测速方法的选择,以此来增强本设计的适应性。参数选择结果和电机转速计算结果均显示在LCD1602上。 关键字:STC89C52,M法、T法测速,LCD1602,电机转速 Ⅰ

Abstract This design as m, t-law velocity measurement of single-chip computer programming. Using STC89C52 single-chip computer as the controller, using the microcontroller's external interrupts and timers for encoder output pulse is sampled to calculate the speed of the motor. Can be adjusted using touchtone m, t law Velocimetry parameters such as z, Tt and Tc, as well as in speed measurement method of choice, as a way to enhance the adaptability of this design. Parameter selection and calculation of motor speed results are available on LCD1602. Keywords:STC89C52,M、T method, the LCD1602, Motor speed Ⅱ

目录 摘要............................................................................................................................................................. I ABSTRACT .....................................................................................................................................................II 第1章绪论 . (1) 1.1 单片机的概述 (1) 1.2 单片机的基本结构 (1) 第2章单片机最小系统介绍 (4) 2.1单片机最小系统电路介绍 (4) 2.2电路设计方案 (4) 第3章单片机最小系统的硬件设计 (7) 3.1硬件原理图 (7) 3.2系统各组成模块介绍 (8) 3.2.1 振荡电路 (8) 3.2.2 电源电路 (7) 3.2.3 程序下载电路 (9) 3.2.4 外存储电路 (10) 3.2.5 数码管显示电路和矩阵键盘电路 (11) 3.2.6 液晶显示电路 (12) 3.2.7 复位电路 (13) 第4章安装与调试 (15) 4.1调试方法和结果 (15) 4.1.1电源部分安装调试 (15) 4.1.2 STC89C52单片机最小化系统主控制部分安装调试 (15) 4.1.3 程序下载部分电路安装调试 (16) 4.1.4 外存储电路调试 (16) 4.1.5 数码管显示电路和键盘电路调试 (16) 总结和体会 (17) 致谢 (18) 参考文献 (19) 附录 (20)

第二章习题参考答案 一、填空题: 1、当MCS-51引脚ALE有效时,表示从P0口稳定地送出了低8位地址。 2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区 域。 3、当使用8751且EA=1,程序存储器地址小于 1000H 时,访问的 是片内ROM。 4、MCS-51系统中,当PSEN信号有效时,表示CPU要从外部程序存储器 读取信息。 5、MCS-51有4组工作寄存器,它们的地址范围是 00H~1FH 。 6、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。 7、PSW中RS1 RS0=10时,R2的地址为 12H 。 8、PSW中RS1 RS0=11时,R2的地址为 1AH 。 9、单片机系统复位后,(PSW)=00H,因此片内RAM寄存区的当前寄存器是第 0 组, 8个寄存器的单元地址为 00H ~ 07H 。 10、PC复位后为 0000H 。 11、一个机器周期= 12 个振荡周期= 6 个时钟周期。 12、PC的内容为将要执行的的指令地址。 13、在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为 2us 。 14、内部RAM中,位地址为30H的位,该位所在字节的字节地址为 26H 。 15、若A中的内容为63H,那么,P标志位的值为 0 。 16、8051单片机复位后,R4所对应的存储单元的地址为 04H ,因上电时PSW= 00H 。这时当前的工作寄存器区是第 0 工作寄存器区。 17、使用8031芯片时,需将/EA引脚接低电平,因为其片内无程 序存储器。 18、片内RAM低128个单元划分为哪3个主要部分:工作寄存器区、位寻 址区 和用户RAM区。 19、通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保护。 调用返回时,再进行出栈保护,把保护的断点送回到 PC 。 20、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS -51的PC是16位的,因此其寻址的范围为 64 KB。

1 引言 本系统利用单片机AT89C52采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产生10Hz—10kHz的波形。通过键盘来控制四种波形的类型选择、拨码开关控制频率的变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 2设计方案 2.1系统硬件设计概述 经过考虑,我们确定方案如下:利用AT89C52单片机采用程序设计方法产生锯齿波、三角波、正弦波、方波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制四种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。 2.2、设计要求 1)、利用单片机采用软件设计方法产生四种波形 2)、四种波形可通过键盘选择 3)、波形频率可调

4)、需显示波形的种类及其频率 2.1.2方案设计与论证 1.2.1 信号发生电路方案论证 方案一:通过单片机控制D/A,输出四种波形。此方案输出的波形不够稳定,抗干扰能力弱,不易调节。但此方案电路简单、成本低。 方案二:使用传统的锁相频率合成方法。通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波,再利用过零比较器转换成方波,积分电路转换成三角波。此方案,电路复杂,干扰因素多,不易实现。 方案三:利用MAX038芯片组成的电路输出波形。MAX038是精密高频波形产生电路,能够产生准确的锯齿波、三角波、方波和正弦波四种周期性波形。但此方案成本高,程序复杂度高。 以上三种方案综合考虑,选择方案一。 1.2.2 单片机的选择论证 方案一:AT89C52单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机、而且其价格便宜。 方案二:C8051F005单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有

单片机大作业 物流卓 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 下图为电路设计图 以下为程序代码

单片机程序设计方法总结 程序设计是单片机开发最重要的工作程序设计就是利用单片机的指令系统根据应用系统即目标产品的要求编写单片机的应用程序其实我们前面已经开始这样做过了这一课我们不是讲如何来设计具体的程序而是教您设计单片机程序的基本方法不过在讲解之前还是有必要先了解一下单片机的程序设计语言这里的语言与我们通常理解的语言是有区别的它指的是为开发单片机而设计的程序语言如果 您没有学过程序设计可能不太明白我给大家简单解释一下您知道微软的VB VC 吗VB VC 就是为 某些工程应用而设计的计算机程序语言通俗地讲它是一种设计工具只不过这种工具是用来设计计 算机程序的要想设计单片机的程序当然也要有这样一种工具说设计语言更确切些单片机的设计 语言基本上有三类: 1 .完全面向机器的机器语言 机器语言就是能被单片机直接识别和执行的语言计算机能识别什么以前我们讲过--是数字0 或1 所以机器语言就是用一连串的0 或1 来表示的数字比如MOV A 40H 用机器语言来表示就是 11100101 0100000 很显然用机器语言来编写单片机的程序不太方便也不好记忆我们必须想办法 用更好的语言来编写单片机的程序于是就有了专门为单片机开发而设计的语言 2. 汇编语言 汇编语言也叫符号化语言它使用助记符来代替二进制的0 和1 比如刚才的MOV A40H 就是汇编语言 指令显然用汇编语言写成的程序比机器语言好学也好记所以单片机的指令普遍采用汇编指令来编写 用汇编语言写成的程序我们就叫它源程序或源代码可是计算机不能识别和执行用汇编语言写成的程 序啊怎么办当然有办法我们可以通过翻译把源代码译成机器语言这个过程就叫做汇编,汇编工作现在 都是由计算机借助汇编程序自动完成的不过在很早以前它是靠手工来做的. 值得注意的是:汇编语言也是面向机器的,它仍是一种低级语言每一类计算机都有它自己的汇 编语言比如51 系列有它的汇编语言;PIC 系列也有它的汇编语言微机也有它自己的汇编语言它 们的指令系统是各不相同的也就是说不同的单片机有不同的指令系统它们之间是不通用的,这就

目录 1 绪论 (1) 1.1 概述 (1) 1.2 设计目的 (1) 2 设计任务及内容 (1) 2.1 设计任务 (1) 2.2 设计内容 (1) 3 总体设计及核心器件简介 (2) 3.1 总体设计 (2) 3.2 硬件设计 (2) 3.2.1 硬件系统总体设计 (2) 3.2.2 单片机的选择 (3) 3.2.3 显示电路的选择与设计 (4) 3.2.4 按键电路的选择与设计 (6) 3.2.5 时钟电路的选择与设计 (7) 3.2.6 复位电路的选择与设计 (8) 3.2.7 系统总电路的设计 (10) 3.3 软件设计 (11) 3.3.1 程序设计思想 (11) 3.3.2 系统资源的分配 (11) 3.3.3 主程序设计 (11) 3.3.4 中断程序设计 (12) 4 数字电子秒表的安装与调试 (15) 4.1 软件的仿真与调试 (15) 4.2 硬件的安装与调试 (15) 4.2 汇编程序 (16) 5 设计体会与总结 (21)

1 绪论 1.1 概述 单片微型计算机简称单片机,又称微控制器,是微型计算机的一个重要分支。单片机是20世纪七十年代中期发展起来的一种大规模集成电路芯片,是集CPU、RAM、ROM、I/O接口和终端系统与同一硅片的器件。20世纪八十年代以来单片机发展迅速各类新产品不断涌现出现许多新产品,出现了许多高性能新型机种现已成为工业控制和各控制领域的支柱产业之一。由于单片机功能强、体积小、可靠性好、价格便宜等独特优点因而受到人们的高度重视并取到了一系列的科研成果,成为传统工业技术改造和新产品更新换代的理想机种,并具有广阔的发展前景。 本设计运用所学的单片机知识,将单片机与普通秒表相结合设计了电子秒表,具有显示直观、读取方便、精度高等优良特点,在计时中应用广泛。 1.2 设计目的 加强对51系列单片机的构造了解及应用,熟悉汇编语言或C语言编程,综合掌握和理解设计各部分的工作原理、设计过程、芯片器件的选择方法、模块化编程等多项知识。 (1)用单片机模拟实现具体应用使个人设计系统能够真正使用; (2)把理论知识与实践知识相结合,充分发挥个人能力,并在实践中得到锻炼;(3)提高利用已学的知识分析和解决问题的能力; (4)提高动手实践能力。 2 设计任务及内容 2.1 设计任务 结合教材及参考资料,用80C51单片机模拟实现电子秒表的开启,计时,停止并显示时间等功能。 2.2 设计内容 (1)填写设计任务书; (2)进行总体设计,画出设计原理图; (3)用PROTEUS软件画出设计电路图; (4)用Keil软件编写程序; (5)在PROTEUS里模拟并调试程序达到期望功能。

基于51单片机秒表的程序设计 1.设计目的: (1)利用单片机定时器中断和定时器计数方式实现秒、分定时。 (2)通过LED显示程序的调整,熟悉8155与8051,8155与LED的接口技术,熟悉LED动态显示的控制过程。 (3)通过键盘程序的调整,熟悉8155与矩阵式键盘的接口技术,熟悉键盘扫描原理。 (4)通过阅读和调试简易秒表整体程序,学会如何编制含LED动态显示、键盘扫描和定时器中断等多种功能的综合程序,初步体会大型程序的编制和调试技巧。 2.设计步骤与要求 (1)要求:以8位LED右边2位显示秒,左边6位显示0,实现秒表计时显示。以4×4矩阵键盘的KE0、KE1、KE2等3键分别实现启动、停止、清零等功能。 (2)方法:用单片机定时器T0中断方式,实现1秒定时;利用单片机定时器1方式3计数,实现60秒计数。用动态显示方式实现秒表计时显示,用键盘扫描方式取得KE0、KE1、KE2的键值,用键盘处理程序实现秒表的启动、停止、清零等功能。 (3)软件设计:软件整体设计思路是以键盘扫描和键盘处理作为主程序,LED动态显示作为子程序。二者间的联系是:主程序查询有无按键,无按键时,调用二次LED动态显示子程序(约延时8ms)后再回到按键查询状态,不断循环;有按键时,LED动态显示子程序作为按键防抖延时被连续调用二次(约延时16ms),待按键处理程序执行完后,再回到按键查询状态,同时兼顾了按键扫描取值的准确性和LED动态显示的稳定性。秒定时采用定时器T0中断方式进行,60秒计数由定时器1采用方式3完成,中断及计数的开启与关闭受控于按键处理程序。由上述设计思路可设计出软件流程图如图1.1所示。 (5)程序编制:编程时置KE0键为“启动”,置KE1键为“停止”,置KE2键为“清零”,因按键较少,在处理按键值时未采用散转指令“JMP”,而是采用条件转移指令“CJNE”,每条指令后紧跟着一条无条件跳转指令“AJMP”,转至相应的按键处理程序,如不是上述3个按键值则

1.一个完整的微机系统由硬件和软件两大部分组成 2.微型计算机的性能指标: 字长、运算速度、存储容量、软件配置、外设扩展能力 字:一组二进制数,字长:该二进制数的位数,字长越大,计算机处理数据越快运算速度:表达方式:cpu主频,越高,运算速度越快 存储容量:内存储容量(cpu直接访问存储器)、外存储容量(硬盘容量) 2.计算机系统:硬件系统(冯.诺依曼结构)(运算器、存储器、控制器、输入输出设备)、软件系统(运行程序和相应文档) 3.CPU主要组成部分:运算器、控制器 ALU运算器核心、累加器A、标志寄存器FR(C进、借位,OF溢出标志)、(不影响标志位CY的指令:INC A) 寄存器组RS、控制器CU(pc程序计算器、ir指令寄存器、id指令译码器) 4.存储器:RAM、ROM,其中RAM 具有易失性,常用于存储临时性数据 存储器的地址范围是0000H~0FFFH,它的容量为4KB(16*16*16=4*1024) 5.总线bus:传递信息的公共通信公道 片总线、内总线、外总线 地址总线(AB)、控制总线(CB)、数据总线(DB) 6.单片机(芯片)包括五部分:运算器、存储器、控制器、输入部分、输出部分8051:8位单片机 8031:复位后,PC和SP为:0000H、07H 7.二进制B、八进制O、十进制D、十六进制H 8.原码、反码、补码、压缩BCD码

9.单片机引脚: P1.0VCC(40引脚)P1.1P0.0 P1.2P0.1 P1.3P0.2 P1.4P0.3 P1.5P0.4 P1.6P0.5 P1.7P0.6 RST P0.7 RXD EA/VPP TXD ALE/PROG ITR0PSDE ITR1P2.7 T0P2.6 T1P2.5 WR P2.4 RD P2.3 XTAL2P2.2 XTAL1P2.1 GND P2.0(21引脚)

《单片机原理与应用》 大作业 班级:1411电科 姓名:马强 学号:2016511010

《单片机原理与应用》大作业(一)作业内容: 基于STC89C51单片机设计一个流水灯项目。实现功能:(1)实现LED灯的点亮和熄灭。 (2)实现LED灯的依次点亮。 (3)实现LED灯的循环点亮。 基于以上要实现的目标我进行了设计和分析,代码如下:#include #include #define uchar unsigned char #define uint unsigned int void delay(uint); uchar tmp,i; void main() { tmp=0x7f; P0=tmp; for(i=0;i<7;i++) { tmp=_cror_(tmp,1); delay(500); P0=tmp; } P0=0xfe; for(i=0;i<7;i++) { tmp=_crol_(tmp,1); delay(500); P0=tmp; }

} void delay(z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } 仿真结果: 点亮一个LED 依次点亮

循环点亮结论:

《单片机原理与应用》大作业(二) 作业内容: 基于STC89C51单片机设计一个按键控制数码管项目。实现功能: (1)数码管的点亮。 (2)按键按下检测。 (3)按键“K1”按下数码管以2Hz的频率循环显示0 ~ F,按键“K2”按下则数码管停止自动循环显示并以当前值为基础按下加一。 基于以上要实现的目标我进行了设计和分析,代码如下:、 /***************************************************************** *****/ #include #define uchar unsigned char uchar code table[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46 ,0x21,0x06,0x0e}; void k1(); void k2(); sbit key1=P3^0; sbit key2=P3^1; unsigned int i; void delay(unsigned int xms) { unsigned int x, y; for(x=xms;x>0;x--) for(y=110;y>0;y--); } void delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--);

单片机原理与应用 学号: 学生所在学院: 学生姓名: 任课教师: 教师所在学院:航空制造工程学院 2014年6月 13y8

基于单片机控制的可调电子数字钟 陈成龙 南昌航空大学航制学院 摘要:单片机是现代电子技术的新兴领域,它的出现极大地推动了电子工业的发展,已成为电子系统设计中最普遍的应用手段。设计单片机应用系统时,在完成硬件系统设计之 后,必须配备相应的应用软件。Proteus软件的应用使单片机可以直接在基于原理图进 行虚拟模拟上,并和μVision共同编程,编译,仿真调试,使单片机学习的学习过程 变得直观形象。 关键词:单片机ProteusμVision仿真调试 1.功能要求 利用89C51单片机内的定时器,设计一台可调数字钟,能通过按键进行时、分、秒的调整,采用8位LED数码管以24小时方式进行显示。 2.硬件电路设计 可调数字钟的硬件电路如图1所示。89C51单片机的P0口通过三态总线收发器74LS245接到8位共阴极LED数码管的数字输入端,单片机的P3作为数码管的数位控制,从P0口输出显示字符段码,从P3口输出循环扫描控制位,利用人眼的视觉暂留功能,达到8位数码管同时显示的效果。单片机的P1.0-P1.2引脚通过三个按钮开关接地,通过判断P1.0-P1.2引脚电平的高低,决定是否进行数字钟的时、分、秒调整。 3.软件程序设计 本设计利用89C51单片机内定时器T0中断来实现数字钟功能,T0定时时间设为50ms,每隔50ms产生一次中断,如果中断20次即到达1秒。程序设计时预先安排时、分、秒内存单元,在中断服务程序中根据中断次数来决定秒单元是否加1,当秒单元到达60时分单元加1,同时秒单元清零,分单元达到60时,时单元加1,同时分单元清零,时单元达到24时,时单元清零,又从头开始计时。可调数字钟的程序流程图如下图2、图3.

单片机程序设计编程规范 本规范适用于松翰科技 8-bit MCU部门汇编程序编写准则,同样适用于代理商及重要客户工程师编程规范参考。本规范的目的为统一编程风格,保证程序编写质量,提高程序的可移植性和维护性。 大部分的规范严格, 品质要求高的软件公司对员工编写代码的风格都有硬性规定, 例如缩排的使用,TAB 的长度,函数变量的命名方式。这些规定的明显好处是可以统一规范不同程序员所编制的代码,提升程序代码的可读性与可维护性,同时统一格式的编程风格也为code review提供方便。 目录 一、设计总则 二、排版风格 三、程序可读性及可维护性 四、注释 五、变量命名规则 六、常量命名规则 七、标号命名规则 八、文件命名规则及文件分割 九、标准程序模块 十、附录

一、设计总则 1.程序质量的评估 程序的优劣可以从两个方面进行评估,定量指标和定性指标。 定量指标包括: 1) 程序代码执行效率; 2) 程序占用资源多少。 定性指标包括: 1) 可调试性,即是否方便排除程序语法错误; 2) 可测试性,即是否方便验证程序功能的正确性; 3) 可维护性,即是否方便程序的修改和升级; 4) 可移植性; 5) 可读性。 2、程序架构 为了便于维护和移植,推荐使用层次化的软件设计方法。可把整个软件分为三层:应用层、界面层和底层驱动层。各层之间的关系如下图所示。 层次化设计说明: 1) 底层驱动层主要包含直接和硬件相关的驱动程序,如数码管显示、按键、峰鸣器、继电器和电机控制等。底层的各个模块间要保持各自的独立性,不产生直接的数据交互,底层也不直接访问应用层,如果有需要,都要通过界面层进行数据交互。 2) 界面层主要提供数据交互,为应用层和底层驱动之间以及底层驱动层各模块之间提供数据的交互。 3) 应用层主要完成具体功能的实现,它要通过界面层控制底层驱动层各模块来完成所需功能,而不能越过界面层直接访问底层驱动层。所有的用户接口要在应用层来实现。 4) 一个好的架构必须将底层硬件包装起来,为应用程序提供一组丰富的函数操作(buffer or parameter),例如在中断的处理中,应用程序不需要资料中断的堆栈如何保护不需要知道地址操作, 只需要读取中断产生的旗标动作。

<项目名称> 系统概要设计报告 版本<1.1> [注:以下提供的模板用于*******有限公司CMMI标准的模版。其中用尖括号括起来并以蓝色显示的文本,它们用于向作者提供指导,在发布此文档之前应该将其删除。] [要定制Microsoft Word 中的自动字段(选中时显示灰色背景),请选择“文件>属性”,然后将标题、主题、作者和公司等字段替换为此文档的相应信息。关闭该对话框后,通过选择“编辑>全选(或Ctrl-A)并按F9,或只是在字段上单击并按F9,可以在整个文档中更新自动字段。对于页眉和页脚,这一操作必须单独进行。按Alt-F9,将在显示字段名称和字段内容之间切换。有关字段处理的详细信息,请参见Word 帮助。]

文档信息及版本历史 版权信息 本文件内容由【上海*****(集团)有限公司EPG】负责解释本文件的版权属于【上海*****(集团)有限公司】和 【XXXXXXX此处写用户单位名称】 任何形式的散发都必须先得到本文档版本所属单位的许可

【目录】 1 概述 (4) 1.1 编写目的 (4) 1.2 适用范围 (4) 1.3 读者对象 (4) 1.4 术语和缩写 (4) 1.5 参考资料 (5) 2 设计概述 (5) 2.1 设计约束 (5) 2.2 设计策略 (5) 2.3 技术实现 (5) 3 系统概述 (6) 4 系统总体架构 (6) 4.1 平台架构 (6) 4.2 功能架构 (6) 5 模块1 (7) 5.1 模块结构 (7) 5.2 子模块1 (7) 5.3 子模块2 (7) 6 模块2...................................................................................................... 错误!未定义书签。 6.1 模块结构..................................................................................... 错误!未定义书签。 6.2 子模块1 ...................................................................................... 错误!未定义书签。 6.3 子模块2 ...................................................................................... 错误!未定义书签。 7 运行环境 (8) 7.1 软件平台 (9) 7.2 硬件平台 (9) 8 接口设计 (9) 9 系统备份设计 (9) 10 系统容错设计 (9) 11 设计约定 (9) 12 待解决问题 (9)

单片机原理与应用形成性考核册 学校名称: 学生姓名: 学生学号: 班级:

《单片机原理与应用》作业1 Array(第一、二章) 一、选择题 1.单片机芯片内提供了一定数量的工作寄存器,这样做的 好处不应包括(D )。 A. 提高程序运行的可靠性 B. 提高程序运行速度 C. 为程序设计提供方便 D. 减少程序长度 2.内部RAM中的位寻址区定义的位是给( D )。 A. 位操作准备的 B. 移位操作准备的 C. 控制转移操作准备的 D. 以上都对 3.对程序计数器PC的操作( A )。 A. 是自动进行的 B. 是通过传送进行的 C. 是通过加1指令进行的 D. 是通过减1指令进行的 4. 单片机程序存储器的寻址范围是由程序计数器PC的位数决定的,MCS-51的PC为16位,因此其寻址范围是( B )。 A. 4KB B. 64KB C.8KB D.128KB 5. 以下有关PC和DPTR的结论中错误的是(C )。 A. DPTR是可以访问的而PC不能访问 B. 它们都是16位的寄存器 C. 它们都具有自动加1功能 D.DPTR可以分为两个8位的寄存器使用,而PC不能 6. PC的值是( C )。 A.当前指令前一条指令的地址 B.当前正在执行指令的地址 C.下一条指令的地 D.控制器中指令寄存器的地址 7.假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为( D )。 A.36H B.37H C. 38H D.39H

8. 在80C51中,可使用的堆栈最大深度为( A )。 A.80个单元 B. 32个单元 C.128个单元 D.8个单元 9. 位处理器是单片机面向控制应用的重要体现,下列中不属于位处理器资源的是( B )。 A.位累加器CY B.通用寄存器的可寻址位 C.专用寄存器的可寻址位 D.位操作指令集 10. 在MCS-51单片机的运算电路中,不能为ALU提供数据的是( D )。 A. 累加器A B.暂存器 C.寄存器B D.状态寄存器PSW 11. 在MCS-51中( C )。 A. 具有独立的专用的地址线 B. 由P0口和P1口的口线作地址线 C. 由P0口和P2口的口线作地址线 D. 由P1口和P2口的口线作地址线 二、计算题 1. 将下列十进制数转换成二进制、十六进制及BCD码。 (1)129 (2)35.6 (3)63 (4)125.25 解:(1)129转换为:100000001B、101H、100101001BCD (2)35.6转换为:100011B.1001B、23.9H、110101.0110BCD (3)63转换为:111111B、3FH、1100011BCD (4)115.25转换为:1110011.01B、73.4H、100010101.00100101BCD 2 .将下列二进制数转换成十进制及十六进制。 (1)1010111 (2)1101110.101 (3)1000011 (4)11111 解:(1)1010111转换为:87D、57H (2)1101110.101转换为:110.625D、6E.AH (3)1000011转换为:67D、43H (4)11111转换为:31D、1FH 3 将下列真值写成原码、反码及补码。 (1)+1001001 (2)-1001101 (3)+83 (4)-127 (5)+1111110 (6)-1111111 (7)+34 (8)-0 解:(1)+1001001 的原码、反码及补码分别为:01001001、01001001 、01001001 (2)-1001101的原码、反码及补码分别为:11001101 、10110010、10110011 (3)+83 的原码、反码及补码分别为:01010011、01010011 、01010011

相关文档
最新文档