单片机课程设计

发布 2022-10-04 21:29:28 阅读 3196

中州大学工程技术学院。

课题名称。秒表。

目录。摘要1

一.系统设计要求2

二.设计思路分析2

三.秒表电路原理图设计2

3.1系统总电路图2

3.2时钟电路设计3

3.3 输入模块电路设计3

3.4显示模块电路设计3

四.系统硬件电路设计3

4.1秒表显示模块4

4. 2控制器模块单片机的选择4

4. 3键盘的选择5

五.简易秒表软件系统设计6

5.1定时模块6

5.2 主程序流程图8

六.系统的调试8

七.心得体会11

八.参考文献12

摘要。单片机在日用电子产品中的应用日益广泛,单片机控制秒表是基于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低、安全性高使用方便等优点。秒表是人们日常生活中常常需要用到的一种工具。

本文采用at89s51单片机从硬件和软件两方面介绍了一款简易的秒表设计过,并对硬件原理图和程序流程图作了简洁的描述。

关键字:单片机at89c51,led,秒表,计数器。

引言:随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,而本文设计并制作了一款基于at89c51的3位数码管显示的秒表,其电路简单,软硬件结构模块化,易于实现。产品和技术革新的日新月异都让人非常惊讶。

在电子科学技术高速发展的今天,高科技产品越来越多的应用在我们的日常生活中,给我们的生活带来了非常大的方便,每时每秒我们都能感受到产品的更新换代。像平常我们工作所用的电脑、手机和生活所用的电视机,收音机,***等等,这些高科技产品给我们带来了极大的方便,但这要归功于科学技术的高速发展。

一、设计要求。

硬件设计:根据任务要求,完成单片机最小系统及其扩展设计。

软件设计:根据硬件设计完成显示功能要求,完成控制软件的编写与调试;

⑶ 功能要求:用s1启动秒表和停止秒表,s2键将秒表归零,按一下s1,即开始定时,在数码管上每秒加1,加到60,归零。

二、设计思路分析。

本设计以单片机为核心设计的简易秒表方案是:用按钮s1启动秒表和停止秒表,开启后立刻进入计时状态,用定时器t0进行1s的计数,每隔1s就把预设时间加1,用一个两位的led数码管显示时间,按钮s2将秒表归零,如果第二次按一下s1键,计时会立即停止,在数码管上显示当前秒数,这时如果按下s2键,数码管会显示00,直到再次按下s1键计时才会开始,当秒数加到59后,下一秒数码管会归零,即从0开始重新每秒加1计时。

三、秒表电路原理图设计。

3.1系统总电路图。

图:3-1系统总电路图。

3.2时钟电路设计。

at89c51的时钟可以由两种方式产生,一种是内部方式,利用芯片内部的振荡电路,另外一种为外部方式。本设计根据实际需要和方便,采用内部振荡方式,如图5-2。at89c51内部有一个用于构成振荡器的高增益放大器,引脚atal1和xtal2分别是此放大器的输入端和输出端,这个放大器与作为反馈元件的片内晶体或陶瓷谐振器一起构成一个自激振荡器。

at89c51虽然有内部振荡电路,但要形成时钟,必须外接元件,所以实际构成的**时钟电路,外接晶体以及微调电容c1和c2构成并联谐振电路接在放大器的反馈电路中。对接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性、起针的快速性和温度的稳定性。 晶体频率可在 1.

2mhz-12mhz之间任选 ,电容 c1-c2 的典型值在20pf-100pf 之间任选,考虑到本系统对于外接晶体的频率稳定性要求不高,所以采取比较廉价的12mhz陶瓷谐振器,根据调试电容选择30pf。

如图5-2时钟电路

3.3 输入模块电路设计。

秒表的输入信号由两个小按钮控制。当有键按下的时候,就产生了有效地输入信号,本设计的s1键与p3.2引脚连接,该按钮被按下时,就产生外部中断,程序跳转执行外部中断1,对秒表进行开始和暂停。

本设计的s2键与p3.3引脚连接,该按钮被按下时,就产生外部中断,程序跳转执行外部中断0,对秒表进行清零。

3.4显示模块电路设计。

该模块由1个共阳极的两位7段led数码管构成,由p2口控制两位7段led数码管的显示,用来显示当前秒表的秒数。

四、系统硬件电路设计。

4.1秒表显示模块。

显示模块主要是显示秒表当前秒数,我考虑有以下两种显示方案。

方案 1:使用传统的数码管显示。数码管具有低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高低温,对外界环境要求低,易于维护,同时其精度高,称量快,精确可靠,操作简单。

数码显示是采用 bcd 编码显示数字,程序编译容易,资源占用较少。根据以上的论述,采用方案二,如图:4-1。

方案 2:使用液晶屏显示时间。液晶显示屏具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影像稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强的特点。

但由于只需要显示时间和组别的数字,信息量比较少,且由于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,控制器的资源占用较多,其成本也偏高。在使用时不能有静电干扰,否则易烧坏液晶显示芯片,不易维护。

图:4-1七段发光二极管。

4. 2控制器模块单片机的选择

atmel 公司的 89c52 单片机是增强型 risc 内载 flash 的单片机,芯片上的 flash 存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。89c52 单片机采用增强的 risc 结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每 mhz 可实现 1mips 的处理能力。89c52 单片机工作电压为 2.

7~6.0v,可以实现耗电最优化。89c52的单片机广泛应用于计算机外部设备,工业实时控制,仪器仪表,通讯设备,家用电器,宇航设备等各个领域。

由于单片机的种类很多,在选择单片机时要依据实际设计要求选择合适的单片机。例如当设计仅仅需要一个单片机定时器那么选择 89c1051 或89c2051 即可,而不选择 89c52,因为后者的**较高一些。当然若程序和数据区的要求较高那么选择的单片机还要满足程序空间的要求。

下面我们来比较 89c51 和 89c52。

下表进行 51 和 52 的比较

在本设计中,我们选用现在较为流行的 51 系列单片机,即选用 atmel公司的 at89c51,如图4-2。

图4-2 c51单片机。

4. 3键盘的选择。

键盘是单片机不可缺少的输入设备,是实现人机对话的纽带。键盘按结构形式可以分为非编码键盘和编码键盘,前者用软件方法产生键码,而后者则用硬件方法来产生键码。在单片机中使用的都是非编码键盘,因为非编码键盘结构简单,成本低廉,非编码键盘的类型很多,常用的有独立式键盘和行列式键盘等。

方案 1:行列式键盘。

行列式键盘是用 n 条 i/o 线作为行线,m 条 i/o 线作为列线组成的键盘,在行线和列线的每个交叉点上设置一个按键,按键的个数是 m*n 个。这种形式的键盘结构,能够有效的提高单片机系统中 i/o 的利用率,列线接 p1.0~p1.

3 ,行线接 p1.4~p1.7,行列式适用于按键输入多的情况。

cpu 对键盘的扫描可以采用程序控制的随机方式,即只有在 cpu 空闲时才去扫描键盘,响应操作人员的键盘输入,但 cpu 在执行应用程序的过程中,不能响应键盘输入,对键盘的扫描可以采用定时方式,即利用单片机内部定时器每隔一定时间对键盘扫描一次,这样控制方式不管键盘上有无键闭合,cpu 总是定时的关心键盘状态。在大多数情况下,cpu 对键盘可能进行空扫描。为了提高 cpu 的效率而又能及时响应键盘输入,可以采用中断方式,既 cpu 平时不必扫描键盘,只要当键盘上有键盘闭合时就产生中断请求,向 cpu 申请中断后,立即对键盘上有操作的键盘进性扫描,识别闭合键,并做相应的处理。

方案 2:独立式键盘。

键盘接口中使用多少根 i/o 线,键盘中就有几个按键,键盘接口使用了 4 根 i/o 口线,该键盘就有 4 个按键,这种类型的键盘,其按键比较少,且键盘中各按键的工作互不干扰。因此可以根据实际需要对键盘中的按键灵活的编码。

最简单的编码方式就是根据 i/o 输入口所直接反映的相应按键按下的状态进行编码,称按键直接状态码,对于这样编码的独立式键盘cpu可以通过直接读取 i/o 口的状态来获取按键的直接状态编码值,根据这个值直接进行按键识别,这样形式的键盘结构简单,按键识别容易。

独立式键盘的缺点是需要占用比较多的 i/o 口线,当单片机应用系统键盘中需要的按键比较少或 i/o 口线比较富余时,可以采用这样类型的键盘。

根据以上的论述,采用方案2,在本系统中采用了独立式键盘,其按键比较少,且键盘中各个按键的工作互不干扰。

五.简易秒表软件系统设计。

5.1定时模块。

设计中,一开始不运行定时器t0,只要按下s1键,定时器t0立即运行,进行1s的计时。这里我们采用的是定时器t0工作方式1,定时 0.05s,在中断程序设置变量叠加的方法来得到一秒的基本定时,定时器t1工作方式2,也是在中断程序设置变量叠加的方法来得到定时8ms,每隔8ms两位7段led数码管的两个公共端会交替通电,动态扫描当前简易秒表的秒数,即定时器定时一秒之后,单片机立即就会通过两位7段led数码管显示出来。

当计时59s后,下一秒从0开始计时。·

现把定时器t0,t1中断和外部中断0,1程序介绍如下:

void t0_1s(void) interrupt 1定时器t0中断函数。

th0=th_m1给定时器t0装入初值。

tl0=tl_m1;

if(++count_t0==20每0.05st0中断一次,重叠20次得到1s,对计时加1

disp[0]=tab[seconds/10得到十位数。

disp[1]=tab[seconds%10得到个位数。

单片机课程设计

可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...

单片机课程设计

目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...

单片机课程设计

1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...