7-JQC002-智能硬件设计及单片机编程--实验指导手册 - 图文

更新时间:2024-01-27 00:02:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验指导手册

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库函数,调用其中的abs函数和sqrt函数,编译并下载到单片机中; 3. 运行并查看结果;

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

4.思考

A4-函数-无参数有返回值; 1.目的

1. 学习如何使用有参数无返回值函数;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3. 了解什么是自定义函数,以及自定义函数如何使用;

3.内容和步骤

1. 正确连接软硬件平台,并给板卡上电;

2. 声明、定义无参数有返回值函数bit PB_T1(void),以实现“按下SW1,LED1亮,弹起SW1,LED1灭”的功

能;

3. 声明、定义IO端口初始化函数void PORT_Init (void); 4. 定义P6.0为LED1;定义P0-0为SW1;

5. 在主函数中,完成IO端口初始化后,调用函数PB_T1(void)实现SW1控制LED1;编译并下载到单片机

中;

6. 运行并查看结果;

4.思考

A5-函数-有参数无返回值; 1.目的

1. 学习如何使用有参数无返回值函数;

金桥教育 www.jedu.me5 / 29

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3. 了解什么是自定义函数,以及自定义函数如何使用;

3.内容和步骤

1. 2. 3. 4. 5. 6.

正确连接软硬件平台,并给板卡上电;

声明、定义有参数无返回值函数void delay_ms(unsigned int z),以实现“延时一毫秒”的功能; 声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void); 定义P6.0为LED1;

在主函数中,完成时钟、IO端口初始化后,调用延时函数delay_ms(1000)实现LED1闪烁;编译并下载到单片机中; 7. 运行并查看结果;

4.思考

A6-函数-有参数有返回值; 1.目的

1. 学习如何使用有参数有返回值函数;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3. 了解什么是自定义函数,以及自定义函数如何使用;

3.内容和步骤

1. 2. 3. 4.

正确连接软硬件平台,并给板卡上电;

声明、定义有参数有返回值函数int add1(int a, int b),以实现“两个整数求和”的功能; 在主函数中,调用延时函数int add1(int a, int b)实现两个整数求和;编译并下载到单片机中; 运行并查看结果;

金桥教育 www.jedu.me6 / 29

4.思考

B类练习,IO端口控制;

B1-点亮LED1; 1.目的

1. 学习如何点亮LED1;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5.

正确连接软硬件平台,并给板卡上电; 定义P6.0为LED1;

声明、定义IO端口初始化函数void PORT_Init (void);

在主函数中,完成IO端口初始化后,将信号LED1置高从而点亮LED1;编译并下载到单片机中; 运行并查看结果;

4.思考

B2-分别点亮LED1-8; 1.目的

1. 学习如何分别点亮LED1-8;

金桥教育 www.jedu.me7 / 29

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5.

正确连接软硬件平台,并给板卡上电;

定义P6.0为LED1;定义P6.1为LED2;……;定义P6.7为LED8; 声明、定义IO端口初始化函数void PORT_Init (void);

在主函数中,完成IO端口初始化后,将信号LED1-8置高从而点亮LED1-8;编译并下载到单片机中; 运行并查看结果;

4.思考

B3-同时点亮LED1-8; 1.目的

1. 学习如何同时点亮LED1-8;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4.

正确连接软硬件平台,并给板卡上电;

声明、定义IO端口初始化函数void PORT_Init (void);

在主函数中,完成IO端口初始化后,将信号P6置高从而点亮LED1-8;编译并下载到单片机中; 运行并查看结果;

4.思考

金桥教育 www.jedu.me8 / 29

B4-LED1-8闪烁; 1.目的

1. 学习如何让LED1-8按照T=2s闪烁;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5.

正确连接软硬件平台,并给板卡上电;

声明、定义有参数无返回值函数void delay_ms(unsigned int z),以实现“延时一毫秒”的功能; 声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void);

在主函数中,完成时钟、IO端口初始化后,调用延时函数delay_ms(1000)实现LED1-8闪烁;编译并下载到单片机中; 6. 运行并查看结果;

4.思考

B5-跑马灯-低位到高位-左移; 1.目的

1. 学习在LED1-8如何实现跑马灯,方向低位到高位,即左移;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

金桥教育 www.jedu.me9 / 29

3.内容和步骤

1. 2. 3. 4. 5.

正确连接软硬件平台,并给板卡上电;

声明、定义有参数无返回值函数void delay_ms(unsigned int z),以实现“延时一毫秒”的功能; 声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void);

在主函数中,完成时钟、IO端口初始化后,调用延时函数delay_ms(500)实现LED1-8跑马灯,方向低位到高位,即左移;编译并下载到单片机中; 6. 运行并查看结果;

4.思考

B6-跑马灯-高位到低位-右移; 1.目的

1. 学习在LED1-8如何实现跑马灯,方向高位到低位,即右移;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5.

正确连接软硬件平台,并给板卡上电;

声明、定义有参数无返回值函数void delay_ms(unsigned int z),以实现“延时一毫秒”的功能; 声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void);

在主函数中,完成时钟、IO端口初始化后,调用延时函数delay_ms(500)实现LED1-8跑马灯,方向高位到低位,即右移;编译并下载到单片机中; 6. 运行并查看结果;

4.思考

金桥教育 www.jedu.me10 / 29

B7-用开关SW1控制LED1的亮灭; 1.目的

1. 学习如何使用if-else语句;

2. 学习如何用开关SW1控制LED1的亮灭;按下亮,弹起灭;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4.

正确连接软硬件平台,并给板卡上电; 定义P6.0为LED1;定义P0.0为SW1;

声明、定义IO端口初始化函数void PORT_Init (void);

在主函数中,完成IO端口初始化后,用if-else语句判断SW1的状态,决定LED1的亮灭;编译并下载到单片机中; 5. 运行并查看结果;

4.思考

B8-switch-case控制LED的亮灭; 1.目的

1. 学习如何使用switch-case语句;

2. 学习如何用开关SW1控制LED1的亮灭;按下亮,弹起灭;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

金桥教育 www.jedu.me11 / 29

3.内容和步骤

1. 2. 3. 4.

正确连接软硬件平台,并给板卡上电; 定义P6.0为LED1;定义P0.0为SW1;

声明、定义IO端口初始化函数void PORT_Init (void);

在主函数中,完成IO端口初始化后,用switch-case语句判断SW1的状态,决定LED1的亮灭;编译并下载到单片机中; 5. 运行并查看结果;

4.思考

B9-按键次数计数; 1.目的

1. 学习如何用LED1-8给SW1计数;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4.

正确连接软硬件平台,并给板卡上电; 定义P0.0为SW1;

声明、定义IO端口初始化函数void PORT_Init (void);

在主函数中,完成IO端口初始化后,用变量cnt给SW1计数;cnt初值为0,SW1被按下一次,cnt++,并把cnt赋值给P6端口,即LED1-8;编译并下载到单片机中; 5. 运行并查看结果;

4.思考

金桥教育 www.jedu.me12 / 29

B10-蜂鸣器; 1.目的

1. 学习如何让蜂鸣器发声;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5.

正确连接软硬件平台,并给板卡上电; 定义P0.0为speaker;

声明、定义IO端口初始化函数void PORT_Init (void);

在主函数中,完成IO端口初始化后,把信号speaker置高让蜂鸣器发声;编译并下载到单片机中; 运行并查看结果;

4.思考

C类练习,中断;

C1-外部中断0; 1.目的

1. 学习如何使用外部中断0;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

金桥教育 www.jedu.me13 / 29

3.内容和步骤

1. 2. 3. 4. 5.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void); 声明、定义中断初始化函数void Interrupts_Init(void);

在主函数中,完成初始化后,控制P6.0-P6.7上的LED1-LED8闪烁;由P0.0的下降沿触发外部中断0,触发中断后LED1-LED8执行一次流水灯;编译并下载到单片机中; 6. 运行并查看结果;

4.思考

C2-外部中断1 1.目的

1. 学习如何使用外部中断1;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void); 声明、定义中断初始化函数void Interrupts_Init(void);

在主函数中,完成初始化后,控制P6.0-P6.7上的LED1-LED8闪烁;由P0.1的下降沿触发外部中断1,触发中断后LED1-LED8执行一次流水灯;编译并下载到单片机中; 6. 运行并查看结果;

4.思考

金桥教育 www.jedu.me14 / 29

C3-中断次序; 1.目的

1. 学习如何使用中断次序;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void); 声明、定义中断初始化函数void Interrupts_Init(void);

在主函数中,完成初始化后,控制P6.0-P6.7上的LED1-LED8闪烁;由P0.0的下降沿触发外部中断0,触发中断后LED1-LED8执行一次低位到高位的流水灯;中断0过程中,由P0.1的下降沿触发外部中断1,触发中断后LED1-LED8执行一次高位到低位的流水灯;然后中断0和中断1再交叉执行;编译并下载到单片机中;

6. 运行并查看结果;

4.思考

C4-中断优先级; 1.目的

1. 学习如何使用中断优先级;

2.预备知识

1. 了解单片机软硬件开发平台;

金桥教育 www.jedu.me15 / 29

2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void);

声明、定义中断初始化函数void Interrupts_Init(void);设置外部中断0为高优先级;

在主函数中,完成初始化后,控制P6.0-P6.7上的LED1-LED8闪烁;由P0.0的下降沿触发外部中断0,触发中断后LED1-LED8执行一次低位到高位的流水灯;中断0过程中,由P0.1的下降沿触发外部中断1,触发中断后LED1-LED8执行一次高位到低位的流水灯;然后中断0和中断1再交叉执行;编译并下载到单片机中;

6. 运行并查看结果;

4.思考

D类练习,定时器/计数器;

D1-Timer0_Mode0_13bit; 1.目的

1. 学习如何使用Timer0的Mode0,即13位定时器模式;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void); 声明、定义定时器初始化函数void Timer_Init(void);

金桥教育 www.jedu.me16 / 29

5. 声明、定义延时函数void delay_ms(unsigned int i);利用Timer0产生准确的n*1ms延时;

6. 在主函数中,完成初始化后,利用delay_ms(500)控制P6.0-P6.7上的LED1-LED8实现T=1s的准确闪烁;

编译并下载到单片机中; 7. 运行并查看结果;

4.思考

D2-Timer0_Mode1_16bit 1.目的

1. 学习如何使用Timer0的Mode1,即16位定时器模式;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5. 6.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void); 声明、定义定时器初始化函数void Timer_Init(void);

声明、定义延时函数void delay_ms(unsigned int i);利用Timer0产生准确的n*1ms延时;

在主函数中,完成初始化后,利用delay_ms(500)控制P6.0-P6.7上的LED1-LED8实现T=1s的准确闪烁;编译并下载到单片机中; 7. 运行并查看结果;

4.思考

金桥教育 www.jedu.me17 / 29

D3-Timer0_Mode2_8bit_AutoReload 1.目的

1. 学习如何使用Timer0的Mode2,即8位重载定时器模式;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5. 6.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void); 声明、定义定时器初始化函数void Timer_Init(void);

声明、定义延时函数void delay250us(unsigned int i);利用Timer0产生准确的n*250us延时;

在主函数中,完成初始化后,利用delay250us(2000)控制P6.0-P6.7上的LED1-LED8实现T=1s的准确闪烁;编译并下载到单片机中; 7. 运行并查看结果;

4.思考

D4-Timer0_Mode0_13bit_Interrupt 1.目的

1. 学习如何使用Timer0的Mode0触发中断;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

金桥教育 www.jedu.me18 / 29

3.内容和步骤

1. 2. 3. 4. 5. 6.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void); 声明、定义定时器初始化函数void Timer_Init(void); 声明、定义延时函数void Interrupts_Init(void); 在主函数中,完成初始化后,使能中断;使用Timer0的Mode0触发中断,控制P6.0-P6.7上的LED1-LED8实现T=1s的准确闪烁;编译并下载到单片机中; 7. 运行并查看结果;

4.思考

D5-Timer0_Mode1_16bit_Interrupt 1.目的

1. 学习如何使用Timer0的Mode1触发中断;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5. 6.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void); 声明、定义定时器初始化函数void Timer_Init(void); 声明、定义延时函数void Interrupts_Init(void); 在主函数中,完成初始化后,使能中断;使用Timer0的Mode1触发中断,控制P6.0-P6.7上的LED1-LED8实现T=1s的准确闪烁;编译并下载到单片机中; 7. 运行并查看结果;

金桥教育 www.jedu.me19 / 29

4.思考

D6-Timer0_Mode2_8bit_AutoReload_Interrupt 1.目的

1. 学习如何使用Timer0的Mode2触发中断;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5. 6.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void); 声明、定义定时器初始化函数void Timer_Init(void); 声明、定义延时函数void Interrupts_Init(void); 在主函数中,完成初始化后,使能中断;使用Timer0的Mode2触发中断,控制P6.0-P6.7上的LED1-LED8实现T=1s的准确闪烁;编译并下载到单片机中; 7. 运行并查看结果;

4.思考

D7-Counter1_Mode0_13bit; 1.目的

1. 学习如何使用Counter1的Mode0实现计数;

金桥教育 www.jedu.me20 / 29

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void);

声明、定义IO端口初始化函数void PORT_Init (void);定义P0.0为计数输入端口; 声明、定义定时器初始化函数void Timer_Init(void);

在主函数中,完成初始化后,使能中断;使用Counter1的Mode0,控制P6.0-P6.7上的LED1-LED8(低五位)实现计数功能;编译并下载到单片机中; 6. 运行并查看结果;

4.思考

D8-Counter1_Mode0_13bit_Interrupt; 1.目的

1. 学习如何使用Counter1的Mode0触发中断,实现计数;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void);

声明、定义IO端口初始化函数void PORT_Init (void);定义P0.0为计数输入端口;LED1-LED8熄灭; 声明、定义定时器初始化函数void Timer_Init(void);

在主函数中,完成初始化后,使能中断;使用Counter1的Mode0,计数次数到5时,触发中断,实现LED1-LED8闪烁;编译并下载到单片机中;

金桥教育 www.jedu.me21 / 29

6. 运行并查看结果;

4.思考

E类练习,时钟管理;

E1-LED1-8在不同时钟频率下闪烁; 1.目的

1. 学习如何控制LED1-8在不同时钟频率下闪烁;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void); 声明、定义延时函数void delay_ms(unsigned int z);

在主函数中,完成初始化后,首先让时钟为3MHz(OSCICN=0x80;),实现LED1-LED8闪烁;提高时钟频率,观察LED1-LED8闪烁情况;编译并下载到单片机中; 6. 运行并查看结果;

4.思考

金桥教育 www.jedu.me22 / 29

F类练习,UART串口通信;

F1-UART0_Interrupt; 1.目的

1. 学习如何实现UART0串口通信;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5. 6. 7.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void); 声明、定义定时器2初始化函数void Timer2_Init (int); 声明、定义UART0串口初始化函数void UART0_Init (void); 在主函数中,实现UART0串口通信;编译并下载到单片机中; 运行并查看结果;

4.思考

G类练习,AD转换;

G1-ADC0_ExternalInput; 1.目的

1. 学习如何实现ADC转换;

金桥教育 www.jedu.me23 / 29

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5. 6. 7.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void); 声明、定义定时器2初始化函数void Timer2_Init (int); 声明、定义UART0串口初始化函数void UART0_Init (void); 在主函数中,实现UART0串口通信;编译并下载到单片机中; 运行并查看结果;

4.思考

H类练习,IIC总线;

H1-IIC总线操作存储芯片AT24C512; 1.目的

1. 学习如何使用IIC总线实现AT24C512的写入和读取;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 正确连接软硬件平台,并给板卡上电;

2. 声明、定义时钟初始化函数void SYSCLK_Init (void); 3. 声明、定义IO端口初始化函数void PORT_Init (void);

金桥教育 www.jedu.me24 / 29

4. 5. 6. 7. 声明、定义延时函数void delay1(unsigned int z); 声明、定义IIC总线相关函数;

在主函数中,实现AT24C512的写入和读取;编译并下载到单片机中; 运行并查看结果;

4.思考

H2-IIC总线操作键盘芯片CH452A; 1.目的

1. 学习如何使用IIC总线实现CH452A的读取;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5. 6. 7. 8.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void); 声明、定义延时函数void delay_ms(unsigned int z); 声明、定义键盘选择函数void key_select(void); 声明、定义IIC总线相关函数;

在主函数中,实现CH452A按键值的读取;编译并下载到单片机中; 运行并查看结果;

4.思考

金桥教育 www.jedu.me25 / 29

I类练习,SPI总线控制;

I1-SPI总线操作字库芯片GT21L16S2Y; 1.目的

1. 学习如何使用SPI总线操作字库芯片GT21L16S2Y;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 2. 3. 4. 5. 6.

正确连接软硬件平台,并给板卡上电;

声明、定义时钟初始化函数void SYSCLK_Init (void); 声明、定义IO端口初始化函数void PORT_Init (void); 声明、定义SPI总线相关函数;

在主函数中,实现GT21L16S2Y的读取;编译并下载到单片机中; 运行并查看结果;

4.思考

J类练习,LCD12864控制;

J1-点亮LCD12864屏幕操作;显示“北京金桥教育欢迎您”; 1.目的

1. 学习如何控制LCD12864显示文字;

金桥教育 www.jedu.me26 / 29

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3.内容和步骤

1. 正确连接软硬件平台,并给板卡上电;

2. 声明、定义时钟初始化函数void SYSCLK_Init (void); 3. 声明、定义IO端口初始化函数void PORT_Init (void); 4. 声明、定义LCD12864总线相关函数;

5. 在主函数中,实现如下图形;编译并下载到单片机中; //------------------------------------------------------------------------------- //功能:显示“欢迎”界面,内容如下:

//------------------------------------------------------------------------------- // ****************

// *欢迎使用 * // *电子喷码机系统* // *版本:v3.3s * // ****************

//------------------------------------------------------------------------------- 6. 运行并查看结果;

4.思考

Z类练习,产品开发;

1.目的

1. 学习如何开发产品;

2.预备知识

1. 了解单片机软硬件开发平台; 2. 了解C51语言;

3. 了解C8051F120基本程序模块;

金桥教育 www.jedu.me27 / 29

3.内容和步骤

1. 正确连接软硬件平台,并给板卡上电; 2. 依次实现如下功能,运行并查看结果;

Z1-完成在屏幕上显示“欢迎”界面功能; Z2-完成在屏幕上显示“操作”界面功能; Z3-完成“延迟”的显示、修改和保存功能; Z4-完成按键选择功能;

Z5-完成按键“设定和编辑”功能;

Z6-完成“字符”的读取、显示和保存功能; Z7-完成“字宽”的显示、修改和保存功能; Z8-完成“加重”的显示、修改和保存功能; Z9-完成“墨点”的显示、修改和保存功能; Z10-完成“方向”的显示、修改和保存功能; Z11-完成“计数器”的显示、修改和保存功能; Z12-完成“信息ID”的显示、读取和保存功能;

Z13-完成“信息编辑方式”的显示、读取和保存功能; Z14-完成“区位码”的显示功能;

Z15-完成“信息内容”的读取、显示和保存功能; Z16-完成按键“信息编辑”功能; Z17-完成按键“保存”功能; Z18-完成按键“保存选择”功能; Z19-完成按键“ID另存”功能; Z20-成按键“回车”功能; Z21-完成“参数复位”功能; Z22-完成“全部信息复位”功能;

4.思考

金桥教育 www.jedu.me28 / 29

本文来源:https://www.bwwdw.com/article/pksw.html

Top