历史上的今天
返回首页

历史上的今天

今天是:2024年12月18日(星期三)

正在发生

2020年12月18日 | TQ210裸机编程——按键点灯 (二)

2020-12-18 来源:eefocus

今天,我们选用中断法进行TQ210裸机的按键点灯编程。


#define GPC0CON *((volatile unsigned int *)0xE0200060)

#define GPC0DAT *((volatile unsigned int *)0xE0200064)

 

#define GPH0CON *((volatile unsigned int *)0xE0200C00)

#define GPH0DAT *((volatile unsigned int *)0xE0200C04)

 

#define EXT_INT_0_CON *((volatile unsigned int *)0xE0200E00)

#define EXT_INT_0_MASK *((volatile unsigned int *)0xE0200F00)

 

#define VIC0INTSELECT *((volatile unsigned int *)0xF200000C)

#define VIC0INTENABLE *((volatile unsigned int *)0xF2000010)

 

#define VIC0VECTADDR0 *((volatile unsigned int *)0xF2000100)

#define VIC0VECTADDR1 *((volatile unsigned int *)0xF2000104)

 

#define VIC0ADDRESS  *((volatile unsigned int *)0xF2000F00)

 

#define EXT_INT_0_PEND *((volatile unsigned int *)0xE0200F40)

 

extern void key_isr(void);

 

void key_handle()

{

volatile unsigned char key_code = EXT_INT_0_PEND & 0x3;

VIC0ADDRESS = 0; /* 清中断向量寄存器 */

EXT_INT_0_PEND |= 3; /* 清中断挂起寄存器 */

if (key_code == 1) /* key1 */

GPC0DAT ^= 1 << 3; /* toggle LED1 */

else if (key_code == 2) /* key2 */

GPC0DAT ^= 1 << 4; /* toggle LED2 */

}

 

int main()

{

GPC0CON &= ~(0xFF << 12);

GPC0CON |= 0x11 << 12; /* 配置GPC0_3和GPC0_4为输出:LED1和LED2 */

GPH0CON |= 0xFF << 0; /* 配置GPH0_0和GPH0_1为外部中断:key1和key2 */

EXT_INT_0_CON &= ~(0xFF << 0);

EXT_INT_0_CON |= 2 | (2 << 4); /* 配置EXT_INT[0]和EXT_INT[1]为下降沿触发 */

EXT_INT_0_MASK &= ~3; /* 取消屏蔽外部中断EXT_INT[0]和EXT_INT[1] */

VIC0INTSELECT &= ~3; /* 选择外部中断EXT_INT[0]和外部中断EXT_INT[1]为IRQ类型的中断 */

VIC0INTENABLE |= 3; /* 使能外部中断EXT_INT[0]和EXT_INT[1] */

VIC0VECTADDR0 = (int)key_isr; /* 当EXT_INT[0]触发中断,即用户按下key1时,

CPU就会自动的将VIC0VECTADDR0的值赋给VIC0ADDRESS并跳转到这个地址去执 */

VIC0VECTADDR1 = (int)key_isr;

while (1);

return 0;

}

推荐阅读

史海拾趣

CONEC公司的发展小趣事

在电子行业中,技术的突破和创新是企业持续发展的关键。CONEC深知这一点,因此不断投入研发资源,力求在技术上取得突破。通过多年的努力,公司在某些关键技术领域取得了重要进展,如高速数据传输、低损耗材料应用等。这些技术突破不仅提升了公司的产品性能和质量,也使其在行业中保持了领先地位。

DAVE Embedded Systems公司的发展小趣事

DAVE Embedded Systems深知品质对于企业发展的重要性。他们建立了严格的质量管理体系,确保从原材料采购到产品制造的每一个环节都符合高标准的质量要求。同时,公司还提供了优质的售后服务,为客户提供了全方位的技术支持和解决方案。这些举措不仅赢得了客户的信任和支持,还为公司树立了良好的口碑。

Genesis Microchip公司的发展小趣事

随着战后的经济复苏和科技的快速发展,GI开始积极寻求业务多元化和国际化的发展道路。公司不仅继续深耕电子技术领域,还逐渐涉足通信、计算机等多个领域,推出了包括通信设备、计算机硬件在内的多款新产品。同时,GI也积极开拓海外市场,通过设立分支机构、与当地企业合作等方式,成功将产品销往全球多个国家和地区。这一阶段的成功,使GI成为了名副其实的跨国电子巨头。

Circuit Technology Inc公司的发展小趣事

随着国内市场的饱和,CTI开始将目光投向海外市场。公司制定了国际化发展战略,积极开拓国际市场。通过设立海外分支机构、参加国际展会等方式,CTI的产品逐渐打入国际市场,并获得了良好的口碑。同时,公司还与国外企业开展技术合作和产品研发,进一步提升了公司的国际化水平。

Amerace Electronic Components公司的发展小趣事

Amerace Electronic Components公司自成立以来,一直致力于电子元件的技术创新。在早期的发展阶段,公司投入大量资源进行研发,成功推出了一系列具有创新性的电子元件产品,如高精度电阻器和电容器。这些产品在市场上获得了广泛的认可,为公司赢得了良好的声誉。随着技术的不断进步,Amerace持续引领行业创新,为电子行业带来了更多高性能、高可靠性的元件产品。

Densitron公司的发展小趣事

在电子行业的激烈竞争中,Densitron公司始终坚持技术创新作为发展的核心动力。早期,公司投入大量研发资源,成功开发出一种新型的铟锡氧化物(ITO)材料,这种材料在触摸屏领域具有出色的性能,使得公司的产品在市场上脱颖而出。随着技术的不断升级,Densitron公司又相继推出了一系列创新产品,不仅满足了客户日益增长的需求,也推动了整个行业的进步。

问答坊 | AI 解惑

PCB短路解决方法

PCB短路解决方法介绍…

查看全部问答>

MP3维修思路

一.不开机不找盘原因 1.更换66EP(1.5V稳压管).例:918 2.程序丢失,重升级.如:918 802 3.晶振不良,脱焊,假焊,晶振坏 4.开关坏,不良 5.电源断裂,二极管坏 6.USB坏,不良,USB内部短路 7.电池坏,开关坏 8.升压IC坏 9.FLASH虚焊,假焊 10.显示屏 ...…

查看全部问答>

转载:看过来,超炫未来设计!!!

我小时候看过一部电影叫《回到未来》,里面可以乘坐超酷的时光飞车在现代和未来之间穿梭,当时觉得要是有这样的机器那真是酷毙了。而且,电影中未来世界里的汽车都是满天飞的,真是太符合我对未来的想象了。这几天,我在关注快速电梯“60年后的电梯 ...…

查看全部问答>

创意USB手环

创意USB手环是由柔软有弹性的矽胶材质所制成,并可创意搭配多种色彩。手环的长度所及,都可以选用一到三色的印刷服务,特别合适需要长度的个性化资讯铭记,如网址与口号标语等。此项的USB手环产酷炫的造型,非常受到年轻族群的爱好。对于常常需要秀 ...…

查看全部问答>

MAX232真奇怪

前段时间用串口给STC芯片下载程序,但是怎么搞程序都烧不进去,而且在我点击download时MAX3232发出吱吱的响声,芯片瞬间发烫。后来上网查资料,有网友谈到这个国产MAX3232(CSE)的问题,后来我就换成MAX232的,现在烧程序时芯片不会发出声音,但是 ...…

查看全部问答>

CE下关于16C2550的驱动

RT,现准备学习16C2550的驱动,网上资料太少,故在此,求点资料。 先谢谢。…

查看全部问答>

在线等答案,急~~~~~~~

有5个数码管,现在只是3个亮了,我想让5个都亮,怎么做 用移位来做,还是用时间来控制????? 急~~~~~高手帮帮我…

查看全部问答>

FPGA中怎样实现10倍频

在virtex-5中DCM的最低输入频率在32M,但是,要想实现10M到100M的倍频,应该怎样去做?…

查看全部问答>

Xilinx DDS Compiler IP核使用问题,用过的高手来看一下

我要在FPGA中做数字正交,故此要用到DDS IP核,5.0版本的,但是研究了两天始终无法产生比较满意的正玄波,用ChipScope采到的波形要不是就是像下图这种,要不就是一些比较混乱的,反正不是比较正常的正玄波。 设置如下,外面给的aclk是50Mhz的, ...…

查看全部问答>