这个系列的SOC是cygnal公司的产品,与51兼容,但是设置起来非常麻烦,Silab IDE软件又不好用,查询功能无法查询标志位。手册上说有CROSS BAR可以设置四个I/O的性质和功能,但是经过我测试,只有P1口可以进行漏极开路和推挽方式的设置,其他P口都设置不了,默认为推挽方式。奇怪。
测试了ADC功能,REF电压设置为2.4V,对于ADC的设置也非常麻烦,虽然有8个模拟输入,但是不能同时读入,只能分开读,不知道这8个口有什么用。设置非常繁琐,而且在手册上,寄存器设置也没有排在一起,REF设置是在其他页面上,很容易漏掉。
还要对系统时钟进行设置,唯一的优点是可以通过寄存器设置测试系统时钟是否有效,如果无效可以自动RESET。
中断源与52一样,不一样的是,中断端口可以随意在I/O上设置。波特率计算方法略有差异。
虽然IDE软件用起来很累人,但是仿真和下载比较方便,唯一不方便的是适配器有时会有错误,导致可以识别适配器但是无法下载程序,网上查到一款软件可以重置适配器的系统时钟,修正错误。
到目前为止,还没有体会到这款SOC的真正优点,如果运算速度不是我所追求的,那么这款SOC除了集成了AD外,没什么特别,反而因为功能的繁琐而让编程初始化麻烦了很多,得不偿失。