HD8001 ADC外设 一、datasheet介绍 主要特点: ① 12bit,代表该芯片ADC模块采样最大可以有12位2进制的值(4096)。 ② 参考电压可以是VDD、外部参考电压、内部参考电压。 ③ 转化完成时可以产生中断。 配置过程(即初始化) 1. 端口配置 这里配置是做什么? 就两点,使用的IO口是输入还是输出,是模拟还是数字型号。 …
斐波那契数列里,输入项数,输出具体数列斐波那契数 思考: 一、斐波那契数列特点是什么? 这个数列从第 3 项开始,每一项都等于前两项之和。 所以前两项是固定死的:F(0)=0,F(1)=1 总结性规律就是F(n) = F(n-2)+F(n-1) 程序 #include<stdio.h> int F(int n) { if(n==0) r…
树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数。 思考: 一、自己的第一思考方式:也就是走的数之和等于楼梯数。大概分三大类:都走1,都走2(判断是不是偶数),混合。 疑问点:但是这个混合怎么去求走法数?说明考虑有误。 再回头改变下思考逻辑,不分类了直接表示所有的情况。 从普遍到特殊流程如下: 第一次可以走1或者2,第二次可以…
思考: 一、Q:汉诺塔游戏的规则是什么? A:共三个柱子,确定起始柱子上有N(自己定义)个盘子,大的盘子在下小的盘子在上,从起始柱子上挪到其他柱子上,且挪动过程不可以重复。 二、找共性。从A柱子挪动到C柱子,当我没有盘子时,就不需要操作,什么都不用挪动。当我有一个盘子时,直接从A—>C。有两个盘子时,需要先A->B,A->C,B-…
输入一个正整数,输出它的阶乘 思考: 一、其实这个也就是从1开始遍历到这个数,再赋值一个 = (这种程序其实也没找到有优化的点,不过需要注意的是b初始化的时候记得赋值1) 二、这里将其延申一下, 如果是输入整数n,求1!+2!+3!+4!+5!+6!+7!+…+n! 的和。 是不是阶乘可以使用递归的方法来求呢? 这里是可以使用递归来求,注意的点在于…
输出所有0-200之间能被3整除且个位数字为6的整数。 思考: 一:遍历0-200,然后个位数字的表示就是 i%100%10 (唯一稍微优化的一点点就是从6开始少遍历几次) 程序 include int main(void) { int i = 0; for (i = 6; i <= 200; i++) { if (i % 3 == 0 &a…
一个皮球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求当它第10次落地时,共经过了多少米,第10次反弹多高? 思考: 一、需要一个变量表示每次反弹多高 height = height / 2,height 初始化 = 100 二、共经过了多少米,设置变量length也就是下落+反弹, 除了第一次外,height *2。 三…
打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数。 例如,153就是一个水仙花数,因为153=111+555+333 思考: 一、所有的水仙花数,也就是确定范围100-999。 二、遍历100-999,要找的数按位表示使用 i/100, i/10, i%10 三、判断条件就是 i==(i/100)(i/100)(i/100…