单片机测频仪设计
更新时间:2024-05-05 19:08:01 阅读量: 综合文库 文档下载
- 单片机测频仪设计需求推荐度:
- 相关推荐
※※※※※※※※※ ※※
※※
2011级
※ ※
单片机课程设计
※※※※※※※※※
单片机课程设计报告书
课题名称 姓 名 学 号 院、系、部 专 业 指导教师
2014年6月26日
测频仪设计
电气工程系 电气工程及其自动化
测频仪设计
一、设计目的
本次课程社级是用单片机进行的测频仪系统设计,完成频率的测试和频率范围的选择,并在八位数码管上相应的显示结果。设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的89c52单片机,输入不同频率的频率。显示采用八位数码管。软件方面从分析测频仪的功能、流程图设计,再到程序的编写进行系统设计。通过独立设计方案并自己动手用测频仪电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。
二、设计要求
本次课程设计,我选择的课题是单片机测频仪硬软件设计,设计任务为: 1、测量并显示所测频率; 2、通过按键切换测量范围;
3、本机地址为07H,当接到上位机发的07H时,则回发07H。当接到上位机发的AAH时,则将所测频率发给上位机;
4、具有较强的抗干扰能力;
三、硬件电路
3.1系统电路原理图
设计电路图如图3-1
1
图3-1 系统电路图
2
3.2 系统框图
测频仪系统由单片机、LED显示、开关、晶振、控制按钮及锁存器六部分组成。系统框图如图3-2所示。
控制按钮
图3-2 系统框图
3.3 STC89C52单片机介绍
89C52共有四个八位的并行双向口,即有32根输入输出口线。各口的每一位均由锁存器、输出驱动器和输入缓冲器组成。
VCC(40引脚):电源电压,VSS(20引脚):接地
P0端口(P0.0~P0.7,39~32引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。
P1端口(P1.0~P1.7,1~8引脚):P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。P1口特点是输出锁存器,输出时没有条件。输入缓冲,输入时有条件,即需要先将该口设为输入状态,先输出1。
此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)
3
P3口为准双向口。可以字节访问,也可以位访问。 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,外部数据存储器读选通。
RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。
ALE(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2(18引脚):振荡器反相放大器的输入端。STC89C52引脚图如图3-2所示。
图3-3 STC89C52引脚图
四、流程图设计
4.1主程序流程图
4
图4-1 主程序流程图
4.2 从机程序流程图
图4-2 从机程序流程图
五、程序设计
#include \
static data bit Tran_mark;
5
static data uchar Reci_num; static data uchar char_num; static datauchar Ask; uchar data xbuf[10]; uchar data *Sram; uchar counter=0; ulong timer_tick,grand; uint ExtInt=0,ExInt1=0; uchar Fre_0,Fre_1,Fre_2;
uchar grand_0,grand_1,grand_2,grand_3; uchar Timer0OverFlowCnt,Timer0OverFlowCntBUF; uchar TL0BUF,TH0BUF; void Init_System() { IT1=1; EX1=1; EA=1; P14=0; }
void Uart_Init() {
TMOD=0x21; SCON=0x50; PCON=0x00; TL1=0xFB; TH1=0xFB; ES=1; TR1=1;
TL0=(TIMER0_COUNT & 0x00FF); TH0=(TIMER0_COUNT >> 8); //TR0=1; ET0=1; }
void main()
6
{ uchar i; Init_System(); Uart_Init(); while(1) { P10=0; P11=0; P00=1; Ask=0; Reci_num=0; char_num=0; Sram=xbuf;
memset(xbuf,0,10); while(Reci_num==0);
if(xbuf[2]==(0xff&(xbuf[0]+xbuf[1]))) {
if(xbuf[1]==0x01) { P10=1; P11=1; P00=0;
memset(xbuf,0,10); xbuf[0]=0xff; xbuf[1]=0x01;
xbuf[2]=0xff&timer_tick; xbuf[3]=0xff&(timer_tick>>8); xbuf[4]=0xff&(timer_tick>>16); xbuf[5]=0xff&grand; xbuf[6]=0xff&(grand>>8); xbuf[7]=0xff&(grand>>16); xbuf[8]=0xff&(grand>>24);
xbuf[9]=0xff&(xbuf[0]+xbuf[1]+xbuf[2]+xbuf[3]+xbuf[4]+xbuf[5]+xbuf[6]+xbuf[7]+xbuf[8]);
7
Sram=xbuf; for(i=0;i<10;i++) {
Tran_mark=1; SBUF=*Sram++; while(Tran_mark); } } } } }
static void Timer0_int(void) interrupt 1 {
TL0=(TIMER0_COUNT & 0x00FF); TH0=(TIMER0_COUNT >> 8); Timer0OverFlowCnt++; if(Timer0OverFlowCnt>=50) {
Timer0OverFlowCnt=0; ExtInt=0; } }
void Serial_int() interrupt 4 {
uchar tsbuf; ES=0; if(RI) {
tsbuf=SBUF; if(tsbuf==0xff) { Ask++; } if(Ask)
8
{
char_num++; *Sram++=tsbuf; }
if(char_num==3) {
Reci_num++; } RI=0; } else {
Tran_mark=0; TI=0; } ES=1; }
void ExInt1_int(void) interrupt 2 { EX1=0; ExtInt++; //ExtInt1++; if(ExtInt==1) { TR0=1; }
if(ExtInt==21) { TR0=0; TL0BUF=TL0; TH0BUF=TH0;
Timer0OverFlowCntBUF=Timer0OverFlowCnt; TL0=0x00FF&TIMER0_COUNT; TH0=0x00FF&(TIMER0_COUNT >> 8);
9
Timer0OverFlowCnt=0; ExtInt=0;
timer_tick=((((TH0BUF<<8)|TL0BUF))+(Timer0OverFlowCntBUF*65536)); grand = grand+timer_tick; } EX1=1; }
六、设计总结
经过几天的努力,终于完成了本学期的单片机课程设计,过程虽是辛苦的,但从中我学到了很多东西,通过这次课程设计,使我对硬件电路的工作原理有了进一步的学习,进一步的认识。在这次课程设计中我遇到了一些困难,但在老师的指导和同学的帮助,再加上自己查阅了些许资料的情况下都解决了。虽然课程设计进行的不够顺利,但还是完成了任务,使自己的专业知识又得到了提升。在制作过程中熟练了Portel 的制图方法,同时对单片机有了进一步的认识,巩固了课上学习的理论知识,对于计算机汇编语言的系统化整体化有了更深的认识。
在这次难得的课程设计过程中我们锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我们思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。同时感谢老师和同学的指导帮助。
10
七、参考文献
[1] 高峰.单片微型计算机原理与接口技术.科学出版社,2007. [2] 胡汉才.单片机原理及其接口技术.清华大学出版社,2004.
[3] 李勋.单片机微型计算机大学读本.北京航空航天大学出版社,2002. [4] 王幸之. 单片机应用系统抗干扰技术.北京航空航天大学出版社,2001. [5] 张毅刚.单片机原理及应用 .高等教育出版社,2004.
11
正在阅读:
单片机测频仪设计05-05
职业培训与技能鉴定04-17
稻田养鱼教学设计课件资料03-08
如何延长诺基亚 N8 设备电池的使用寿命04-23
四升五年级奥数教案03-08
中原氧吧,神韵南阳旅游策划书07-26
湖南省郴州市湘南中学高中化学氮及其化合物 知识点及练习题及答04-09
食品分析复习题11-14
- 小学生造句大全
- 增压泵投资项目可行性研究报告(模板)
- 高中语文人教版粤教版必修1-5全部文言文知识点归纳
- 两学一做专题民主生活会组织生活会批评与自我批评环节个人发言提
- 管理处环境保洁工作操作标准作业指导书
- 2012六一儿童节活动议程 - 图文
- 移树申请报告
- 《贵州省市政工程计价定额》2016定额说明及计算规则
- 计算机长期没有向WSUS报告状态
- 汉语拼音教学策略研究
- 发展西部领先的航空货运枢纽
- 司法所上半年工作总结4篇
- 如何提高银行服务水平
- 发电厂各级人员岗位职责
- 丰田汽车的外部环境分析
- 2017—2018年最新冀教版四年级数学下册《混合运算》教案精品优质
- 中建八局样板策划 - 图文
- 戚安邦《项目管理学》电子书
- 2015年高级项目经理笔记
- 弯桥的设计要点
- 单片机
- 设计
- 欧洲文化试题1(1-3章)
- 二模考前复习5 - -锐角三角比、多边形、圆专题
- 珍爱生命,防止溺水 - 观看《孩子请不要下水》观后感近期,我们
- 河南十一五规划纲要
- 浙江省台州市2017年中考思想品德真题试题含解析
- 如何判断一个人的情感是否懦弱
- 18个文言虚词的课文例句及翻译
- 五年级 第11讲 约数与倍数【赵元江】
- 花店人员分配
- jsp是sun公司制定的一种服务器端动态页面生成技术规范
- 川农《新闻学概论(本科)》17年3月在线作业
- 高中数学知识点完整结构图
- 水保考试大纲
- 大三这一年
- 水平分段放顶煤采煤在实际开采中的应用
- 房地产业筹资风险防范与控制开题报告
- 惠州惠菱化成有限公司甲基丙烯酸甲酯(MMA)增产项目环境影响报告
- 2012春小学六年级语文期末试题及参考答案(钟莉芳)
- 招标文件
- 光纤通信试题