学会编单片机必须会c语言吗,十天学会单片机和C语言编程.docx

本文介绍了单片机中TTL和RS232电平的区别,以及如何通过MAX232进行电平转换。讨论了80C51系列单片机,包括其I/O口特性、C-51编程中的常用头文件和运算符,以及中断和定时器的基本概念。此外,还提到了单片机最小系统和I/O口的使用方法,强调了P0、P1、P2、P3端口的功能和注意事项。
摘要由CSDN通过智能技术生成

电平特性

数字电路中只有两种电平:高和低

单片机为TTL电平:高+5V 低0V

RS232电平:计算机的串口,高-12V 低+12V

所以计算机与单片机之间通讯时需要加电平转换芯片max232(实验板上左下角)。

异或运算是实现“必须不同,否则就没有”

80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80c51系列。

C-51包含的头文件

通常有:reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.h

常用有:reg51.h reg52.h 定义特殊功能寄存器和位寄存器

Math.h 定义常用数学运算

数据类型的扩充定义

Sfr:特殊功能寄存器声明

Sfr16:sfr的16位数据声明

Sbit:特殊功能位声明

Bit:位变量声明

C-51运算符

1 + - * / 加减乘除

2 > >= < <= 大于 大于等于 小于 小于等于

3 == != 测试等于 测试不等于

3 && || ! 逻辑与 逻辑或 逻辑非

4 >> << 位右移 位左移

5 & | 按位与 按位或

6 ^ ~ 按位异或 按位取反

中断服务程序

函数名()interrupti n using m

{

函数内部实现……

}

I/O口定义

Sbit beep=P2^3;

单片机主要掌握以下几点

最小系统能够运行起来的必要条件:1电源2晶振3复位电路

对单片机任意IO口的随意操作:1输出控制电平高低2输出检测电平高低

定时器:重点掌握最常用的方式2

中断:外部中断、定时器中断、串口中断

串口通信:单片机之间、单片机与计算机间

KEIL的使用

Main函数

格式:void main()

特点:无返回值,无参。

任何一个C程序有且仅有一个main函数,它是整个程序开始执行的入口。

例如:void main()

{

总程序从这里开始执行;

其他语句;

}

单片机I/O口的使用

对单片机的控制,其实就是对I/O口的控制,无论单片机对外界进行何种控制,或接受外部的何种控制,都是通过I/O口进行的。51单片机总共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。4个I/O端口都能作输入输出口用,其中P0和P2通常用于对外部存储器的访问。

在无片外扩展存储器的系统中,这4个端口的每一位都可以作为准双向通用I/O端口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。

当P0作为I/O口使用时,特别是作为输出时,输出级属于开漏电路,必须外接上拉电阻才会有高电平输出;如果作为输入,必须先向相应的锁存器写“1”,才不会影响输入电平。

当CPU内部控制信号为“1”时,P0口作为地址/数据总线使用,这时,P0口就无法再作为I/O口使用了。

P1、P2和P3口为准双向口,在内部差别不大,但使用功能有所不同。

P1口是用户专用8位准双向I/O口,具有通用输入/输出功能,每一位都能独立地设定为输入或输出。当有输出方式变为输入方式时,该位的锁存器必须写入“1”,然后才能进入输入操作。

P2口是8位准双向I/O口。外接I/O设备时,可作为扩展系统的地址总线,输出高8位地址,与P0口一起组成16位地址总线。

过P做BM的垂线,垂足为T,过Q做MC的垂线,垂足为S。

PM*PM=PB*PB-BT*BT+MT*MT

MQ*MQ=QC*QC-CS*CS+MS*MS

PQ*PQ=PM*PM+MQ*MQ= PB*PB-BT*BT+MT*MT+ QC*QC-CS*CS+MS*MS

三角形BPT与QSC相似,PT/SC=BT/QS,即PT*QS=BT*SC

三角形PMT与QSM相似,PT/MS=MT/QS,即PT*QS=MS*MT

即BT*SC=MS*MT,BT/MT=MS/SC.

由于M为BC中点,所以BM=MC。

所以BT=MS,MT=CS

所以PQ*PQ= PB*PB-BT*BT+MT*MT+ QC*QC-CS*CS+MS*MS

= PB*PB + QC*QC-CS*CS+MS*MS-BT*BT+MT*MT

= PB*PB + QC*QC

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值