自己总结的单片机编程精华.doc_第1页
自己总结的单片机编程精华.doc_第2页
自己总结的单片机编程精华.doc_第3页
自己总结的单片机编程精华.doc_第4页
自己总结的单片机编程精华.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

点亮一个发光二极管需要3ma的电流 一般串联1k的电阻做保护一关于电平特性 数字电路中只有两种电平:高和低 定义单片机为TTL电平: 高 +5V 低 0V RS232电平:计算机的串口 高 -12V 低+12V 所以计算机与单片机之间通讯时需要加电平转换芯片max232。二二进制转十六进制要注意的事项 低位到高位是从右向左排列的 如P27 P26 P25 P24 P23 P22 P21 P20三80C51系列介绍 80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。当前常用的80C51系列单片机主要产品有: Intel的:80C31、80C51、87C51,80C32、80C52、87C52等; ATMEL的:89C51、89C52、89C2051等; Philips、华邦、Dallas 、STC Siemens(Infineon)等公司的许多产品 。四,中断程序1. 中断函数void exter0() interrupt 0不用在头文件中声明2. 中断程序的写法;首先在main函数开头开总中断EA=1,然后选择中断源EX0=1,ETO=1,EX1=1,ET1=1,ES=1,最后在主函数外面写中断服务程序void exter0() interrupt 0,interrupt后面跟的是外部中断源的序号EX0(0),外部中断0允许位;ET0(1),定时/计数器T0中断允许位; EX1(2),外部中断0允许位;ET1(3),定时/计数器T1中断允许位;ES(4),串行口中断允许位;五C51的数据类型 1k=1024B=1024X8bit常用的数据类型有int和char型 1.整型常量 (1) 十进制形式,如:100,0,-100 (2) 八进制形式,以数字0开头的八进制数 ,如:0157 ,即(157)8,其对应的十进制数值为:182+581+780,即111。八进制数中的数位符号只能有8 个,即07。(3) 十六进制形式,以数字字母0x开头的十六进制数,如:0x157表示十六进制数157 ,即(157)16,其对应的十进制数值为:1162+5161+7160,即343。十六进制数中的数位符号为数字字符09和英文字母AF等16个字符。C语言自动按常量的范围决定其类型。同时允许用户在整型常量后面加上字符L(或l)表示长整型数据 2. 字符型数据 类型名 char 字符型数据存储ASCII字符集中的一个字符,占用1个字节的存储单元,实际存储的是该字符的ASCII值。 字符型数据的存储形式与整数的存储形式类似,所以在C语言中可以把字符型的数据当作整型数使用,其数值范围为:-128 127 可以定义无符号的字符变量,其数值范围为:0255,定义形式如下: unsigned char c; /*说明变量c为无符号字符型变量*/ C51的数据类型扩充定义sfr:特殊功能寄存器声明sfr16:sfr的16位数据声明sbit:特殊功能位声明bit:位变量声明例:sfr SCON = 0X98; sfr16 T2 = 0xCC;sbit OV = PSW2;C-51数据的存储类型例:数据类型 变量名char var1;bit flags;unsigned char vextor10;int wwww;注意:变量名不能用C语言中的关键字表示。C-51的包含的头文件通常有:reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.h常用有:reg51.h reg52.h (定义特殊功能寄存器和位寄存器); math.h (定义常用数学运算);六C-51的基本语句 与标准C语言基本相同: if 选择语言 while 循环语言 for 循环语言 switch/case 多分支选择语言 do-while 循环语言 C-51的运算符与C语言基本相同:+ - * / (加 减 乘 除) = (位右移 位左移)& | (按位与 按位或) (按位异或 按位取反)编程部分一51单片机上电之后所有的IO口默认都是高电平,注意P2口和其他口排列的不同Main 函数格式:void main()特点:无返回值,无参。任何一个C程序有且仅有一个main函数,它是整个程序开始执行的入口。例:void main() 总程序从这里开始执行; 其他语句; include后面不需要加分号,函数体void main()后面也不需要加分号二定时器 定时/计数器的工作原理加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值。一个脉冲等于一个机器周期=12个振荡周期,1秒=1000毫秒=1000000微秒,所以一个脉冲需要的时间=12个振荡周期=12乘以(1/12x1000000)秒,即1微秒 设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t 。定时/计数器的控制80C51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;TCON用于控制其启动和中断申请。一、工作方式寄存器TMOD 工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下:GATE:门控位。GATE0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。即此时定时器的启动多了一条件。 Ct :定时/计数模式选择位。 0为定时模式; =1为计数模式。M1M0:工作方式设置位。定时/计数器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论