用Keil C软件循序渐进编写单片机C程序(三)
浙江华川专修学院 邵勇炎
3、新建“leds”工程,用口定义关键字sfr定义P1口,点亮P1^1,并采用不同的赋值方法,达到相同的效果。改变赋值改变效果
1)创建文件夹、创建工程文件夹、选择CPU、建立C文件、将C文件和工程连接、创建hex文件同前。
2)编写C 源程序
3)方法:将led10.C复制到leds.C,改动赋值语句P1=10的值,用以下 两种不同的赋值可达到相同的效果。 (1)用十进制赋值:
根据led10的说明我们用计算机的计算器,将1111 1101转换成十进制是253,P1=253
(2)用十六进制赋值:
将1111 1101转换成十六进制是0xfd,Ox表示十六进制,1111 1101转换后是FD,P1=0xfd(单片机编程尽可能采用十六进制赋值) C源程序如下: sfr P1=0x90; main () {
P1=0xfd; //或者P1=253,两者P1口都是输出1111 1101,点亮P1.1, }
(3)仿真
编译好的leds.c在仿真软件Proteus或实验板中观察ATSC52第二脚 P1.1 LED灯点亮状况。
4)相同C程序改变赋值:
相同C程序只要改变P1口的赋值,点亮P1口1、3、5、7。而2、4、6、8灭
C源程序如下: sfr P1=0x90; main () {
P1=0xaa; // P1口输出10101010,点亮P1口1、3、5、7, }
学习要点:
1、用sfr定义单片机P1口
2、赋值语句,不同赋值不同效果 4、程序改错
5、P口的英文字母P都应该大写
3、写完语句,要用英文分号“;” 结束
4、新建“ledt”工程,用头文件替代sfr定义P1口,可以免去编写同类程序重复定义单片机端口,并对P1口采用不同的赋值方法点亮P1^11
1)创建文件夹、创建工程文件夹、选择CPU、建立C文件、将C文件和工程连接、创建hex文件同前。 2)编写C 源程序
3)方法:将leds.C复制到ledt.C,把sfr改成头文件定义,改 动赋值语句,用上面leds.c的两种赋值方法可达到同样的效果。 (1)用十进制赋值: P1=253(2)用十六进制赋值: P1=oxfd C源程序如下:
#include //蓝色的#include是C51关键字,不可改变。//#include 即包含头文件main () {
P1=0xfd; //或者P1=253,两者P1口都是输出1111 1101,点亮P1.1, }
看头文件内容可点击C文件+号,右击reg52.h,选择Open reg52.h即可。 (3)编译通过后保存
保存好的ledt.c在仿真软件Proteus或实验板中观察ATSC52第二脚 P1.1 LED灯点亮状况。
4)相同C程序改变赋值:
相同C程序只要改变P1口的赋值,点亮P1口1、3、5、7。而2、4、6、8灭
C源程序如下:
#include main () {P1=0xaa; // P1口输出10101010,点亮P1口1、3、5、7, }
学习要点:对CPU定义
1、用头文件是定义CPU,头文件替代sfr定义P1口,点亮P1^1 2、用两种不同的赋值,点亮P1^13、相同C程序,改变赋值,点亮P1口1、3、5、7
2