提前感谢你的阅读.
首先介绍下自己.
我是一名电子信息工程大三的学生.
主修的专业课程包括:
电路理论, 模电, 数电.
单片机(飞思卡尔), DSP.
微机原理, 嵌入式操作系统 uC/OS-II.
电磁波, 微波.
刚刚做完学校的综合电子设计课程的课题.
课题内容是利用 51 单片机完成一个电子钟, 基本要求如下:
1. 显示时钟(LCD), 及其设定.
2. 万年历.
3. 跑表.
4. 倒计时.
5. 闹钟, 及其设定.
6. 整点报时.
提高要求:
1. 利用语音芯片(isd1420, 或isd1760) 将整点报时由蜂鸣器改为语音报时.
任务完成时间长度: 4个星期.
虽然一组是 4 个人, 但是整个系统的设计, 包括硬件电路, 以及软件代码基本上是我一个人完成的, 可以说大约98%的系统都是我做的.
花了 2-3 个星期左右做电路, 最后一个星期完成了所有代码的编写.
代码包括:
1. 时间芯片代码. 用到的芯片为 ds1302. 200 行. (未包含头文件的行数)
2. 语音芯片代码. 用到的芯片为 isd1760. 426 行. (同上)
3. 主函数以及一些状态机函数的编写, main.c, 2000 行. (同上)
(过两天会将所有源代码上传至 github, 并且写一份英文总结, 期望为未来申请留学加分)
还有一个 LCD 的代码, 是用的一个公司提供的代码.
当时使用这份代码主要是因为, 代码风格特别规范. 例如缩进, 函数命名方式等等. 关键是自己认真阅读该代码以及文档之后, 认为此代码应该可以完成功能, 所以采用.
最后的成品可以完成的功能如下:
1. 总共 4 个可切换界面: 时间(可设置), 秒表(可背景运行), 倒计时(同样可背景运行), 闹钟设置界面.
2. 时钟设置范伟 2000 - 2099 年. 可以根据日期显示当前日期为星期几. 可以设置时钟.
3. 秒表启动后, 可以切换至其他界面不会打断计时. 秒表界面同时显示当前时间.
4. 倒计时启动后同秒表, 可以背景运行. 到时间由蜂鸣器提供提示.
5. 闹钟可设置: 闹钟开关, 时, 分. 到时间由蜂鸣器提示. 并且可以延时闹钟或直接取消.
6. 具有任意时间语音报时, 以及正点报时的功能. (正点报时功能同样由任意报时函数完成.)
7. 由三个按键(设计要求只能用3个按键)输入, 16x2 的 LCD 显示, 蜂鸣器以及语音芯片完成提示功能.
做这个设计时, 自己觉得最重要的便是认真阅读由芯片生厂商所提供的文档.
文档内不仅有芯片的应用电路图, 而且有芯片控制字, 软件编写方法, 软件编写指导等等有用信息.
比网上搜索来的任何资料都要权威, 条理清晰.
网上的资料, 或说别人写好的程序, 往往不知道某一个操作, 为什么要这要写代码.
所以, 我做设计的时候, 很少参考现成的代码, 基本上是参考文档, 自己编写代码.
除了最开始写 时间芯片 ds1302的代码时, 参考了一下另一份代码的操作步骤.
毕竟第一次写这样的代码, 会不知道应该怎样去写.
做完这个设计之后, 对未来的工作内容感到好奇, 疑惑.
因为这个课程的名称包含设计二字, 但是在这次实际操作中, 我觉得很多内容并没有涉及到创新性的想法.(还是说, 我对设计这个概念的理解有误.) 似乎, 没有什么设计可言, 我做的最多的事情便是读文档, 按照文档说的办事.
所以, 我想问是否电子工程师的主要工作内容便是:
读文档, 根据文档确定硬件电路方案, 然后根据文档撰写软件代码.
这样的工作(并不一定是我说的这种模式)与设计的关系是什么?
ps. 还想问问, 你所用的主力机, 主力系统是什么(因为我目前碰到的大多数电子类的软件基本上只有 Win 版本)?
如果, 你用的是 Mac OS X, 怎么解决这种软件与系统的冲突? 虚拟机? 还是双系统?
这样操作有什么已知问题吗?
感谢你的阅读, 并且提前感谢你分享你的想法.
首先介绍下自己.
我是一名电子信息工程大三的学生.
主修的专业课程包括:
电路理论, 模电, 数电.
单片机(飞思卡尔), DSP.
微机原理, 嵌入式操作系统 uC/OS-II.
电磁波, 微波.
刚刚做完学校的综合电子设计课程的课题.
课题内容是利用 51 单片机完成一个电子钟, 基本要求如下:
1. 显示时钟(LCD), 及其设定.
2. 万年历.
3. 跑表.
4. 倒计时.
5. 闹钟, 及其设定.
6. 整点报时.
提高要求:
1. 利用语音芯片(isd1420, 或isd1760) 将整点报时由蜂鸣器改为语音报时.
任务完成时间长度: 4个星期.
虽然一组是 4 个人, 但是整个系统的设计, 包括硬件电路, 以及软件代码基本上是我一个人完成的, 可以说大约98%的系统都是我做的.
花了 2-3 个星期左右做电路, 最后一个星期完成了所有代码的编写.
代码包括:
1. 时间芯片代码. 用到的芯片为 ds1302. 200 行. (未包含头文件的行数)
2. 语音芯片代码. 用到的芯片为 isd1760. 426 行. (同上)
3. 主函数以及一些状态机函数的编写, main.c, 2000 行. (同上)
(过两天会将所有源代码上传至 github, 并且写一份英文总结, 期望为未来申请留学加分)
还有一个 LCD 的代码, 是用的一个公司提供的代码.
当时使用这份代码主要是因为, 代码风格特别规范. 例如缩进, 函数命名方式等等. 关键是自己认真阅读该代码以及文档之后, 认为此代码应该可以完成功能, 所以采用.
最后的成品可以完成的功能如下:
1. 总共 4 个可切换界面: 时间(可设置), 秒表(可背景运行), 倒计时(同样可背景运行), 闹钟设置界面.
2. 时钟设置范伟 2000 - 2099 年. 可以根据日期显示当前日期为星期几. 可以设置时钟.
3. 秒表启动后, 可以切换至其他界面不会打断计时. 秒表界面同时显示当前时间.
4. 倒计时启动后同秒表, 可以背景运行. 到时间由蜂鸣器提供提示.
5. 闹钟可设置: 闹钟开关, 时, 分. 到时间由蜂鸣器提示. 并且可以延时闹钟或直接取消.
6. 具有任意时间语音报时, 以及正点报时的功能. (正点报时功能同样由任意报时函数完成.)
7. 由三个按键(设计要求只能用3个按键)输入, 16x2 的 LCD 显示, 蜂鸣器以及语音芯片完成提示功能.
做这个设计时, 自己觉得最重要的便是认真阅读由芯片生厂商所提供的文档.
文档内不仅有芯片的应用电路图, 而且有芯片控制字, 软件编写方法, 软件编写指导等等有用信息.
比网上搜索来的任何资料都要权威, 条理清晰.
网上的资料, 或说别人写好的程序, 往往不知道某一个操作, 为什么要这要写代码.
所以, 我做设计的时候, 很少参考现成的代码, 基本上是参考文档, 自己编写代码.
除了最开始写 时间芯片 ds1302的代码时, 参考了一下另一份代码的操作步骤.
毕竟第一次写这样的代码, 会不知道应该怎样去写.
做完这个设计之后, 对未来的工作内容感到好奇, 疑惑.
因为这个课程的名称包含设计二字, 但是在这次实际操作中, 我觉得很多内容并没有涉及到创新性的想法.(还是说, 我对设计这个概念的理解有误.) 似乎, 没有什么设计可言, 我做的最多的事情便是读文档, 按照文档说的办事.
所以, 我想问是否电子工程师的主要工作内容便是:
读文档, 根据文档确定硬件电路方案, 然后根据文档撰写软件代码.
这样的工作(并不一定是我说的这种模式)与设计的关系是什么?
ps. 还想问问, 你所用的主力机, 主力系统是什么(因为我目前碰到的大多数电子类的软件基本上只有 Win 版本)?
如果, 你用的是 Mac OS X, 怎么解决这种软件与系统的冲突? 虚拟机? 还是双系统?
这样操作有什么已知问题吗?
感谢你的阅读, 并且提前感谢你分享你的想法.