单片机大作业

合集下载

单片机大作业题目31-50

单片机大作业题目31-50

须知:1. 大作业的所有题目都应在PROTEUS 7.5(注意:只能使用7.5版本)仿真环境下运行通过。

2. 要求:(1)在keil IDE(μvision3)中完成应用程序设计、并编译;(2)在PROTEUS 7.5下的ISIS Professional中完成电路设计、调试与仿真通过。

题目31 节日彩灯的制作设计要求:用单片机控制P1口上的8个发光二极管进行花样显示,显示规律为(1)8个LED依次左移点亮;(2)8个LED依次右移点亮,然后再依次左移点亮┉┉。

题目32 单片机P1口控制转弯灯实验设计要求单片机P1.0上的开关接5V时,右转弯灯闪亮,P1.1上的开关接5V时左转弯灯闪亮。

P1.0、P1.1 开关同时接5V或接地时,转弯灯均不闪亮。

题目33 单片机P1口实现的顺序控制设计要求在工业生产中,象注塑机工艺过程大致按“合模→注射→延时→开模→产伸→产退”顺序动作,用单片机的I/O来控制最易实现。

单片机的P1.0~P1.6控制注塑机的七道工序,七道工序用模拟控制七只发光二极管的点亮来模拟,低电平有效,设定每道工序时间转换为延时。

P3.4(输入)接工作启动开关,高电平动作。

P3.3为外部故障输入模拟开关,低电平为故障报警,P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序3位有输出(P1.6、P1.5、P1.4点亮发光二极管)。

题目34 单片机通过82C55控制交通灯设计要求用82C55作输出口,控制12个发光二极管燃灭,模拟交通灯管理。

82C55的PA0~PA7、 PB0~PB3接发光二极管L15~L13、L11~L9、L7~L5、L3~L1。

执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到东西路口方向,之后重复以上过程。

单片机大作业试题及答案

单片机大作业试题及答案

单片机试题带答案版1、填空(每空2 分,共40 分)1、MCS-8051系列单片机字长是8 位,有40 根引脚,96系列字长是16 位。

单片机的特2、单片机的存储器的最大特点是指令存储器与数据存储器分开编址,Px并行口的地址是与数据存储器统一编址的,或者说属于该存储器。

3、8051最多可以有4 个并行输入输出口,最少也可以有1个并行口,即P1 。

P3常需复用作串行通信、外部中断、外部计数脉冲和读写控制信号。

4、ALE信号的作用是低8位地址锁存。

5、8051复位后,PC= 0 H。

若希望从片内存储器开始执行,EA脚应接高电平,PC值超过0FFF H时,8051会自动转向片外存储器继续取指令执行。

6、8051的C/T是加(加或减)计数的。

7、8051的中断向量表在3 H、0B H和13H、1BH、23H。

8、MOV A,40H 指令对于源超作数的寻址方式是直接寻址。

9、指令JB 0A7H,ABC的作用是若P2口的第7位为1则跳转到ABC 。

(0A7H是P2.7的地址)2、已知A = 0F8H,当执行ADD A,#0A9H指令后,PSW中的OV、CY、AC、P各为多少?若是有符号数,A中的结果用十进制表示是多少?(共5 分)[解答] OV:0、CY:1、AC:1、P:1 A:-953、在两个8051间用模式2进行串行通信,A机并行采集外部开关的输入,然后串行传输给B机;B机接收后并行输出控制LED发光。

画出连接示意图,写出完整的程序。

(共15 分)4、将8051外部扩展2K EPROM,同时扩展16K RAM作数据存储器,采用的2716是2K 的EPROM芯片,6264是8K的RAM芯片,74LS373是8位锁存器。

请画出连接示意图。

要求画出8051的数据、地址、ALE、PSEN、RD、WR信号;锁存器的数据入D、数据出Q、锁存控制G、OE;2716的A、数据O、片选CE、输出使能OE;6264的A、D、CE、OE、WE。

单片机设计大作业

单片机设计大作业

1 设计一个交叉路口指挥信号灯控制电路(要求红、绿、黄三灯依次点亮循环进行,时间分配为2:2:1,加一倒计时计数器)。

2 设计一个七输入表诀器(少数服从多数原则),能显示相应的表决结果。

3 设计一个水塔供水系统水泵电机控制电路。

4 设计一个八输入抢答器(显示抢答位)。

5 心率数字计(用脉冲或开关模拟心跳)
6 灯光自动管理器(定时开关灯)
7电梯楼层显示电路
8汽车尾灯控制电路设计(模拟转弯、刹车、警示)
9篮球竞赛30s计数器设计
10具有校时功能的电子表设计
11具有声、光、电显示的四输入抢答器
12设计一个振荡计数器(0,1,2,3,4,5,6,7,8,9,10,9,8,7,6,5,4,3,2,1,0,1………)
13节日彩灯控制器设计(设计几种闪烁方式)
14 led 流水灯控制(要求可以改变方向和速度);
15 设计一个五十进制计数器
16 设计一直流电机控制器,可使电机完成正、反、停、加速、减速运动控制。

单片机大作业

单片机大作业

路设计图及编程软件。软件可显示数字、字符、汉字
及曲线。
1
第9章
串行接口及串行通信技术
4. 工业短信模块与单片机接口系统设计 (1人)
主要内容与要求: 1.串口中断方式接收与发送。 2.可采集多通道模拟信号
3. 可定时发送
4. 可接收用户不同命令 5. 如用户要求定时开关机,采集不同通道,发送不同条数数据 5. 工业短信模块与PC机系统设计 (1人)
3
第9章
串行接口及串行通信技术
8. 牛奶主要成分测量的数学模型研究 (1人) 主要内容与要求: 1.可测量的主要成分为: 脂肪,比重,非脂,冰点,蛋白,含水率,乳糖,灰份等 8 项指标 2. 建立测量系统模型 3. 给出系统框图 9. 超声在液体中传播速度特性研究 (1人) 主要内容与要求: 1.研究超声在纯水中传播速度 2.研究超声在牛奶中传播速度 3.研究温度对传播速度的影响 4 要求建立不同介质中速度与温度的曲线
主要内容与要求:
1、给出与单片机与语音电路(可不用语音芯片)接口线路、PCB图 2.语音放大电路 3.系统流程及框图
4、软件编程,语音(音乐声音)输出
5.软件仿真
10
第9章
串行接口及串行通信技术
22、 多路可编程时间定时器
主要内容与要求: 1、设计基本的单片机系统
(2人)
2、扩展定时器功能,可任意设置N路(N≧8)定时时间 3、系统自带键盘及定时时间到指示灯 4.系统流程及框图,PCB 图,软件仿真 23、 单片机I/O口电路扩展与驱动 (2人)
3、编出软件程序(C语言、汇编均可) 4.可显示双向通讯数据 (LED) 5.软件仿真 26、 单片机分布式系统(一主多子)通讯电路及程序设计 主要内容与要求: 1、主单片机与N个子单片机(N≧32)双向通讯 2、通讯距离大于500米 (3人)

单片机应用技术形考作业4

单片机应用技术形考作业4

江苏开放大学形成性考核作业学号姓名课程代码110049课程名称单片机应用技术评阅教师第 4 次任务共 4 次任务江苏开放大学单片机应用技术课程第4次形考作业—单片机大作业作业说明:第4次形考作业是单片机大作业报告,对应第11单元的学习内容。

是对整个单片机课程学习的检验。

完成日期评语得分评阅时间评阅教师【单片机大作业要求】学习第11单元,阅读单片机大作业内容与指导,根据给出的5个课题,任意选择1个课题,学习对应的课题课件,根据指导完成实践环节:使用Proteus软件和Keil软件完成上机仿真调试运行。

参考大作业报告案例,完成单片机大作业报告。

直接截图PPT或讲义上的图和程序不算完成,抄袭截图或PS姓名不得分。

(纸上完成内容要求手写签名,软件完成内容要求电子签名)单片机大作业报告1.写出所选课题名称和设计内容(只能在5个课题中选择1个)。

(20分)【作答结果】所选课题名称:工作指示灯设计内容:设计一个亮1s,灭1s的工作指示灯。

用定时/计数器构成LED灯控制器,在P1.0脚输出周期为2s的方波,即实现LED灯循环亮1s,灭1s。

2.在纸上画出所选课题的原理图并手写签名,拍照上传。

(30分)【作答结果】3.写出源程序。

可截图Keil中源程序(有电子签名)。

也可以将源程序写在纸上并手写签名,拍照上传。

(20分)【作答结果】4.根据原理图,用Proteus制作电路图,图上又有电子签名,全屏截图上传。

(15分)【作答结果】5.Proteus仿真调试结果截图,电子签名与4相同。

(15分)。

【作答结果】。

单片机大作业题目1-30

单片机大作业题目1-30

须知:1. 大作业的所有题目都应在PROTEUS 7.5(注意:只能使用7.5版本)仿真环境下运行通过。

2. 要求:(1)在keil IDE(μvision3)中完成应用程序设计、并编译;(2)在PROTEUS 7.5下的ISIS Professional中完成电路设计、调试与仿真通过。

题目1 智能电子钟(LCD显示)设计要求:以AT89C51单片机为核心,制作一个LCD显示的智能电子钟:(1) 计时:秒、分、时、天、周、月、年。

(2) 闰年自动判别。

(3) 时间、月、日交替显示。

(4) 自定任意时刻自动开/关屏。

(5) 计时精度:误差≤1秒/月(具有微调设置)。

题目2 电子时钟(LCD显示)设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间:●使用字符型LCD显示器显示当前时间。

●显示格式为“时时:分分:秒秒”。

●用4个功能键操作来设置当前时间,4个功能键接在P1.0~P1.3引脚上。

功能键K1~K4功能如下。

●K1—进入设置现在的时间。

●K2—设置小时。

●K3—设置分钟。

●K4—确认完成设置。

程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00:00:00”,然后开始计时。

题目3 秒表设计要求应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。

设计一个“复位”键,按下“复位”键后,秒表从0开始计时。

题目4 定时闹钟设计要求使用AT89C51单片机结合字符型LCD显示器设计一个简易的定时闹钟LCD时钟。

定时闹钟的基本功能如下:●显示格式为“时时:分分”。

●由LED闪动来做秒计数表示。

●一旦时间到则发出声响,同时继电器启动,可以扩充控制家电的开启和关闭。

程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00:00”,按下操作键K1~K4动作如下:(1) K1—设置现在的时间。

单片机大型作业

单片机大型作业
单片机大型作业
❖ 设计内容可任选一项 ❖ 完成形式及要求:提交论文,要求完成系统
的整体设计,画出流程图以及硬件图,完成 相应软件发编写。
题目:多功能秒表
❖ 设计要求:
1. 设计用单片机实现秒表功能,要有六位LED时 间显示;
2. 四个开关输入信号控制计时、暂停、累加计时 和清0功能。
3. 设计流程图及硬件图。 4. 完成相应的软件的编写。
2. 用软件延时来控制发音时间的长 短,控制节拍。
3. 把乐谱中的音符和相应的节拍变 换为定时常数和延时常数,作为 数据表格存放在存储器中。
题目:电子琴演奏
❖ 设计要求: 1. 使用4×4矩阵式键盘设计出16个音符,随意弹 奏。 2. 用功能键转换成歌曲演奏。
题目:液晶显示温度控制器
❖ 设计要求: 由温度传感器对温度进行采样和转换成数字信号 送入单片机,信息通过LCD显示; 通过按钮开关设定报警温度上、下限; 实时温度超过设定的上、下限值,由LCD显示, 并发出报警声。
题目:智能抢答器
❖ 设计要求:
1. 1-6号选手中按下按钮者,LED数码管显示其选 手号码(后按下无效),且计时开始,2秒停止 计时。
2. 由裁判掌握,若回答正确,该选手对应黄灯亮, 否则红灯亮。
题目:有时间显示的定时交通灯模拟控制
❖ 设计要求: ❖ 在南北向与东西向交错的路口上ห้องสมุดไป่ตู้各设置红、黄、
绿三种信号灯,现设定: 1. 南北方向通车时绿灯亮25s,然后黄灯亮警告5s
后红灯亮30s,如此循环; 2. 东西向则是先红灯30s,然后绿灯亮25s后黄灯亮
5s,如此循环;
题目:电子琴演奏
❖ 演奏原理
1. 通过控制单片机定时器的定时时 间产生不同频率的音频脉冲,经 放大后驱动蜂鸣器发出不同音节 的声音。

单片机大作业

单片机大作业

单片机大作业物流卓1.LED闪烁实例LED闪烁实例中使用51单片机控制8个LED间隔亮灭,形成闪烁效果,在实例中51单片机通过一个延时程序控制P1端口轮流输出高电平和低电平,驱动发光二极管的发光和熄灭。

程序代码使用两个嵌套的for循环语句来控制延时,当到达延时之后使P1输出电平翻转。

下图为电路设计图以下为控制代码2.流水数字流水数字是一个51单片机使用I/O引脚驱动8段数码管,数码管轮流显示“0”~”F”数字或者字符。

单位8段共阳数码管的公共端连接到VCC上,数码管的8位数据引脚则连接到P1的八个引脚上,使用1K欧姆的电阻限流,51单片机通过P1引脚将对应字符的字形编码送出供数码管显示。

下图为电路设计图以下为程序代码3.多位数字显示本实例使用51单片机驱动6位数码管显示”123456”6位数字,51单片机用P1给6个8段数码管提供字形编码,而用P2.0~P2.5共6个引脚通过PNP三极管来选通对应的数码管显示。

在控制程序中,为了精确的控制延时时间的时间以便造成“扫描”效果,使用Delayms 和Delayus两个函数来控制精确延时。

下图为电路设计图以下为程序代码4.轮流加热显示系统轮流加热显示系统是一个用51单片机控制3个继电器轮流接通,给3个设备加热5s并且使用一位数码管来显示当前加热设备的编号。

51单片机用P2端口通过ULU2803驱动3个工作电压为5V的继电器,用P1口驱动一个数码管用于显示当前接通的继电器的编号。

下图为电路设计图以下为程序代码5.定时报警实例本实例是让51单片机没隔10min控制蜂鸣器报警,51单片机使用P2.7引脚通过一个NPN三极管驱动蜂鸣器,当P2. 7输出高电平时三极管导通,蜂鸣器发声。

51单片机使用P2. 7通过三极管控制蜂鸣器,当输出高电平时三极管导通蜂鸣器发声,使用Delayms函数来进行毫秒级延时,使用Delayus函数来进行微秒级延时,当10min延时到达,蜂鸣器打开100ms下图为电路设计图以下为程序代码6.计算机键盘实例本实例用51单片机的I/O引脚扩展一个4 x4的行列扫描键盘,16个键使用0~F编码用一个数码管将按下键的对应编码显示出来,并且有声音提示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机大作业
课题名称简易楼道灯电费计价系统
院、系、
自动化与电气工程学院部
专业电气工程及其自动化
班级
姓名
学号
指导教师
1.作业背景
城市居民楼内一般安装有楼道灯,方便夜间居民上下楼,其工作特点是人来灯亮,人走灯灭。

以热释电型楼道灯为例,其基本工作原理是:热释电传感器能检测人体是否进入感应范围,当人体未进入感应范围,即离楼道灯还有一定距离时,传感器输出低电平;当人体进入感应范围,即靠近楼道灯时,传感器输出高电平。

根据传感器的输出,单片机可决定是否点亮楼道灯。

由于楼道灯属本单元全体居民共用,为便于电费结算,现要求设计一套简易楼道灯电费计价系统,系统能自动计算楼道灯在一个月内的总点亮时间,并据此计算出应缴电费额度。

2.作业要求
系统由电源电路、热释电传感器、单片机、按键以及显示器组成,楼道灯供电为220市电,功率2kW(实际灯泡功率一般不会这么大。

考虑到实验演示时间有限,故假设此灯泡功率为该值)。

其中电源采用5V,热释电传感器的输出采用按键按下与否进行模拟,单片机采用51,显示器采用4位数码管,电价按5.86元/千瓦时(实际电价一般为0.58。

考虑到实验演示时间有限,故假设电价为该值),要求电费计算精度精确到0.01元。

用户可用按键查询本月楼道灯总点亮时间(精度0.01小时),以及本月总电费。

3.硬件部分
(1)仿真电路图
(2)实物电路图:
(3)
元器件列表
STC89C52RC 一个
按钮开关3个四位共阳数码管1个12M晶振1个CS9012三极管1个
二极管1个ZS230-25G灯泡1个HK4 100F-DC5V-SHG继电器1个接线端子1个3906PNP三极管4个
电容、电阻若干
(4)电路介绍:
1>起振电路:由一个12M晶振和两个20pF的电容组成,接在单片机STC89C52的18、19脚间,为整个电路提供时钟脉冲,一个机器周期为1us。

2>复位电路:由一个0.1nF的电容和一个100Ω的电阻,电容两端并联一个按钮开关S6组成复位电路,接在单片机第9脚上,按下开关S6,电路复位。

同时,将31脚接至VCC,采用内部存储器。

3>数码管显示电路:采用四位7段共阳数码管
位选线接至P2.0-P2.3,段选线接至P0口。

4>外部中断连线:按钮开关S1控制定时器T0开关状态,按下S1,模拟人来,则控制灯亮;按钮开关S2接至P3.3,控制外部中断INT1,按下S2,数码管显示当月灯亮总时间。

4.软件部分
(1)程序流程图
(2)程序代码: #include <reg52.h> #define SEG P0
//段选线接至P0
#define SCANP P2 //位选线接至P2 sbit LAMP=P1^2; //灯接至P1.2 sbit S1=P3^4; //
开关S1接至P3.4
sbit S2=P3^3;
//开关S2接至P3.3,外部中断INT1,显示时间(h ) #define count 50000
//声明计数值,0.05s
#define TH (65536-count)/256 //声明计数高8位 #define TL (65536-count)%256 //声明计数低8位 char count_T0=0; //计数T0中断次数 char count_T1=0; //计数T1中断次数
void debouncer(void);
void delay1ms(int); //声明动态显示延时x(ms)函数void dispmoney(void); //声明计费显示函数
char code TAB[11]={ 0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90}; char dispm[4]={0,0,0,0};//设置计费显示初值
char dispt[4]={0,0,0,0};//设置计时显示初值
char seconds=0;
char scan=1;
int t=0; // 声明灯在一个月内的总点亮时间t变量
int l=0;
char p=0;
char q=0;
main()
{
IE=0x8e; //允许T0、INT1、T1中断
TMOD=0x11; //T0采用Mode1、T1采用Mode1
TH1=TH;
TL1=TL;
TR1=1; //定时器T1启动
LAMP=1; //设置灯初始为熄灭状态
while(1)
{
if(S1==0) //开关S1若按下,模拟传感器检测到人来
{
debouncer();
if(S1==0)
{
TH0=TH;
TL0=TL;
TR0=1; //定时器T0启动
LAMP=0; //灯点亮
}
}
dispmoney(); //显示电费值
}
}
void T0_30s(void)interrupt 1 //T0定时器中断,计时30s
{
TH0=TH;
TL0=TL;
if(++count_T0==20) //计数溢出次数,20*0.05=1s {
count_T0=0; //重新计数
seconds++;
if(seconds==30) //计数30次,30*1=30s
{
seconds=0; //重新计数
LAMP=1; //设置灯灭
t++; //灯点亮时间加1
TR0=0; //停止T0定时器
}
}
}
void T1_1month(void) interrupt 3 //T1中断,定时1 month {
TH1=TH;
TL1=TL;
if(++count_T1==20) //1s
{
count_T1=0;
l++;
if(l==3600) //1h
{
l=0;
p++;
if(p==24) //1 day
{
p=0;
q++;
if(q==30)//1 month
q=0;
t=0; //灯点亮总时间t清零
}
}
}
}
void disptime(void) interrupt 2 //INT1中断,显示灯当月的总点亮时间{
char j;
int time;
scan=0x01;
for(j=0;j<4;j++)
{
time=t*30/36;
dispt[3]=TAB[time/1000];
dispt[2]=0x7f&TAB[time%1000/100];
dispt[1]=TAB[time%100/10];
dispt[0]=TAB[time%10];
SEG=0xff;
SCANP=~scan;
SEG=dispt[3-j];
delay1ms(2); //延时约2ms,4*2=8ms<16ms,可实现动态显示
scan<<=1;
}
}
void dispmoney(void) //计费显示函数
{
char i;
int money;
scan=0x01;
for(i=0;i<4;i++)
{
money=t*293/30;
dispm[3]=TAB[money/1000];
dispm[2]=0x7f&TAB[money%1000/100];
dispm[1]=TAB[money%100/10];
dispm[0]=TAB[money%10];
SEG=0xff;
SCANP=~scan;
SEG=dispm[3-i];
delay1ms(2);
scan<<=1;
}
}
void debouncer(void) //去抖动函数
{
int k;
for(k=0;k<2400;k++);
}
void delay1ms(int x) //延时x(ms)函数
{
int m,n;
for(m=0;m<x;m++)
for(n=0;n<120;n++);
}
5.仿真调试:
按钮开关S1模拟人来,灯亮后定时30s,灯灭,数码管刷新电费值一次,单位(元),精确到0.01元;按钮开关S2被按下时,数码管显示当月灯亮总时间,单位(小时),精确到0.01小时。

未按下开关
按下开关S1,定时30s开始
30s定时结束,数码管显示当月电费
按下S2,显示当月灯点亮总时间
6.实验总结
通过本次单片机大作业的完成,从刚开始的硬件电路设计,到软件程序的编写,然后经过软件Proteus的仿真调试,接着进行电路板焊接,到最后调试成功,
历时三周左右,让我受益颇多。

其中,也遇到很多的困难,比如元器件型号的
选择、购买,程序各部分单元的组合结构一改再改,还有软件应用的困难等,
但都通过与同学们的讨论、交流最终得以克服。

本人热爱动手实践,喜欢通过
理论的学习后可以将其与实践相结合,通过实践的过程,可以收获的不仅仅的
是短暂的成就感,更多的是对理论知识的深刻理解和对实践应用的不断熟练,
通过这个过程,使自己的专业素养进一步得到培养和锻炼。

总之,凡事预则立,不预则废。

我相信,向着自己追求的方向不断努力的过程是永远的快乐。

相关文档
最新文档