8253引脚与内部结构引脚信号8位数据线D0~D7寻址控制线A0、A1、读写控制线各种通道与外设的接口时钟输入:CLK门控输入:GATE波形输出:OUT内部结构数据总线缓冲器8253与数据总线连接时的接口电路,8位双向三态缓冲器组成与CPU进行读写的信息都经D7~D0传送初始化编程8253时CPU写入的控制字CPU向某一计数器写入的计数初值CPU从计数器读出的计数值读/写控制逻辑接收I/O端口译码电路产生为0时工作为0时向3个计数器和控制口写入数据为0时从3个计数器读出数据,但不能读控制口A1A0,端口选择信号00,通道001,通道110,通道211,控制字寄存器计数器或计数通道0~33个相同而独立的计数器/定时器通道,每通道含有1个8位控制字寄存器、1个16位计数初值寄存器、1个计数执行部件、1个输出锁存器。CR16位初值寄存器CE减一计数器执行部件OL输出锁存器随时记录计数器的值,必要时可从中读出瞬时值。写入计数初值后,在门控信号控制下,对CLK脚上的脉冲进行-1计数。计数结束时,从OUT引脚输出脉冲信号。定时时间=时钟脉冲周期tc×预置的计数初值n计数初值=输入频率/输出频率控制
基础表达式变量如果变量可以为空,需要用?String? name //可以为null String name //不允许为nulllate前缀允许懒加载,使用该前缀的变量在被使用时才被初始化,即使已经被设了初值late String temperature = readThemometer();//使用时才会被初始化final为前缀的变量不能被重新赋值为另一个对象,但该变量的字段可以final obj = SomeClass(); obj.field1 = 'new value'; // 这是允许的 obj = AnotherClass(); // 这是不允许的const为前缀的变量自己和自己的字段都不被允许修改const obj = SomeConstClass(); obj.field1 = 'new value'; // 这是不允许的 obj = AnotherClass(); // 这也是不允许的你可以改变一个没有final、const前缀的变量,即使这个变量以前是constvar foo = const[]; foo = [1,
微处理器的结构和工作模式8086CPU的内部结构两大部分:总线接口单元BIU(Bus Interface Unit):与外部存储器以及I/O端口之间交换顺序,有段寄存器、6字节指令队列。指令执行单元EU(Execution Unit):负责执行指令,有通用寄存器和运算器ALU20位地址总线,16位数据总线8086的内部寄存器数据寄存器8086内部有4个16的数据寄存器:AX、BX、CX和DX,可以用来存放16位数据或地址信息,X为H时是高八位,X为L时是低八位,此时只用来存放8位数据不存放地址信息。AX (Accumulator):用于算术和逻辑操作。BX (Base):可用作索引(偏移量)。CX (Counter):用于循环和字符串操作。DX (Data):用于I/O操作和一些乘法和除法操作。指针寄存器地址指针SP (Stack Pointer):指向栈顶。BP (Base Pointer):用于数据存储和内存访问。变址寄存器SI (Source Index):源索引,通常用于字符串操作,在进行数据移动或字符串操作等任务时,SI寄存器通常与数据段寄存器(DS)配合使用。例如,在执行M
函数字符串字符串的rstrip()方法能删除字符串末尾的空白splitlines()方法逐行读取lstrip()删除左端空格创建副本python的函数在传递列表后如果要对列表进行修改操作的话,我们的原列表如果需要保留,那么作为传递得的列表需要时一个副本,这样进行修改操作不会影响到原始列表要创建副本,一般使用切片[:],在调用时创建列表的副本:function_name(list_name[:])传递任意数量的实参在python函数中我们会遇到不能确定传入多少参数到一个函数中的情况,这种情形下我们可以用*加在形参名称前来解决:def function_name(*args)这样我们在调用函数时,传递进去的所有参数都会被添加到一个元组当中被传递给函数,即使我们只传入一个参数也是如此('item1') ('item1','item2','item3')tips:通用形参名*args,也是这样收集任意数量的位置实参使用任意数量的关键字实参有时候会遇到预先不知道要传递给函数会是什么样的信息,这种情况下可以使用**前缀
创建仓库在仓库目录下使用如下命令git init跟踪文件git add <name>name如果为.则为跟踪该目录下所有文件解除跟踪git rm <name> 保留在目录里但是不被跟踪git rm -cache <name>如果通过git add将文件设置为缓存状态后想解除其缓存状态git reset HEAD <name>利用git commit命令提交修改一个文件的四个状态提交版本取消本次提交git reset head~ --soft这个取消不能取消第一次提交文件状态查看文件状态git status查看文件修改细节git diff查看提交历史git log美化查看历史信息为git log --pretty,细节不表咨询查看文档远程连接远程连接仓库git remote add origin https://origin是给远程仓库起的一个名字通过git remote查看远程连接好的仓库连接修改远程仓库连接名字git remote rename xxx xxx第一个名字为原始名字第二个为修改后的名字推送到远程仓库git push o
Vergessen
没有超过电子烟的纯真