找回密码
 立即注册
查看: 937|回复: 0

STC的学习心得

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-03-04 10:20:28

1

主题

11

回帖

41

积分

新手上路

积分
41
发表于 2024-2-25 17:10:23 | 显示全部楼层 |阅读模式
第一章:
单片机初稿
什么是单片机:以硅晶圆为基底发展的高度集成可控制芯片。
单片机位数指的提升指的是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.参考文献
普通定时函数在程序里会被按键等其他操作打断

回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-7 03:23 , Processed in 0.112508 second(s), 45 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表