首页 > 其他 > 详细

TTP229BSF电容式触摸键盘-测试16键程序-C51:串口通信PC显示值

时间:2020-01-15 20:29:42      阅读:185      评论:0      收藏:0      [点我收藏+]

 一、配置

技术分享图片

(1) TTP229BSF设置

TP0=0,TP2 = 0,TP7 = 0,其余默认为

2线串行输入——CMOS低电平有效输出

有效按键最大输入时间设定为80s

(2) STC89C52设置

11.0592MHz时钟

P10口接键盘SCL(双线串行数据传输输入时钟)

P11口接键盘SDO(双线串行数据传输输出)

sbit scl=P1^0;
sbit sdo=P1^1;

二、时序图

技术分享图片

 技术分享图片

 三、程序源码

技术分享图片
 1 #include<reg51.h>
 2 #include<intrins.h>
 3 sbit scl=P1^0;
 4 sbit sdo=P1^1;
 5 
 6 void delay10us(unsigned int n)
 7 {
 8     while(n--);
 9 }
10 
11 void delay(unsigned z)
12 {
13     unsigned int x,y;
14     for(x = z; x > 0; x--)
15         for(y = 114; y > 0 ; y--);
16 }
17 
18 unsigned char ttp229_write(void)
19 {
20     unsigned char i;
21     unsigned char temp=0;
22     sdo=0;
23     delay10us(10);//115.02us
24     sdo=1;
25     delay10us(2);    //36us
26     for(i=0;i<16;i++)
27     {
28         scl=0;
29         if(!sdo) temp += i;
30         scl=1;            //132KHz
31     }
32 return temp;
33 }
34 
35 
36 void UART_init()
37 {
38     TMOD = 0x20;//T1工作模式2  8位自动重装
39     TH1 = 0xfd;
40     TL1 = 0xfd; //比特率9600
41     TR1 = 1;        //启动T1定时器
42     SM0 = 0;
43     SM1 = 1;         //串口工作方式1 10位异步
44     REN = 1;        //串口允许接收
45     EA  = 1;        //开总中断
46     ES  = 1;        //串口中断打开
47 }
48 
49 void main()
50 {
51     UART_init();
52     while(1)
53     {
54         delay(500);//500ms
55         SBUF = ttp229_write();
56   }
57 }
测试程序

TTP229BSF电容式触摸键盘-测试16键程序-C51:串口通信PC显示值

原文:https://www.cnblogs.com/cnlntr/p/12198250.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!