msp430单片机指令能和5v的12864...

后使用快捷导航没有帐号?
查看: 3261|回复: 0
MSP430g2系列单片机
在线时间0 小时
TA的帖子TA的资源
一粒金砂, 积分 0, 距离下一级还需 5 积分
MSP430G2系列单片机一体化实验系统
& & 在电子信息技术飞速发展的今天,单片机技术已成为高等教育中一门必不可少的课程。现阶段国内大部分高校大都采用MCS-51单片机作为课程与实践教学内容,而结构简单、功能单一的MCS-51单片机是上个世纪的产品,已经不能很好地适应现代技术发展和产品研发的要求,学生在走上工作岗位后也不能适应社会对单片机应用技术的需要。为了跟上单片机应用技术的发展潮流,针对测量控制与仪器仪表领域人才培养和课程与实践教学体系建设的需要,西安电子科技大学—美国TI公司MSP430单片机联合实验室选择了美国德州仪器半导体技术公司(TI公司)最新推出的MSP430G2系列超低功耗单片机为对象,与美国德州仪器半导体技术(上海)公司合作,共同研制开发了供单片机课程教学和实践教学使用的教学实验系统。之所以选择MSP430系列超低功耗单片机为新型实验设备开发对象,是因为MSP430系列超低功耗单片机正在逐步成为目前国内外测量控制与仪器仪表领域产品设计与开发的主流芯片,代表着今后一段时间单片机应用技术发展的主要方向,也正在成为国内高校相关专业课程与实践教学体系建设和发展的重要内容。
& & MSP430G2系列单片机一体化教学系统采用美国TI公司最新推出的MSP430G2超低功耗系列 LaunchPad作为核心板,引入模块化设计理念,采用系统底板加实验功能模块的结构形式,基本配置十种实验功能模块,可完成三十个基础和应用实验,达到完成教学实验和科技实践的目标。同时,用户也可以根据实验系统预留的接口和提供的MSP430G2553单片机核心板,设计自己开发的功能模块和实用性功能设备。此外,今后还将不断推出新型号的LaunchPad核心板和实验功能模块,以适应用户更多更新的需求,良好的可升级特性使得该实验系统更具生命力。
二 核心板介绍
& & MSP430系列超低功耗单片机是美国德州仪器半导体技术公司(TI公司)自1996推出的低功耗单片机系列产品,每个系列都各有特点,可适用于各种不同的应用方向。其中,最新推出的G2系列单片机由于具有低成本、超低功耗和多种接口等性能特点,与8位单片机相比,在性能价格比上具有绝对的优势。MSP430G2系列单片机一体化教学系统的核心板选用带有MSP430G2553芯片的MSP-EXP430G2低成本实验板LaunchPad,这是一款适用于TI最新MSP430G2XXX系列产品的完整开发解决方案。该核心板提供基于USB的集成型仿真器,可提供全系列MSP430G2XX器件开发应用所必备的所有软硬件。Lunch Pad具有集成的DIP目标插座,可支持多达20个引脚,从而使MSP430Value Line器件能够轻松插入LaunchPad实验板电路。此外,其还可支持板上FLASH仿真工具,提供了从MSP430G2XX器件到主机PC或者相连目标板的9600波特UART串联连接,可直接连接至PC轻松进行编程、调试和评估。
MSP430G2553芯片的主要指标如下:
三种低功耗模式
闪存高达16KB
多种串行通信接口功能
2个16位定时/计数器
10位ADC、比较器外设选项
启用创新电容式触摸感应设计的 IO 在此类应用中可降低系统成本。
提供 20/28 引脚 TSSOP、32 引脚 QFN 和 20 引脚 PDIP 封装
MSP-EXP430G2采用 IAR Embedded Workbench集成开发环境或者Code Comeposer Studio下编写、下载、调试应用。调试器是非侵入式的,这使用户能够借助可用的硬件断点和单步操作全速运行应用,而不消耗其他硬件资源。
MSP-EXP430G2 LauchPad特性:
▲ USB调试与编程接口无驱动可安装使用,具备9600波特率的UART串行通信速度
▲ 支持所有采用DIP14和DIP20封装的MSP430G2XX和MSP430F20器件
▲ 分别连接到绿光和红光LED的两个通用数字I/O引脚可以提供视觉反馈
▲ 两个按钮可以实现用回反馈和芯片复位
▲ 器件引脚可以通过插座引出,即可方便用于调试,也可用添加定制的扩展板
▲ 高质量的20引脚DIP插座,可以轻松的插入或者拔出目标器件
三、 MSP430G2系列单片机一体化实验系统
& & MSP430G2系列单片机一体化实验系统由系统底板+功能模块区+扩展实验区组成,可通过提供的MSP-EXP430G2
LauchPad和不同功能的实验模块实现课程学习过程中的验证性实验要求,也可以利用提供的实验教程和设计实例进行模仿性实验和扩充性实验;在此基础上,学生也可以通过自由组合提供的各种功能模块,或者利用扩展实验区开发自己的专用模块,实现系统性、创新性实验。同样,学生也可以利用配置的MSP430G2553芯片核心板,借助于MSP-EXP430G2
LauchPad提供的的仿真器功能,开发出自己设计的各种科技作品。相信这款新型的、开放式的MSP430G2系列单片机一体化教学系统不但能够很好地适应课程教学的需要,也更能激发学生的创造力和想象力,又能更好的节约课程实验和科技实践的成本投入。
系统底板上提供的硬件资源有:
▲ 一块12864LCD,自带背光和字库,支持串行并行两种控制方式,背光可调
▲5V和3.3V电源模块,可通过开关选择,满足核心板和模块的供电需要
▲四组模块插座,模块上方可以垂直叠加模块,组合无限创意无限
▲除支持LaunchPad外还可以根据用户需求设计其他处理器的核心板
四、配套的实验功能模块
在MSP430G2系列单片机一体化实验系统中配有多种实验功能模块,目的是帮助学生掌握模拟电路和数字电路的设计方法,加强对模拟/数字器件的应用能力的训练,提高对数字通信接口和传感器件的应用能力,在利用实验功能模块进行实验的过程中,逐步掌握MSP430G2系列单片机系统设计和应用方法,具备一定的科技开发能力。
配套实验内容:
1.基础实验
(1)I/O基础实验
实验1:矩阵键盘按键扫描实验
实验2:控制数码管显示数字实验
实验3:按键扫描并控制数码管显示键值实验
实验4:点阵LCD显示器控制实验
实验5:触摸按键实验
实验6:RGBLED触控实验
(2)AD转换基础实验
实验7:输入电压检测实验
实验8:光照度检测实验
实验9:Pt100温度测量实验
实验10:声音强度检测实验
(3)D/A转换基础实验
实验11:D/A转换器件实现电压输出实验
实验12:PWM实现电压输出实验
(4)定时/计数器基础实验:
实验13:定时信号产生实验
实验14:信号频率测量实验
实验15:模拟滤波器实验
(5)通信接口基础实验
实验16:SPI接口基础实验
实验17:程控放大器实验
实验18:RS-232接口通信实验(UART接口)
实验19:RS-485接口通信实验(UART接口)
实验20:18B20温度测量(单总线)
2.应用实验
实验1:用三种温度传感器实现的温度巡检仪
实验2:键盘输入控制的程控放大器
实验3:声音强度检测仪
实验4:RS-232接口与PC机通信
实验5:RS-485接口多机通信
实验6:PS2接口键盘输入与LCD显示
实验7:基于MSP430G2553单片机核心板模块的应用开发(以MSP430G2553单片机核心板模
块为信息处理和控制器件,独立完成自己创意的开发项目,如智能小车、智能台灯、智能电扇、
温度控制器等)
部分实验功能模块简介:
(1)程控滤波器模块
MSP430G2553为主控芯片
实现可调低通滤波器和带通滤波器
搭建二阶有源滤波器,调节反馈电阻改变截止/中心频率
反馈电阻为数字电位器和手动电位器两种
滤波器输出由单片机测频并可通过液晶显示屏显示
(2)程控放大器模块
以MSP430G2553为主控芯片
两路放大器电路,手动增益可调、程序增益可调
模块含手动DAC电路,作为运放的输入
单片机ADC采集运放输出
可通过液晶显示屏显示工作状态和ADC采样结果
(3)晶体管特性测试模块
以MSP430G2553为主控芯片
可完成I/O口输入、ADC转换、FLASH存储、比较器比较等基础性实验
对被测晶体管特性进行测量
可通过液晶显示屏显示检测结果
(4)光照度检测模块
以MSP430G2553为主控芯片
使用光电池作为检测器件,实现对所在环境下的实时光强检测
可完成信号调理电路和ADC转换等基础性实验
可通过液晶显示屏显示检测结果
(5)三种温度测量模块
以MSP430G2553为主控芯片
带有18B20、 LM35和 Pt100三种温度传感器
采集多路温度数据进行简单数学统计
可以设置采样间隔
可通过液晶显示屏显示工作状态和统计结果
(6)矩阵键盘及数码管模块
MSP430G2553为主控芯片
CH452为扫描控制芯片,仅占用3位IO口
可控制最多八位数码管(实例中为四位)显示
可扫描最多8X8按键矩阵(实例中为4x4)
(7)RGB LED触控模块
以MSP430G2553为主控芯片
三颗高亮RGB LED
三个触摸按键可以设置RGB三色占空比
单片机控制LED开闭
(8)频率测量和D/A转换模块
以MSP430G2553为主控芯片
掌握MSP430G2系列单片机定时/计数器的使用方法
提供三路0—5V交直流电压输出通道
提供一路频率测量输入通道
(9)三种通信接口模块
以MSP430G2553为主控芯片
带有PS2、RS-232、RS-485三种通信接口
PS2带有通用键盘驱动
可通过液晶显示屏显示通信内容
(10)声音强度检测模块
以MSP430G2553为主控芯片
通过拾音器采集声音信号
可完成信号调理电路和ADC转换等基础性实验
可通过液晶显示屏显示检测结果
(11)RCL检测模块
以MSP430G2553为主控芯片
可实现对电阻(R)、电容(C)和电感(L)器件参数值的测量
可完成信号调理电路和ADC转换等基础性实验
可通过液晶显示屏显示检测结果
(12)超声波测距模块
以MSP430G2553为主控芯片
使用超声波传感器进行距离测量
可完成信号调理电路和定时/计数器转换等基础性实验
可通过液晶显示屏显示检测结果
(13)信号发生器模块
以MSP430G2553为主控芯片
可实现正弦波、三角波、方波和占空比可调的脉冲信号输出
可完成滤波电路和D/A转换等基础性实验
可通过按键和液晶显示屏选择信号输出类型
(14)MSP430G2553单片机核心板模块
在学生的创新性实践中,经常需要自己设计单片机系统控制器,为了简化设计和调试过程,我们提出了在学生自行设计的目标板上插上MSP430G2553单片机核心板作为系统控制处理器器件,利用MSP-EXP430G2 Lauch Pad自带的仿真器进行程序调试的实验方法,能有效提高学生科技实践作品的制作进度和技术水平,更加贴近产品研发的实际过程。
MSP430G2553单片机核心板模块实际上是在MSP-EXP430G2 LauchPad的基础上去掉了仿真器部分的简化版,器件布局和连线方式基本相同,并且可通过模块接插件直接插在系统底板的功能模块插座上,利用简单的连线与MSP-EXP430G2 Lauch Pad的仿真器对应引脚相连,就可以利用MSP-EXP430G2 Lauch Pad的仿真器对MSP430G2553单片机核心板进行仿真调试,调试完成后,将MSP430G2553单片机核心板插回目标板对应的引脚插座上即可运行。
五、MSP430G2系列单片机一体化实验板(简化版)
为了便于学生开展课外学习与实践,降低实验系统价格,节约设备建设经费,在MSP430G2系列单片机一体化实验板的基础上开发出了简化型的MSP430G2系列单片机实验板。该实验板与一体化实验板资源配置基本相同,只保留了一组功能模块插座,可供学生进行单组模块的实验。并且由于体积小,便于携带,可以方便的开展课外实验和各种科技实践活动。
西安易培德信息科技有限公司联系方式:
联系人:小雷
电话:029-
QQ/E-mail:/@qq.com
本帖子中包含更多资源
才可以下载或查看,没有帐号?
Powered by
逛了这许久,何不进去瞧瞧?小弟的第一个MSP430昨晚ADC之后采用并行接口方式显示在12864...
<em style="color:#999;font-size:12 margin-left:10" id="authorposton13-5-29 11:18:30&nbsp
如题,但是现在没有任何显示,我觉得好像程序也没什么问题啊;接口电路图如下所示:在这里说明确实能帮忙做好第一个实验的各位先进,小妹帮忙充五十块钱的话费来表达我的意思:因为本人毕竟是学生,条件有限啊;实在是不想让自己的第一个程序就废掉,另外要说明的是我们那无良老师,直接让我们拷贝粘贴他的串行接口电路鸟事。。。。说到做到,不充话费的是畜生。
相关代码如下#include&&&msp430x14x.h&
&&//用来存储ADC12MEM中的数据
unsigned int a,b,c=0; //用来存储将要显示在LCD上的各位数据
//初始化时钟
void initClock(void){
&&BCSCTL1=RSEL2+RSEL1+RSEL0+DIVA_1;//XT2开启 LFXT1工作在低频模式 ACLK 2分频( 注释:原来的人没做分频,我担心频率过高) 最高的标称频率
&&DCOCTL=DCO2+DCO1+DCO0;//DCO为最高频率
&&do{
& & IFG1&=~OFIFG;//清除振荡器失效标志
& & for(unsigned int i=255;i&0;i--);
&&}while(IFG1&OFIFG);//判断XT2是否起振
&&BCSCTL2=SELM1+SELS;//MCLK SMCLK时钟源为TX2CLK不分频
}
//延时函数
void delay(unsigned int m){
for(unsigned int i=0;i&m;i++)
_NOP();
}
//ADC12采样初始化,并打开中断子程序计算采样值的大小
void initADC12(){
P6SEL=0X01;//P6.0作为模拟输入
ADC12IE=0X01; //开放中断ADC12IFG.0
ADC12CTL0=ADC12ON+SHT0_4+REFON+REF2_5V;//打开ADC转换的核,采用内部参考电压2.5v;
ADC12CTL1=SHP;& &//信号源内部触发
ADC12CTL0 |=ENC;&&//开放使能
_EINT();//开放系统总中断
ADC12CTL0 |=ADC12SC; //开始转换,转换完成之后自动进入中断服务子程序
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR(){
data=ADC12MEM0*2.5/4095;&&//data为全局变量
}
//基本写入函数命令
void Lcd_InsWrite(unsigned int i,char Instruction)
{
&&P4DIR=0XFF; // P4口设置成输出模式
if(i==0)
P3OUT=0x1F; // RS=0,R/W=0 写指令
else P3OUT=0x9F; // RS=0,R/W=0 写数据
P3OUT|=BIT5; //E=1 使能
P4OUT=I //功能设定
delay(3); //延时
P3OUT&=~BIT5; //E=0:下降沿锁存数据
}
//LCD初始化函数
//函数声明:采用MSP430端口p3.5-3.7连接LCD的E,RW,和RS端口;P4口用来传送数据
void init_lcd(void)
{
P3DIR=0XE0; //P3.5-E,P3.6-R/W,P3.7-RS输出
Lcd_InsWrite(0,0x30); //基本指令
delay(400);
Lcd_InsWrite(0,0x01); //清除显示
delay(400);
Lcd_InsWrite(0,0x0e);
// 显示状态设定:整体显示,游标on,游标位置反白
delay(400);
}
//将ADC转换后的值写入LCD
void WriteData(){
data*=100;
int temp=(int)
a=temp/100;//考虑到由于内部参考电压的限制,且仅考虑两位小数的情况
b=(temp%100)/10;
c=(temp%10);
Lcd_InsWrite(1,a+0x30);
Lcd_InsWrite(1,'.');
Lcd_InsWrite(1,b+0x30);
Lcd_InsWrite(1,c+0x30);
delay(400);
}
//主函数部分
void main(){& & & &
WDTCTL=WDTPW+WDTHOLD;//关闭看门狗
initClock();//初始化时钟
initADC12();//ADC12采样初始化,并打开中断子程序计算采样值的大小
init_lcd(); //lcd初始化
WriteData(); //将采样值分别计算出对应位的输出
}
复制代码同时可能12864的有些引脚我也不知道有没有搞好,希望大神们帮忙小妹看看。谢了
本帖子中包含更多资源
才可以下载或查看,没有帐号?
路过打酱油……
{:12:}{:12:}
。。。。。。。。。不错哦
这个很简单啊QQ
路过,看看,看看
看着不错,哥帮改改试试。。。
& && && && && && && && && && && &
帮你顶一顶!!!
参考电压一直用3.3V
液晶需要加上拉电阻!
是妹子,也搞这个?先顶个吧
{:6:}{:6:}{:6:}{:6:}{:6:}{:6:}{:6:}{:6:}{:6:}{:6:}{:6:}{:6:}{:6:}
谢谢分享!!!!!!
我昨天正好写了一个也是如此功能的程序,邮箱多少发给你
里面的错误太多了,首先是程序风格,然后变量问题,再是CPU执行这个程序浪费的资源也多
哪位大神有4位并口显示的程序啊,求分享
站长推荐 /4
Powered by5v的12864 与MSP430G2单片机如何进行连接,需要哪些外围电路及注意事项?? 多谢指教_百度知道
5v的12864 与MSP430G2单片机如何进行连接,需要哪些外围电路及注意事项?? 多谢指教
最好能有电路图
然后串联小电阻即可,或者看看12864内部是否上拉.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="/zhidao/wh%3D450%2C600/sign=2dc20e7b9beafe4efbf736afc17ae8c4bc.hiphotos.3V驱动:///zhidao/pic/item/79f0f736afc17ae8c4bc。比如.jpg" esrc="http:不过你可以试试直接/zhidao/wh%3D600%2C800/sign=a20aa062b41a/79f0f736afc17ae8c4bc,然后要在连线上串接电阻.baidu://e可以通过在连接线上上拉电阻
其他类似问题
按默认排序
其他2条回答
直接用430的3,就单独供电5V就可以,稳定性很好.3V的12864呢?希望能解决您的问题。再一个,你为什么不用3.3V去驱动,完全可以正常操作12864,我设计的东西很多都是这样,如果驱动不起来,12864的供电可以用3.3VIO口不用添加器件
需要帮你做设计吗
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁查看: 1469|回复: 10
注册时间阅读权限100最后登录九币3284 积分6513精华11好友日志帖子分享UID759
& & DM430-L型最小系统板控制带字库型12864液晶模块显示测试程序,显示模式为汉字模式,直接将12864插入12864接口即可注意选择液晶的电源,位于电位器附近,可选5V或3.3V,根据液晶电压进行选择。调试环境:EW430 V5.30。
程序:
/********************************************************************/
#include &msp430x14x.h&
#define CPU_F ((double)8000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
/*12864应用指令*/
#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 P54 4
#define P53 3
#define P57 7
#define P56 6
#define P55 5
#define RS_CLR P5OUT &= ~(1 && P57) //RS置低
#define RS_SET P5OUT |= (1 && P57) //RS置高
#define RW_CLR P5OUT &= ~(1 && P56) //RW置低
#define RW_SET P5OUT |= (1 && P56) //RW置高
#define EN_CLR P5OUT &= ~(1 && P55) //E置低
#define EN_SET P5OUT |= (1 && P55) //E置高
#define PSB_CLR P5OUT &= ~(1 && P54) //PSB置低,串口方式
#define PSB_SET P5OUT |= (1 && P54) //PSB置高,并口方式
#define RST_CLR P5OUT &= ~(1 && P53) //RST置低
#define RST_SET P5OUT |= (1 && P53) //RST置高
#define DataPort P4OUT //P4口为数据口
//*************************************************************************
// 系统时钟初始化
//*************************************************************************
void Clock_Init()
{
BCSCTL1&=~XT2OFF; //打开XT振荡器
BCSCTL2|=SELM1+SELS; //MCLK为8MHZ,SMCLK为8MHZ
do{
IFG1&=~OFIFG; //清除震荡标志
for(i=0;i&100;i++)
_NOP(); //延时等待
}
while((IFG1&OFIFG)!=0); //如果标志为1,则继续循环等待
IFG1&=~OFIFG;
}
//*************************************************************************
// MSP430内部看门狗初始化
//*************************************************************************
void WDT_Init()
{
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗
}
//*************************************************************************
// 初始化IO口子程序
//*************************************************************************
void Port_init()
{
P4SEL = 0x00;
P4DIR = 0xFF;
P5SEL = 0x00;
P5DIR|= BIT3 + BIT4 + BIT5 + BIT6 + BIT7;
PSB_SET; //液晶并口方式
RST_SET; //复位脚RST置高
}
//***********************************************************************
// 显示屏命令写入函数
//***********************************************************************
void LCD_write_com(unsigned char com)
RS_CLR;
RW_CLR;
EN_SET;
DataPort =
delay_ms(5);
EN_CLR;
}
//***********************************************************************
// 显示屏数据写入函数
//***********************************************************************
void LCD_write_data(unsigned char data)
{
RS_SET;
RW_CLR;
EN_SET;
DataPort =
delay_ms(5);
EN_CLR;
}
//***********************************************************************
// 显示屏清空显示
//***********************************************************************
void LCD_clear(void)
{
LCD_write_com(0x01);
delay_ms(5);
}
//***********************************************************************
//函数名称:DisplayCgrom(uchar hz)显示CGROM里的汉字
//***********************************************************************
void DisplayCgrom(uchar addr,uchar *hz)
{
LCD_write_com(addr);
delay_ms(5);
while(*hz != '\0')
{
LCD_write_data(*hz);
hz++;
delay_ms(5);
}
//****************************************************************
//函数名称:Display()显示测试结果
//****************************************************************
void Display(void)
{
DisplayCgrom(0x80,&酒游科技欢迎你&);
DisplayCgrom(0x88,&旺:jingyehanxing&);
DisplayCgrom(0x90,& &);
DisplayCgrom(0x98,&电话&);
//***********************************************************************
// 显示屏初始化函数
//***********************************************************************
void LCD_init(void)
{
LCD_write_com(FUN_MODE); //显示模式设置
delay_ms(5);
LCD_write_com(FUN_MODE); //显示模式设置
delay_ms(5);
LCD_write_com(DISPLAY_ON); //显示开
delay_ms(5);
LCD_write_com(CLEAR_SCREEN); //清屏
delay_ms(5);
}
//***********************************************************************
// 主程序
//***********************************************************************
void main(void)
{
WDT_Init(); //看门狗设置
Clock_Init(); //系统时钟设置
Port_init(); //系统初始化,设置IO口属性
delay_ms(100); //延时100ms
LCD_init(); //液晶参数初始化设置
LCD_clear(); //清屏
while(1)
{
Display(); //显示汉字
}
}
(24.69 KB, 下载次数: 218)
17:11:55 上传
下载次数: 218
注册时间阅读权限20最后登录九币128 积分165精华0好友日志帖子分享UID2827
初级会员, 积分 165, 距离下一级还需 135 积分
呵呵呵&&好东西
注册时间阅读权限100最后登录九币3284 积分6513精华11好友日志帖子分享UID759
舞动的枫叶 发表于
呵呵呵&&好东西
恩恩& &你抢到沙发啦
注册时间阅读权限30最后登录九币307 积分519精华0好友日志帖子分享UID9183
中级会员, 积分 519, 距离下一级还需 281 积分
在液晶上打点怎么做?求指教。
注册时间阅读权限100最后登录九币3284 积分6513精华11好友日志帖子分享UID759
LQ_14777 发表于
在液晶上打点怎么做?求指教。
不是有个字符对照表吗?你打开12864的使用指南好好看看 我用过1602的那里的点就是2E
注册时间阅读权限30最后登录九币307 积分519精华0好友日志帖子分享UID9183
中级会员, 积分 519, 距离下一级还需 281 积分
honghu 发表于
不是有个字符对照表吗?你打开12864的使用指南好好看看 我用过1602的那里的点就是2E&&...
画点是画其他图形的基础。
注册时间阅读权限20最后登录九币143 积分214精华0好友日志帖子分享UID8659
初级会员, 积分 214, 距离下一级还需 86 积分
为什么我的12864不行?没反应
&不是坏了吧&
注册时间阅读权限100最后登录九币3284 积分6513精华11好友日志帖子分享UID759
qinkaiabc 发表于
为什么我的12864不行?没反应
不是坏了吧
我的程序麻烦帮我看一下
/*************************************
* P1.0~P1.7 数据口
* P2.0-->RS
* P2.1-->RW
* P2.2-->EN
*PSB-->vcc
*RST-->vcc
***********************************/
注册时间阅读权限20最后登录九币143 积分214精华0好友日志帖子分享UID8659
初级会员, 积分 214, 距离下一级还需 86 积分
honghu 发表于
不是坏了吧
我的程序麻烦帮我看一下
/*************************************
* P1.0~P1.7 数据口
* P2.0--&RS
* P2.1--&RW
* P2.2--&EN
*PSB--&vcc
*RST--&vcc
***********************************/
#include &msp430g2452.h&
#define RS_1 P2OUT|=BIT0
#define RS_0 P2OUT&=~BIT0
#define RW_1 P2OUT|=BIT1
#define RW_0 P2OUT&=~BIT1
#define EN_1 P2OUT|=BIT2
#define EN_0 P2OUT&=~BIT2
char table1[]=&不给力&;
char table2[]=&不给力&;
char table3[]=&不给力&;
char table4[]=&不给力&;
/*******************************************************************/
/*& && && && && && && && && && && && && && && && && && && && && &&&*/
/*写指令数据到LCD& && && && && && && && && && && && && && && && &&&*/
/*RS=L,RW=L,E=高脉冲,D0-D7=指令码。& && && && && && && && && &&&*/
/*& && && && && && && && && && && && && && && && && && && && && &&&*/
/*******************************************************************/
void write_com(unsigned int com)
& & & & EN_0;
& & & & RS_0;
& & & & RW_0;
& & & & EN_1;
& & & & P1OUT=
& & & & _delay_cycles(20);//& & & & delaynms(2);
/*******************************************************************/
/*& && && && && && && && && && && && && && && && && && && && && &&&*/
/*写显示数据到LCD& && && && && && && && && && && && && && && && &&&*/
/*RS=H,RW=L,E=高脉冲,D0-D7=数据。& && && && && && && && && && & */
/*& && && && && && && && && && && && && && && && && && && && && &&&*/
/*******************************************************************/
void write_dat(unsigned int dat)
& & & & EN_0;
& & & & RS_1;
& & & & RW_0;
& & & & EN_1;
& & & & P1OUT=
& & & & _delay_cycles(20);//& & & & delaynms(2);
/*******************************************
函数名称:dis
功& & 能:向液晶写入字符串,可以是汉字
参& & 数:
& && &&&addr:写入地址(显示地址)
& && && && & 0x80-0x87:第一行
& && && && & 0x90-0x97:第二行
& && && && & 0x88-0x8F:第三行
& && && && & 0x98-0x9F:第四行
& && &&&str:要显示的字符串,原则上是中文字符
& && && && & 串,如果是英文字符串,必须两个一
& && && && & 起,如果只需一个,就添加一个空格
返回值&&:无
********************************************/
void dis(char addr,char *str)
& & & & write_com(addr);
& & while(*str!='\0')
& & & & & & write_dat(*str);
& && &&&str++;
/*******************************************************************/
/*& && && && && && && && && && && && && && && && && && && && && &&&*/
/*&&LCD初始化设定& && && && && && && && && && && && && && && && &&&*/
/*& && && && && && && && && && && && && && && && && && && && && &&&*/
/*******************************************************************/
void init()
& & & & _delay_cycles(5);//& & & & delaynms(2);
& & write_com(0x30);& && &//基本指令操作
& & & & _delay_cycles(2);//& & delaynms(5);
& & write_com(0x0c);& && &//显示开,关光标
& & & & _delay_cycles(2);//& & delaynms(5);
& & write_com(0x01);& && &//清除LCD的显示内容
& & & & _delay_cycles(2);//& &delaynms(5);
& & write_com(0x06);
& & & & _delay_cycles(2);//& &delaynms(5);
void main()
& & & & WDTCTL=WDTPW+WDTHOLD;
& & & & BCSCTL1 = CALBC1_8MHZ;
& & & & DCOCTL = CALDCO_8MHZ;
& & & & P1DIR|=0
& & & & P2DIR|=0
& & & & P1OUT = 0x00;
& & & & P2OUT = 0x00;
& & & && &init();
& & & && &while(1)
& & & && &{
& & & && &&&dis(0x80,table1);
& & & && &&&dis(0x90,table2);
& & & & & & & & dis(0x88,table3);
& & & & & & & & dis(0x98,table4);
& & & && &}
注册时间阅读权限10最后登录九币14 积分22精华0好友日志帖子分享UID446836
新手上路, 积分 22, 距离下一级还需 28 积分
注册时间阅读权限50最后登录九币443 积分802精华1好友日志帖子分享UID11825
高级会员, 积分 802, 距离下一级还需 698 积分
楼主可否贴个串行的12864示例程序?
长期对论坛的繁荣而不断努力,或多次提出建设性意见
活跃且尽责职守的版主
为论坛做出突出贡献的会员
经常参与各类话题的讨论,发帖内容较有主见}

我要回帖

更多关于 msp430单片机指令 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信