最近很长一段时间又回到了单片机设计的生活,有些问题总结一下。
1.指令系统
指令系统要特别注意的就是减法指令(SBC),spec上写是“A-M-C”,其实实际运行是"A-M-/C",因而刚开始很难想明白(难道spec错?),所以要注意。
65C02指令周期是很慢的,做些算法类的程序还可以,如消费电子产品中的玩具,游戏等等,由于带LCD驱动,在LCD MCU中是有性价比优势的。但如果是做通讯等要求时间的应用,感觉没有优势。
2.IO端口
设置为input后,写“1”较好。我有个同事,将IO口设置为"input"后,写“0”后睡眠,结果睡眠电流不正常。那是投code(mask)后发现的啊!
3.LCD segment线和键盘扫描线复用
IO口既是segment线又是键盘扫描线,键盘扫描时必须作为输出口,否则在EVB上也许没问题,但烧OTP就会有问题。而且键盘扫描输入端必须要加大电阻上拉(如150K).上次客户自己做的PCB老说键盘没响应,搞得我也弄不明白(因我自己做的板是可以的),结果跑到我们公司。我看实在是不行,就让他换个更大的电阻,没想到他一看,是他焊了个47k的电阻,没按照我给他的原理图焊接150K的电阻。
1.指令系统
指令系统要特别注意的就是减法指令(SBC),spec上写是“A-M-C”,其实实际运行是"A-M-/C",因而刚开始很难想明白(难道spec错?),所以要注意。
65C02指令周期是很慢的,做些算法类的程序还可以,如消费电子产品中的玩具,游戏等等,由于带LCD驱动,在LCD MCU中是有性价比优势的。但如果是做通讯等要求时间的应用,感觉没有优势。
2.IO端口
设置为input后,写“1”较好。我有个同事,将IO口设置为"input"后,写“0”后睡眠,结果睡眠电流不正常。那是投code(mask)后发现的啊!
3.LCD segment线和键盘扫描线复用
IO口既是segment线又是键盘扫描线,键盘扫描时必须作为输出口,否则在EVB上也许没问题,但烧OTP就会有问题。而且键盘扫描输入端必须要加大电阻上拉(如150K).上次客户自己做的PCB老说键盘没响应,搞得我也弄不明白(因我自己做的板是可以的),结果跑到我们公司。我看实在是不行,就让他换个更大的电阻,没想到他一看,是他焊了个47k的电阻,没按照我给他的原理图焊接150K的电阻。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)