单片机课程设计

发布 2022-10-04 23:42:28 阅读 2304

课程设计说明书。

题目单片机课程设计。

姓名 xxxxxxx

学号 xxxxxxxxxxx

专业年级 2010级光信息9班

指导教师 xxxxxxxxx

2024年12 月6日。

摘要。利用c语言编程方法,结合在《单片机接口原理及技术》课程中学到的知识。**从项目开发的硬件到设计思路到程序设计做了一个完整的论述。

此次课程设计共分为三个设计项目,其中在个性化定时器中,采用单片机片内中断定时器产生等距的时间周期,并向可设定时间的倒计时装置提供一个相对精准的时钟源,再集合矩阵键盘添加相应设置功能并完成此次设计。在第二个测量室内温度项目设计中,用到了一个机遇i2c通信的adc/dac芯片检测ntc与固定电阻上ntc分得的电压值,算出ntc的阻值后利用查表法找出当时环境温度。而在花样点阵中,由于三个小项目都有其各自的特点,所以为充分达到最佳的显示效果每个对应的算法都不相同。

如点阵显示方面,旋转跑马灯采用的是静态显示法,而在另外两个里面则采用动态扫描法。

在此次设计中,严格的按照先熟悉硬件架构,在再制定程序流程图,最后才编写程序的方式,这样大大的避免了不必要的麻烦。

关键词:单片机,定时器,温度测量,8*8点阵,

我们每天都生活在这些产品的海洋里,不断地接触到各种各样的自动化电子产品,却常常忽略了它们的存在,更少有人去仔细想过它们的实现方法、原理和制造过程。

学单片机就相当于自己开发硬件,扩展计算机硬件的功能,通过学习单片机也能对计算机硬件知识有更深入的领悟,对于高级编程水平有一定帮助。学了单片机,就会对现在比较流行的所谓“嵌入式”系统有比较明确的了解,比如ic卡(比如**卡)、射频卡(比如公交一**)、磁卡(比如银行卡),还有什么gps(全球定位,无非就是个能连到串口的小电路模块)、gprs/gsm模块(相当于一部手机的核心部分)、cmos/ccd摄像头、lcd显示屏、can bus、usb接口电路等等看似神秘的技术感到不再陌生。

如今这个信息多元化的高技术时代,在这个计、机、电一体化程度越来越高的时代,即使我们学会了计算机,学会了程序设计,也不能说我们就完全掌握了“高科技”,完全实现了科技“扫盲”因此,学习单片机,掌握电子技术,剩下就是经验与积累,用心程度是有利无害的。

本**将详细介绍一款基于51内核的stc89c516rcrd +单片机上进行软件程序开发的具体流程。以及在某一项目中所涉及的外围器件知识的详细说明。

本设计要用到的元器件有芯片stc89c51rcrdhchc138、数码管、矩阵键盘、电阻、电容等。

2.2 stc89c516rcrd+

stc89c516rcrd+是一种带64k字节flash存储器(fperom—flash programmable and erasable read only memory)的高速低功耗,超强抗干扰的单片微处理器,俗称单片机。其指令**完全兼容8051单片机,12时钟周期和6时钟周期任意选择。工作频率从0达40mhz相当于普通8051的0到80mhz,实际工作频率可达48mhz。

外形及引脚排列如图2.1所示。

图2.1 stc89c516rcrd+外形管脚图。

stc89c516rcrd+管脚说明:

vcc:供电电压。

gnd:接地。

p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p0口的管脚第一次写1时,被定义为高阻输入。

p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。

p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在flash编程和校验时,p1口作为第八位地址接收。

p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。

p2口在flash编程和校验时接收高八位地址信号和控制信号。

p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。

p3口也可作为stc89c516rcrd+的一些特殊功能口,p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.

2 /int0(外部中断0)p3.3 /int1(外部中断1)p3.4 t0(记时器0外部输入)p3.

5 t1(记时器1外部输入)p3.6 /wr(外部数据存储器写选通) p3.7 /rd(外部数据存储器读选通)p3口同时为闪烁编程和编程校验接收一些控制信号。

rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。

ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。

在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:

每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。

另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。

psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。

ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。

在flash编程期间,此引脚也用于施加12v编程电源(vpp)。

xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。

xtal2:来自反向振荡器的输出。

hc6800-em3开发板中所有模块由跳线实现电器连接,模块与模块之间相互隔离,抗干扰能力提升,而且对拓展的模块进行操作时能更加灵活的使用切换i/o口。

此开发板附赠stc90c516rd单片机,拥有比普通51单片机更强大的功能。由于宏晶公司单片机用isp**方式**程序时,都需重新上电才能**程序,而hc6800-em3开发板恰巧解决了这个问题。由此用户能更快地**程序,对项目的完成和调试提供了极大的帮助。

本系统主要由硬件电路和软件流程组成。硬件电路主要是一个基于stc89c51rcrd+的开发板以及开发板之间各个模块之间的电路,软件流程主要包括主程序流程图和相关程序。本**还对本设计用到的芯片stc89c51rcrdhcls138等做了一些介绍。

lm386是八进制 3 态非反转透明锁存器,采用20脚双列直插塑料封装,外形如图2.2所示。

图2.2 74hc573外形管脚图。

74hc573高性能硅门cmos器件, 当锁存使能端le为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。 当输入的数据消失时,在芯片的输出端,数据仍然保持; 这个概念在并行数据扩展中经常使用到。

74ls138 为3 线-8 线译码器,当一个选通端(e1)为高电平,另两个选通端((/e2))和/(e3))为低电平时,可将地址端(a0、a1、a2)的二进制编码在y0至y7对应的输出端以低电平译出。比如:a2a1a0=110时,则y6输出端输出低电平信号。

图2.3 74ls138外形管脚图。

基于stc89c516rcrd+芯片的简易定时器的电路图[4], 如图3.1(a,b,c,d)。

a) 数码管模块的原理图。

b) 蜂鸣器模块原理图。

c) 矩阵键盘的原理图。

d) stc89c51rcrd+的i/o口电气网络原理图。

图3.1 硬件电路图。

这个个性化定时器我们采用的是单片机中中断定时器time0,产生一个25ms的时间段,然后通过适当的算法,将其实现十分秒的倒计。设置相应的标志位使蜂鸣器鸣叫。效果参看附件图1。

程序流程图如下:

图4.1 流程示意图。

在主程序流程图中,t0初始化以后,首先要通过扫描键盘,判断是否有按键按下。若没有按键按下,则要继续扫描,不断重复循环过程,直到发现按键按下,程序才能根据按键的功能,将相对应的音符t值装入到t0以后,t0开始启动。程序随后继续扫描按键,若按键保持按下状态,则t0继续保持工作状态,直到倒计时计数。

图4.2为t0中断子程序图。

图4.2 t0中断子程序图。

单片机课程设计

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

单片机课程设计

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

单片机课程设计

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