运行结果见图1。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
运行结果见图1。
wenyang zeng 说:基于MSP430G2231分辨率为0.1℃普通IO口驱动LCD的温度计wenyangzeng 2012/04/30为了降低成本,采用MSP430G2231单片机普通IO口驱动段码型LCD,本设计使用了2个中断源,在CCR0中断中顺序产生1/2Bias的COM0-COM3位码扫描信号,并通过USI-SPI功能控制1片74HC595产生8位段码信号,驱动了4位8段LCD显示屏。在CCR1中断中清零LCD显示数据,并产生ADC允许转换信号。温度传感器则利用MSP430G2231内部温度传感器,主程序检测到ADC允许转换信号后进行一次ADC转换,通过采用过采样技术,在采样10次温度值后,进行运算,得到精度达0.1℃的温度测量结果。设计直接利用LanuchPad 实验板扩展槽,连接1片PCB板,板上焊接74HC595和LCD和COM分压电阻等。编译环境使用IAR-MSP430 for 5.40限制版,该版本将仿真窗口中变量、寄存器观察窗的显示值都屏蔽掉了,有点太吝舍了,给调试过程带来不少麻烦。图1 运行结果图2 原理图
应该说是显示分辨率吧,好像内部温度传感器只能0.5左右的理论分辨率吧
功耗多少?
没仔细看代码,看楼主说明里的意思,4个COM的电压都是一样的?全是1/2Vcc?
另外,楼主用的IAR应该是4K的代码限制版吧。貌似watch,variable这些观察窗口都是可以用的啊,只是默认没有选择打开罢了。
4个COM当然都是1/2VCC,定时器中断里对它们进行分时扫描,分别得到VCC-1/2/VCC-0V的电压。
watch,variable这些观察窗口都是可以用,但是它们的仿真值显示不出来。
setbit(P1OUT,lcdcr);
setbit(P1DIR,lcdcr);
看着累吆
这种类型的LCD用MSP430操作,谁试验过到底可以做到最低功耗多少?例如做个最基本的电子时钟。如果考虑到功耗,难道只有用内部集成驱动的?
楼上:位操作指令可以有多种写法,setbit()在程序刚开始已经定义了,你应该先读仔细了才不会觉得累。而本文只是为了参加MSP430 LaunchPad竞赛,表达如何充分利用MSP430G2231内部资源,I/O口驱动LCD是本文的重点,低功耗非本文之重。本人水平有限,不当之处,还望指教。
watch无法显示数值?程序停止了嘛?IAR必须在程序停止的时候才能正确显示watch的数值的。
当然是在断点停止运行观察watch值。我用惯了4.11版,没有这个问题,只是4.11版没有430G系列选项。5.40版是这次竞赛时官方推荐的编译环境。
这个问题只是顺便说说而已,项目已经完成,日后要用430G系列,再解决版本问题即可。下图是4.11版运行其他芯片的仿真窗口。