摘要: 1 (一)GPIO用作中断的操作流程 2 3 1.系统时钟配置 SysCtlClockSet 4 2.GPIO设备时钟打开 SysCtlPeripheralEnable 5 3.Pin脚功能设置 GPIOPinTypeInput 6 4.Pin脚中断触发模式设置 GPIOIntTypeSet 7 5.Pin脚中断允许 GPIOPinIntEnable 8 6.内设中断允许 IntEnable 9 7.MCU总中断允许 IntMasterEnable10 11 中断服务程序12 1.读取中... 阅读全文
posted @ 2012-03-13 22:57 fishplj2000 阅读(873) 评论(0) 推荐(0) 编辑
摘要: 1 Verilog的技术点 2 3 1. 0-n循环计数器 4 //////////////////////////0-n循环计数器 5 reg [19:0]cnt; 6 always@(posedge clk or negedge rst_n) 7 if(!rst_n) 8 cnt<=20'd0; 9 else if(cnt<20'dn) 10 cnt<=cnt+1'b1; 11 else 12 cnt<=20'd0; 13 或者 14 reg [19:0]cnt; 15 always@(posed... 阅读全文
posted @ 2012-03-13 22:53 fishplj2000 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 1 按键硬件延时消除抖动 2 3 //1. 每320ms,采样更新一下按键值, 4 always @ (posedge clk or negedge rst_n) 5 if(!rst_n) 6 key_value <= 3'b111; 7 else if(delay == 预期间隔) 8 key_value <= {key3,key2,key1}; 9 10 //2. 判断key_value的上升沿和下降沿11 12 //3. 这样:小于320ms的按键抖动,系统不响应 阅读全文
posted @ 2012-03-13 22:37 fishplj2000 阅读(801) 评论(0) 推荐(0) 编辑
摘要: BANK1IO2 IO3 IO4 IO5 IO6 IO7 IO8 IO/GCLK012 IO/GCLK114 IO15 IO16 IO17 IO18 IO19 IO20 IO21 IO26 IO27 IO28 IO29 IO30 IO33 IO34 IO35 IO36 IO37 IO38 IO39 IO40 IO41 IO42 IO/DEV_OE43 IO/DEV_CLRn44 IO47 IO48 IO49 IO50 IO51 BANK2IO52 IO53 IO54 IO55 IO56 IO57 IO58 IO61 IO/GCLK262 IO/GCLK464 IO66 IO67 IO68 .. 阅读全文
posted @ 2012-03-13 15:14 fishplj2000 阅读(371) 评论(0) 推荐(0) 编辑
摘要: [转帖]非直接RAM地址映射转换思路 1 http://bbs.ednchina.com/BLOG_ARTICLE_2137592.HTM 2 非直接RAM地址映射转换思路 [嵌入式] 发布时间:2011-09-19 12:59:56 3 呢称:ilove314 4 非直接RAM地址映射转换思路 5 6 通常情况下,如果是320*240(X*Y)分辨率的图像,使用128K(17bitRAM做地址映射,分别取X寻址对应128K的低9bit(可使用地址为0-511)、Y寻址对应128K的高8bit(可使用地址为0-255)。 7 8 但如果是480*... 阅读全文
posted @ 2012-03-13 13:13 fishplj2000 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 1 //--------------- 注意 -------------------------------------- 2 //--- 水平扫描计数器、同步信号、DE 都是同步于dclk的上升沿----- 3 //--- 垂直扫描计数器、同步信号、DE_V都是同步于 hs 的下降沿----- 4 //------------------------------------------------------------- 5 6 `timescale 1ns/1ps 7 module LCD_Driver( 8 //-... 阅读全文
posted @ 2012-03-11 22:38 fishplj2000 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 经过以下步骤,1.Anlysis & Synthesis2.Fitter(Place & Route)3.Assembler(Generate programming files)后,如果要更新ROM里面的MCU Hex,则可以:(1)Processing ---》Update Memory Initialization File(2)Assembler(Generate programming files)重新产生*.sof和*.pof 阅读全文
posted @ 2012-03-09 10:03 fishplj2000 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 通过宏定义选择并行端口是封装成双向端口还是单向端口 1 // 若并行端口封装成双向端口: 2 // 1. 要输出高电平,必须在双向端口外部加上拉电阻(高电平由上拉电源)产生 3 // 2. 要作输入端口,必须先向内核输出端口写1 4 // 5 6 //`define port_is_bidir 1 7 8 module mc8051 ( 9 sys_clk , // 系统时钟18Mhz 10 sys_rst_n , // 系统复位,Low_L有效 11 sys_int... 阅读全文
posted @ 2012-03-09 09:13 fishplj2000 阅读(736) 评论(0) 推荐(0) 编辑
摘要: 下载的源码,包含了tb文件夹,里面为MC8051 core的顶层封装、ROM、RAM、XRAM、测试文件。使用Modelsim进行仿真时,有下面几点要注意: 1 一、自带仿真文件使用说明 2 1.时钟设定 3 tb_mc8051_top_.vhd (Line 74) generic (one_period : Time := 100 ns); 4 //说明:时钟为10MHz 5 6 2.Rom初始化 7 mc8051_rom_sim.vhd (Line 68) signal s_init : boolean := true; 8 ... 阅读全文
posted @ 2012-03-07 19:23 fishplj2000 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 1 Modelsim仿真MC8051(V1.5)软核时ROM的初始化 2 3 一、仿真文件自动初始化 4 1. hex2dual程序将mcu的intel hex文件转为*.dua文件; 5 2. 文件mc8051_rom_.vhd 中 N75: generic (c_init_file : string := "mc8051_rom.dua");指定了ROM的初始化文件 6 3. 文件mc8051_rom_sim.vhd中 N68: signal s_init : boolean := false 说明由vhd自动初始化ROM. 7 下面的代码具体实现了ROM的初始化: 8 阅读全文
posted @ 2012-03-07 09:59 fishplj2000 阅读(967) 评论(0) 推荐(0) 编辑