资源简介
合泰bs83b08c用C实现,HT-IDE3000.触模按键功能,5个按键,6个灯,有触模,对应灯闪,
代码片段和文件信息
#include “BS83B08C.h“
#include “common.h“
DEFINE_ISR(isr_Toucth 0x08); //触模中断
DEFINE_ISR(isr_tb 0x14); //time base 中断入口
volatile u8 f_Timebase;
void clrram(void)
{
_bp=0;
_mp1=0x60;
for(_tblp=0x60;_tblp<0xff;_tblp++)
{
_iar1=0;
_mp1++;
}
_bp=1;
_mp1=0x80;
for(_tblp=0x80;_tblp<0xff;_tblp++)
{
_iar1=0;
_mp1++;
}
_bp=0;
}
void Clk_Init(void)
{
_smod = 1;//HLCLK; // fsys = 8MHZ
_wdtc = WDT_EN|FSUB_DIV2_14; //512ms
_pscr=0x00|0x01;//时钟源控制时基中断周期,分别通过 PSCR 寄存器中的 CLKSEL[1:0] 位进行选择。
_tbc = 0x00|0x08|0x05; //tbck=fsys/4 2^13 = 4000us
_tbe = 1;//时基中断使能
}
void GPIO_Init(void)
{
_pac = 0x00|PIN0|PIN2; //输出
_papu = 0x00|PIN1|PIN4|PIN3|PIN7|PIN0|PIN2; //pull-up
_pawu = 0x00; //wake up
_pa = 0x00;//|PIN1|PIN4|PIN3|PIN7;//
_pb = 0x00|PIN0|PIN1|PIN2|PIN3|PIN4;//0xE0;
_pbc = 0x00|PIN0|PIN1|PIN2|PIN3|PIN4;
_pbpu = 0x00|PIN5|PIN6|PIN7;
}
void Toucht_init(void)
{
_tkm0rol=0xF8;//触控按键模块 n 参考振荡器电容选择低字节
_tkm0roh=0x03;//D9~D8:触控按键模块 n 参考振荡器电容选择高字节
_tkm1rol=0xF8;//触控按键模块 n 参考振荡器电容选择低字节
_tkm1roh=0x03;//D9~D8:触控按键模块 n 参考振荡器电容选择高字节
_m0k1en=1;
_m0k2en=1;
_m0k3en=1;
_m0k4en=1;
_m1k1en=1;
_tktmr=0;//触控按键时隙 8-bit 计数器预载寄存器// = (256-TKTMR[7:0])×32tTSC
_tkc0=0x07;//1M
_tkc1=0x00;//1M
_tkm0c0=0x10;//滤波功能控制位
_tkm1c0=0x10;//滤波功能控制位
_tkme=1;//中断
_tkst=0;//上升沿,触发计数
_tkst=1;//
_m0tss=0;
_m0koen=1;
_m0roen=1;
_m0dfen=0;
_m0filen=1;
_m0mxs0=0;
_m0mxs1=0;
_m1tss=0;
_m1koen=1;
_m1roen=1;
_m1dfen=0;
_m1filen=1;
_m1mxs0=0;
_m1mxs1=0;
}
volatile u16 SysCount=0;
volatile u8 Sys4msflag=0;
volatile u8 Sys20msflag=0;
volatile u8 Sys100msflag=0;
volatile u8 Sys500msflag=0;
void Systick(void)
{
Sys4msflag=0;
Sys20msflag=0;
Sys100msflag=0;
Sys500msflag=0;
if(f_Timebase)//
{
f_Timebase = 0;
SysCount++;
Sys4msflag=1;
if(SysCount%5==0)Sys20msflag=1;
if(SysCount%25==0)Sys100msflag=1;
if(SysCount%122==0)Sys500msflag=1;
if(SysCount==25000)SysCount=0;
}
}
/***************************************************************
** 名 称: eeprom_read
** 描 述: eeprom读数据
** 输 入: addr
** 输 出: 无
** 返 回: _eed
** 备 注: 无
****************************************************************/
u8 eeprom_read(u8 addr)
{
_eea = addr;//地址
_mp1 = 0x40;
_bp = 1;
_iar1 |= BIT1;
_iar1 |= BIT0;
while(_iar1&BIT0);
_iar1 = 0;
_bp = 0;
return _eed;
}
/***************************************************************
** 名 称: eeprom_write
** 描 述: eeprom写数据
** 输 入: addrdata//0x00-0x3f
** 输 出: 无
** 返 回: 无
** 备 注: 无
****************************************************************/
void eeprom_write(u8 addru8 data)
{
_eea = addr;
_eed = data;
_mp1 = 0x40;
_bp = 1;
_emi = 0;
_iar1 |= BIT3;
_iar1 |= BIT2;
_emi = 1;
while(_iar1&BIT2);
_iar1 = 0;
_bp = 0;
}
void main(void)
{
Clk_Init();
GPIO_Init();
clrram();
Toucht_init();
_emi = 1;
while(1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2156 2017-05-23 11:47 MyBS83B08C\BS83B08C_CTOUCH_V500\BS83B08C_CTOUCH_V500.AEX
文件 4064 2017-05-10 17:33 MyBS83B08C\BS83B08C_CTOUCH_V500\BS83B08C_CTOUCH_V500.CEX
文件 194 2014-03-28 16:41 MyBS83B08C\BS83B08C_CTOUCH_V500\BS83B08C_CTOUCH_V500.INC
文件 3807 2018-03-09 17:22 MyBS83B08C\common.h
文件 4721 2018-03-13 10:34 MyBS83B08C\MyBS83B08C.c
文件 231 2018-03-08 17:16 MyBS83B08C\MyBS83B08C.opt
文件 798 2018-03-13 10:34 MyBS83B08C\MyBS83B08C.pjt
文件 4623 2018-03-13 10:34 MyBS83B08C\MyBS83B08C.pjtx
文件 2397 2018-03-13 10:34 MyBS83B08C\MyBS83B08C.pjw
文件 33366 2018-03-13 10:18 MyBS83B08C\output\MyBS83B08C.ASM
文件 4096 2018-03-13 10:18 MyBS83B08C\output\MyBS83B08C.bin
文件 4520 2018-03-13 10:18 MyBS83B08C\output\MyBS83B08C.CV
文件 6564 2018-03-13 10:18 MyBS83B08C\output\MyBS83B08C.DBG
文件 26646 2018-03-13 10:18 MyBS83B08C\output\MyBS83B08C.list
文件 50741 2018-03-13 10:18 MyBS83B08C\output\MyBS83B08C.LST
文件 8238 2018-03-13 10:18 MyBS83B08C\output\MyBS83B08C.MAP
文件 66 2018-03-08 17:17 MyBS83B08C\output\MyBS83B08C.MEM
文件 4337 2018-03-13 10:18 MyBS83B08C\output\MyBS83B08C.MTP
文件 10495 2018-03-13 10:18 MyBS83B08C\output\MyBS83B08C.OBJ
文件 4144 2018-03-13 10:18 MyBS83B08C\output\MyBS83B08C.TSK
文件 5577 2018-03-13 10:18 MyBS83B08C\output\startup1_l.LST
文件 1306 2018-03-13 10:18 MyBS83B08C\output\startup1_l.OBJ
文件 2296 2017-03-06 11:17 MyBS83B08C\startup1_l.asm
目录 0 2018-03-11 15:24 MyBS83B08C\BS83B08C_CTOUCH_V500
目录 0 2018-03-13 10:18 MyBS83B08C\output
目录 0 2018-03-13 10:34 MyBS83B08C
----------- --------- ---------- ----- ----
185383 26
- 上一篇:基于边缘的图像分割方法
- 下一篇:串口调试助手.rar
评论
共有 条评论