单片机编程时code的含义
单片机C语言中的codecode:程序存储区。data:固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编中的语句为:mox ACC,@Rx.(不重要的补充:c中idata做指针式的访问效果很好)xdata:外部扩展RAM,一般指外部0x0000-0xffff空间,用DpTR访问。pdata:外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movx ACC,@Rx读写。这个比较特殊,而且C51好象有对此BUG,建议少用。
刚刚在Code.org上有一道题实在看不懂,求编程高手解答
1varangle;
3angle=90;
4varsides=360/angle;
5for(varcount=0;count
6moveForward(150);
7turnLeft(angle);
这个程序是在Scratch里面写的,从图上可以看出来。
原行3变量名sides用的并不好,根据其含义应该用angle(角度)表达,angle=90旋转90度
行4用sides代替repeat_end,表示可以出现的边(多边形内角和为360度),
5-8循环画出一个边长为150的多边形,
行5控制循环
行6向前移动150个单位
行7向左旋转angle{90度}
通过修改angle,就可以画出不同的以边长150的多边形。
Scratch的中文界面把这个过程体现的非常好。
问题是不让修改呀,这个是在网页上的一道题,就是用这些已有的素材完成,应该怎么改呀?
用这个图示的元素,进行替换
原来的repeat(重复)处的360÷sides元素,用sides替换
运行,这样做画出了一个有90个边,边长为150的多边形。
当把sides设置成4,就可以画出一个边长150的正方形了。
编程就是一个不断地尝试的过程。