版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 单片机 在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。 Intel公司推出了MCS-51系列单片机:集成 8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。单片机基本知识单片机的基本电路包括电源电路.复位电路和晶振电路.在8051单片机中,XTAL1、2通常外接晶振电路.CS通常指片选信号.RST通常指复位信号.51单片机定时器最小定时单位为1s。若采用软件去抖动的方法,通常需要延时1020ms. 51单片机定时器模式1最大可以定时 65535
2、如何对89C51进行连线?(1) 电源:单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。 (2) 振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在18、19脚间接晶振和电容即可。(3) 复位管脚:RST(Reset)接复位信号。(4) EA管脚:EA管脚接到正电源端。 至此,一个单片机就接好,通上电,单片机就开始工作了。显示器LCD是的缩写液晶显示器的简称。 LED是七段数码管显示器,由七个发光二极管组成,内部连接方式分为共阳极和共阴极两种。常用的显示方法有静态显示和动态显示.发光二极管通常串联一个电阻,其作用是限流.发光二极管驱动电流一般在10-20mA。光
3、电耦合器通常由发光二极管和光敏三极管组成,主要用来隔离强电和弱电系统,防止干扰。 1. 七段LED数码管的结构及显示原理 LED数码管有两种结构:共阴和共阳,共阴数码管的外形和内部结构为: 显示器2. 显示原理 七段LED数码管中的ag实际上为发光二极管,利用点亮其中某几段来构成09字形。如 当af=1 ,g=0时,显示字形0当b=c=1,a=d=e=f=g=0时,显示字形1当a=b=d=e=g=1,c=f=0时,显示字形20abdcef1cb2baged显示器共阳极LED数码管,要想让某一段亮,控制信号应为低电平,共阴极LED数码管,要想让某一段亮,控制信号应为高电平。共阴极七段数码管数字0
4、-9的代码:0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F共阳极七段数码管数字0-9的代码:0 xC0、0 xF9、0 xA4、0 xB0 、0 x99、0 x92、0 x82、0 xF8、0 x80、0 x90Protues软件1)双击Proteus软件图标,打开软件;2)点击元件选择图标,并点击P;3)在弹出的对话框中的KEYWORDS中输入AT89C51,回车,选择AT89C51,并点击OK;4)在KEYWORDS中输入LED,回车,选择LED,并点击OK;5)在KEYWORDS中输入RES,回车,选择RES,并点击
5、OK;6)放置元件7)放置总线,并与元器件连线。8)点击“LBL”对总线分支连线标签。步进电机步进电机运行的速度和脉冲的频率成正比,运行的角度和脉冲的数量成正比。PROTEUS软件中步进电机的模型名称为 motor-steeper .实例:点亮一个发光管#includeSbit LED =p11;void main()p11=0;while(1);C语言中,无限循环用while(1)表示。发光管以200ms闪烁#include#define unint unsigned intsbit LED1=P00;void delayms(unsigned int xms)unit i,j;for(i=
6、0;ixms;i+)for(j=0; j110;j-);void main() while(1)LED1=0;delay ms(200); LED1=1;delay ms(200);单片机的P1.0口接一个按键,P2.0接一个发光二极管,当按下按键后,发光二极管亮,当松开按键后,发光二极管灭. #includeVoid main()while(1)if(P1_0=0)P2_0=0;if(P1_0=1)P2_0=1;用两个按钮,控制一个共阳极七段数码管,要求按下S1时,数码管显示0,按S2时,显示1。 . #includesbit s1=P1_0;sbit s2=P1_1;Void main()
7、while(1)if(P1_0=0)P2=0XC0;if(P1_1=0)P2=0XF9;流水灯用按键控制直流电机正反转:按下S1时,正转10秒,按下S2时,反转10秒后停止 #includesbit s1=P1_6;sbit s2=P1_7;void delay10s(void)unsigned char i,j,k,m;for(m=10;m0;m-)for(i=20;i0;i-)for(j=116;j0;j-) for(k=214;k0;k-);Void main()while(1)if(P1_6=0)P2_0=1;P2_1=0;delay();if(P1_7=0)P2_0=0;P2_1=1
8、;delay();P2_0=0;P2_1=1; 利用按键控制步进电机运转,当按键按下时,步进电机以单三拍运转,当按键松开时,步进电机停止运转。 #include void delay(void)unsigned char i,j;for(i=20;i0;i-)for(j=116;j0;j-);Void main()while(1)if(P1_0=0)P2=0 xf1;Delay();P2=0 xf2;delay();P2=0 xf4;delay();Else P2_0=0;P2_1=0;P2_2=0; 利用按键控制电机运转#include#define uchar unsigned char#
9、define uint unsigned intuint T=500,t1,t2; uchar d;uint n;void Accelerate();void delay(uint);void main()P1=0XFF;P2=0 xff;d=0;while(1)if(P1_0=0)&(P1_1=1)&(P1_2=1)P2_0=1;P2_1=0;d=0;else if(P1_0=1)&(P1_1=0)&(P1_2=1)P2_0=0;P2_1=1;d=0;else if(P1_0=1)&(P1_1=1)&(P1_2=0)Accelerate();else P2_0=0;P2_1=0;d=0;vo
10、id Accelerate()uint t1,t2;t1=T*d/100;t2=T-t1;P2_0=1;delay(t1);P2_0=0;delay(t2);n+;if(n=200)n=0;d+;if(d=100)d=0; 用开关控制照明设备开关闭合时,灯亮,断开时,灯灭。Void main()While(1)if(P1_0=0) P2_0=0; If(P1_1=0) P2_0=1;If(P1_0=0)|(P1_1=0)P2_1=0;Delay();P2_1=1;Delay();ElseP2_2=0;void delay(void)unsigned char i,j,k;for(i=20;i0
11、;i-)for(j=116;j0;j-)for(k=214;k0;k-);while循环语句while语句的一般形式while(表达式) 语句组其中“表达式”是循环条件,“语句组”是循环体。while语句执行过程 计算表达式的值,当值为真(非0)时,执行循环体语句; 重复过程,直到表达式的值为0时结束while语句。do-while语句一般形式do 循环体语句组 while(表达式);执行过程do-while循环与while循环的不同在于:前者先执行循环体,然后再判断表达式是否为真(非0), 如果为真则继续循环;否则终止循环。因此, do-while循环至少要执行一次循环体语句。编写程序:求1
12、+2+3+100While程序:#include void main()int I,sum;i=1;Sum=0while(i=100) Sum= Sum+I;i+; printf(“sum=%dn,sum); doWhile程序:#include void main()int I,sum;i=1;Sum=0doSum= Sum+I;i+; while(i=100)printf(“sum=%dn,sum); 循环体如包括有一个以上的语句,则必须用括起来, 组成复合语句。 for语句一般形式for(表达式1;表达式2;表达式3) 循环体语句组表达式1通常用来给循环变量赋初值,一般是赋值表达式。也允
13、许在for语句外给循环变量赋初值,此时可以省略该表达式。表达式2通常是循环条件,一般为关系表达式或逻辑表达式。表达式3通常可用来修改循环变量的值,一般是赋值语句。编写程序:求1+2+3+100For语句程序:#include void main()int i,sum;for(i=1,sum=0; i=100;i+)Sum=sum+iprintf(“sum=%dn,sum); 练习1.单片机的P0口接一个按键,P1口接一个发光二极管,当按下按键后,发光二极管灭,当松开按键后,发光二极管亮.画出电路图,写出程序.2.用两个按钮,控制一个共阴极七段数码管,要求按下S1时,数码管显示1,按S2时,显示
14、2,画出电路图,写出程序.3.利用按键控制步进电机运转,当按键按下时,步进电机以单一拍运转,当按键松开时,步进电机停止运转。练习4.单片机的P2.0口接一个按键,P2.1接一个发光二极管,当按下按键后,发光二极管亮,当松开按键后,发光二极管灭. 5.用开关控制照明设备,开关闭合时,灯亮,断开时,灯灭.6.用按键控制直流电机正反转:按下S1时,正转30秒,按下S2时,反转30秒后停止.7.用继电器控制水位电磁阀通断电,当水位低于最低位时,电磁阀通电,阀门打开蓄水,D1闪亮;当水位高于最高位时时,电磁阀断电D1闪亮;当水位高于最低位且低于最高位时,电磁阀断电且D2亮。A/D与D/A输入电压首先与D
15、/A器输出电压(VREF/2)相比较,如vI VREF/2,比较器输出为1,若vIv0存1 , v0为7.5V, vA再与7.5V比较,因vA 7.5V,所以存0, v0=6.25V; vA再与v0比较,如此重复比较下去,最后得到A/D转换器转换结果为10101111。运算放大器的输出电压为 该数字量10101111所对应的模拟电压为6.8359375V,与实际输入的模拟电压6.84V的相对误差仅为0.06%。练习1.有一数字电压表,单片机将电压值转换成数字量然后进行显示。如果电压表的量程是0-5V,采用8位A/D,请问,电压值为2V时,转换后的数字量是多少?2.有一温度测量显示装置,采用单片机将温度值对应的电压量转换为数字量。如果采用8位A/D,温度测量范围为0-50,0-50对应的电压为0-5V。请问如果温度值为20,电压值为多少?A/D转换后的数字量为多少?A/D转换3.有一温度控制器,控制信号为05V,控制范围为0100,如果采用单片机和8位D/A与该控制器相连,要求温度控制在25,则单片机需要向D/A发送的数字量是多少?D/A转换后的模拟量是多少?25/100*5=1.25V1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 品质魔方测试题目与答案
- 2025-2026学年广西壮族崇左市大新县数学四年级下学期期中检测模拟试题含答案
- 中医神经外科模拟试题及答案解析
- 超有趣的压力测试题目及答案
- 肝衰竭题目题库及答案
- 2026反洗钱自查报告(3篇)
- 培养基制备练习题及详细答案
- 2026年非金属矿物制品业重晶石粉应用拓展
- 2026年海南省高中政治必修第二册第7单元经济生活课件
- 雨污水顶管及竖井专项施工方案专家论证方案
- 2026年宁波高新区机关各部门、事业单位及街道公开招聘30名编外人员笔试参考题库及答案详解
- 2026-2030中国冬瓜种植市场营销模式与投资战略研究研究报告
- 2026年宁夏高考物理试卷(含答案及解析)
- 2026年下半年幼儿园教师资格证《保教知识与能力》真题试卷
- 2026年公共卫生执业医师资格考试(第一单元)试卷真题(后附答案解析)
- 中医体质辨识评估流程
- 广东粤财投资控股有限公司2026春季校园招聘笔试历年典型考点题库附带答案详解
- 2026年4月18日衢州市属事业单位选调笔试真题及答案深度解析
- 律所内部管理制度大全
- 旋挖钻孔灌注桩施工方案模板
- 安徽省合肥市普通高中六校联盟2025-2026学年高二上学期11月期中考试英语试卷(含答案)
评论
0/150
提交评论