分类: 计算机 Computer

  • 平衡车直立算法:互补平衡滤波

    平衡车直立算法:互补平衡滤波
    ——结合加速度计和陀螺仪的平衡解决方案
    Adapted from Shane Colton, The Balance Filter.
    翻译 + 改编 by肥叉烧

    图片1

    传感器

    两轴加速度计

    1. 用于测量“加速度”,但实际是测量单位质量上的受力。(F = ma,于是有a = F/m,牛顿就这么一说~)
    2. 可用于测量重力,如上图,X轴的读数为0,Y轴的读数为-1g.
    3. 可用于测量倾斜度:如上图,这时X轴和Y轴都有读数,通过简单的三角函数计算,就可以算得当前的倾斜度。(嗯,高中的我一定能轻松算出来~)

    陀螺仪

    1. 用于测量“角速度”(旋转的速度)。
    2. 静止时读数为0.
    3. 旋转时,读数是正数或者负数:与陀螺仪方向一致读数为正,否则为负。
    (更多…)

  • 微原软件实验:统计成绩并排名

    北邮微原软件实验四:子程序设计

    一.实验目的:
    1.进一步掌握子程序设计方法;
    2.进一步掌握基本的 DOS 功能调用.
    二.实验内容:
    1.从键盘上输入某班学生的某科目成绩.输入按学生的学号由小到大的顺序输入.
    2.统计检查每个学生的名次.
    3.将统计结果在屏幕上显示.
    4.为便于观察,输入学生数目不宜太多,以不超过一屏为宜.输出应便于阅读.尽可能考虑美观.
    5.输入要有检错手段.

    仙剑95进度汇报

    与坏叔叔交手
    与坏叔叔交手

    没见过这么强大的对手~幸好存档了。打了两回才干掉他们。
    (更多…)

  • 微原软件实验:用户输入任意个两位十进制数,程序要找出最小的数并输出

    北邮微原软件实验三:代码转换程序设计

    一.实验目的:
    1.掌握几种最基本的代码转换方法;
    2.运用子程序进行程序设计.

    二.实验内容:
    1.从键盘上输入若干两位十进制数,寻找其中的最小值,然后在屏幕上显示出来.
    2.两个十进制数之间的分隔符,输入结束标志自定,但要在报告中说明.
    3.对输入要有检错措施,以防止非法字符输入,并有适当的提示.
    4.将整个程序分解为若干模块,分别用子程序实现.在报告中要给出模块层次图.

    今天北京的空气可以炫耀

    难得空气好~
    难得空气好~

    (更多…)

  • 微原软件实验:统计正负数、奇偶数的个数

    北邮微原软件实验二:分支,循环程序设计。
    基于8086汇编。我在64位Win7下用DOSBox进行实验。

    实验二 分支,循环程序设计
    一.实验目的:
    1.开始独立进行汇编语言程序设计;
    2.掌握基本分支,循环程序设计;
    3.掌握最简单的 DOS 功能调用.
    二.实验内容:
    1.安排一个数据区,内存有若干个正数,负数和零.每类数的个数都不超过 9.
    2.编写一个程序统计数据区中正数,负数和零的个数.
    3.将统计结果在屏幕上显示.
    三.选作题:
      统计出正奇数,正偶数,负奇数,负偶数以及零的个数.

    仙剑95进度汇报

    姥姥挂了
    姥姥挂了
    嗯,情况是这样的。以后灵儿就跟着逍遥哥哥四处闯荡咯。
    (更多…)

  • 微机原理硬件实验二:数码管动态显示

    北邮微机原理硬件实验二,8255A并行接口应用。基于8086的汇编编程实现。
    嗯,已经第二次实验了。第一次实验看了学长的代码,已经学到不少东西了,这一次该自己好好写了!

    实验要求

    简要说明

    在方式0(输入/输出)下,以A口为输出口,B口为输出口, A口接六个共阴极数码管的八位段码,高电平点亮数码管的某一段, B口接数码管的位选(即要使哪个数码管亮),高电平选中某一位数码管点亮。

    8255A中    A端口地址    EE00H
    B端口地址    EE01H 
    C端口地址    EE02H
    控制地址    EE03H
    

    八段数码管的显示规律及数码管的位选规律自己查找,可用实验一中,学过的I、O命令来做。

    6位数码管静态显示

    在数码管电路上静态地显示6位学号,当主机键盘按下任意键时,停止显示,返回DOS。提示:该电路6个数码管的同名阳极段已经复接,当段选寄存器寄存了一个字型编码之后,6个数码管都有可能显示出相同的数字。如果要使6个数码管“同时”显示不同的数字,必须采用扫描显示的方法,通过选位寄存器选择某一位数码管,显示其数字(对应段值为1),然后关闭此数码管,再选择下一位数码管进行显示;如果在一秒钟内,每一位数码管都能显示30次以上,则人眼看到的是几位数码管同时在显示。
    实验证明,在扫描显示过程中,每一位显示延迟1ms是最佳选择。

    6位数码管动态显示

    要求在数码管电路1-6位数码管上按图3.2所示的规律,动态显示字符串HELLO,当主机键盘按下任意键时结束。
    提示:
    ①本实验应在上面实验的基础上完成
    ②在数据段,按下列规律设置12个字型码:

    MESG    DB   0,0,0,0,0,0,3DH,0DCH,8CH,8CH,0EDH,0
    POINT    DW   MESG
    …   …
    

    POINT单元存放MESG单元的有效地址,程序取出POINT单元的内容→BX,然后用BX间址取数送数码管电路,扫描显示6个字符。每过0.5s将POINT单元的内容加1,再将POINT单元的内容→BX,……。POINT单元内容加1,使字符串显示的首地址向高地址移动一个单元,从而使6位字符串向“左”移动一位,实现动态显示。
    ③动态显示的速度可控制(快或慢),利用实验一读入端口的功能
    (更多…)

  • 微机原理硬件实验一:跑马灯

    本文针对:北邮微机原理硬件实验一,实验平台介绍和实验一IO的使用。用基于8086的汇编进行编程实验。
    前半学期荒废,基本没学汇编语言,看着实验要求就一个头痛。
    同学找来学长代码,成功救赎。
    写下本文,以膜拜学长,并从中学习微原硬件实验编程方法。

    实验要求

    1.学习使用Debug命令,并用I、O命令直接对端口进行读写操作,
    2.用汇编语言编写跑马灯程序。(使用EDIT编辑工具)实现功能
    A.通过读入端口状态(ON为低电平),选择工作模式(灯的闪烁方式、速度等)。
    B.通过输出端口控制灯的工作状态(低电平灯亮)
    (更多…)

  • DOSBox汇编详细入门:8086汇编

    前几天发了不用虚拟机,64位Win7用DOSbox模拟DOS环境:仙剑95为例
    某同学看完表示不懂。(我怎么觉得很好懂啊,不就是一男三女的幸福故事吗~

    好,本文给出Step by step的详细过程。帮助你利用DOSbox进行汇编软件实验。
    DOSbox的安装过程就不给出啦,直接猛击下一步就行。

    Step1:
    安装好DOSbox之后,在电脑的F盘(其他盘也可以),建立一个以英文命名的文件夹。
    将MASM的相关文件放到这个文件夹里,如图红框所示。masm5(用于汇编编程):http://pan.baidu.com/s/1boegdgN (密码 ocvt)

    在电脑的某个盘,建立一个专门进行汇编语言实验的文件夹。
    在电脑的某个盘,建立一个专门进行汇编语言实验的文件夹。

    (更多…)

  • 不用虚拟机,64位Win7用DOSbox模拟DOS环境:仙剑95为例

    <---明天微原考试 努力预习中--->
    微机原理软件实验,要用到DOS进行8086的汇编编程。
    所以很不幸,64位的Win7悲剧了。

    幸运的是,班内一大牛给出了解决方案:用DOSbox进行模拟操作,能在64位系统完美运行。
    原文链接:http://blog.renren.com/blog/329433166/916250314

    DOSbox下载地址:http://pan.baidu.com/s/19qCiV
    masm5+edit编辑器(用于汇编编程):http://pan.baidu.com/s/1imn1Q

    没办法,一见到DOS我就马上想起仙剑DOS版,所以这里就用仙剑95来举例啦!

    DOS版仙剑,在DOSbox下运行.
    DOS版仙剑,在DOSbox下运行.

    (更多…)