第一章: 单片机初稿 什么是单片机:以硅晶圆为基底发展的高度集成可控制芯片。 单片机位数指的提升指的是IO口的提升吗? 第二章: 1,NTC测温与18B20测温的区别 NTC测温输出的是模拟量电压,18B20测温产生的是一个数字量输出电压 2,ADC按键的工作原理是什么? 基准电压应当是用于区分高电平有效和低电平有效的一个“门槛电压”在众多教材中常见的值为1.2V(低电平有效)和3.3V(高电平有效),老师为了便于理解改为“0V与5V”? 线性电压的定义应该是指一个模拟量的函数曲线图,属于一个连续的值,其表达式为f(x)而ADC自然是以5/4096为精度单位的数字量? 3,基准电压本质上是地线 4,24c02,是一颗外部存储芯片,可用于存储用户数据等信息,在正常工作状态下是否有类似于电脑内存条一样的属性?(指快速,高效的与芯片通讯) 第三章: 软件下站指引 第四章: 1,GPIO(generalpurpose input output) 2,P(引脚)使用规则,P实际为一八位引脚用数字电路的表达形式为p[0..7],我们可以直接操作以整排引脚,也可以细分操作引脚下的“八位数字引脚” 3,熟练使用阅读器翻阅资料 4,新建工程-导入程序 5,用于控制单独引脚的程序:sbit P00=p0^0//选择P0.0引脚 C51中sbit/sfr用法分析 1 首先区分bit 和sbit bit和int char之类的差不多,只不过char=8位, bit=1位而已。都是变量,编译器在编译过程中分配地址。除非你指定,否则这个地址是随机的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,意义有点像Windows下VC中的BOOL。 sbit是对应可位寻址空间的一个位,可位寻址区:20H~2FH。一旦用了sbi xxx= REGE^6这样的定义,这个sbit量就确定地址了。sbit大部分是用在寄存器中的,方便对寄存器的某位进行操作的。 sbit的用法有三种: 第一种方法:sbit 位变量名=地址值 第二种方法:sbit 位变量名=SFR名称^变量位地址值 第三种方法:sbit 位变量名=SFR地址值^变量位地址值 如定义PSW中的OV可以用以下三种方法: sbit OV=0xd2 (1)说明:0xd2是OV的位地址值 sbit OV=PSW^2 (2)说明:其中PSW必须先用sfr定义好 sbit OV=0xD0^2 (3)说明:0xD0就是PSW的地址值 因此这里用sfr P1_0=P1^0;就是定义用符号P1_0来表示P1.0引脚,如果你愿意也可以起P10一类的名字,只要下面程序中也随之更改就行了。 注意:"^"实质代表的是异或运算,可以算一下,恰好符合。 2.Sfr用法 sfr 似乎不是标准C 语言的关键字,而是Keil 为能直接访问80C51 中的SFR而提供了一个新的关键词,其用法是:sfrt 变量名=地址值。 file:///C:/Users/%E7%8E%8B%E6%A2%93%E4%BA%A6/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png 例:sfr P1 = 0x90; 这样的一行即定义P1 与地址0x90 对应,P1 口的地址就是0x90. 读者认为上述使用sfr的本质上与申明变量的性质相同,都是在给一个系统内部的地址命名以方便指挥系统调用(与申明变量相同都是在命名) SFR的定义在头文件reg51.h或reg52.h中。 第五章(4.2): 1,二次下载需按键恢复下载or自动下载工程 2,根据教程设置自动下载程序 调用两个库函数: Include”stc.h” Include”usb.h” 第六章与第七章(5.1-5.2) 1,C语言printf的使用方法 2,通过STC与单片机进行交互 3,采用文本模式将两位16进制码翻译成文本 4,进制与进制转换关系 第八章(6.1) 1,函数的使用(定义、声明、调用) 在模块化编程里,函数使用分为如下三步:1:函数定义 返回值·函数名称( 入口参数 ) {函数要执行的功能} @返回值:没有返回值就是void @函数名称:避开关键词,不重复,非特殊字符随便取 @入口参数:类型+名称, 多个参数“,”分开,空就写void2.函数声明 第九章(7) 1.按键抖动 A按键抖动·是由机械结构产生 B可用延时函数加二次采样引脚数据来去除抖动的影响,但是按键抖动难以消除 2.将引脚定义为输入引脚(定义成按钮) #defineKEY(或者其他方式字符) P32 第十章(8) 1、有源蜂鸣器内部带震荡源,所以只要一通电就会叫,而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。 2、价格不同,有源蜂鸣器要比无源蜂鸣器贵,贵在里面多了震荡源。 3.本质上蜂鸣器的使用方法与LED灯相同 第十一章(9)(翻译为多组发光二极管的使用) 1,按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管 2, 尾缀A表示共阳,K表示共阴 3, 市面上很多多位数码管芯片可以接收二进制字符串显示数字,这是怎么做到的? 第十二章(10) 1注意每个延时不能太短,我们这边程序就以1ms为准,且需要保证总共一个循环结束的时间不能大于20ms,因为人眼的视觉不容易分辨出50HZ以上的动态刷新 file:///C:/Users/%E7%8E%8B%E6%A2%93%E4%BA%A6/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg 第十三章(11) 1.参考文献 普通定时函数在程序里会被按键等其他操作打断
|