【单片机期末】接口及应用
一、C51语言基础
【考点】存储类型
data是低128字节
code是ROMidata是高128字节
pdata是外部RAM可以用R0 R1寻址的,也叫页
xdata是外部RAM,可以用DPTR寻址或总线扩展
其中data、code、idata、pdata、xdata均为字节类型的,bdata是对位寻址的
【考点】数据类型
char是单字节,unsigned char是无符号单字节
int是双字节,是有符号的,即有正负
【考点】中断服务程序的写法
返回值必须是 void 类型,传递参数也必须是 void 类型
ISR 是中断服务程序,是inter interrupt server routine的缩写
xx需要写具体的中断名字
interrupt是关键字,是C51语言中特有的
第一个2 代表中断号 51单片机有5个中断(S表示串行口)
第二个2 代表工作寄存器组
【考点】指针
p是指针,声明的时候前面需要加*,表明这是一个指针类型
&x 表示取x的地址,& 为取地址符
【考点】数组的应用
在定义数组时,加 [ ] ,用来区分数组和普通变量
C语言编译器会自动在 [ ] 中填入数组元素的个数
【考点】与运算
与上0001 1111B,为零的地方会被清掉,只保留了1的部分
【考点】循环语句的用法
非零即真
unsigned char是单字节类型,范围是00H~FFH
初始值为1,也就是说 i 从1开始加到255,255再加1为0
【考点】STC单片机
模拟输入接AD转换器
推挽输出:顶天立地
开漏输出:导通时相当于接地,输出为0V
关断时,引脚和三极管(或MOS管)没有关系,此时不能输出高电平
若要输出高电平,可以在芯片外面接一个上拉电阻,此时可以输出高电平1
二、请逐行解释keil编译后输出的提示信息
【考点】对编译器的理解
启动文件优先于主函数main运行
C语言需要先生成汇编语言再翻译为机器码
汇编语言需要翻译成机器码
启动文件和C文件经过处理后会变成两大段机器码,这两大段机器码的顺序由链接器来决定,最终形成所要用的机器码
无论是变量还是机器码都要放到存储器中
51单片机中有4KB个字节
Objects是指目标文件
0错误,0警告仅代表程序在语法上没有问题
三、键盘扫描驱动设计
注意时间是计数值*时间
开始连续时间为(80-30)*10ms
自动连续时间为(100-80)*10ms
按键按下时相当于接地,即为0,注意右侧为高位
四、模拟交通灯设计
五、LED数码管设计
CD4094_Data_L代表CD4094 Data = 0
先发送最高位D7
位驱动和段码驱动都是通过4094实现的
用4094实现数码管的驱动不需要消隐,因为其位码和段码是同时输出的