我这两天忙着修硬盘。硬盘不幸暴亡。修了两三天。最终我还是买了块新的。
本来这程序是在坏硬盘上的。好在我考出来了。
我上次笔记是在屏幕上任意位置显示点。其实我是有用义的。我这次是接着上次在屏上显示AD转换值。
由于屏幕的限制只能显示六位值,这要把AD的值转为六位值。这个是关键。
/****************************************************************************
* Function Name : LCD_DrawPoint
* Description : refresh the point in screen
* Input : x X-coordinate 0-128
y Y-coordinate 0-64
* Output : None
* Return : None
****************************************************************************/
void LCD_DrawPoint(unsigned int x, unsigned int y)
{
unsigned char coll, colh, page,test;
page = y / 8;
coll = x & 0x0f;
colh = x >> 4;
test = y%8;
LCD_WriteCmd(Set_Page_Addr_0 | page); // page no.
LCD_WriteCmd(Set_ColH_Addr_0 | colh); // fixed col first addr
LCD_WriteCmd(Set_ColL_Addr_0 | coll);
LCD_WriteData(YDISPLAY[test]);
}
/*Main Loop*/
while(1)
{
if(1 != (IOREG_ADSR_U0 &0x1))
{
AD_Data_temp = IOREG_SCFD_U0;
AD_Data_temp = AD_Data_temp >> 20;
AD_Data_temp = (AD_Data_temp * 3300) / 4096;
AD_Data_temp = AD_Data_temp/16;
LCD_DrawPoint(count,AD_Data_temp);
IOREG_SCCR_U0 |= 0x01; /* A/DC start */
count++;
}
if(count==127)
{
count=0;
LCD_ClearSCR();
}
}
程序运行时转动AD旋钮。发现可以全屏动,但转一半时就从头开始,这不知为什么?
上工程文件。
MB9B506ADCLCD.rar
(299.67 KB, 下载次数: 7)
照片就不传了。硬盘坏也找不到了。反正一条直线上下跑。
[
本帖最后由 ddllxxrr 于 2012-8-6 20:17 编辑 ]