实验指导手册
JQC002-智能硬件设计及单片机编程
2015-7-30
目录
A类练习,函数; ........................................................................................................................................................ 3 A1-函数-主函数 ............................................................................................................................................................... 3 A2-函数-库函数 ............................................................................................................................................................... 3 A3-函数-无参数无返回值; ........................................................................................................................................... 4 A4-函数-无参数有返回值; ........................................................................................................................................... 5 A5-函数-有参数无返回值; ........................................................................................................................................... 5 A6-函数-有参数有返回值; ........................................................................................................................................... 6 B类练习,IO端口控制; ............................................................................................................................................ 7 B1-点亮LED1; ................................................................................................................................................................ 7 B2-分别点亮LED1-8; .................................................................................................................................................... 7 B3-同时点亮LED1-8; .................................................................................................................................................... 8 B4-LED1-8闪烁; ............................................................................................................................................................ 9 B5-跑马灯-低位到高位-左移; ...................................................................................................................................... 9 B6-跑马灯-高位到低位-右移; .................................................................................................................................... 10 B7-用开关SW1控制LED1的亮灭; ........................................................................................................................... 11 B8-SWITCH-CASE控制LED的亮灭; ................................................................................................................................ 11 B9-按键次数计数; ....................................................................................................................................................... 12 B10-蜂鸣器; ................................................................................................................................................................. 13 C类练习,中断; ...................................................................................................................................................... 13 C1-外部中断0; ............................................................................................................................................................ 13 C2-外部中断1 ................................................................................................................................................................ 14 C3-中断次序; ............................................................................................................................................................... 15 C4-中断优先级; ........................................................................................................................................................... 15 D类练习,定时器/计数器; ..................................................................................................................................... 16 D1-TIMER0_MODE0_13BIT; ............................................................................................................................................ 16 D2-TIMER0_MODE1_16BIT ................................................................................................................................................ 17 D3-TIMER0_MODE2_8BIT_AUTORELOAD .............................................................................................................................. 18 D4-TIMER0_MODE0_13BIT_INTERRUPT ................................................................................................................................ 18 D5-TIMER0_MODE1_16BIT_INTERRUPT ................................................................................................................................ 19 D6-TIMER0_MODE2_8BIT_AUTORELOAD_INTERRUPT ............................................................................................................. 20 D7-COUNTER1_MODE0_13BIT; ........................................................................................................................................ 20 D8-COUNTER1_MODE0_13BIT_INTERRUPT; ....................................................................................................................... 21 E类练习,时钟管理; ............................................................................................................................................... 22 E1-LED1-8在不同时钟频率下闪烁; ........................................................................................................................... 22 F类练习,UART串口通信; ..................................................................................................................................... 23 F1-UART0_INTERRUPT; ................................................................................................................................................... 23 G类练习,AD转换; ................................................................................................................................................ 23 G1-ADC0_EXTERNALINPUT; ............................................................................................................................................. 23
金桥教育 www.jedu.me1 / 29
H类练习,IIC总线; ................................................................................................................................................. 24 H1-IIC总线操作存储芯片AT24C512; ........................................................................................................................ 24 H2-IIC总线操作键盘芯片CH452A; ........................................................................................................................... 25 I类练习,SPI总线控制; .......................................................................................................................................... 26 I1-SPI总线操作字库芯片GT21L16S2Y; ..................................................................................................................... 26 J类练习,LCD12864控制; ....................................................................................................................................... 26 J1-点亮LCD12864屏幕操作;显示“北京金桥教育欢迎您”; ................................................................................ 26 Z类练习,产品开发; ............................................................................................................................................... 27
金桥教育 www.jedu.me2 / 29
A类练习,函数;
A1-函数-主函数 1.目的
1. 学习如何编写主函数;
2.预备知识
1. 了解单片机软硬件开发平台; 2. 了解C51语言;
3.内容和步骤
1. 正确连接软硬件平台,并给板卡上电;
2. 编写一个空的主函数,编译并下载到单片机中; 3. 运行并查看结果;
4.思考
A2-函数-库函数 1.目的
1. 学习如何使用库函数;
2.预备知识
1. 2. 3. 4. 5. 6.
了解单片机软硬件开发平台; 了解C51语言; 了解什么是库函数;
了解常用库函数及其使用方法;
库函数c8051f120.h,特殊功能寄存器声明;
库函数math.h,包含的是一些关于数据方面的计算,如abs(),sqrt()等;
金桥教育 www.jedu.me3 / 29
7. 库函数stdio.h,包含输入输出的操作如printf(),scanf(),getchar()等; 8. 库函数string.h,包含操作字符串的操作,如strlen()(求长度)等; 9. 库函数intrins.h,包含空指令_nop_()等;
3.内容和步骤
1. 正确连接软硬件平台,并给板卡上电;
2. 编写一个主函数,include
4.思考
A3-函数-无参数无返回值; 1.目的
1. 学习如何使用无参数无返回值函数;
2.预备知识
1. 了解单片机软硬件开发平台; 2. 了解C51语言;
3. 了解什么是自定义函数,以及自定义函数如何使用;
3.内容和步骤
1. 2. 3. 4. 5. 6.
正确连接软硬件平台,并给板卡上电;
声明、定义无参数无返回值函数void delay_1s(void),以实现“延时一秒”的功能; 声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void); 定义P6.0为LED1;
在主函数中,完成时钟、IO端口初始化后,调用延时函数delay_1s()实现LED1闪烁;编译并下载到单片机中;
7. 运行并查看结果;
金桥教育 www.jedu.me4 / 29