单片机课程设计(贪吃蛇)

单片机课程设计(贪吃蛇)
单片机课程设计(贪吃蛇)

单片机课程设计报告(贪吃蛇)

院校:

专业:

班级:

姓名:

学号:

指导老师:

设计日期:

一、选题的背景与意义

单片微型机简称单片机,它是在一片芯片上集成了中央处理部件,存储器、定时器/计数器和各种输入输出设备等接口部件。单片机是微机发展的一个重要的分支,自问世以来,性能不断地改善和提高,加之单片机具有集成度高、功能强、速度快、体积小、功耗小、使用方便、性能可靠、价格便宜等优点,故在工业控制、数据采集和处理、通信系统、家用电器等领域的应用日益广泛。国内虽然起步较晚,但单片机的潜力越来越被人们所重视,尤其在工业控制、自动化仪器仪表、计算机系统接口、智能化外设等应用领域发展很快。它的应用对于产品升级换代、机电一体化都具有重要的意义,在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数,被用于各种不同产品的生产。在通信行业更为广泛利用,手机从只能基本通话,到现在一台手机拥有各种不同的功能,单片机得到了广泛的应用。手机可以听音乐,听收音机,玩游戏,照相片等等,比较流行的手机游戏贪吃蛇就能用单片机实现。

二、研究的基本内容与拟解决的主要问题

贪吃蛇游戏设计主要硬件由单片机最小系统,8*8点阵,4个方向按键,7805稳压电路,整个的游戏设计外围电路比较少,主要核心在于游戏的程序设计,本设计的游戏规则也参照现在手机流行的贪吃蛇游戏的规则去设计,当蛇吃到食物时,蛇身就会自动增加一格,食物随机出现在屏幕上,当蛇碰到墙壁时,游戏结束。

本设计需要考虑的问题有以下几个:

1.8*8点阵的选择

2.保证游戏的流畅性和及时响应性

3.游戏的设计应该接近人性化

贪吃蛇初始化子程序流程图

贪吃蛇运行子程序是整个程序设计的核心,首先由系统检测是否有按键按下,确定有按键按下后,外部中断程序自动执行,开始扫描矩阵键盘,得到键值,根据键值判断贪吃蛇要走的方向。在游戏运行的期间,系统不断检测蛇是否死亡,蛇是否已经最长,蛇是否吃到了食物。若蛇已经死亡,则蛇的死亡标记位被置位,跳转到死亡界面,检测是否有按键按下,有就跳转到游戏开始界面,重新开始游戏,无则等到有任意键按下。游戏的速度控制由延时程序决定,若延时程序延时短,则蛇移动得快,若延时比较长,则蛇移动得慢。若蛇已经吃到食物,则在放食物的原来的坐标会消除显示,重新读取计数器的值,通过计算得到要放置食物的坐标,在该坐标上显示食物。

1.准备工作

认真详细的阅读任务书,深刻了解主要的内容和要求。

查阅与贪吃蛇相关的书籍,了解贪吃蛇的工作原理。

了解历年全国大学生电子竞赛有关贪吃蛇的资料。

根据控制要求初步确定所使用的元器件。

2. 实施步骤

明确控制要求,绘制电路连接图。

参考文献,检查电路图的正确性。

根据电路连接图焊接电路板,制作贪吃蛇模型。

分析操作流程,绘制程序流程图。

编写程序代码。

运用电脑软件初步对程序进行调试。

配合贪吃蛇硬件部分,并完善功能,达到设计要求。

3.设计方案

(1)8*8点阵方案

8X8点阵LED比LCD128X64结构更简单,不需要任何的指令集,即对I/O 口直接输出可以使用。若选用8X8点阵LED显示屏,8X8的led 点阵能使用的范围很少,对增强游戏的功能方面加以限制,显然有点大,不美观,但取材容易。

(2)电源单元方案

采用usb供电,通过usb能使51单片机更加稳定在正常的工作范围内使得51更好的工作。

(3)方向单元方案

利用方向按键来引导蛇的移动方向到达用户所指定的地点。

三:设计流程(重要)

1:原理图(摘自互联网)

2:单片机使用(如图)

这次试验用到了P0.P2.P3口。

P0,P2口作为点阵的输入口

P3.4 P3.5 P3.6 P3.7作为上下左右下图为源程序控制定义

3:原件清单

4:关于焊接方面的问题和图解

电源

开关

3源程序

#include

#define uchar unsigned char

#define SNAKE 20 //最大长度

#define TIME 50 //显示延时时间

#define SPEED 40 //速度控制

//#define keyenable 1

sbit keyenable=P3^6; //方向使能

/*sbit keyx=P0^1; //左右

sbit keyy=P0^2; //上下 */

//sbit up=P0^0;

sbit up=P3^4; //down

sbit down=P3^5;

sbit right=P3^6;

sbit left=P3^7;

uchar x[SNAKE+1];

uchar y[SNAKE+1];

uchar time,n,i,e; //延时时间,当前蛇长,通用循环变量,当前速度char addx,addy; //位移偏移量

/********************

延时程序

*********************/

void delay(char MS)

{

char us,usn;

while(MS!=0)

{

usn = 0;

while(usn!=0)

{

us=0xff;

while (us!=0){us--;};

usn--;

}

MS--;

}

}

/*******************************************

判断碰撞

*******************************************/

bit knock()

{bit k;

k=0;

if(x[1]>7||y[1]>7)k=1; //撞墙for(i=2;i

}

/*****************

上下左右键位处理

*****************/

void turnkey()// interrupt 0 using 2

{//up=1;

if(keyenable)

{

if(left){addy=0;if(addx!=1)addx=-1; else addx=1;}

if(right){addy=0;if(addx!=-1)addx=1; else addx=-1;}

if(up){addx=0;if(addy!=-1)addy=1; else addy=-1;}

if(down){addx=0;if(addy!=1)addy=-1; else addy=1;}

}

}

/*****************

乘方程序

*****************/

uchar mux(uchar temp)

{

if(temp==5)return 32;

if(temp==4)return 16;

if(temp==3)return 8;

if(temp==2)return 4;

if(temp==1)return 2;

if(temp==0)return 1;

return 0;

}

/*****************

显示时钟显示程序

*****************/

void timer0(uchar k)

{while(k--)

{for(i=0;i

{P0=mux(x[i]);P2=255-mux(y[i]);

turnkey(); //上下左右键位处理

}}

}

/*****************

主程序

*****************/

void main(void)

{e=SPEED;

P1=0x00;

P2=0xff;

P0=0x00;

P3=0x00;

while(1)

{

for(i=3;i

n=3; //蛇长n=-1 addx=0;addy=0; //位移偏移//k=1;

while(1){if(keyenable)break;timer0(1);}

while(1)

{timer0(e);

if(knock()){e=SPEED;break;} //判断碰撞

if((x[0]==x[1]+addx)&(y[0]==y[1]+addy)) //是否吃东西

{n++;

if(n==SNAKE+1)

{n=3;e=e-10;

for(i=3;i

for(i=3;i

}

x[0]=x[n-2];

}

for(i=n-1;i>1;i--){x[i]=x[i-1];y[i]=y[i-1];}

x[1]=x[2]+addx;y[1]=y[2]+addy; //移动

}

}

}

四:总结

实话说来程序和想法是从网上看的,原件是从网上购买,不过这次设计还是让我受益匪浅,第一学习了点阵的扫描方法。第二也学习了键盘的动态扫描方法(不过这次设计没有涉及)。加深了对微型系统的理解也感觉到单片机的不足中断较少(也从未涉及过中断里面嵌套中断的程序和设计),希望以后学习能够涉及到的方面是中断嵌套中断的方法,和液晶显示屏的驱动方法。

单片机课程设计完整版样本

课程设计( 论文) 课程名称单片机 题目名称简易密码锁的设计学院高等技术学院 专业班级高1 1 0 9 学号3869 学生姓名刘欢 指导教师胡立强 11月28 日 目录

一,任务目的 (3) 二,任务要求 (3) 三,电路与元器件 (4) 四,程序设计 (5) 五,程序运行测试 (6) 六,任务小结 (7) 七,心得体会 (8) 八,参考文献 (9) 1.任务目的

经过对具有四个按键输入和一个数码管显示的简易密码锁的设计与制作, 让读者理解C语言中数组的基本概念和应用技术, 并初步了解单片机与键盘和LED数码管的接口电路设计及编程控制方法。 2.任务要求 在一些智能门控管理系统, 需要输入正确的密码才能开锁。基于单片机控制的密码锁硬件电路包括三部分: 按键、数码显示和电控开锁驱动电路, 三者的对应关系如图表3.16所示。 表3.16 简易密码锁状态 简易密码锁的基本功能如下: 4个按键, 分别代表数字0,1,2,3: 密码在程序中事先设定, 为0-3之间的一个数字; 上电复位后, 密码锁初始状态为关闭, 密码管显示符号”—”; 当按下数字键后, 若与事先设定的密码相同, 则数码管显示字符”P”, 打开锁, 3秒后恢复锁定状态, 等待下一次密码的输入, 否则显示字符”E”持续3秒, 保持锁定状态并等待下次输入。 3.电路与元器件 根据任务要求, 用一位LED数码管作为显示器件, 显示密码锁的状态信息, 数码管采用静态连接方式; 4个按键连接到P0口的低四位

P0.0-P0.3引脚, 设P0.0连接数字”0”按键、P0.1连接数字”1”按键, 依次类推; 锁的开、关电路用P3.0控制的一个发光二极管代替, 发光二极管点亮表示锁打开, 熄灭表示锁定。根据以上分析, 采用如图3.21所示的连接电路。 图3.21 简易密码锁电路 简易密码锁电路所需元器件清单如表3.17所示。 元器件名称参数数量元器件名 称 参数数量 插座DIP40 1 电阻103 1 单片机AT89SC51 1 电解电容22UF 1

基于单片机交通灯课程设计报告书

三峡职业学院 课程设计 课题名称交通灯控制系统设计 交通灯控制系统设计 摘要:本系统由单片机最小系统、按键(开关)、LED 显示等等组成交通灯演示系统。系统用红、黄、绿三个发光二极管模拟交通灯的红灯、黄灯、绿灯的功能。系统除基本交通灯功能外,还具有倒计时(15秒)、时间设置、紧急情况(按键模拟传感器)处理等功能。 关键词:AT89C51,交通规则 引言:随着日新月异的电子变革,电子产品发生了突飞猛进的巨变,而在其中AT89C51扮演着一个重要的角色,AT89C51单片机具有广泛性、工具性、基础性的几个特点。单片机应成为中等技术人员的重要技术知识层面。近年来,我国工程技术队伍的梯队建设有了很大的进展。各类高职、高专如雨后春笋,涉电专业普遍开设单片机类课程。直观性表现在尽可能让我们在学习基本原理时能直观地看到相关实物及实物表演,使基本原理能实现形象化的表达;实践性表现在我们要通过许多实际操作来理解与掌握单片机的本质与技能;综合性表现在最终能使我们达到运用知识与技能来完成一个应用系统开发的全过程,有助于大学生动手能力的培养和提高,课程设计就是一门应用性很强的课程。如何让我们在学好基础知识的同时,迅速掌握设计应用技术,其中,实验与课程设计环节起着非常重要的作用。对我们学习和掌握单片机设计技术起到积极的作用。 一、方案比较、设计与论证

(1) 电源提供方案 为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案 方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统线路变复杂,且可能影响系统各模块的电路电平。 方案二:采用干电池提供电源。该方案的优点是系统简明扼要,线路易于梳理,节约成本;缺点是输出功率不高。 综上所述,我们选择第二种方案。 (2) 显示界面方案: 该系统要求完成数码管倒计时(15s)、状态灯发光二极管(红、黄、绿)的显示功能。基于上述原因,我们考虑了二种方案: 方案一:东西南北四个方向分别采用两位数码管显示倒计时。这种方案只显示有限的符号和数码字苻,并且制作PCB图时有许多的线相交,线路十分的复杂,不易制作原理图与PCB图,无法胜任题目要求。 方案二:东西南北四面各自采用红、黄、绿三个发光二极管显示,采用一个两位数码管显示倒计时,主要优点是易于调整元件在硬制板上摆放的位置,同时也易于PCB图的制作。 综上所述,我们选择方案二。 (3) 输入方案: 题目要求系统能即时的处理外部紧急情况产生的中断,我们讨论了两种方案: 方案一:采用矩阵键盘。该方案的优点是: 可提供较多I/O 口,实现更多的外部中断。直接站单片机的接口少的特点,但操作起来稍显复杂,而且编程也趋于复杂。 方案二:直接在IO口线上接上按键开关。因为设计时精简和优化了电路。 由于该系统对于交通灯等发光二极管的控制,只用单片机本身的I/O 口就可实现,只要一个开关来模拟一个外部的紧急中断,且本身的计数器及RAM已经够用,故选择方案二。 (4) 系统方案: 本系统的硬件采用模块化设计,以单片机控制器为核心,与LED信号灯电路等组成单片机控制信号系统.

基于51单片机的秒表设计

江西理工大学应用科学学院信息工程系单片机原理与应用课程设计报告 设计题目:基于51单片机的秒表设计 专业:电子信息工程 班级:电信121 学号: 08060312109 参与人员:贺佳、周代元、周昶旭、张浥中 指导老师:王苏敏 完成日期: 2015年1月20日

目录 1 设计任务和性能指标 (1) 1.1 课题内容 ....................... 错误!未定义书签。 1.2 课题要求 ........................ 错误!未定义书签。 2 设计方案............................. 错误!未定义书签。 2.1 需求分析 (3) 2.2 方案论证 (3) 3系统软件设计 (5) 4.1 系统软件流程图................... 错误!未定义书签。 4.2 实验程序清单 .................... 错误!未定义书签。 4 系统硬件设计 (10) 5.1 调试步骤 (11) 5.2 性能分析 ........................ 错误!未定义书签。5系统硬件设计.......................... 错误!未定义书签。参考文献.. (14)

1 设计任务和性能指标 1 课题内容要求及目的 1.1课题内容 用AT89C51设计一个秒表,该秒表课可显示0.0~99.9秒的时间,进行相应的单片机硬件电路的设计并进行软件编程利用单片机定时 器/计数器中断设计秒表,从而实现秒、十分之一秒的计时。综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。通过本次系统设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握。本系统利用单片机的定时器/计数器定时和记数的原理,通过采用proteus仿真软件来模拟实现。模拟利用AT89C51单片机、LED 数码管以及控件来控制秒表的计数以及计位!其中有三位数码管用来显示数据,显示秒(两位)和十分之一秒,十分之一秒的数码管计数从0~9,满十进一后显示秒的数码管的数字加一,并且十分之一秒显示清零重新从零计数。计秒数码管采用三位的数码管,当计数超过范围是所有数码管全部清零重新计数。 1.2课题要求 本课题是基于单片机的秒表系统设计,它的具体要求有以下几点: (1)用单片机AT89C51实现; (2)以0.1秒为最小单位进行显示; (3)秒表量程为0.0-99.9秒,用 LED显示;

基于-89C51单片机的秒表课程设计汇本

《单片机技术》 课程设计报告 题目:基于MCU-51单片机的秒表设计班级: 学号: 姓名: 同组人员: 指导教师:王瑞瑛、汪淳 2014年6月17日

目录 1课程设计的目的 (3) 2 课程设计题目描述和要求 (3) 2.1实验题目 (4) 2.2设计指标 (4) 2.3设计要求 (4) 2.4增加功能 (4) 2.5课程设计的难点 (4) 2.6课程设计容提要 (4) 3 课程设计报告容 (5) 3.1设计思路 (5) 3.2设计过程 (6) 3.3 程序流程及实验效果 (7) 3.4 实验效果 (16) 4 心得体会 (17)

基于MCS-51单片机的秒表设计 摘要:单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。本次设计容为以8051 单片机为核心的秒表,它采用键盘输入,单片机技术控制。设计容以硬件电路设计,软件设计和PCB 板制作三部分来设计。利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED 数码管以及按键来设计计时器。将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示,在现实生中应用广泛。 关键词:秒表;8051;定时器;计数器 1 课程设计的目的 《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。 2 课程设计题目描述和要求

单片机课程设计报告电子密码锁完整版

单片机课程设计报告电 子密码锁 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

山东交通学院 单片机原理与应用课程设计院(部):轨道交通学院 班级:自动化121 学生姓名: 学号: 指导教师: 时间:— 课程设计任务书 题目电子密码锁设计 系 (部) 轨道交通学院 专业班级自动化121 学生姓名 学号 06 月 01 日至 06 月 12 日共 2 周 指导教师(签字) 系主任(签字) 年月日

目录 3.总体设计 (2)

4 密码比较模块 (6) (6) (8) (9) 附录 (10)

摘要 设计运用了ATMEL公司的AT89S52芯片系统,将微处理器、总线、蜂鸣器、矩阵键盘、存储器和I/O口等硬件集中一块电路板上,通过读取键盘输入的数据(密码)并储存到ATMEL912 24C08存储器中,然后判断之后键盘输入的数据与已存储的数据是否相同来决定打开密码箱或锁键盘或报警。在keil4软件中编程,系统可实现6位密码的处理,并通过控制步进电机控制密码箱门的电子锁,同时还可以修改改密码。利用单片机系统制作的密码箱安全性能更高,更易操作且体积小。 关键词:单片机、密码锁、修改密码 1.设计要求 本实验将实现六位数的电子密码锁。要求使用4X4 行列式键盘作为输入,并用LCD 实时显示。具体要求如下:1. 开机时LCD显示“welcome to use”,初始化密码为“123456”,密码可以更改。 2. 按下“10”,开始则显示“Enter Please:”。3. 随时可以输入数值,并在LCD上实时显示‘*’。当键入数值时,为了保密按从左到右依次显示‘*’,可键入值为0~9。 4. 按下“13”键,则表示确定键按下,进行密码对比。如相符则在LCD第一行显示“Open the door!”,同时指示灯亮起并且步进电机旋转一定的角度;如不符,则LCD第一行显示“Wrong password!”,并且蜂鸣器同时提示一下。如果密码连续三次错误则蜂鸣器连续响5下,并且持续5秒不能进行任何操作 5.在开锁状态下按下“12”键,进入修改密码状态,LCD同时提示“Enter new code!”。为删除按键,出入之后可以进行删除。按键为关闭按键,只有在打开状态下才可以关闭,按下之后LCD显示“Close the door!”。 2.功能概述 此设计分为四个功能模块。 第一模块:按键输入模块,用于密码的输入以及其他的密码操作按键。 第二模块:LCD模块,是与使用者交流的界面,用于显示各种状态下的内容。 第三模块:步进电机模块,用于控制密码锁的打开与关闭。 第四模块:24C08模块,用于储存输入的密码并读出来。 3.总体设计 本次设计作品的主要构成部分包括80C51单片机、LCD1602、24C08、矩阵按键、LED 等、蜂鸣器。如图1总体仿真图,图2实物图。 图1 总体电路图 图2 密码锁实物图 4.硬件设计 矩阵按键设计 如图3所示矩阵按键由P1口控制,了加强密码的保密性,采用一个4×4的矩阵式键盘可以任意设置用户密码(1-16位长度),从而提高了密码的保密性,同时也能减少与单片机接口时所占用的I/O口线的数目,节省了单片机的宝贵资源,在按键比较多的时候,通常采用这种方法。 每一行与每一列的交叉处不相同,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N根行线与M根列线,即可组成具有N × M 个按键的矩阵键盘。 在这种行列式矩阵键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确

51单片机课程设计秒表

微控制器技术课程 设计报告 设计题目:秒表 专业:供用电技术 班级:供电141 学号:140315143 姓名:王晨铭 指导教师:李昊 设计时间:2016.6.21

微控制器技术课程设计任务书 设计题目:秒表 设计时间:2016.6.20 设计任务: 在单片机开发板或软件仿真,编制程序,实现以下功能 1、利用定时器实现秒表功能,精确到0.1S; 2、数码管显示当前计时时间; 3、设定三个键,计时开始,停止计时和复位清零。 背景资料:1、单片机原理与应用 2、检测技术 3、计算机原理与接口技术 进度安排: 1、第1天,领取题目,熟悉设计内容,分解设计步骤和任务; 2、第3天,规划设计软硬件,编制程序流程、绘制硬件电路。 3、第5天,动手制作硬件电路,或编写软件,并调试。 4、第7天,中期检查。 5、第9天,完善设计内容,书写设计报告。 6、第13天,提交设计报告,整理设计实物,等待答辩。 7、第14天,设计答辩。

目录 一、设计任务和要求 (3) (1)设计任务 (3) (2)设计要求 (3) 二、设计方案与论证 (3) 三、单元电路设计与参数计算 (4) (1)时钟电路 (4) (2)按钮电路 (4) (3)显示电路 (5) (4)单片机 (5) 四、原理图及器件清单 (6) ( 1 )总原理图 (6) (2)PCB图 (7) (3)Proteus仿真图 (7) (4)元器件清单 (8) 五、安装与调试 (8) (1)安装 (8) (2)调试 (8) 六、性能测试和分析 (9) 七、结论和心得 (9) 八、参考文献 (9)

题目:秒表 二、方案设计与论证 本设计分为时钟电路、按钮电路、显示电路和单片机四大部分,这些模块中单片机占主控地位。其模块电路如图2-1所示。时钟电路常用的有内部时钟方式和外部时钟方式,但因为本设计中只需要一片单片机,所以采用内部时钟方式比较简单。按钮电路中的“复位”按钮是按键手动复位,它有电平和脉冲两种方式,比较电路的复杂程度,本设计选择了按钮电平复位电路,其他几个按钮则是通过单片机判断高低电平的不同来控制按钮。显示电路所用的数码管有共阴和共阳之分,不管使用何种数码管,P0口作为I/O使用时都是需要上拉电阻才能驱动数码管。另外,因为单片机的4个并行I/O口的输出电流一般是1mA,短路电流为4mA左右,而数码管的最少驱动电流也需要10mA,因而不管在使用共阴数码管时,单片机输出口也必须使用上拉电阻提高输出电流,才能驱动数码管。为了使电路简单化,本设计选用共阳数码管。但根据显示方式的不同选择,我们可以有几种方案: 方案一:使用静态显示方式。静态显示方式下的数码管的显示字符一经确定,相应锁存器锁存的断码输出將维持不变,直到送入另一个字符的断码为止。因而此设计中使用的显示位数使用了三个8位并行I/0口。如果另外想扩展单片机功能,则能使用的输出管脚很是有限。 方案二:使用动态显示方式。这个显示方式是将所有显示位的段码线的相应段并联在一起,由一个8位I/O口控制,而各位的共阴或共阴极分别由相应的I/O线控制,形成各位的分时选通。这种显示方式,简化了硬件电路,特别在多位数码管显示时尤为突出。 本小组尝试了各种方案,在此报告中以静态显示方式为例说明。(动态显示方式省略) 显示电路 单片机 AT89C51 时钟电路 按钮电路

单片机课程设计 秒表计时器(DOC)

课程设计名称:单片机原理及接口技术 题目:基于单片机的秒表计时器设计 学期:2014-2015学年第一学期 专业:电气技术 班级: 姓名: 学号: 指导教师:

辽宁工程技术大学 课程设计成绩评定表

课程设计任务书 一、设计题目 秒表计时器 二、设计任务 本课题以单片机为核心,设计和制作一个秒表计时器。 三、设计计划 课程设计一周 第1天:查找资料,方案论证。 第2天:各部分方案设计。 第3天:各部分方案设计。 第4天:撰写设计说明书。 第5天:校订修改,上交说明书。 四、设计要求 1、绘制软件流程图并利用汇编语言编写软件程序; 2、绘制系统硬件原理图; 3、形成设计报告。 指导教师: 教研室主任: 2014年5月26 日

本设计利用89C51单片机设计秒表计时器,通过LED显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒到来时,就让秒计数单元加一,通过控制使单片机秒表计时,暂停,归零。设计任务包括控制系统硬件设计和应用程序设计。 关键词:51单片机;74HC573;LED数码管

综述 (1) 1 程序方案 (2) 1.1方案论证 (2) 1.2总体方案 (2) 2部分设计 (3) 2.1 89C51单片机 (3) 2.2晶体振荡电路 (4) 2.3硬件复位电路 (5) 2.4显示电路 (6) 2.5整体电路图 (7) 3程序设计 (8) 3.1程序流程框图 (8) 3.2显示程序流程图 (9) 3.3汇编源程序 (10) 4调试说明 (13) 4.1概述 (13) 4.2电路原理图 (13) 心得体会 (15) 参考文献 (16)

单片机课程设计完整版《PWM直流电动机调速控制系统》

单片机原理及应用课程设计报告设计题目: 学院: 专业: 班级: 学号: 学生姓名: 指导教师: 年月日 目录

设计题目:PWM直流电机调速系统 本文设计的PWM直流电机调速系统,主要由51单片机、电源、H桥驱动电路、LED 液晶显示器、霍尔测速电路以及独立按键组成的电子产品。电源采用78系列芯片实现+5V、+15V对电机的调速采用PWM波方式,PWM是脉冲宽度调制,通过51单片机改变占空比实现。通过独立按键实现对电机的启停、调速、转向的人工控制,LED实现对测量数据(速度)的显示。电机转速利用霍尔传感器检测输出方波,通过51单片机对1秒内的方波脉冲个数进行计数,计算出电机的速度,实现了直流电机的反馈控制。 关键词:直流电机调速;定时中断;电动机;波形;LED显示器;51单片机 1 设计要求及主要技术指标: 基于MCS-51系列单片机AT89C52,设计一个单片机控制的直流电动机PWM调速控制装置。 设计要求 (1)在系统中扩展直流电动机控制驱动电路L298,驱动直流测速电动机。 (2)使用定时器产生可控的PWM波,通过按键改变PWM占空比,控制直流电动机的转速。 (3)设计一个4个按键的键盘。 K1:“启动/停止”。 K2:“正转/反转”。 K3:“加速”。 K4:“减速”。 (4)手动控制。在键盘上设置两个按键----直流电动机加速和直流电动机减速键。在

手动状态下,每按一次键,电动机的转速按照约定的速率改变。 (5)*测量并在LED显示器上显示电动机转速(rpm). (6)实现数字PID调速功能。 主要技术指标 (1)参考L298说明书,在系统中扩展直流电动机控制驱动电路。 (2)使用定时器产生可控PWM波,定时时间建议为250us。 (3)编写键盘控制程序,实现转向控制,并通过调整PWM波占空比,实现调速; (4)参考Protuse仿真效果图:图(1) 图(1) 2 设计过程 本文设计的直流PWM调速系统采用的是调压调速。系统主电路采用大功率GTR为开关器件、H桥单极式电路为功率放大电路的结构。PWM调制部分是在单片机开发平台之上,运用汇编语言编程控制。由定时器来产生宽度可调的矩形波。通过调节波形的宽度来控制H电路中的GTR通断时间,以达到调节电机速度的目的。增加了系统的灵活性和精确性,使整个PWM脉冲的产生过程得到了大大的简化。 本设计以控制驱动电路L298为核心,L298是SGS公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。可驱动2个电机,OUTl、OUT2和OUT3、OUT4之间分别接2个电动机。5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。 本设计以AT89C52单片机为核心,如下图(2),AT89C52是一个低电压,高性能 8位,片内含8k bytes的可反复擦写的只读程序存储器和256 bytes的随机存取数据存储器(),器件采用的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。 图(2) 对直流电机转速的控制即可采用开环控制,也可采用闭环控制。与开环控制相比,速度控制闭环系统的机械特性有以下优越性:闭环系统的机械特性与开环系统机械特性相比,其性能大大提高;理想空载转速相同时,闭环系统的静差(额定负载时电机转速降落与理想空载转速之比)要小得多;当要求的静差率相同时, 闭环调速系统的调速范

单片机交通灯课程设计

单片机原理及应用课程设计报告 系别:物理系 专业:电子信息工程 指导教师: 班级:1504 学号: 姓名: 2018.5

课程设计任务书 目录

一、绪言 (1) 二、方案比较与论证 (1) 2.1 系统整体流程图 (1) 2.2 单片机的选择方案论证 (1) 2.3 89C51单片机引脚功能说明 (2) 2.4单片机最小系统 (5) 三、硬件电路设计 (6) 3.1 交通灯控制系统电路图 (6) 3.2 晶振电路的设计 (7) 3.3 LED灯电路的设计 (7) 3.4 主要元器件选择 (8) 四、程序设计 (8) 五、交通灯控制系统仿真 (10) 六、结束语 (11) 七、参考文献 (11)

一、绪言 近年来,随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,正在不断的应用到实际生活中,并且根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用单片机AT89C51为中心器件来设计交通灯控制器,实现了通过信号灯对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。 二、方案比较与论证 2.1 系统整体流程图 2.2 单片机的选择方案论证 方案一:采用可编程逻辑期间CPLD 作为控制器。CPLD可以实现

51单片机定时器秒表设计程序

51单片机定时器秒表设计程序 #include typedef unsigned char UINT8; typedef unsigned int UINT16; code UINT8 SEGMENT[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; code UINT8 SHU[10] ={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; code UINT8 SELECT[8] ={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; #define S1 0x0e #define S2 0x0d #define S3 0x0b #define S4 0x07 sbit SPEAK=P3^5; sbit P3_3=P3^3; UINT8 mSecond,Second; void Delay(UINT16 t) { UINT16 i,j; for(i=0;i

单片机秒表设计..

郑州科技学院 单片机课程设计 题目 学生姓名 专业班级 学号 院(系) 指导教师 完成时间 2015年1月9日

郑州科技学院 单片机课程设计任务书 专业11电科班级 1班学号 201131006 姓名李军 一、设计题目电子秒表 二、设计任务与要求 基本功能: 1.使用A T89C51单片机的定时器/计数器定时和记数的原理,使秒表其能精确计时。 2.能够稳定显示并能准确计时,计时精度达到0.01秒,最大计时59-59-99。 3.能够实现开始、暂停、清零、保存、读取的功能 三、主要参考文献 [1] 艾运阶.单片机项目教程.北京:北京理工大学出版社,2011 [2] 李泉溪.单片机原理与实例仿真.北京:北京航空航天大学出版社,2009 [3] 江世明.基于Protues的单片机应用技术.北京:电子工业出版社,2009 [4] 李朝青.单片机原理及接口技术(第3版).北京:北京航空航天大学出版社,2006 [5] 孙育才.MCS-51 系列单片微型计算机及其应用.广东:东南大学出版社,2009 四、设计时间 2014 年12 月29日至2015 年1月9 日 指导教师签名: 年月日

目录 前言 (1) 1 课程设计的目的及要求 (2) 1.1 课程设计的目的 (2) 1.2 课程设计的任务 (2) 1.3 课程设计的要求 (2) 2 设计的方案及论证 (2) 2.1 方案设计 (2) 2.2 方案选择 (3) 2.3 方案确定 (4) 3 硬件电路设计 (5) 4 软件设计 (5) 4.1 主要模块流程图 (6) 4.2 程序的主要模块 (6) 5 电路仿真 (7) 6 电路的焊接与调试 (8) 6.1 电路的焊接 (8) 6.2 电路的调试 (9)

单片机课程设计——基于C51简易计算器

单片机十进制加法计算器设计 摘要 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计 算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4×4矩阵键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C 语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用全球编译效率最高的KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus仿真。 引言 十进制加法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减乘除

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阳极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单..................................

单片机课程设计——交通灯控制系统设计

本科课程设计报告 单片机课程设计报告交通灯控制系统设计

摘要 本设计是针对交通灯系统的设计,由单片机AT89C51(实物用AT89S52)、键盘、LED显示、交通灯演示系统组成。单片机是把微型计算机的各功能部件集成在一块芯片中,构成的一个完整的微型计算机。AT89C51单片机是MC-51中的子系列,是一组高性能兼容型单片机,AT89C51是一个低功耗高性能的CMOS 8位单片机,40个引脚,片内含4KB Flash ROM和128B RAM,它是一个全双工的串行通行口,既可以用常规编程,又可以在线编程。 本设计中的数码管的选通采用的方法是动态显示,对每一位数码分时轮流通电显示,复位电路采用上电+按钮电平复位,时钟电路采用内部时钟产生方式。对特殊情况的处理采用中断处理方式,在中断处理程序中采用对管脚的状态查询扫描,已采取相应情况的处理。 对设计方案进行电路硬件设计,并将已编程的程序载入调试,可以得到理想的实验效果。系统包括人行道、左转、右转、以及基本的交通灯的功能.具体功能是假如 A 道和B道上均有车辆要求通过时,A、B道轮流放行。A道放行 25秒,B道放行20秒。一道有车而另一道无车,交通灯控制系统能立即让有车道放行。有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2 开关模拟。绿灯转换为红灯时黄灯亮 1秒钟。系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。

目录 1引言.......................................................................................................................................... - 1 - 1.1交通灯的重要作用........................................................................................................... - 1 -1.2该交通灯系统的特点....................................................................................................... - 1 -2系统总体方案及硬件设计 ......................................................................................................... - 2 - 2.1原理框图........................................................................................................................... - 2 -2.2设计功能........................................................................................................................... - 2 - 2.3交通灯控制系统各部分硬件组成................................................................................... - 2 - 2.3.1复位部分.................................................................................................................... - 2 - 2.3.2时钟电路部分............................................................................................................ - 3 - 2.3.3路口指示灯部分........................................................................................................ - 3 - 2.3.4显示部分.................................................................................................................... - 3 -2.4元器件清单....................................................................................................................... - 4 -3软件设计..................................................................................................................................... - 5 - 3.1交通灯控制系统软件流程图及程序分析....................................................................... - 5 - 3.1.1主程序流程图及程序模设计.................................................................................... - 5 - 3.1.2INT0中断服务程序流程图及程序模设计.............................................................. - 6 -3.2路口指示灯部分............................................................................................................... - 7 - 3.3显示部分........................................................................................................................... - 7 - 4. Proteus软件仿真 ..................................................................................................................... - 8 - 5 课程设计体会......................................................................................................................... - 10 -参考文献....................................................................................................................................... - 10 -附1:源程序代码 (13) 附2:系统原理图 (20)

51单片机秒表计时(protues)

51单片机秒表计时器 目录 摘要 (3) 一、实训目的 (3) 二、实训设备与器件 (3) (1)实验设备 (3) (2)实训器件 (3) 三、实训步骤与要求 (4) (1)要求 (4) (2)方法 (4) (3)实训线路分析 (4) (4)软件设计 (4) (5)程序编制 (4) 四、硬件系统设计 (4) 五、软件系统设计 (5) 六、系统调试 (9) 七、实训总结与分析 (10) 八、参考资料: (11) 九、附录 (12)

摘要: 秒表是由单片机的P0口和P2口分别控制两个数码管,使数码管工作,循环显示从00—59。同时,用一个开关控制数码管的启动与停止,另外加上一个复位电路,使其能正常复位,通常还使用石英晶体振荡器电路构成整个秒表的结构电路。 一、目的 (1)利用单片机定时器中断和定时器计数方式实现秒定时。 (2)通过LED显示程序的调整,熟悉单片机与LED的接口技术,熟悉LED动态显示的控制过程。 (3)通过阅读和调试简易秒表整体程序,学会如何编制含LED动态显示和定时器中断等多种功能的综合程序,初步体会大型程序的编制和调试技巧。(4)进一步学习单片机开发系统的整个流程。 二、元件 (1)实训设备:单片机开发系统、微机、万用表、电烙铁等。 (2)实训器件: 名称数量 7段数码管 2 电阻10k 1 电阻1k 8 键盘开关 1 电容10微法 1 电容30皮法 2 晶振12M 1

89C51 1 万能板 1 导线若干 三、步骤 (1)要求:利用实训电路板,以2位LED右边1位显示个位,左边1位显示十位,实现秒表计时显示。以一个按键开关实现启动、停止、清零等功能。 (2)方法:用单片机定时器T0中断方式,实现1秒定时;利用单片机定时器0方式1计数,实现00--59计数。 (3)实验线路分析:采用实训电路板,其原理图参见附录。两个7段LED 数码管分别由单片机的P0口和P2口控制,使数码管显示从00—59的字样。用一个开关控制数码管的启动与停止,另外加上一个复位电路,使其能正常复位。另外在加上一个晶体振荡电路就够成了整个秒表的电路。 (4)软件设计:软件整体设计思路是主程序进行初始化,以按键开关按下的次数确定定时器的启动与否,LED通过中断的方式进行显示。后二者间的联系是:按键按下,则定时器开始计时,中断后在LED上显示,不断循环;按键第二次按下时,定时器停止计时,LED不显示;按键第三次按下时,返回到初始状态重新开始。秒定时采用定时器T0中断方式进行,60秒计数由定时器0采用方式1完成,中断及计数的开启与关闭受控于按键处理程序。由上述设计思路可设计出软件流程图如图7.1所示。 (5)程序编制:编程时第一次按键为“启动”,第二次按键为“停止”,第三次按键为“清零”,因按键较少,在处理按键值时未采用散转指令“JMP”,而是采用条件转移指令“CJNE”,。2位LED显示的数据由显示缓冲区30H~31H单元中的数据决定。 四、设计 硬件电路的设计应从两个方面予以考虑。一是根据应用系统总体设计的参数范围、测控速度与精度等技术指标要求选择单片机。不同系列单片机或同一系列

单片机课程设计电阻测量(完整版)

课程设计报告课程名称:单片机课程设计 设计题目:电阻测量 院系:通信与控制工程系 专业:通信工程 班级: 学生姓名: 学号: 08409212 起止日期: 指导教师: 教研室主任:

摘要 本设计电阻测量是利用A/D转换原理,将被测模拟量转换成数字量,并用数字方式显示测量结果的电子测量仪表。通常测量电阻都采用大规模的A/D转换集成电路,测量精度高,读数方便,在体积、重量、耗电、稳定性及可靠性等方面性能指标均明显优于指针式万用表。其中,A/D转换器将输入的模拟量转换成数字量,逻辑控制电路产生控制信号,按规定的时序将A/D转换器中各组模拟开关接通或断开,保证A/D 转换正常进行。A/D转换结果通过计数译码电路变换成BCD码,最后驱动显示器显示相应的数值。本系统以单片机AT89C52为系统的控制核心,结合A/D转换芯片ADC0809设计一个电阻测量表,能够测量一定数值之间的电阻值,通过四位数码显示。具有读数据准确,测量方便的特点。 关键词:单片机(AT89C52);电压;A/D转换;ADC0809

目录 设计要求 (1) 1、方案论证与对比 (1) 1.1方案一 (1) 1.2方案二 (1) 1.3方案对比与比较................................... 错误!未定义书签。 2、系统硬件电路的设计 (2) 2.1振荡电路模块 (2) 2.2A/D转换电路模块 (3) 2.2.1主要性能 (3) 2.2.2 ADC0809芯片的组成原理 (4) 2.2.3 ADC0809引脚功能 (4) 2.3主控芯片AT89C52模块 (5) 2.3.1主要功能特性 (6) 2.3.2 主要引脚功能 (6) 2.4显示控制电路的设计及原理 (8) 3、程序设计 (9) 3.1初始化程序 (9) 3.2主程序 (10) 3.3显示子程序 (10) 3.4A/D转换测量子程序 (11) 4、调试及性能分析 (11) 4.1调试与测试 (11) 4.2性能分析 (12) 5、元件清单 (13) 6、总结与思考及致谢............................... 错误!未定义书签。参考文献. (13)

相关文档
最新文档