CPLD管脚不够所以用了串行的LCD12864 时序改不对

宝猪哥 2017-09-01 01:22:01
求串行的verilog LCD12864驱动
...全文
317 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianxj001 2017-09-01
  • 打赏
  • 举报
回复
/*****LCD功能初始化指令*****/
#define CLEAR_SCREEN    0x01   //清屏指令:清屏且AC值为00H
#define AC_INIT         0x02   //将AC设置为00H。且游标移到原点位置
#define CURSE_ADD       0x06   //设定游标移到方向及图像整体移动方向(默认游标右移,图像整体不动)
#define FUN_MODE        0x30   //工作模式:8位基本指令集
#define DISPLAY_ON      0x0c   //显示开,显示游标,且游标位置反白
#define DISPLAY_OFF     0x08   //显示关
#define CURSE_DIR       0x14   //游标向右移动:AC=AC+1
#define SET_CG_AC       0x40   //设置AC,范围为:00H~3FH
#define SET_DD_AC       0x80
#define EXPEND_MODE     0x34   //工作模式:8位扩充指令集
#define SET_reverse     0x04   //反白显示第一行(扩充指令集)

/*****汉字位置表*****/
const  unsigned char addr_tab[]={
	0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,//第一行汉字位置
	0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,//第二行汉字位置
	0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,//第三行汉字位置
	0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,//第四行汉字位置
};
//====LOGO-BMP数据,保存在FLASH===------
const  unsigned char  bmp1[];

/*****(n*1ms)延时子程序*****/
void Delayms(unsigned int time)   //16MHz内部时钟精确测试
	{   
		unsigned int i;   
		while(time--)
			{
				i=1768;
				for(;i--;)NOP();
			}
	}

//串行发送一字节数据基础驱动
void SPI_INIT(void)
	{
		SPI_CR1=0x24;
		//SPI_CR1=0x2C;
		SPI_CR2=0x83;
		SPI_Cmd(ENABLE);
		
	}


void SendByte(unsigned char dat)  //采用STM8 的硬件SPI端口
	{
		SPI_BiDirectionalLineConfig(SPI_DIRECTION_TX);
		SPI_SendData(dat);
		while(SPI_SR_BSY);
	}

/*****写指令*****/
void LCD_WriteCmd(unsigned char Cbyte)
	{
		CS = 1;
		//CheckBusy();
		SendByte(0xf8);               //11111,RW(0),RS(0),0
		SendByte(0xf0&Cbyte);         //高四位
		SendByte(0xf0&Cbyte<<4);      //低四位(先执行<<)
		//CS = 0;
	}

/*****写数据*****/
void LCD_WriteData(unsigned char Dbyte)
	{
		CS = 1;
		//CheckBusy();
		SendByte(0xfa);              //11111,RW(0),RS(1),0
		SendByte(0xf0&Dbyte);        //高四位
		SendByte(0xf0&Dbyte<<4);   //低四位(先执行<<)
		//CS = 0;
	}

/*****初始化LCD*****/
void LCD_Init(void)
	{ 
		Delayms(50);  //LCD忙读取好像采不到,其实采用延时更简单
		LCD_WriteCmd(0x30);        //选择基本指令集
		Delayms(1);
		LCD_WriteCmd(0x30);          //选择8bit数据流
		Delayms(1);
		LCD_WriteCmd(0x0c);          //开显示(无游标、不反白)
		Delayms(1);
		LCD_WriteCmd(0x01);          //清除显示,并且设定地址指针为00H
		Delayms(20);
	}

/*****显示汉字*****/
void TXT_Disp(unsigned char x,unsigned char y,unsigned char  *TXT)
	{ 
		LCD_WriteCmd(addr_tab[8*x+y]);  //写地址
		while(*TXT>0)
			{ 
				LCD_WriteData(*TXT);    //写数据
				TXT++;   
			}
	}
修数字逻辑与数字电路课程时的一些实验报告 《数字逻辑与数字电路》实验指导 实验1.Verilog HDL输入方式组合电路的设计 多路选择器和三人表决电路的设计 (1) 实验目的:进一步熟悉Quartus II的Verilog HDL文本设计流程,组合电路的设计仿真和硬件测试。 (2) 实验内容1、多路选择器的设计: 根据教材5.1节的流程,利用Quartus II完成2选1多路选择器的文本编辑输入(MUX21.v)和仿真测试等步骤,给出仿真波形。 在实验系统上硬件测试,验证此设计的功能。对于引脚锁定以及硬件下载测试,a和b分别接来自不同的时钟;输出信号接蜂鸣器。最后进行编译、下载和硬件测试实验(通过选择键1,控制s,可使蜂鸣器输出不同音调)。 (4) 实验内容2、三人表决电路的设计: 根据教材5.1节的流程,利用Quartus II完成三人表决电路的文本编辑输入(图5-36)和仿真测试等步骤,给出仿真波形。 在实验系统上硬件测试,验证此设计的功能。对于引脚锁定以及硬件下载测试,ABC[2..0]分别接自键3、键2、键1;CLK接自时钟CLOCK0(256Hz),输出信号X接D1,输出信号Y接蜂鸣器。最后进行编译、下载和硬件测试实验(通过按下键3、键2、键1,控制D1的亮灭)。 (5) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。参考ppt实验指导课件。 实验2.原理图输入方式全加器设计 (1) 实验目的:熟悉利用Quartus II的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握文本和原理图输入方式设计的详细流程。 (2) 实验原理:一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。 (3) 实验内容1:按照教材4.6节完成半加器和1位全加器的设计,包括用文本或原理图输入,编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个元件符号入库。 (4) 实验内容2:建立一个更高层次的原理图或文本设计,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件测试。 (5) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。参考ppt实验指导课件。 实验3.7段数码显示译码器设计 (1) 实验目的:进一步熟悉Quartus II的Verilog HDL文本设计流程,组合电路的设计仿真和硬件测试。熟悉利用Quartus II的原理图输入方法设计简单组合电路,掌握层次化设计的方法,把握文本和原理图输入方式设计的详细流程。 (2) 实验原理:7段数码显示译码器设计采用case语句对数码管的七个段分别进行赋值0或1,实现数字的显示;使用if-else语句设计模16计数器。 (3) 实验内容1:使用VerilogHDL语言设计一个7段数码显示译码器并进行仿真及下载。 (4) 实验内容2:使用VerilogHDL语言设计一个模16计数器,含计数使能端(en)与异步清零端(clr),当en为高电平时开始计数,为低电平时停止计数,将计数器与7段数码显示译码器使用原理图进行连接,并仿真及下载。 (5) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。参考ppt实验指导课件。 原理工程图: 实验4.基于LPM宏模块的计数器设计 (1) 实验目的:初步掌握Quartus II基于LPM宏模块的设计流程与方法并由此引出基于LPM模块的许多其他实用数字系统的自动设计技术。 (2) 实验内容: 根据教材175页8.5节的流程,利用Quartus II完成基于LPM宏模块的计数器设计编辑和仿真测试等步骤,给出仿真波形。 在实验系统上硬件测试,验证此设计的功能并进行解说。对于引脚锁定以及硬件下载测试。 (3) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。 实验5.序列检测器状态机设计 (1) 实验目的:用状态机实现序列检测器的设计,了解一般状态机的设计与应用。 (2) 实验原理:序列检测器可用于检测一组或多组由二进制吗组成的脉冲序列信号,当序列检测器连接收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。 (3) 实验内容1:按照教材180页8.7节的流程,利用Quartus II完成序列检测器状态机的设计编辑和仿真测试等步骤,给出仿真波形,了解控制信号的时序,最后进行引脚锁定并完成硬件测试实验。 建议选择电路模式8,用键8(PIO8)控制复位信号CLR;键6(PIO9)控制状态机工作时钟CLK;将8位待检测预置数由键4/键3作为外部输入,待检测串行序列数输入DS接PIO10(左移,最高位在前);指示输出DC接PIO43~PIO40(显示于数码管7), 现态码输出C接PIO47~PIO44(显示于数码管8)。下载后:①按实验板“系统复位”键;②用键2和键1输入2位十六进制待测序列数“11100101”;③按键8复位(平时数码7指示显“0”);④按键6(CLK) 8次,这时若串行输入的8位二进制序列码(显示于数码2/1和发光管D8~D0)与预置码“11100101”相同,则数码7应从原来的0变成1,表示序列检测正确,否则仍为0。 (5) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。参考ppt实验指导课件。 实验6.数字频率计 (1) 实验目的:设计6位10进制频率计,学习较复杂的数字系统设计方法。 (2) 实验原理:数字频率计由三大部分组成。3个CNT10模块分别是双十进制计数器模块,负责对被测频率信号进行计数;3个74374被用做输出数据的锁存器,锁存输出的数据,即所测频率值通过外接的数码管显示;TF_CTRL模块是此频率计的测频时序控制模块,由它发出ENB, LOCK, CLR三个控制信号,分别控制计数器的计数使能,锁存器的锁存控制,以及计数器的清零。 根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的输入信号脉冲计数允许的信号;1秒计数结束后,计数值被锁入锁存器,计数器清0,为下一测频计数周期作好准备。测频控制信号可以由一个独立的发生器来产生,即TF_CTRL。 设计要求是:TF_CTRL的计数使能信号ENB能产生一个1秒脉宽的周期信号,并对频率计中的6位十进制计数器CNT10的ENA使能端进行同步控制。当ENB高电平时允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号LOCK的上跳沿将计数器在前1秒钟的计数值锁存进锁存器74374b中,并由外部的7段译码器译出,显示计数值。设置锁存器的好处是数据显示稳定,不会由于周期性的清0信号而不断闪烁。锁存信号后,必须有一清0信号CLR对计数器进行清零,为下1秒的计数操作作准备。 (3) 实验内容:按照教材181页8.8节的流程,利用Quartus II完成数字频率计的设计编辑和仿真测试等步骤,给出仿真波形。建议选实验电路模式5;6个数码管以10进制形式显示测频输出;待测频率输入F_IN由clock5输入,频率可选32768Hz等;8HZ测频控制信号CLK1HZ可由clock2输入(用跳线选8Hz)。注意,这时6个数码管的测频显示值是10进制的。 (4) 实验内容2:将频率计改为8位10进制频率计,注意此设计电路的计数器必须是8个4位的10进制计数器。此外注意在测频速度上给予优化。 (5) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。参考ppt实验指导课件。 GW48CP+主系统使用说明 第一节 GW48教学实验系统原理与使用介绍 一、GW48系统使用注意事项 (用户必读!!!) a:闲置不用GW48系统时,必须关闭电源!!! b:在实验中,当选中某种模式后,要按一下右侧的复位键,以使系统进入该结构模式工作。注意此复位键仅对实验系统的监控模块复位,而对目标器件FPGA没有影响,FPGA本身没有复位的概念,上电后即工作,在没有配置前,FPGA的I/O口是随机的,故可以从数码管上看到随机闪动,配置后的I/O口才会有确定的输出电平。 c:换目标芯片时要特别注意,不要插反或插错,也不要带电插拔,确信插对后才能开电源。其它接口都可带电插拔。请特别注意,尽可能不要随意插拔适配板,及实验系统上的其他芯片。 二、GW48系统主板结构与使用方法 以下将详述GW48系列实验系统结构与使用方法,对于这2种型号的不同之处将给予单独指出。该系统的实验电路结构是可控的。即可通过控制接口键,使之改变连接方式以适应不同的实验需要。因而,从物理结构上看,实验板的电路结构是固定的,但其内部的信息流在主控器的控制下,电路结构将发生变化---重配置。这种“多任务重配置”设计方案的目的有3个:1、适应更多的实验与开发项目;2、适应更多的PLD公司的器件;3、适应更多的不同封装的FPGA和CPLD器件。系统板面主要部件及其使用方法说明如下。以下是对GW48系统主板功能块的注释。 (1) “模式选择键”:按动该键能使实验板产生12种不同的实验电路结构。这些结构如第二节的13 张实验电路结构图所示。例如选择了“NO.3”图,须按动系统板上此键,直至数码管“模式指示”数码管显示“3”,于是系统即进入了NO.3 图所示的实验电路结构。 (2) 适配板:这是一块插于主系统板上的目标芯片适配座。对于不同的目标芯片可配不同的适配座。可用的目标芯片包括目前世界上最大的六家FPGA/CPLD厂商几乎所有CPLD、FPGA和所有ispPAC等模拟EDA器件。第七节的表中已列出多种芯片对系统板引脚的对应关系,以利在实验时经常查用。 (3) ByteBlasterMV编程配置口:如果要进行独立电子系统开发、应用系统开发、电子设计竞赛等开发实践活动,首先应该将系统板上的目标芯片适配座拔下(对于Cyclone器件不用拔),用配置的10芯编程线将“ByteBlasterMV”口和独立系统上适配板上的10芯口相接,进行在系统编程(如GWDVP-B板),进行调试测试。“ByteBlasterMV”口能对不同公司,不同封装的CPLD/FPGA进行编程下载,也能对isp单片机89S51等进行编程。编程的目标芯片和引脚连线可参考附图1,从而进行二次开发。 (4)ByteBlasterII编程配置口:该口主要用于对Cyclone系列AS模式专用配置器件EPCS4和EPCS1等编程。 附图1 GW48系统电子设计二次开发信号图 (5) 混合工作电压源:系统不必通过切换即可为CPLD/FPGA目标器件提供5V、3.3V、2.5V、1.8V和1.5V工作电源,此电源位置可参考附图1。 (6)并行下载口:此接口通过下载线与微机的打印机口相连。来自PC机的下载控制信号和CPLD/FPGA的目标码将通过此口,完成对目标芯片的编程下载。计算机的并行口通信模式最好设置成“EPP”模式。 (7)键1~键8 :为实验信号控制键,此8个键受“多任务重配置”电路控制,它在每一张电路图中的功能及其与主系统的连接方式随模式选择键的选定的模式而变,使用中需参照第二节中的电路图。 (8)数码管1~8/发光管D1~D16 :受“多任务重配置”电路控制,它们的连线形式也需参照第二节的电路图。 (9)“时钟频率选择
单片机接口技术实用子程序电子书及其配套源代码. 本书从工程应用的角度出发,介绍了单片机应用系统中各功能模块的扩展方法,包括存储器模块、键盘输入模块、显示和打印机输出模块、数据采集模块和单片机后向通道。对每一功能模块给出了典型的设计方案,并提供了原理图和完整的程序代码。本书所涉及到的数据接口包括RS-232、RS-422、RS-485、I2C、SPI、MICROWIRE、1-WIRE以及CAN总线接口。 本书实例丰富、层次清晰、语言通俗,有较强的实用性,既可作为广大单片机开发人员和系统设计人员的查询手册,也可作为大中专院校工业自动化、电气技术专业及其他相关专业的参考资料。 目录 第1章 单片机I/O接口的扩展 111 1.1 单片机应用系统 2 1.1.1 单片机系统概述 2 1.1.2 单片机系统中的功能模块 3 1.2 单片机I/O接口 4 1.2.1 I/O接口功能 5 1.2.2 接口的控制方式 5 1.2.3 I/O接口芯片 6 1.3 用单片机串口扩展I/O接口 6 1.3.1 子程序1——用串口扩展并行输入口 6 1.3.2 子程序2——用串口扩展并行输出口 11 1.4 用并行数据端口扩展I/O接口 14 1.4.1 子程序3——用8243扩展I/O接口 14 1.4.2 子程序4——用8255A扩展I/O接口 18 1.4.3 子程序5——用8155扩展I/O接口 27 第2章 总线接口的扩展 41 2.1 子程序6——异步通信的软件模拟 42 2.1.1 异步通信简要介绍 42 2.1.2 软件模拟异步通信 43 2.2 子程序7——基于RS-232-C的串口通信 51 2.2.1 RS-232-C接口标准 52 2.2.2 RS-232-C传输接口电路的设计 53 2.2.3 单片机与PC机通信程序设计 55 2.2.4 PC机通信软件的开发 58 2.3 子程序8——基于RS-485的多机通信 65 2.3.1 RS-485接口标准 66 2.3.2 通信系统及接口电路设计 67 2.3.3 多机通信程序设计 68 2.4 子程序9——I2C总线协议的软件实现 75 2.4.1 I2C总线简要介绍 76 2.4.2 I/O端口模拟I2C总线接口的软件设计 78 2.5 子程序10——SPI总线在单片机系统中的实现 83 2.5.1 SPI总线简要介绍 83 2.5.2 SPI总线时序的软件实现 85 2.6 子程序11——1-Wire总线协议的软件实现 88 2.6.1 1-Wire总线简要介绍 88 2.6.2 1-Wire总线时序的软件实现 91 第3章 CAN总线接口 95 3.1 CAN总线接口简要介绍 96 3.3.1 CAN总线的特征 96 3.1.2 CAN总线接口的结构 97 3.1.3 CAN总线的设计方案选择 97 3.2 SJA1000总线控制器简要介绍 97 3.2.1 SJAl000结构和主要特点 98 3.2.2 SJA1000的内部结构 98 3.2.3 SJA1000的引脚说明 100 3.3 接口电路设计 100 3.3.1 SJA1000与单片机接口电路设计 100 3.3.2 前端物理接口电路的设计 101 3.3.3 设计电路需要注意的问题 102 3.4 控制程序总体设计 103 3.4.1 BasicCAN方式下的寄存器 103 3.4.2 设计流程 104 3.5 子程序12——硬件驱动程序的设计 105 3.6 子程序13——基本操作程序设计 106 3.7 子程序14——初始化操作 118 3.8 子程序15——通信程序设计 120 3.8.1 写发送缓冲器 120 3.8.2 读接收缓冲区 121 3.9 CAN总线的数据格式 122 3.9.1 数据帧 122 3.9.2 远程帧 125 3.9.3 出错帧 125 3.9.4 过载帧 126 第4章 存储器的扩展 127 4.1 存储器综述 128 4.1.1 半导体存储器 128 4.1.2 半导体存储器的应用 130 4.1.3 各种存储器性能比较 132 4.1.4 智能卡 133 4.2 子程序16——典型外部程序存储器的使用 134 4.2.1 器件选择和接口电路的设计 135 4.2.2 外部存储器的访问 136 4.3 子程序17——典型外部数据存储器的使用 136 4.3.1 器件选择和接口电路的设计 137 4.3.2 外部数据存储器的读写 138 4.4 子程序18——用铁电存储器扩展外部数据存储器 140 4.4.1 铁电存储器FM1808接口电路的设计 140 4.4.2 FM1808读写程序设计 141 4.5 子程序19——I2C接口EEPROM的控制 142 4.5
电子线路设计与制作 专用集成电路及其应用 1 电子线路设计与制作全文共44页,当前为第1页。 课程内容 PLD器件应用 无线收发电路 V/F转换器 A/D、D/A应用 键盘 数字电位器 2 电子线路设计与制作全文共44页,当前为第2页。 A/D、D/A应用 高速A/D、D/A的应用 3 电子线路设计与制作全文共44页,当前为第3页。 A/D、D/A的应用 A/D、D/A的主要性能指标 A/D: 分辨率(位数):V/2N 转换速率/时间(采样率):如,40M、25μS 输入电压范围:0~5V、-5V~+5V 输入路数:单路输入、多路输入 数字输出特性:二进制、十进制、BCD码 数字输出方式:并行、串行 供电电源(基准源) 输入电阻(输入阻抗) 工作环境(温度、湿度) 4 电子线路设计与制作全文共44页,当前为第4页。 A/D、D/A的应用 A/D、D/A的主要性能指标 D/A: 分辨率(位数):V/2N 建立速率(稳定时间):如,40M、1μS 数字输入方式:并行、串行 输出电压范围:0~5V、-5V~+5V 输出电压类型:电压输出、电流输出 供电电源(基准源) 工作环境(温度、湿度) 5 电子线路设计与制作全文共44页,当前为第5页。 A/D、D/A的应用 常见的A/D、D/A转换器 A/D: MC14433、ICL7135(双积分型) ADC0809、AD574(逐次逼近型) TLC5540(半闪速转换器flash converters) D/A: DAC0832(低速) MAX5188/MAX5191(高速) 6 电子线路设计与制作全文共44页,当前为第6页。 A/D、D/A的应用 高速A/D、D/A的应用范围 高速数据采集:数字示波器 电荷耦合器件(CCD):数码照相机、扫描仪 机顶盒:数字电视 通信:调制/解调(正交移相键控QPSK) 7 电子线路设计与制作全文共44页,当前为第7页。 A/D、D/A的应用 高速A/D的使用 "高速"并不意味着"复杂" 操作时序简捷 控制命令简单 电路结构简化 调试过程更为容易 8 电子线路设计与制作全文共44页,当前为第8页。 A/D、D/A的应用 高速A/D:TLC5540 8位分辨率 最高转换速率40M/S 内部采样和保持功能 内部基准电压产生 5V单电源工作 低功耗(80mW) 9 电子线路设计与制作全文共44页,当前为第9页。 A/D、D/A的应用典型应用 OE:使能端 CLK:时钟输入 D0~D7:数据输出 ANALOG IN:模拟信号输入 10 电子线路设计与制作全文共44页,当前为第10页。 A/D、D/A的应用 TLC5540转换时序图 TW 11 电子线路设计与制作全文共44页,当前为第11页。 A/D、D/A的应用 TLC5540的输出使能 OE:(Output Enable)输出使能 12 电子线路设计与制作全文共44页,当前为第12页。 A/D、D/A的应用 TLC5540与MCU的接口 能否与51单片机直接连接? 转换时间:1 / 40M = 0.025μS 12M晶振、一个机器周期为 1μS 加接缓冲存储器 可与其它高速单片机或DSP相连 解决办法: 13 电子线路设计与制作全文共44页,当前为第13页。 A/D、D/A的应用 TLC5540与MCS51的接口 14 电子线路设计与制作全文共44页,当前为第14页。 A/D、D/A的应用 控制电路的实现 由数字电路实现 通过CPLD实现 通过FPGA实现 FPGA可以实现控制电路 也可以在内部实现高速RAM 采用双口RAM可使控制电路简化 A/D End 15 电子线路设计与制作全文共44页,当前为第15页。 A/D、D/A的应用 高速D/A:MAX5188/5191 8位分辨率 最高转换速率40M/S 内部基准电压产生 低噪声+1.2V基准 双路交替输出 电流差动输出 16 电子线路设计与制作全文共44页,当前为第16页。 A/D、D/A的应用 时钟输入 差动放大器 数据输入 5191内置电阻 电路中只有一路数字输入 有二路模拟输出 而且没有选择引脚 17 电子线路设计与制作全文共44页,当前为第17页。 A/D、D/A的应用 MAX5188/5191 18 电子线路设计与制作全文共44页,当前为第18页。 键盘的应用 PS/2键盘在单片机中的应用 19 电子线路设计与制作全文共44页,当前为第19页。 PS/2键盘的应用 单片机常用键盘 I/O模式键盘 扫描键盘 8155(I/O扩展芯片)扫描键盘 利用串口实现键盘 专用键盘(显示)集成电路 电脑用PS/2键盘和数字小键盘 20 电子线路设计与制作全文共44页,当前为第20页。 PS/2键盘的应用 I/O模式键盘 用于键数较少的系统 占用较多I/O 21
第1 章 单片机 I/O 接口的扩展 ................................................................. 1 1.1 单片机应用系统 ........................................................................... 2 1.1.1 单片机系统概述 ................................................................ 2 1.1.2 单片机系统中的功能模块 ................................................ 3 1.2 单片机I/O 接口 ............................................................................ 4 1.2.1 I/O 接口功能 ...................................................................... 5 1.2.2 接口的控制方式 ................................................................ 5 1.2.3 I/O 接口芯片 ...................................................................... 6 1.3 用单片机串口扩展I/O 接口 ........................................................ 6 1.3.1 子程序1——用串口扩展并行输入口 ............................. 6 1.3.2 子程序2——用串口扩展并行输出口 ........................... 11 1.4 用并行数据端口扩展I/O 接口 .................................................. 14 1.4.1 子程序3——用8243 扩展I/O 接口 .............................. 14 1.4.2 子程序4——用8255A 扩展I/O 接口 ........................... 18 1.4.3 子程序5——用8155 扩展I/O 接口 .............................. 27 第2 章 总线接口的扩展 .......................................................................... 41 2.1 子程序6——异步通信的软件模拟 .......................................... 42 2.1.1 异步通信简要介绍 .......................................................... 42 2.1.2 软件模拟异步通信 .......................................................... 43 2.2 子程序7——基于RS-232-C的串口通信 ................................ 51 2.2.1 RS-232-C接口标准 ......................................................... 52 2.2.2 RS-232-C传输接口电路的设计 ..................................... 53 2.2.3 单片机与PC机通信程序设计 ....................................... 55 2.2.4 PC机通信软件的开发 .................................................... 58 2.3 子程序8——基于RS-485的多机通信 .................................... 65 2 单片机接口技术实用子程序 2.3.1 RS-485接口标准 .................................................................................................. 66 2.3.2 通信系统及接口电路设计 ................................................................................... 67 2.3.3 多机通信程序设计 ............................................................................................... 68 2.4 子程序9——I 2 C 总线协议的软件实现 ......................................................................... 75 2.4.1 I 2 C 总线简要介绍 ................................................................................................. 76 2.4.2 I/O 端口模拟I 2 C 总线接口的软件设计 .............................................................. 78 2.5 子程序10——SPI 总线在单片机系统中的实现 ........................................................... 83 2.5.1 SPI 总线简要介绍 ................................................................................................ 83 2.5.2 SPI 总线时序的软件实现 .................................................................................... 85 2.6 子程序11——1-Wire 总线协议的软件实现 ................................................................. 88 2.6.1 1-Wire 总线简要介绍 ........................................................................................... 88 2.6.2 1-Wire 总线时序的软件实现 ............................................................................... 91 第3 章 CAN总线接口 .................................................................................................................. 95 3.1 CAN 总线接口简要介绍 ................................................................................................. 96 3.1.1 CAN总线的特征 .................................................................................................. 96 3.1.2 CAN总线接口的结构 .......................................................................................... 97 3.1.3 CAN总线的设计方案选择 .................................................................................. 97 3.2 SJA1000 总线控制器简要介绍 ....................................................................................... 97 3.2.1 SJAl000 结构和主要特点 .................................................................................... 98 3.2.2 SJA1000 的内部结构 ............................................................................................ 98 3.2.3 SJA1000 的引脚说明 .......................................................................................... 100 3.3 接口电路设计 ................................................................................................................ 100 3.3.1 SJA1000 与单片机接口电路设计 ...................................................................... 100 3.3.2 前端物理接口电路的设计 ................................................................................. 101 3.3.3 设计电路需要注意的问题 ................................................................................. 102 3.4 控制程序总体设计 ........................................................................................................ 103 3.4.1 BasicCAN 方式下的寄存器 ............................................................................... 103 3.4.2 设计流程 ............................................................................................................. 104 3.5 子程序12——硬件驱动程序的设计 ........................................................................... 105 3.6 子程序13——基本操作程序设计 ............................................................................... 106 3.7 子程序14——初始化操作 ........................................................................................... 118 3.8 子程序15——通信程序设计 ....................................................................................... 120 3.8.1 写发送缓冲器 ..................................................................................................... 120 3.8.2 读接收缓冲区 ..................................................................................................... 121 3.9 CAN 总线的数据格式 ................................................................................................... 122 3.9.1 数据帧 ................................................................................................................. 122 3.9.2 远程帧 ................................................................................................................. 125 3.9.3 出错帧 ................................................................................................................. 125 目录 3 3.9.4 过载帧 ................................................................................................................. 126 第4 章 存储器的扩展 ................................................................................................................. 127 4.1 存储器综述 .................................................................................................................... 128 4.1.1 半导体存储器 ..................................................................................................... 128 4.1.2 半导体存储器的应用 ......................................................................................... 130 4.1.3 各种存储器性能比较 ......................................................................................... 132 4.1.4 智能卡 ................................................................................................................. 133 4.2 子程序16——典型外部程序存储器的使用 ............................................................... 134 4.2.1 器件选择和接口电路的设计 ............................................................................. 135 4.2.2 外部存储器的访问 ............................................................................................. 136 4.3 子程序17——典型外部数据存储器的使用 ............................................................... 136 4.3.1 器件选择和接口电路的设计 ............................................................................. 137 4.3.2 外部数据存储器的读写 ..................................................................................... 138 4.4 子程序18——用铁电存储器扩展外部数据存储器 ................................................... 140 4.4.1 铁电存储器FM1808 接口电路的设计 .............................................................. 140 4.4.2 FM1808 读写程序设计 ...................................................................................... 141 4.5 子程序19——I 2 C 接口EEPROM的控制 ................................................................... 142 4.5.1 AT24C512 简要介绍 ........................................................................................... 143 4.5.2 AT24C512 工作时序 ........................................................................................... 144 4.5.3 读写程序 ............................................................................................................. 146 4.6 子程序20——SPI 接口EEPROM的控制 .................................................................. 155 4.6.1 AT93CXX 简要介绍 ........................................................................................... 155 4.6.2 AT93CXX 的控制时序 ....................................................................................... 157 4.6.3 读写程序 ............................................................................................................. 160 4.7 子程序21——FLASH存储器K9F6408U0A 的控制 ................................................. 165 4.7.1 K9F6408U0A 简要介绍 ..................................................................................... 165 4.7.2 专用的命令功能和状态寄存器 ......................................................................... 167 4.7.3 K9F6408U0A 的程序设计 ................................................................................. 168 4.8 子程序22——SLE4442 逻辑加密IC 卡的控制 ......................................................... 174 4.8.1 SLE4442 简要介绍 ............................................................................................. 175 4.8.2 SLE4442 内部结构 ............................................................................................. 176 4.8.3 程序设计 ............................................................................................................. 177 第5 章 键盘接口与控制 ............................................................................................................. 185 5.1 键盘设计指南 ................................................................................................................ 186 5.1.1 键盘的物理结构 ................................................................................................. 186 5.1.2 键盘的组成形式 ................................................................................................. 187 5.1.3 单片机输入接口解决方案 ................................................................................. 191 4 单片机接口技术实用子程序 5.2 独立式键盘的控制 ........................................................................................................ 193 5.2.1 子程序23——独立式中断键盘的设计 ............................................................ 193 5.2.2 子程序24——独立式查询键盘的设计 ............................................................ 196 5.2.3 子程序25——独立式中断查询键盘的设计 .................................................... 202 5.3 矩阵式键盘的控制 ........................................................................................................ 206 5.3.1 子程序26——矩阵式扫描按键的设计 ............................................................ 206 5.3.2 子程序27——矩阵式中断扫描键盘的设计 .................................................... 213 5.3.3 子程序28——矩阵式线反转法键盘的设计 .................................................... 215 5.4 子程序29——矩阵式键盘的锁定 ............................................................................... 217 5.4.1 键盘密码原理及单片机密码设置方法 ............................................................. 217 5.4.2 程序设计 ............................................................................................................. 218 5.5 子程序30——改进型I/O 端口复用键盘的控制 ........................................................ 221 5.5.1 I/O 端口复用的原理和接口电路的设计 ........................................................... 221 5.5.2 程序设计 ............................................................................................................. 222 5.6 子程序31——利用ZLG7279A 实现键盘显示 ........................................................... 224 5.6.1 ZLG7289A 简要介绍 .......................................................................................... 225 5.6.2 接口电路设计 ..................................................................................................... 229 5.6.3 程序设计 ............................................................................................................. 230 5.7 子程序32——PS/2 键盘的设计 ................................................................................... 233 5.7.1 PS/2 接口标准 ..................................................................................................... 234 5.7.2 硬件设计 ............................................................................................................. 238 5.7.3 软件设计 ............................................................................................................. 239 第6 章 显示和打印机的接口与控制 ......................................................................................... 245 6.1 显示和打印接口设计指南 ............................................................................................ 246 6.1.1 LED 显示接口 .................................................................................................... 246 6.1.2 LCD显示接口 .................................................................................................... 247 6.1.3 CRT 显示器 ......................................................................................................... 253 6.1.4 打印机 ................................................................................................................. 255 6.2 子程序33——LED 显示器在单片机系统中的应用 ................................................... 257 6.2.1 PS7219简要介绍 ................................................................................................ 258 6.2.2 PS7219与单片机接口电路的设计 .................................................................... 260 6.2.3 控制程序设计 ..................................................................................................... 260 6.3 子程序34——利用HT16XX 实现段式液晶显示 ...................................................... 264 6.3.1 HT1621 简要介绍 ............................................................................................... 264 6.3.2 接口电路设计 ..................................................................................................... 267 6.3.3 控制程序设计 ..................................................................................................... 268 6.4 子程序35——利用HD44780 实现字符显示 .............................................................. 271 6.4.1 HD44780 简单介绍 ............................................................................................ 271 目录 5 6.4.2 HD44780 接口电路的设计 ................................................................................ 273 6.4.3 控制程序 ............................................................................................................. 274 6.5 子程序36——利用SED1520 实现点阵显示 .............................................................. 278 6.5.1 SED1520 简要介绍 ............................................................................................. 279 6.5.2 液晶模块的内部结构及其与单片机接口电路 ................................................. 283 6.5.3 控制程序编写 ..................................................................................................... 285 6.6 子程序37——利用HD66421 实现灰度字符显示 ...................................................... 297 6.6.1 HD66421 简要介绍 ............................................................................................ 297 6.6.2 接口电路 ............................................................................................................. 300 6.6.3 控制程序编写 ..................................................................................................... 300 6.7 子程序38——CRT 显示器在单片机系统中的应用 ................................................... 303 6.7.1 OCA-93 显示适配器简要介绍 ........................................................................... 304 6.7.2 适配器的接口设计 ............................................................................................. 306 6.7.3 驱动程序设计 ..................................................................................................... 307 6.8 子程序39——微型打印机在单片机系统中的应用 ................................................... 308 6.8.1 CENTRONICS 标准 ........................................................................................... 308 6.8.2 SP-M 系列微型打印机介绍 ............................................................................... 309 6.8.3 接口电路设计 ..................................................................................................... 311 6.8.4 程序设计 ............................................................................................................. 312 第7 章 数据采集与控制 ............................................................................................................. 317 7.1 数据采集技术概述 ........................................................................................................ 318 7.1.1 模拟信号采集技术 ............................................................................................. 318 7.1.2 A/D 转换技术 ..................................................................................................... 321 7.1.3 A/D 转换器件选型指南 ..................................................................................... 323 7.1.4 数字逻辑信号的采集 ......................................................................................... 324 7.2 子程序40——模拟量输入选择接口 ........................................................................... 324 7.2.1 模拟开关的主要技术指标 ................................................................................. 325 7.2.2 模拟开关的选型 ................................................................................................. 326 7.2.3 模拟开关接口电路的设计 ................................................................................. 327 7.2.4 用CD4051实现多路模拟信号的输入 .............................................................. 329 7.3 子程序41——用模拟比较器实现A/D 转换 .............................................................. 332 7.3.1 测量原理 ............................................................................................................. 333 7.3.2 电路设计 ............................................................................................................. 334 7.3.3 测量过程 ............................................................................................................. 334 7.3.4 控制程序设计 ..................................................................................................... 335 7.4 子程序42——8 位并行接口ADC080X的接口与驱动 ............................................. 338 7.4.1 ADC0808/ADC0809 简要介绍 .......................................................................... 339 7.4.2 ADC0808/0809 与单片机的接口设计 .............................................................. 340 6 单片机接口技术实用子程序 7.4.3 编写程序 ............................................................................................................. 342 7.5 子程序43——SPI 接口A/D 转换器TLC2543 的应用 .............................................. 345 7.5.1 TLC2543 简要介绍 ............................................................................................. 346 7.5.2 LC2543 与单片机的接口电路 ........................................................................... 347 7.5.3 控制程序 ............................................................................................................. 347 7.6 子程序44——I 2 C 接口A/D 转换器ADS11XX的应用 ............................................. 350 7.6.1 ADS11XX 简要介绍 ........................................................................................... 351 7.6.2 ADS1100 与单片机的接口电路 ........................................................................ 353 7.6.3 ADS1100 的控制方法 ........................................................................................ 353 7.6.4 ADS1100 控制程序 ............................................................................................ 355 7.7 子程序45——16位A/D 转换器AD7715的应用 ...................................................... 360 7.7.1 AD7715 简要介绍 .............................................................................................. 360 7.7.2 AD7715 与单片机的接口电路 ........................................................................... 361 7.7.3 AD7715 的寄存器 .............................................................................................. 362 7.7.4 AD7715 控制程序设计 ...................................................................................... 364 7.8 子程序46——等精度数字频率计的实现 ................................................................... 367 7.8.1 等精度频率测量原理 ......................................................................................... 367 7.8.2 设计CPLD 的逻辑功能 ..................................................................................... 368 7.8.3 频率信号预处理 ................................................................................................. 370 7.8.4 主控制器程序设计 ............................................................................................. 371 7.9 子程序47——1-wire 测温芯片DS18XX 的应用 ....................................................... 375 7.9.1 DS18XX 简要介绍 ............................................................................................. 375 7.9.2 DS18B20 简要介绍 ............................................................................................ 376 7.9.3 DS18B20 的接口电路 ........................................................................................ 378 7.9.4 控制程序的设计 ................................................................................................. 379 7.10 子程序48——时钟日历芯片PCF8563 的应用 ........................................................ 382 7.10.1 PCF8563 简要介绍 ........................................................................................... 383 7.10.2 PCF8563 硬件电路 ........................................................................................... 384 7.10.3 PCF8583 的控制程序设计 ............................................................................... 385 第8 章 单片机后向通道接口与控制 ......................................................................................... 393 8.1 单片机后向通道概述 .................................................................................................... 394 8.1.1 模拟量的输出技术概述 ..................................................................................... 394 8.1.2 频率合成技术概述 ............................................................................................. 396 8.1.3 机电控制技术概述 ............................................................................................. 398 8.2 子程序49——并行接口电压输出型D/A 转换器的控制 ........................................... 399 8.2.1 MAX530 简要介绍 ............................................................................................. 399 8.2.2 MAX530 接口电路的设计 ................................................................................. 401 8.2.3 控制程序的设计 ................................................................................................. 403 目录 7 8.3 子程序50——并行接口电流输出型D/A 转换器的控制 ........................................... 405 8.3.1 DAC083X 简要介绍 ........................................................................................... 406 8.3.2 DAC083X 系列D/A 转换器与单片机的接口电路 .......................................... 407 8.3.3 控制程序的设计 ................................................................................................. 409 8.4 子程序51——串行接口电压输出型D/A 转换器的控制 ........................................... 412 8.4.1 MAX532 简要介绍 ............................................................................................. 412 8.4.2 MAX532 与单片机接口电路的设计 ................................................................. 413 8.4.3 控制程序 ............................................................................................................. 414 8.5 子程序52——I 2 C 接口的A/D 及D/A 转换器的应用 ............................................... 417 8.5.1 PCF859l 简要介绍 .............................................................................................. 418 8.5.2 PCF8591 与单片机接口电路的设计 ................................................................. 420 8.5.3 控制程序的设计 ................................................................................................. 420 8.6 子程序53——基于AD9850的数字信号发生器 ........................................................ 426 8.6.1 AD9850 简要介绍 .............................................................................................. 426 8.6.2 AD9850 接口电路的设计 .................................................................................. 430 8.6.3 控制程序设计 ..................................................................................................... 433 8.7 子程序54——直流电机的开环控制 ........................................................................... 437 8.7.1 直流电机驱动电路的基本原理 ......................................................................... 437 8.7.2 直流电动机驱动芯片LMD18200 简要介绍 ..................................................... 438 8.7.3 接口电路的设计 ................................................................................................. 441 8.7.4 直流电机的驱动 ................................................................................................. 442 8.8 子程序55——直流电机的闭环控制 ........................................................................... 444 8.8.1 闭环控制系统工作原理 ..................................................................................... 444 8.8.2 光电编码器简要介绍 ......................................................................................... 445 8.8.3 接口电路的设计 ................................................................................................. 446 8.8.4 控制程序设计 ..................................................................................................... 446

2,425

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 其他硬件开发
社区管理员
  • 其他硬件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧