之前一直在使用STC89C52并且学习的时候使用的也是STC89C52,最近才开始接触STC8H8K64U这个芯片,目前才刚开始筹备并没有进行使用,后续将使用这个芯片来进行一些开发。并在此记录。
我们直接看上图的这个芯片的丝印,这个丝印最下面一排小字最后一个字母就是怎们芯片的版本。 好了我们的板子焊接好了,下面我们来看看. 其实我这个板子也是按照人家开源的pcb打的板子,好了不纠结我们现在就按照pdf来学习一下这个mcu吧! STC8H-20240513.pdf
前置知识
源码、反码以及补码
通常在二进制数前面增加一位符号位。符号位为“0”表示“+”,符号位为“1”表示“-”。
正数: 正数的源码反码补码都是一样的
负数:反码也就是源码按位取反,但是符号位不变 补码是反码加1
数制
也就是我们常说的二进制八进制十进制十二进制十六进制六十进制等。
这些数制是可以来回转换的,这里我们就不详细的说了,需要学习的咱们可以去百度查找一下学习一下。
常用的逻辑运算及图形符号
与(AND) 或(OR) 非(NOT) 与非(NAND) 或非(NOR) 与或非(AND-NOR) 异或(EXCLUSIVE OR) 同或(EXCLUSIVE NOR)等。
开始点灯
下面我们说一下,怎么选择stc的mcu,我们知道在新建工程以后会让我们选择mcu,默认的是不支持STC的mcu的说以我们需要添加一下STC的支持,我们需要stcai-isp-v6.94这个isp软件,此软件可以再stc论坛网站下载。 添加这个型号和头文件我们必须要确认我们用红框框起来的两个文件夹C51UV4这两个是必须要有的。 在我们选择添加型号和头文件到kiel中时,我们选择目录时,只需要选择到kiel的安装目录即可。 如图这样我们就能找到所有的STC型号了。 下面是我们的点灯程序
- #include <STC8H.H>
-
- void delay(unsigned long delaytime)
- {
- while(delaytime--);
- }
-
- void main(){
- P7M0 = 0x00;
- P7M1 = 0x00;
-
- P77 =0;
- P74 =0;
- P75 =0;
- while(1){
- P76 =1;
- delay(30000);
- P76 =0 ;
- delay(30000);
- }
-
-
- }
复制代码
最后我们在说一下usb下载程序 给目标芯片重新上电,不管之前是否已通电板子上的电源开关键按下停电,然后松开上电等待STC-ISP下载软件中自动识别出“STC USB Writer (HID1)”识别出来后,就与P3.2状态无关了。 然后下载即可。 然后就可以观察led的闪烁情况了。 一个奇怪的现象 上述代码我在没有写while的时候也是一闪烁的,这个是为什么我还没有搞清楚,不会是mcu在一直重启吧。 如果论坛可以支持Markdowm编写就好了
|