单片机教程网

电脑版
提示:原网页已由神马搜索转码, 内容由www.51hei.com提供.
查看:316|回复:1
打印上一主题下一主题

STC8H1K08T单片机触摸按键调试,效果还行 触摸时串口打印触摸通道和键值,LED点亮

[复制链接]
跳转到指定楼层
楼主
ID:796012发表于 2024-4-9 16:05|只看该作者回帖奖励
#include "stc8h.h" /*STC8H1K08T调用8H系列单片机文件*///参考了:STC8H实验箱9.6例程包--10-串口1中断模式与电脑收发测试.c
#include " cmaj.c"
#include " auxr.c"
/**********延时函数**********/
void delayms(unsigned int j){unsigned int i;for(;j>0;j--){for(i=0;i<150;i++);}}
/**********主函数**********/
void main()
{
       unsigned char i,k;
       P1M1=0xef;P1M0=0x00;P3M1=0xf7;P3M0=0x00;P5M1=0x00;P5M0=0x10;/*需要用到的触摸引脚设置为高阻输入*/
       P54=1;/*LED2*/P14=0;/*LED1*/
       UART1_config(1);/*选择波特率, 2: 使用Timer2做波特率, 其它值: 使用Timer1做波特率.*/
   cmcsh();/*触摸初始化*/delayms(10);/*给时间扫描触摸按键*/
       for(i=0; i<16; i++){zfcgsh(i,tk_ldjz[ i]);/*字符串格式化*/}/*上电串口打印0点键值*/
       while (1)
   {      
   cjdd();/*采集等待*/
   if(tk_over==1)
   {
           for(i=0;i<16;i++)
           {
                 if(i!=13&/*串口干扰*/i!=0&i!=14&i!=15&tk_cnt[ i]<tk_ldjz[ i]-(tk_ldjz[ i]*0.05)){P54=0;k=i;}          
           }      
           }
   if(tk_cnt[k]>tk_ldjz[k]-(tk_ldjz[k]*0.05)){P54=1;k=0;}          
           if(P54==0){zfcgsh(k,tk_ldjz[k]),zfcgsh(k,tk_cnt[k]);/*字符串格式化*/}/*触摸时串口持续打印触摸键值*/
       }
}//


原理图: 无
仿真: 无
代码: STC8H1K08T串口打印.zip(99.39 KB, 下载次数: 13)

评分

黑币 +50
收起理由
+ 50
共享资料的黑币奖励!

查看全部评分

沙发
ID:107998发表于 2024-5-3 16:07|只看该作者
谢谢,非常需要学习这个触摸按键。

手机版|小黑屋|51黑电子论坛|51黑电子论坛6群QQ管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网