第一篇:单片机课程设计报告
单片机课程设计报告
题目:小直流电机调速实验
教学单位: 机 电 工 程 系
专业: 机械设计制造及其自动化
班级: 0803班学号: 0811050342姓名: 程怀虎
202_ 年 11月
(以下内容用宋体,五号,单倍行距)
第二篇:单片机课程设计报告格式
《单片机课程设计》报告格式
一、封面(注明:单片机课程设计报告、课题名称、班级、姓名、指导教师、日期)
二、摘要(课题简要说明)
三、课题设计目标(功能、性能指标)、方案论证(要求作两种以上方案比较)
四、设计过程(关键电路工作原理、元器件参数选用、程序流程图、程序)
五、软硬件的安装、调试方法
六、完整电路图、性能参数测试
七、存在的问题和改进方向
八、参考文献资料
第三篇:单片机课程设计报告
《单片机原理与接口技术》
课程设计报告
设计题目: 基于80C51单片机系统实验板的制作
与程序设计
专
业:应用电子专业
班
级: 11应电班
姓
名: 丁文俊
指导教师: 余静老师
202_ 年 5 月20 日
目录 前 言………………………………………………………………… 2 课程设计的目的及要求…………………………………………… 3 硬件电路设计……………………………………………………… 4 软件程序设计…………………………………………………… 5 小结………………………………………………………………
参考文献 附录A 电路总图 附录B 程序清单
基于80C51单片机系统实验板的制作与程序设计
1.前言
2、课程设计的目的及要求 2.1课程设计目的
2.2课程设计要求
3、系统主要硬件电路设计
3.1 STC89C51单片机简介
MCS-51是美国Intel公司生产的一系列单片机的总称,包括多个品种,如8031、8051、8751、8032、80C52、8752等。其中8051是最典型的产品,其他单片机都是在其基础上进行功能增减而来的,所以人们习惯于用8051来称呼MCS-51系列单片机。Intel公司将MCS-51的核心技术授权给了多家公司,这些厂家生产的单片机在功能上或多或少有些改变,以满足不同的需求,其中美国的ATMEL公司生产的AT89C51是曾经在我国非常流行的51单片机。当前AT89C51/52已经停产,其替代产品为AT89S51/52。深圳宏晶公司出品的STC89C51可以直接代替传统的AT89S51和AT89C51芯片,也可以代替菲利普、华帮等其他公司的89C51,由于时代的发展,工艺的进步,STC89C51功能更强,寿命更长(4K字节Flash存储器、128字节片内RAM、支持ISP下载编程)
图2.1 STC89c51单片机
单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。MCS-51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式,如图2-2所示在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。
图2-2中外接晶体以及电容C2和C1构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为30P左右,晶振频率选11.0592MHz。
为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果RST引脚上持续为高电平,单片机就处于循环复位状态。复位后系统将输入/输出(1/0)端口寄存器置为FFH,堆栈指针SP置为07H, SBUF内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。图2-2中R9和Cl组成上电复位电路,其值R取为10K, C取为10μF.4
图2.2 最小系统结构图
3.2 电平转换电路 3.3
4、软件程序设计
5、小结
参考文献
[1] 张伟,《单片机原理及应用》,机械工业出版社,202_(这是格式)
附录
江西工业职业技术学院电子与信息工程系
课程设计指导教师评语
班级:
学生姓名:
学号:
指导教师评语(包括工作态度,遵守纪律;基本理论、知识、技能;独立工作能力和分析解决问题的能力;完成任务情况及水平):
学生成绩(五级分制):
指导教师签名:
****年**月**日
第四篇:单片机课程设计报告
DS18B20测温及按键控制
课 程 设 计
课程名称 单片机基础课程设计 题目名称 18B20测温及按键控制 学生学院 **** 专业班级 **** 班号 **** 学生组员 ****** 指导教师 *****
DS18B20测温及按键控制
第一章系统的概述及设计任务书
摘要和关键词【摘要】:
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机STC89C52,测温传感器使用DS18B20,用4位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。
【关键词】:单片机,数字控制,温度计,DS18B20,STC89C52 设计任务与技术指标
要求:1.基本范围-50℃-125℃
2.精度误差小于0.5℃ 3.LED数码直读显示
总体设计方案
数字温度计设计方案论证
方案一
由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。方案二
进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。
方案二的总体设计框图
温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。
第二章 单元模块的设计与分析
主控制器:
单片机STC89C52,具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用。
DS18B20测温及按键控制
个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。
系统软件算法分析
系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。
主程序
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图7所示。3.2读出温度子程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图8示
3.3温度转换命令子程序
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图9所示
3.4 计算温度子程序
计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图10所示。
DS18B20测温及按键控制
第三章 实验程序
else
{ b=0-b;
if(b%10==1)f-=1;b=10-(b%10);/*zhwy.c*/ if(b==10)b=0;
for(i=16;i>0;i--)#include
led(a,b,c,d);} #include“DS18B20.h” return f;unsigned char table[]= } {0xC0,0xF9,0xA4,0xB0, void main(void)
0x99,0x92,0x82,0xF8, { unsigned int Sum,k;0x80,0x90,};//不带小数点的编码
signed int h,j;extern unsigned int temp;LED_init();extern float f_temp;h=0;j=0;unsigned int i;while(1)void LED_init(void){tempchange();{ P2=0x0f;Sum=get_temp();P0=0x00;P2=0xff;} for(k=0;k<100;k++)void led(signed int m,signed int { n,signed int p,signed int q)if(P2==0xf7){ P2=0xef;
{delay(10);
P0=table[q];
if(P2==0xf7)
delay(5);
h+=1;
P2=0xdf;h=display(Sum,h,j);
P0=table[p];
}
delay(5);if(P2==0xfb)
P2=0xbf;
{delay(10);
P0=table[n]+0x80;
if(P2==0xfb)
delay(5);
h-=1;
P2=0x7f;
h=display(Sum,h,j);
P0=table[m];
}
delay(5);if(P2==0xfd)}
{delay(10);unsigned int display(unsigned int
if(P2==0xfd)y,signed int f,signed int g)
j+=1;{ signed int a,b,c,d;
h=display(Sum,h,j);
a=y/1000;
} b=(y%1000)/100+f;if(P2==0xfe)c=(y%100)/10+g;
{delay(10);d=(y%10)/1;
if(P2==0xfe)if(b<=9&&b>=0)
j-=1;for(i=16;i>0;i--)
h=display(Sum,h,j);
led(a,b,c,d);
} else if(b>9)
} {a+=b/10;b=b%10;
display(Sum,h,j);for(i=16;i>0;i--)} }
led(a,b,c,d);} void delay(unsigned int z)//延 时函数
/*DS18B20.h */ {unsigned int x,y;sbit ds=P3^5;//温度传感器信号线 for(x=z;x>0;x--)unsigned int temp;for(y=110;y>0;y--);float f_temp;} unsigned int warn_l1=260;void dsreset(void)//18B20复位,unsigned int warn_l2=250;初始化函数 unsigned int warn_h1=300;{unsigned int i;unsigned int warn_h2=320;ds=0;
i=103;
DS18B20测温及按键控制
总电路图结构图
4总结与体会
经过将近四周的单片机课程设计,我终于在参考了众多程序之后完成了我的数字温度计的设计,虽然没有完全达到设计要求,但我还是高兴的,毕竟这次设
第五篇:单片机课程设计报告(范文)
片 机 课 程 设 计 报学号、姓名:年级、专业:培养层次:课程名称:授课学时学分:考试成绩:授课或主讲教师签字:
单 告单片机最小系统功能说明
单片机的最小系统是由组成单片机系统必需的一些元件构成的,除了单片机之外,还需要包括电源供电电路、时钟电路、复位电路。单片机最小系统电路(单片机电源和地没有标出)
下面着重介绍时钟电路和复位电路。
1)时钟电路
单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。单片机的时钟信号通常有两种产生方式:内部时钟方式和外部时钟方式。
内部时钟方式:在单片机XTAL1和XTAL2引脚上跨接上一个晶振和两个稳频电容,可以与单片机片内的电路构成一个稳定的自激振荡器。晶振的取值范围一般为0~24MHz,常用的晶振频率有6MHz、12 MHz、11.0592 MHz、24 MHz等。一些新型的单片机还可以选择更高的频率。外接电容的作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率的作用,一般选用20~30pF的瓷片电容。外部时钟方式则是在单片机XTAL1引脚上外接一个稳定的时钟信号源,它一般适用于多片单片机同时工作的情况,使用同一时钟信号可以保证单片机的工作同步。
时序是单片机在执行指令时CPU发出的控制信号在时间上的先后顺序。AT89C51单片机的时序概念有4个,可用定时单位来说明,包括振荡周期、时钟周期、机器周期和指令周期。
振荡周期:是片内振荡电路或片外为单片机提供的脉冲信号的周期。时序中1个振荡周期定义为1个节拍,用P表示。
时钟周期:振荡脉冲送入内部时钟电路,由时钟电路对其二分频后输出的时钟脉冲周期称为时钟周期。时钟周期为振荡周期的2倍。时序中1个时钟周期定义为1个状态,用S表示。每个状态包括2个节拍,用P1、P2表示。
机器周期:机器周期是单片机完成一个基本操作所需要的时间。一条指令的执行需要一个或几个机器周期。一个机器周期固定的由6个状态S1~S6组成。
指令周期:执行一条指令所需要的时间称为指令周期。一般用指令执行所需机器周期数表示。AT89C51单片机多数指令的执行需要1个或2个机器周期,只有乘除两条指令的执行需要4个机器周期。了解了以上几个时序的概念后,我们就可以很快的计算出执行一条指令所需要的时间。例如:若单片机使用12MHz的晶振频率,则振荡周期=1/(12MHz)=1/12us,时钟周期=1/6us,机器周期=1us,执行一条单周期指令只需要1us,执行一条双周期指令则需要2us。
2)复位电路
无论是在单片机刚开始接上电源时,还是运行过程中发生故障都需要复位。复位电路用于将单片机内部各电路的状态恢复到一个确定的初始值,并从这个状态开始工作。
单片机的复位条件:必须使其RST引脚上持续出现两个(或以上)机器周期的高电平。
单片机的复位形式:上电复位、按键复位。
上电复位电路中,利用电容充电来实现复位。在电源接通瞬间,RST引脚上的电位是高电平(Vcc),电源接通后对电容进行快速充电,随着充电的进行,RST引脚上的电位也会逐渐下降为低电平。只要保证RST引脚上高电平出现的时间大于两个机器周期,便可以实现正常复位。
按键复位电路中,当按键没有按下时,电路同上电复位电路。如在单片机运行过程中,按下RESET键,已经充好电的电容会快速通过200Ω电阻的回路放电,从而使得RST引脚上的电位快速变为高电平,此高电平会维持到按键释放,从而满足单片机复位的条件实现按键复位。电路原理图器件详细说明软件流程图程序代码调试分析过程介绍