河北工程大学单片机课设简易计算器的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河北工程大学单片机课设简易计算器的设计
This model paper was revised by the Standardization Office on December 10, 2020
信息与电气工程学院
课程设计说明书(2011/2012学年第二学期)
课程名称:单片机课程设计
题目:简易计算器的设计
专业班级:
学生姓名:
学号:
指导教师:
设计周数:两周
设计成绩:
2012年 6 月 21 日
目录
1、课程设计目的 (3)
2、课程设计正文 (3)
、设计所需器材 (3)
、设计任务和要求 (3)
、设计方案 (4)
(4)
说明 (4)
2.数码管说明………………………………………………………………
4
3.晶体振荡电路设计 (6)
4.数码管和位选设计 (6)
5. 复位设计 (7)
6.蜂鸣器电路设计 (8)
7.矩阵键盘的设计 (8)
(9)
、软硬件调试 (14)
3、课程设计总结 (14)
4、参考文献 (15)
附录一、系统原理图 (16)
附录二、PCB图 (17)
课程设计评语及成绩 (18)
一、课程设计目的
1.熟悉和掌握单片机的结构及工作原理。
2.掌握单片机的接口技术及相关外围芯片的外特性及控制方法。
3.通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。
4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
5.通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。
二、课程设计正文
设计所需器材
电阻: 1K (8个) (8个) 10k(1个) 按键开关:16个
极性电容(1个 10uf)
非极性电容:30pf(5个)
晶振:6MHZ(1个)
三极管:PNP(1个) NPN(2个)
共阴极数码管:2个
蜂鸣器:1个
底座:DIP40(1个)DIP16(1个)
万能电路板:1个
芯片:STC90C52AD(1片) MAX232(1片) ,74HC573(片)
发光二极管:3个
接线端子:1个
设计任务和要求
课程设计任务要求做一个简易数字计算器。
设计的主要内容是采用STC90C51AD作为控制单元,实现简易计算器功能。
原始数据及主要任务:设计一个以MCS-51单片机为核心的简易计算器系统。
能够进行5以内的数字简单的加,减,乘,除运算,用2个数码管显示运算结果。
若进行除法运算,则小数点保留1位显示。
如果除数为0,则清0显示,且蜂鸣器响,当按下任意键后,蜂鸣器停止。
主要任务:
(1)确定总体设计方案;
(2)2位数码管显示电路设计,4*4按键电路设计,报警电路设计;
(3)设计硬件电路原理图和PCB图,绘制软件程序流程图,编写程序;
(4)软硬件联机调试。
技术要求:以MCS-51单片机为核心,主机用P1口接4*4矩阵按键;P0口用作数码管段码接口,P2端口用作数码管位码选通接口和蜂鸣器电路接口。
设计方案
简易数字计算器设计,主要的部分是STC90C52AD,编写程序,实现软硬结合,能够进行5以内的数字简单的加,减,乘,除运算,且具备清零功能。
6个数字键,6个功能键。
进行除法运算时,小数点保留1位显示。
如果除数为0,则清0显示,蜂鸣器响,当按下任意键后,蜂鸣器停止。
可扩展计算连续功能,数据溢出清0显示,蜂鸣器响,按下任意键后,蜂鸣器停止。
说明
AT89C51的引说明和功能说明如下:
XTAL1 :接外部晶振的一个引脚。
在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。
它采用外部振荡器时,些引脚应接地。
XTAL2 :接外部晶振的一个引脚。
在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。
当采用外部振荡器时,则此引脚接外部振荡信号的输入。
RST :STC90C52AD的复位信号输入引脚,高电位工作,当要对芯片又时,只要将此引脚电位提升到高电位,并持续两个机器周期以上的时间,AT89C51便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。
P0口~是一个8位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低8位)和数据总线复用。
外部不扩展而单片应用时,则作一般双向I/O口用。
P0口每一个引脚可以推动8个LSTTL负载。
P2口~口是具有内部提升电路的双向I/0端口(准双向并行I/O口),当访问外部程序存储器时,它是高8位地址。
外部不扩展而单片应用时,则作一般双向I/O口用。
每一个引脚可以推动4个LSTL负载。
P1口~口是具有内部提升电路的双向I/0端口(准双向并行I/O口),其输出可以推动4个LSTTL负载。
仅供用户作为输入输出用的端口。
P3口~口是具有内部提升电路的双向I/0端口(准双向并行I/O口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能。
2.数码管
LED显示器由8段发光二极管组成,排列成8字形状,称为8段LED显示器,器件内部接线图如图所示:
为了显示数字或符号,要为LED显示器提供代码,即字形代码。
七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。
简易计算器用到的数字0~9的共阴极字形代码如下表:
3.晶体振荡电路设计
图晶体振荡电路
采用6MHZ的晶振,接在芯片的18,19引脚上。
在复位端口加低电平。
4.数码管和位选设计
图数码管和位选电路
需要显示时间选用共阴极的数码管是三极管驱动,接有1000欧姆的保护电阻而成的两个数码管在显示时需要选通,采用STC90C52AD的P0口作为位选信号的输出端,高电平有效。
由于P0口有8个输出端,当端口为高电平使对应的数码管选通。
共阴极的数码管是低电平有效,所以采用NPN的三极管。
5. 复位设计
复位键直接加在单片机的复位端,当按键S1被按下时,系统复位。
图复位电路
6.蜂鸣器电路设计
图蜂鸣器电路
蜂鸣器接在口上,当触发时产生低电平使其导通,蜂鸣器响,报警。
7.矩阵键盘的设计
图矩阵键盘
开关接在P1口上,~,按键按下后相应的按键由高电平变为低电平,~为行。
系统程序:
#include<>
#define uint unsigned int
#define uchar unsigned char
sbit SPK = P3^5; 考文献
[1]张毅刚.单片机原理及应用.高等教育出版社,2003
[2]苏家键等.单片机原理及应用技术.北京:高等教育出版社,2004
[3]钟睿.MCS-51单片机原理及应用开发技术.北京:中国铁道出版社,2006
[4]范蟠果.工控单片机原理及应用.北京:清华大学出版社,2007附录一、系统原理图
附录二、PCB图
课程设计评语及成绩。