2022年CT107D编程手册资料.pdf
《2022年CT107D编程手册资料.pdf》由会员分享,可在线阅读,更多相关《2022年CT107D编程手册资料.pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、CT107D 编 程 手 册精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 18 页 - - - - - - - - - - 一、 IO 口编程IO编程,该开发板使用了573锁存器,通过P2口的5,6,7位连接3-8译码器,扩展出了8个口,其中4个口分别连接4个573锁存器,这里以的锁存器来举例:原理图:分析代码:();其中,与进行与运算,高三位清零,其余位保持原来状态,不改变,即把控制译码器的高三位留出来:接着再或上;容易发现;或运算,与或结果为,与或结果不变,所以或上只需看的高三位,则高三
2、位为,对应译码器的话,;所以输出;再经过与非运算,看下图示:则输出;即对应的锁存器的片选信号被选中,锁存器打通,接下来就可以对口进行操作,操作完之后,;高三位直接清零,此时Y4C=0,则把锁存器锁上了。类似的方法,数码管、蜂鸣器等都是如此操作,选中锁存器代码:P2=(P2&0 x1f)|(这里填对应锁存器的位移号)。二、数码管动态扫描和定时器数码管显示分为段选和位选,数码管定义和显示函数:Code unsigned char tab = 0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;unsigned chardspbuf
3、=10,10,10,10,10,10,10,10;unsigned chardspcom=0;void display()/段选,消隐P2=(P2&0 x1f)|0 xe0);P0=0 xff;P2=P2&0 x1f;/位选P2=(P2&0 x1f)|0 xc0);P0=(1因为秒的范围是0-59,所以6,5,4位表示秒的十位,3,2,1,0表示个位,十位最大是5,所以三位即可。第二行:跟上面一样;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 18 页 - - - - - - - - -
4、- 第三行:7位:1为12小时制,0为24小时制;5位:12小时制时为0表示上午,1表示下午,24小时制时,和4位一起表示小时的十位;其余的时间一样的表示。倒数第二行:只看7位:为1时禁止写数据,所以开始写数据时必须置0;读数时:!需要加“写操作这一行代码”。读的话直接按照命令读即可。DS1302进阶(BCD码转换):解决之前60秒不能进位的问题。1)写入初始值时,要把10十进制数转换为码,例:写入时间:Ds130 2_Single_Byte_Write(0 x8e,0 x00);/写操作Ds1302_Single_Byte_Write(0 x85, (17/10)4 |(17);/写时Ds1
5、302_Single_Byte_Write(0 x83, (58/10)4 |(58);/写分Ds1302_Single_Byte_Write(0 x81, (50/10)4 |(50);/写秒Ds1302_Single_Byte_Write(0 x8e,0 x80);/写保护即转换的公式是:(Value/10)4)*10 +(ReadValue&0 x0F);八进制转十进制-ReadValue=Ds1302_Single_Byte_Read(0 x85); hour=(ReadValue&0 x70)4)*10 +(ReadValue&0 x0F);!(这句一定不要省) Ds1302_Sin
6、gle_Byte_Write(0 x00, 0 x00);/写操作 ReadValue=Ds1302_Single_Byte_Read(0 x83); minute=(ReadValue&0 x70)4)*10 +(ReadValue&0 x0F); Ds1302_Single_Byte_Write(0 x00, 0 x00);/写操作 ReadValue=Ds1302_Single_Byte_Read(0 x81); sec=(ReadValue&0 x70)4)*10 +(ReadValue&0 x0F); Ds1302_Single_Byte_Write(0 x00, 0 x00);/写
7、操作显示: dspbuf0=hour/10; dspbuf1=hour; dspbuf2=minute/10; dspbuf3=minute; dspbuf4=sec/10; dspbuf5=sec;七、 PCF8591与IIC总线的使用(1) IIC总线的使用:比赛提供了IIC的两个库文件,IIC.h;IIC.c,其中需要注意的 函数是:其中,该函数是初始化的,当使用AD 转换的时候需要在 main 函数开始时调用,该函数内部只需看这句代码即可: i2c_sendbyte(0 x03);/ADC通道 3,板上有 4个模拟输入口,分别为 0,1,2,3;设置哪一个模拟输入口就是根据这句代码,0
8、 x03 表示通道 3,这是根据芯片手册配置的,如图:8位前6位不用管,都为0,最后两位就是配置选择哪一个通道的。第二个函数:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 18 页 - - - - - - - - - - 读取AD转换后的数值,这个函数直接调用就可以了,函数内部如何实现不用管,但是需要注意的是:该函数扫描调用最好是100ms。第三个函数,上面的都是转换,即模拟信号转数字信号,下面这个函数是DA转换,数字信号转换成模拟信号,就是单片机输出数字信号,用万能表去量单片机引出的引脚
9、,量一下电压大小,这个估计比赛不会考,不过预防万一:该函数和上面两个函数分离开来的,一、二函数是要在一起使用,初始化后之后才能调用,第三个加入头文件,直接调用即可,比较简单!上面说法有误,A/D转换的初始化 函数和读取转换后的数值都需要自己写。这里了解一下PCF8591只需根据时序格式发送地址字节和控制字节:,这是地址字节,其中A2,A1,A0硬件已经接地,故都为0,最低位表示的是你要从IIC总线上读数还是写数据,1表示读,0表示写,即读数据发的地址是:0 x91;写数据发的地址是0 x90;控制字节:由芯片资料知,控制字节有8位,有两位固定是0,除了第0、1位需要自己设置,其他的我们都设为0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 CT107D 编程 手册 资料
限制150内